external/wakaama: remove tinydtls library
authorJunyeon LEE <junyeon2.lee@samsung.com>
Fri, 14 Apr 2017 04:31:22 +0000 (13:31 +0900)
committerHeesub Shin <heesub.shin@samsung.com>
Tue, 18 Apr 2017 03:02:21 +0000 (12:02 +0900)
This commit removes tinydtls full source code in wakaama. Because TizenRT
supports mbedtls for network security, there is no more need to use Tinydtls.

Change-Id: Ie049ee17a5b9b523b47e16a18ea72614025fc190
Signed-off-by: Junyeon LEE <junyeon2.lee@samsung.com>
512 files changed:
external/wakaama/examples/shared/tinydtls/Makefile.in [deleted file]
external/wakaama/examples/shared/tinydtls/Makefile.tinydtls [deleted file]
external/wakaama/examples/shared/tinydtls/aes/Makefile.in [deleted file]
external/wakaama/examples/shared/tinydtls/aes/rijndael.c [deleted file]
external/wakaama/examples/shared/tinydtls/aes/rijndael.h [deleted file]
external/wakaama/examples/shared/tinydtls/alert.h [deleted file]
external/wakaama/examples/shared/tinydtls/autom4te.cache/output.0 [deleted file]
external/wakaama/examples/shared/tinydtls/autom4te.cache/output.1 [deleted file]
external/wakaama/examples/shared/tinydtls/autom4te.cache/output.2 [deleted file]
external/wakaama/examples/shared/tinydtls/autom4te.cache/output.3 [deleted file]
external/wakaama/examples/shared/tinydtls/autom4te.cache/requests [deleted file]
external/wakaama/examples/shared/tinydtls/autom4te.cache/traces.0 [deleted file]
external/wakaama/examples/shared/tinydtls/autom4te.cache/traces.1 [deleted file]
external/wakaama/examples/shared/tinydtls/autom4te.cache/traces.2 [deleted file]
external/wakaama/examples/shared/tinydtls/autom4te.cache/traces.3 [deleted file]
external/wakaama/examples/shared/tinydtls/ccm.c [deleted file]
external/wakaama/examples/shared/tinydtls/ccm.h [deleted file]
external/wakaama/examples/shared/tinydtls/config.log [deleted file]
external/wakaama/examples/shared/tinydtls/config.status [deleted file]
external/wakaama/examples/shared/tinydtls/configure [deleted file]
external/wakaama/examples/shared/tinydtls/configure.ac [deleted file]
external/wakaama/examples/shared/tinydtls/crypto.c [deleted file]
external/wakaama/examples/shared/tinydtls/crypto.h [deleted file]
external/wakaama/examples/shared/tinydtls/doc/Doxyfile [deleted file]
external/wakaama/examples/shared/tinydtls/doc/Doxyfile.in [deleted file]
external/wakaama/examples/shared/tinydtls/doc/Makefile.in [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/alert_8h.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/alert_8h_source.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/annotated.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/bc_s.png [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/bdwn.png [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/ccm_8c.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/ccm_8c_source.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/ccm_8h.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/ccm_8h_source.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/classes.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/closed.png [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/config_8h.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/config_8h_source.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/contiki-config_8h.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/contiki-config_8h_source.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/crypto_8c.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/crypto_8c_source.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/crypto_8h.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/crypto_8h_source.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/debug_8c.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/debug_8c_source.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/debug_8h.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/debug_8h_source.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/doxygen.css [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/doxygen.png [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/dtls_8c.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/dtls_8c_source.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/dtls_8h.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/dtls_8h_source.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/dtls__config_8h.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/dtls__config_8h_source.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/dtls__time_8c.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/dtls__time_8c_source.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/dtls__time_8h.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/dtls__time_8h_source.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/dynsections.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/files.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/ftv2blank.png [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/ftv2cl.png [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/ftv2doc.png [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/ftv2folderclosed.png [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/ftv2folderopen.png [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/ftv2lastnode.png [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/ftv2link.png [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/ftv2mlastnode.png [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/ftv2mnode.png [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/ftv2mo.png [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/ftv2node.png [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/ftv2ns.png [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/ftv2plastnode.png [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/ftv2pnode.png [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/ftv2splitbar.png [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/ftv2vertline.png [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/functions.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/functions_func.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/functions_vars.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/global_8h.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/global_8h_source.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/globals.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/globals_a.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/globals_b.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/globals_c.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/globals_d.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/globals_defs.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/globals_defs_a.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/globals_defs_c.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/globals_defs_d.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/globals_defs_e.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/globals_defs_g.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/globals_defs_h.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/globals_defs_l.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/globals_defs_m.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/globals_defs_p.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/globals_defs_r.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/globals_defs_s.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/globals_defs_t.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/globals_defs_u.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/globals_defs_w.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/globals_e.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/globals_enum.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/globals_eval.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/globals_f.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/globals_func.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/globals_func_a.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/globals_func_b.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/globals_func_c.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/globals_func_d.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/globals_func_e.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/globals_func_f.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/globals_func_h.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/globals_func_i.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/globals_func_k.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/globals_func_l.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/globals_func_m.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/globals_func_n.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/globals_func_p.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/globals_func_u.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/globals_func_v.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/globals_g.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/globals_h.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/globals_i.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/globals_k.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/globals_l.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/globals_m.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/globals_n.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/globals_p.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/globals_r.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/globals_s.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/globals_t.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/globals_type.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/globals_u.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/globals_v.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/globals_vars.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/globals_w.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/group__HMAC.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/group__clock.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/group__contiki.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/group__dtls__usage.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/group__netq.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/group__prng.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/hmac_8c.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/hmac_8c_source.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/hmac_8h.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/hmac_8h_source.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/index.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/jquery.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/modules.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/nav_f.png [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/nav_g.png [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/nav_h.png [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/netq_8c.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/netq_8c_source.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/netq_8h.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/netq_8h_source.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/numeric_8h.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/numeric_8h_source.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/open.png [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/peer_8c.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/peer_8c_source.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/peer_8h.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/peer_8h_source.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/prng_8h.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/prng_8h_source.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/all_0.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/all_0.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/all_1.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/all_1.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/all_10.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/all_10.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/all_11.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/all_11.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/all_12.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/all_12.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/all_13.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/all_13.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/all_14.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/all_14.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/all_15.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/all_15.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/all_2.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/all_2.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/all_3.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/all_3.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/all_4.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/all_4.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/all_5.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/all_5.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/all_6.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/all_6.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/all_7.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/all_7.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/all_8.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/all_8.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/all_9.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/all_9.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/all_a.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/all_a.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/all_b.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/all_b.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/all_c.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/all_c.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/all_d.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/all_d.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/all_e.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/all_e.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/all_f.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/all_f.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/classes_0.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/classes_0.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/classes_1.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/classes_1.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/classes_2.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/classes_2.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/classes_3.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/classes_3.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/classes_4.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/classes_4.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/classes_5.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/classes_5.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/close.png [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/defines_0.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/defines_0.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/defines_1.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/defines_1.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/defines_2.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/defines_2.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/defines_3.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/defines_3.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/defines_4.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/defines_4.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/defines_5.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/defines_5.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/defines_6.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/defines_6.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/defines_7.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/defines_7.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/defines_8.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/defines_8.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/defines_9.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/defines_9.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/defines_a.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/defines_a.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/defines_b.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/defines_b.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/defines_c.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/defines_c.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/defines_d.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/defines_d.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/defines_e.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/defines_e.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/enums_0.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/enums_0.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/enums_1.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/enums_1.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/enumvalues_0.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/enumvalues_0.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/enumvalues_1.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/enumvalues_1.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/enumvalues_2.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/enumvalues_2.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/enumvalues_3.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/enumvalues_3.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/files_0.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/files_0.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/files_1.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/files_1.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/files_2.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/files_2.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/files_3.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/files_3.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/files_4.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/files_4.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/files_5.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/files_5.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/files_6.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/files_6.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/files_7.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/files_7.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/files_8.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/files_8.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/files_9.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/files_9.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/functions_0.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/functions_0.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/functions_1.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/functions_1.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/functions_2.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/functions_2.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/functions_3.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/functions_3.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/functions_4.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/functions_4.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/functions_5.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/functions_5.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/functions_6.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/functions_6.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/functions_7.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/functions_7.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/functions_8.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/functions_8.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/functions_9.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/functions_9.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/functions_a.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/functions_a.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/functions_b.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/functions_b.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/functions_c.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/functions_c.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/functions_d.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/functions_d.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/functions_e.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/functions_e.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/functions_f.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/functions_f.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/groups_0.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/groups_0.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/groups_1.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/groups_1.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/groups_2.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/groups_2.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/groups_3.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/groups_3.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/groups_4.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/groups_4.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/mag_sel.png [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/nomatches.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/search.css [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/search.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/search_l.png [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/search_m.png [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/search_r.png [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/typedefs_0.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/typedefs_0.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/typedefs_1.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/typedefs_1.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/typedefs_2.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/typedefs_2.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/typedefs_3.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/typedefs_3.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/typedefs_4.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/typedefs_4.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/variables_0.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/variables_0.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/variables_1.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/variables_1.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/variables_10.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/variables_10.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/variables_2.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/variables_2.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/variables_3.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/variables_3.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/variables_4.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/variables_4.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/variables_5.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/variables_5.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/variables_6.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/variables_6.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/variables_7.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/variables_7.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/variables_8.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/variables_8.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/variables_9.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/variables_9.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/variables_a.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/variables_a.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/variables_b.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/variables_b.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/variables_c.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/variables_c.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/variables_d.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/variables_d.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/variables_e.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/variables_e.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/variables_f.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/search/variables_f.js [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/session_8c.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/session_8c_source.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/session_8h.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/session_8h_source.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/state_8h.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/state_8h_source.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/structUT__hash__bucket.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/structUT__hash__handle.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/structUT__hash__table.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/structaes128__ccm__t.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/structdtls__cipher__context__t.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/structdtls__context__t.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/structdtls__ecdsa__key__t.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/structdtls__handler__t.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/structdtls__handshake__parameters__ecdsa__t.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/structdtls__handshake__parameters__psk__t.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/structdtls__handshake__parameters__t.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/structdtls__hmac__context__t.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/structdtls__hs__state__t.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/structdtls__peer__t.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/structdtls__security__parameters__t.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/structlist.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/structnetq__t.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/structsession__t.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/sync_off.png [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/sync_on.png [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/t__list_8h.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/t__list_8h_source.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/tab_a.png [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/tab_b.png [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/tab_h.png [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/tab_s.png [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/tabs.css [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/tinydtls_8h.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/tinydtls_8h_source.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/uthash_8h.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/uthash_8h_source.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/utlist_8h.html [deleted file]
external/wakaama/examples/shared/tinydtls/doc/html/utlist_8h_source.html [deleted file]
external/wakaama/examples/shared/tinydtls/dtls.c [deleted file]
external/wakaama/examples/shared/tinydtls/dtls.h [deleted file]
external/wakaama/examples/shared/tinydtls/dtls_config.h [deleted file]
external/wakaama/examples/shared/tinydtls/dtls_config.h.in [deleted file]
external/wakaama/examples/shared/tinydtls/dtls_debug.c [deleted file]
external/wakaama/examples/shared/tinydtls/dtls_debug.h [deleted file]
external/wakaama/examples/shared/tinydtls/dtls_time.c [deleted file]
external/wakaama/examples/shared/tinydtls/dtls_time.h [deleted file]
external/wakaama/examples/shared/tinydtls/ecc/Makefile.contiki [deleted file]
external/wakaama/examples/shared/tinydtls/ecc/Makefile.in [deleted file]
external/wakaama/examples/shared/tinydtls/ecc/ecc.c [deleted file]
external/wakaama/examples/shared/tinydtls/ecc/ecc.h [deleted file]
external/wakaama/examples/shared/tinydtls/ecc/test_helper.c [deleted file]
external/wakaama/examples/shared/tinydtls/ecc/test_helper.h [deleted file]
external/wakaama/examples/shared/tinydtls/ecc/testecc.c [deleted file]
external/wakaama/examples/shared/tinydtls/ecc/testfield.c [deleted file]
external/wakaama/examples/shared/tinydtls/examples/contiki/Makefile.in [deleted file]
external/wakaama/examples/shared/tinydtls/examples/contiki/dtls-client.c [deleted file]
external/wakaama/examples/shared/tinydtls/examples/contiki/dtls-server.c [deleted file]
external/wakaama/examples/shared/tinydtls/global.h [deleted file]
external/wakaama/examples/shared/tinydtls/hmac.c [deleted file]
external/wakaama/examples/shared/tinydtls/hmac.h [deleted file]
external/wakaama/examples/shared/tinydtls/netq.c [deleted file]
external/wakaama/examples/shared/tinydtls/netq.h [deleted file]
external/wakaama/examples/shared/tinydtls/numeric.h [deleted file]
external/wakaama/examples/shared/tinydtls/peer.c [deleted file]
external/wakaama/examples/shared/tinydtls/peer.h [deleted file]
external/wakaama/examples/shared/tinydtls/platform-specific/Makefile.in [deleted file]
external/wakaama/examples/shared/tinydtls/platform-specific/config-cc2538dk.h [deleted file]
external/wakaama/examples/shared/tinydtls/platform-specific/config-econotag.h [deleted file]
external/wakaama/examples/shared/tinydtls/platform-specific/config-minimal-net.h [deleted file]
external/wakaama/examples/shared/tinydtls/platform-specific/config-sky.h [deleted file]
external/wakaama/examples/shared/tinydtls/platform-specific/config-wismote.h [deleted file]
external/wakaama/examples/shared/tinydtls/platform-specific/platform.h [deleted file]
external/wakaama/examples/shared/tinydtls/prng.h [deleted file]
external/wakaama/examples/shared/tinydtls/session.c [deleted file]
external/wakaama/examples/shared/tinydtls/session.h [deleted file]
external/wakaama/examples/shared/tinydtls/sha2/Makefile.in [deleted file]
external/wakaama/examples/shared/tinydtls/sha2/README [deleted file]
external/wakaama/examples/shared/tinydtls/sha2/sha2.c [deleted file]
external/wakaama/examples/shared/tinydtls/sha2/sha2.h [deleted file]
external/wakaama/examples/shared/tinydtls/sha2/sha2prog.c [deleted file]
external/wakaama/examples/shared/tinydtls/sha2/sha2speed.c [deleted file]
external/wakaama/examples/shared/tinydtls/sha2/sha2test.pl [deleted file]
external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector001.dat [deleted file]
external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector001.info [deleted file]
external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector002.dat [deleted file]
external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector002.info [deleted file]
external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector003.dat [deleted file]
external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector003.info [deleted file]
external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector004.dat [deleted file]
external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector004.info [deleted file]
external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector005.dat [deleted file]
external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector005.info [deleted file]
external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector006.dat [deleted file]
external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector006.info [deleted file]
external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector007.dat [deleted file]
external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector007.info [deleted file]
external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector008.dat [deleted file]
external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector008.info [deleted file]
external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector009.dat [deleted file]
external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector009.info [deleted file]
external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector010.dat [deleted file]
external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector010.info [deleted file]
external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector011.dat [deleted file]
external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector011.info [deleted file]
external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector012.dat [deleted file]
external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector012.info [deleted file]
external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector013.dat [deleted file]
external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector013.info [deleted file]
external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector014.dat [deleted file]
external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector014.info [deleted file]
external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector015.dat [deleted file]
external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector015.info [deleted file]
external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector016.dat [deleted file]
external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector016.info [deleted file]
external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector017.dat [deleted file]
external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector017.info [deleted file]
external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector018.dat [deleted file]
external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector018.info [deleted file]
external/wakaama/examples/shared/tinydtls/state.h [deleted file]
external/wakaama/examples/shared/tinydtls/t_list.h [deleted file]
external/wakaama/examples/shared/tinydtls/tests/Makefile.in [deleted file]
external/wakaama/examples/shared/tinydtls/tests/ccm-test.c [deleted file]
external/wakaama/examples/shared/tinydtls/tests/ccm-testdata.c [deleted file]
external/wakaama/examples/shared/tinydtls/tests/dtls-client.c [deleted file]
external/wakaama/examples/shared/tinydtls/tests/dtls-server.c [deleted file]
external/wakaama/examples/shared/tinydtls/tests/prf-test.c [deleted file]
external/wakaama/examples/shared/tinydtls/tinydtls.h [deleted file]
external/wakaama/examples/shared/tinydtls/tinydtls.h.in [deleted file]
external/wakaama/examples/shared/tinydtls/uthash.h [deleted file]
external/wakaama/examples/shared/tinydtls/utlist.h [deleted file]

diff --git a/external/wakaama/examples/shared/tinydtls/Makefile.in b/external/wakaama/examples/shared/tinydtls/Makefile.in
deleted file mode 100644 (file)
index 9a52e4c..0000000
+++ /dev/null
@@ -1,142 +0,0 @@
-# Makefile for tinydtls
-#
-# Copyright (C) 2011--2014 Olaf Bergmann <bergmann@tzi.org>
-#
-# Permission is hereby granted, free of charge, to any person
-# obtaining a copy of this software and associated documentation
-# files (the "Software"), to deal in the Software without
-# restriction, including without limitation the rights to use, copy,
-# modify, merge, publish, distribute, sublicense, and/or sell copies
-# of the Software, and to permit persons to whom the Software is
-# furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice shall be
-# included in all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
-# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
-# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-# SOFTWARE.
-
-# the library's version
-VERSION:=@PACKAGE_VERSION@
-
-# tools
-@SET_MAKE@
-SHELL = /bin/sh
-MKDIR = mkdir
-ETAGS = @ETAGS@
-
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-abs_builddir = @abs_builddir@
-top_builddir = @top_builddir@
-libdir = @libdir@
-includedir = @includedir@/@PACKAGE_NAME@
-package = @PACKAGE_TARNAME@-@PACKAGE_VERSION@
-
-install := cp
-
-# files and flags
-SOURCES:= dtls.c crypto.c ccm.c hmac.c netq.c peer.c dtls_time.c session.c
-ifneq ("@NDEBUG@", "1")
-SOURCES += debug.c
-endif
-SUB_OBJECTS:=aes/rijndael.o @OPT_OBJS@
-OBJECTS:= $(patsubst %.c, %.o, $(SOURCES)) $(SUB_OBJECTS)
-HEADERS:=dtls.h hmac.h debug.h dtls_config.h uthash.h numeric.h crypto.h global.h ccm.h \
- netq.h t_list.h alert.h utlist.h prng.h peer.h state.h dtls_time.h session.h \
- tinydtls.h
-CFLAGS:=-Wall -pedantic -std=c99 @CFLAGS@
-CPPFLAGS:=@CPPFLAGS@ -DDTLS_CHECK_CONTENTTYPE
-SUBDIRS:=tests doc platform-specific sha2 aes ecc
-DISTSUBDIRS:=$(SUBDIRS) examples/contiki
-DISTDIR=$(top_builddir)/$(package)
-FILES:=Makefile.in configure configure.in dtls_config.h.in tinydtls.h.in \
-  Makefile.tinydtls $(SOURCES) $(HEADERS)
-LIB:=libtinydtls.a
-LDFLAGS:=@LIBS@
-ARFLAGS:=cru
-doc:=doc
-
-.PHONY: all dirs clean install dist distclean .gitignore doc TAGS
-
-ifneq ("@WITH_CONTIKI@", "1")
-.SUFFIXES:
-.SUFFIXES:      .c .o
-
-all:   $(LIB) dirs
-
-check: 
-       echo DISTDIR: $(DISTDIR)
-       echo top_builddir: $(top_builddir)
-       $(MAKE) -C tests check
-
-dirs:  $(SUBDIRS)
-       for dir in $^; do \
-               $(MAKE) -C $$dir ; \
-       done
-
-$(SUB_OBJECTS)::
-       $(MAKE) -C $(@D) $(@F)
-
-$(LIB):        $(OBJECTS)
-       $(AR) $(ARFLAGS) $@ $^ 
-       ranlib $@
-
-clean:
-       @rm -f $(PROGRAM) main.o $(LIB) $(OBJECTS)
-       for dir in $(SUBDIRS); do \
-               $(MAKE) -C $$dir clean ; \
-       done
-else  # WITH_CONTIKI
-all:
-       $(MAKE) -C examples/contiki $@
-endif # WITH_CONTIKI
-
-doc:   
-       $(MAKE) -C doc
-
-distclean:     clean
-       @rm -rf $(DISTDIR)
-       @rm -f *~ $(DISTDIR).tar.gz
-
-dist:  $(FILES) $(DISTSUBDIRS)
-       test -d $(DISTDIR) || mkdir $(DISTDIR)
-       cp $(FILES) $(DISTDIR)
-       for dir in $(DISTSUBDIRS); do \
-               $(MAKE) -C $$dir dist; \
-       done
-       tar czf $(package).tar.gz $(DISTDIR)
-
-install:       $(LIB) $(HEADERS) $(SUBDIRS)
-       test -d $(libdir) || mkdir -p $(libdir)
-       test -d $(includedir) || mkdir -p $(includedir)
-       $(install) $(LIB) $(libdir)/
-       $(install) $(HEADERS) $(includedir)/
-       for dir in $(SUBDIRS); do \
-               $(MAKE) -C $$dir install="$(install)" includedir=$(includedir) install; \
-       done
-
-TAGS:  
-       $(ETAGS) -o $@.new $(SOURCES) 
-       $(ETAGS) -a -o $@.new $(HEADERS) 
-       mv $@.new $@
-
-# files that should be ignored by git
-GITIGNOREDS:= core \*~ \*.[oa] \*.gz \*.cap \*.pcap Makefile \
- autom4te.cache/ config.h config.log config.status configure \
- doc/Doxyfile doc/doxygen.out doc/html/ $(LIB) tests/ccm-test \
- tests/dtls-client tests/dtls-server tests/prf-test $(package) \
- $(DISTDIR)/ TAGS \*.patch .gitignore ecc/testecc ecc/testfield \
- \*.d \*.hex \*.elf \*.map obj_\* tinydtls.h dtls_config.h \
- $(addprefix \*., $(notdir $(wildcard ../../platform/*))) \
- .project
-
-.gitignore:
-       echo $(GITIGNOREDS) | sed 's/ /\n/g' > $@
-
diff --git a/external/wakaama/examples/shared/tinydtls/Makefile.tinydtls b/external/wakaama/examples/shared/tinydtls/Makefile.tinydtls
deleted file mode 100644 (file)
index 88affc4..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-# This is a -*- Makefile -*-
-
-ifeq ($(TARGET), redbee-econotag)
-CFLAGS += -DSHA2_USE_INTTYPES_H=1 -DLITTLE_ENDIAN=3412 -DBYTE_ORDER=LITTLE_ENDIAN
-endif
-
-ifeq ($(TARGET), wismote)
-CFLAGS += -DSHA2_USE_INTTYPES_H=1 -DLITTLE_ENDIAN=3412 -DBYTE_ORDER=LITTLE_ENDIAN
-endif
-
-ifeq ($(TARGET), exp5438)
-CFLAGS += -DSHA2_USE_INTTYPES_H=1 -DLITTLE_ENDIAN=3412 -DBYTE_ORDER=LITTLE_ENDIAN
-endif
-
-ifeq ($(TARGET), native)
-CFLAGS += -DSHA2_USE_INTTYPES_H=1
-endif
-
-ifeq ($(TARGET), minimal-net)
-CFLAGS += -DSHA2_USE_INTTYPES_H=1
-endif
-
-CFLAGS += -DDTLSv12 -DWITH_SHA256 
-tinydtls_src = dtls.c crypto.c hmac.c rijndael.c sha2.c ccm.c netq.c ecc.c dtls_time.c peer.c session.c
-
-# This adds support for TLS_PSK_WITH_AES_128_CCM_8
-CFLAGS += -DDTLS_PSK
-
-# This adds support for TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8
-CFLAGS += -DDTLS_ECC
-tinydtls_src += ecc.c
-
-# This activates debugging support
-# CFLAGS += -DNDEBUG
-tinydtls_src += debug.c
-
diff --git a/external/wakaama/examples/shared/tinydtls/aes/Makefile.in b/external/wakaama/examples/shared/tinydtls/aes/Makefile.in
deleted file mode 100644 (file)
index 4cf29d4..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-# Makefile for tinydtls
-#
-# Copyright (C) 2011 Olaf Bergmann <bergmann@tzi.org>
-#
-# Permission is hereby granted, free of charge, to any person
-# obtaining a copy of this software and associated documentation
-# files (the "Software"), to deal in the Software without
-# restriction, including without limitation the rights to use, copy,
-# modify, merge, publish, distribute, sublicense, and/or sell copies
-# of the Software, and to permit persons to whom the Software is
-# furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice shall be
-# included in all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
-# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
-# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-# SOFTWARE.
-
-# the library's version
-VERSION:=@PACKAGE_VERSION@
-
-# tools
-@SET_MAKE@
-SHELL = /bin/sh
-MKDIR = mkdir
-
-abs_builddir = @abs_builddir@
-top_builddir = @top_builddir@
-top_srcdir:= @top_srcdir@
-
-SOURCES:= rijndael.c
-HEADERS:= rijndael.h
-OBJECTS:= $(patsubst %.c, %.o, $(SOURCES))
-CPPFLAGS=@CPPFLAGS@
-CFLAGS=-Wall -std=c99 -pedantic @CFLAGS@
-LDLIBS=@LIBS@
-FILES:=Makefile.in $(SOURCES) $(HEADERS) 
-DISTDIR=$(top_builddir)/@PACKAGE_TARNAME@-@PACKAGE_VERSION@
-
-.PHONY: all dirs clean install dist distclean .gitignore doc
-
-.SUFFIXES:
-.SUFFIXES:      .c .o
-
-all:
-
-check: 
-       echo DISTDIR: $(DISTDIR)
-       echo top_builddir: $(top_builddir)
-
-clean:
-       @rm -f $(PROGRAMS) main.o $(LIB) $(OBJECTS)
-       for dir in $(SUBDIRS); do \
-               $(MAKE) -C $$dir clean ; \
-       done
-
-distclean:     clean
-       @rm -rf $(DISTDIR)
-       @rm -f *~ $(DISTDIR).tar.gz
-
-dist:  $(FILES)
-       test -d $(DISTDIR)/aes || mkdir $(DISTDIR)/aes
-       cp -p $(FILES) $(DISTDIR)/aes
-
-install:       $(HEADERS)
-       test -d $(includedir)/aes || mkdir -p $(includedir)/aes
-       $(install) $(HEADERS) $(includedir)/aes
-
-.gitignore:
-       echo "core\n*~\n*.[oa]\n*.gz\n*.cap\n$(PROGRAM)\n$(DISTDIR)\n.gitignore" >$@
diff --git a/external/wakaama/examples/shared/tinydtls/aes/rijndael.c b/external/wakaama/examples/shared/tinydtls/aes/rijndael.c
deleted file mode 100644 (file)
index c7eaabd..0000000
+++ /dev/null
@@ -1,1280 +0,0 @@
-/*     $OpenBSD: rijndael.c,v 1.19 2008/06/09 07:49:45 djm Exp $ */
-
-/**
- * rijndael-alg-fst.c
- *
- * @version 3.0 (December 2000)
- *
- * Optimised ANSI C code for the Rijndael cipher (now AES)
- *
- * @author Vincent Rijmen <vincent.rijmen@esat.kuleuven.ac.be>
- * @author Antoon Bosselaers <antoon.bosselaers@esat.kuleuven.ac.be>
- * @author Paulo Barreto <paulo.barreto@terra.com.br>
- *
- * This code is hereby placed in the public domain.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''AS IS'' AND ANY EXPRESS
- * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
- * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
- * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
- * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/* #include <sys/param.h> */
-/* #include <sys/systm.h> */
-
-#include "rijndael.h"
-
-#undef FULL_UNROLL
-
-/*
-Te0[x] = S [x].[02, 01, 01, 03];
-Te1[x] = S [x].[03, 02, 01, 01];
-Te2[x] = S [x].[01, 03, 02, 01];
-Te3[x] = S [x].[01, 01, 03, 02];
-Te4[x] = S [x].[01, 01, 01, 01];
-
-Td0[x] = Si[x].[0e, 09, 0d, 0b];
-Td1[x] = Si[x].[0b, 0e, 09, 0d];
-Td2[x] = Si[x].[0d, 0b, 0e, 09];
-Td3[x] = Si[x].[09, 0d, 0b, 0e];
-Td4[x] = Si[x].[01, 01, 01, 01];
-*/
-
-static const aes_u32 Te0[256] = {
-    0xc66363a5U, 0xf87c7c84U, 0xee777799U, 0xf67b7b8dU,
-    0xfff2f20dU, 0xd66b6bbdU, 0xde6f6fb1U, 0x91c5c554U,
-    0x60303050U, 0x02010103U, 0xce6767a9U, 0x562b2b7dU,
-    0xe7fefe19U, 0xb5d7d762U, 0x4dababe6U, 0xec76769aU,
-    0x8fcaca45U, 0x1f82829dU, 0x89c9c940U, 0xfa7d7d87U,
-    0xeffafa15U, 0xb25959ebU, 0x8e4747c9U, 0xfbf0f00bU,
-    0x41adadecU, 0xb3d4d467U, 0x5fa2a2fdU, 0x45afafeaU,
-    0x239c9cbfU, 0x53a4a4f7U, 0xe4727296U, 0x9bc0c05bU,
-    0x75b7b7c2U, 0xe1fdfd1cU, 0x3d9393aeU, 0x4c26266aU,
-    0x6c36365aU, 0x7e3f3f41U, 0xf5f7f702U, 0x83cccc4fU,
-    0x6834345cU, 0x51a5a5f4U, 0xd1e5e534U, 0xf9f1f108U,
-    0xe2717193U, 0xabd8d873U, 0x62313153U, 0x2a15153fU,
-    0x0804040cU, 0x95c7c752U, 0x46232365U, 0x9dc3c35eU,
-    0x30181828U, 0x379696a1U, 0x0a05050fU, 0x2f9a9ab5U,
-    0x0e070709U, 0x24121236U, 0x1b80809bU, 0xdfe2e23dU,
-    0xcdebeb26U, 0x4e272769U, 0x7fb2b2cdU, 0xea75759fU,
-    0x1209091bU, 0x1d83839eU, 0x582c2c74U, 0x341a1a2eU,
-    0x361b1b2dU, 0xdc6e6eb2U, 0xb45a5aeeU, 0x5ba0a0fbU,
-    0xa45252f6U, 0x763b3b4dU, 0xb7d6d661U, 0x7db3b3ceU,
-    0x5229297bU, 0xdde3e33eU, 0x5e2f2f71U, 0x13848497U,
-    0xa65353f5U, 0xb9d1d168U, 0x00000000U, 0xc1eded2cU,
-    0x40202060U, 0xe3fcfc1fU, 0x79b1b1c8U, 0xb65b5bedU,
-    0xd46a6abeU, 0x8dcbcb46U, 0x67bebed9U, 0x7239394bU,
-    0x944a4adeU, 0x984c4cd4U, 0xb05858e8U, 0x85cfcf4aU,
-    0xbbd0d06bU, 0xc5efef2aU, 0x4faaaae5U, 0xedfbfb16U,
-    0x864343c5U, 0x9a4d4dd7U, 0x66333355U, 0x11858594U,
-    0x8a4545cfU, 0xe9f9f910U, 0x04020206U, 0xfe7f7f81U,
-    0xa05050f0U, 0x783c3c44U, 0x259f9fbaU, 0x4ba8a8e3U,
-    0xa25151f3U, 0x5da3a3feU, 0x804040c0U, 0x058f8f8aU,
-    0x3f9292adU, 0x219d9dbcU, 0x70383848U, 0xf1f5f504U,
-    0x63bcbcdfU, 0x77b6b6c1U, 0xafdada75U, 0x42212163U,
-    0x20101030U, 0xe5ffff1aU, 0xfdf3f30eU, 0xbfd2d26dU,
-    0x81cdcd4cU, 0x180c0c14U, 0x26131335U, 0xc3ecec2fU,
-    0xbe5f5fe1U, 0x359797a2U, 0x884444ccU, 0x2e171739U,
-    0x93c4c457U, 0x55a7a7f2U, 0xfc7e7e82U, 0x7a3d3d47U,
-    0xc86464acU, 0xba5d5de7U, 0x3219192bU, 0xe6737395U,
-    0xc06060a0U, 0x19818198U, 0x9e4f4fd1U, 0xa3dcdc7fU,
-    0x44222266U, 0x542a2a7eU, 0x3b9090abU, 0x0b888883U,
-    0x8c4646caU, 0xc7eeee29U, 0x6bb8b8d3U, 0x2814143cU,
-    0xa7dede79U, 0xbc5e5ee2U, 0x160b0b1dU, 0xaddbdb76U,
-    0xdbe0e03bU, 0x64323256U, 0x743a3a4eU, 0x140a0a1eU,
-    0x924949dbU, 0x0c06060aU, 0x4824246cU, 0xb85c5ce4U,
-    0x9fc2c25dU, 0xbdd3d36eU, 0x43acacefU, 0xc46262a6U,
-    0x399191a8U, 0x319595a4U, 0xd3e4e437U, 0xf279798bU,
-    0xd5e7e732U, 0x8bc8c843U, 0x6e373759U, 0xda6d6db7U,
-    0x018d8d8cU, 0xb1d5d564U, 0x9c4e4ed2U, 0x49a9a9e0U,
-    0xd86c6cb4U, 0xac5656faU, 0xf3f4f407U, 0xcfeaea25U,
-    0xca6565afU, 0xf47a7a8eU, 0x47aeaee9U, 0x10080818U,
-    0x6fbabad5U, 0xf0787888U, 0x4a25256fU, 0x5c2e2e72U,
-    0x381c1c24U, 0x57a6a6f1U, 0x73b4b4c7U, 0x97c6c651U,
-    0xcbe8e823U, 0xa1dddd7cU, 0xe874749cU, 0x3e1f1f21U,
-    0x964b4bddU, 0x61bdbddcU, 0x0d8b8b86U, 0x0f8a8a85U,
-    0xe0707090U, 0x7c3e3e42U, 0x71b5b5c4U, 0xcc6666aaU,
-    0x904848d8U, 0x06030305U, 0xf7f6f601U, 0x1c0e0e12U,
-    0xc26161a3U, 0x6a35355fU, 0xae5757f9U, 0x69b9b9d0U,
-    0x17868691U, 0x99c1c158U, 0x3a1d1d27U, 0x279e9eb9U,
-    0xd9e1e138U, 0xebf8f813U, 0x2b9898b3U, 0x22111133U,
-    0xd26969bbU, 0xa9d9d970U, 0x078e8e89U, 0x339494a7U,
-    0x2d9b9bb6U, 0x3c1e1e22U, 0x15878792U, 0xc9e9e920U,
-    0x87cece49U, 0xaa5555ffU, 0x50282878U, 0xa5dfdf7aU,
-    0x038c8c8fU, 0x59a1a1f8U, 0x09898980U, 0x1a0d0d17U,
-    0x65bfbfdaU, 0xd7e6e631U, 0x844242c6U, 0xd06868b8U,
-    0x824141c3U, 0x299999b0U, 0x5a2d2d77U, 0x1e0f0f11U,
-    0x7bb0b0cbU, 0xa85454fcU, 0x6dbbbbd6U, 0x2c16163aU,
-};
-static const aes_u32 Te1[256] = {
-    0xa5c66363U, 0x84f87c7cU, 0x99ee7777U, 0x8df67b7bU,
-    0x0dfff2f2U, 0xbdd66b6bU, 0xb1de6f6fU, 0x5491c5c5U,
-    0x50603030U, 0x03020101U, 0xa9ce6767U, 0x7d562b2bU,
-    0x19e7fefeU, 0x62b5d7d7U, 0xe64dababU, 0x9aec7676U,
-    0x458fcacaU, 0x9d1f8282U, 0x4089c9c9U, 0x87fa7d7dU,
-    0x15effafaU, 0xebb25959U, 0xc98e4747U, 0x0bfbf0f0U,
-    0xec41adadU, 0x67b3d4d4U, 0xfd5fa2a2U, 0xea45afafU,
-    0xbf239c9cU, 0xf753a4a4U, 0x96e47272U, 0x5b9bc0c0U,
-    0xc275b7b7U, 0x1ce1fdfdU, 0xae3d9393U, 0x6a4c2626U,
-    0x5a6c3636U, 0x417e3f3fU, 0x02f5f7f7U, 0x4f83ccccU,
-    0x5c683434U, 0xf451a5a5U, 0x34d1e5e5U, 0x08f9f1f1U,
-    0x93e27171U, 0x73abd8d8U, 0x53623131U, 0x3f2a1515U,
-    0x0c080404U, 0x5295c7c7U, 0x65462323U, 0x5e9dc3c3U,
-    0x28301818U, 0xa1379696U, 0x0f0a0505U, 0xb52f9a9aU,
-    0x090e0707U, 0x36241212U, 0x9b1b8080U, 0x3ddfe2e2U,
-    0x26cdebebU, 0x694e2727U, 0xcd7fb2b2U, 0x9fea7575U,
-    0x1b120909U, 0x9e1d8383U, 0x74582c2cU, 0x2e341a1aU,
-    0x2d361b1bU, 0xb2dc6e6eU, 0xeeb45a5aU, 0xfb5ba0a0U,
-    0xf6a45252U, 0x4d763b3bU, 0x61b7d6d6U, 0xce7db3b3U,
-    0x7b522929U, 0x3edde3e3U, 0x715e2f2fU, 0x97138484U,
-    0xf5a65353U, 0x68b9d1d1U, 0x00000000U, 0x2cc1ededU,
-    0x60402020U, 0x1fe3fcfcU, 0xc879b1b1U, 0xedb65b5bU,
-    0xbed46a6aU, 0x468dcbcbU, 0xd967bebeU, 0x4b723939U,
-    0xde944a4aU, 0xd4984c4cU, 0xe8b05858U, 0x4a85cfcfU,
-    0x6bbbd0d0U, 0x2ac5efefU, 0xe54faaaaU, 0x16edfbfbU,
-    0xc5864343U, 0xd79a4d4dU, 0x55663333U, 0x94118585U,
-    0xcf8a4545U, 0x10e9f9f9U, 0x06040202U, 0x81fe7f7fU,
-    0xf0a05050U, 0x44783c3cU, 0xba259f9fU, 0xe34ba8a8U,
-    0xf3a25151U, 0xfe5da3a3U, 0xc0804040U, 0x8a058f8fU,
-    0xad3f9292U, 0xbc219d9dU, 0x48703838U, 0x04f1f5f5U,
-    0xdf63bcbcU, 0xc177b6b6U, 0x75afdadaU, 0x63422121U,
-    0x30201010U, 0x1ae5ffffU, 0x0efdf3f3U, 0x6dbfd2d2U,
-    0x4c81cdcdU, 0x14180c0cU, 0x35261313U, 0x2fc3ececU,
-    0xe1be5f5fU, 0xa2359797U, 0xcc884444U, 0x392e1717U,
-    0x5793c4c4U, 0xf255a7a7U, 0x82fc7e7eU, 0x477a3d3dU,
-    0xacc86464U, 0xe7ba5d5dU, 0x2b321919U, 0x95e67373U,
-    0xa0c06060U, 0x98198181U, 0xd19e4f4fU, 0x7fa3dcdcU,
-    0x66442222U, 0x7e542a2aU, 0xab3b9090U, 0x830b8888U,
-    0xca8c4646U, 0x29c7eeeeU, 0xd36bb8b8U, 0x3c281414U,
-    0x79a7dedeU, 0xe2bc5e5eU, 0x1d160b0bU, 0x76addbdbU,
-    0x3bdbe0e0U, 0x56643232U, 0x4e743a3aU, 0x1e140a0aU,
-    0xdb924949U, 0x0a0c0606U, 0x6c482424U, 0xe4b85c5cU,
-    0x5d9fc2c2U, 0x6ebdd3d3U, 0xef43acacU, 0xa6c46262U,
-    0xa8399191U, 0xa4319595U, 0x37d3e4e4U, 0x8bf27979U,
-    0x32d5e7e7U, 0x438bc8c8U, 0x596e3737U, 0xb7da6d6dU,
-    0x8c018d8dU, 0x64b1d5d5U, 0xd29c4e4eU, 0xe049a9a9U,
-    0xb4d86c6cU, 0xfaac5656U, 0x07f3f4f4U, 0x25cfeaeaU,
-    0xafca6565U, 0x8ef47a7aU, 0xe947aeaeU, 0x18100808U,
-    0xd56fbabaU, 0x88f07878U, 0x6f4a2525U, 0x725c2e2eU,
-    0x24381c1cU, 0xf157a6a6U, 0xc773b4b4U, 0x5197c6c6U,
-    0x23cbe8e8U, 0x7ca1ddddU, 0x9ce87474U, 0x213e1f1fU,
-    0xdd964b4bU, 0xdc61bdbdU, 0x860d8b8bU, 0x850f8a8aU,
-    0x90e07070U, 0x427c3e3eU, 0xc471b5b5U, 0xaacc6666U,
-    0xd8904848U, 0x05060303U, 0x01f7f6f6U, 0x121c0e0eU,
-    0xa3c26161U, 0x5f6a3535U, 0xf9ae5757U, 0xd069b9b9U,
-    0x91178686U, 0x5899c1c1U, 0x273a1d1dU, 0xb9279e9eU,
-    0x38d9e1e1U, 0x13ebf8f8U, 0xb32b9898U, 0x33221111U,
-    0xbbd26969U, 0x70a9d9d9U, 0x89078e8eU, 0xa7339494U,
-    0xb62d9b9bU, 0x223c1e1eU, 0x92158787U, 0x20c9e9e9U,
-    0x4987ceceU, 0xffaa5555U, 0x78502828U, 0x7aa5dfdfU,
-    0x8f038c8cU, 0xf859a1a1U, 0x80098989U, 0x171a0d0dU,
-    0xda65bfbfU, 0x31d7e6e6U, 0xc6844242U, 0xb8d06868U,
-    0xc3824141U, 0xb0299999U, 0x775a2d2dU, 0x111e0f0fU,
-    0xcb7bb0b0U, 0xfca85454U, 0xd66dbbbbU, 0x3a2c1616U,
-};
-static const aes_u32 Te2[256] = {
-    0x63a5c663U, 0x7c84f87cU, 0x7799ee77U, 0x7b8df67bU,
-    0xf20dfff2U, 0x6bbdd66bU, 0x6fb1de6fU, 0xc55491c5U,
-    0x30506030U, 0x01030201U, 0x67a9ce67U, 0x2b7d562bU,
-    0xfe19e7feU, 0xd762b5d7U, 0xabe64dabU, 0x769aec76U,
-    0xca458fcaU, 0x829d1f82U, 0xc94089c9U, 0x7d87fa7dU,
-    0xfa15effaU, 0x59ebb259U, 0x47c98e47U, 0xf00bfbf0U,
-    0xadec41adU, 0xd467b3d4U, 0xa2fd5fa2U, 0xafea45afU,
-    0x9cbf239cU, 0xa4f753a4U, 0x7296e472U, 0xc05b9bc0U,
-    0xb7c275b7U, 0xfd1ce1fdU, 0x93ae3d93U, 0x266a4c26U,
-    0x365a6c36U, 0x3f417e3fU, 0xf702f5f7U, 0xcc4f83ccU,
-    0x345c6834U, 0xa5f451a5U, 0xe534d1e5U, 0xf108f9f1U,
-    0x7193e271U, 0xd873abd8U, 0x31536231U, 0x153f2a15U,
-    0x040c0804U, 0xc75295c7U, 0x23654623U, 0xc35e9dc3U,
-    0x18283018U, 0x96a13796U, 0x050f0a05U, 0x9ab52f9aU,
-    0x07090e07U, 0x12362412U, 0x809b1b80U, 0xe23ddfe2U,
-    0xeb26cdebU, 0x27694e27U, 0xb2cd7fb2U, 0x759fea75U,
-    0x091b1209U, 0x839e1d83U, 0x2c74582cU, 0x1a2e341aU,
-    0x1b2d361bU, 0x6eb2dc6eU, 0x5aeeb45aU, 0xa0fb5ba0U,
-    0x52f6a452U, 0x3b4d763bU, 0xd661b7d6U, 0xb3ce7db3U,
-    0x297b5229U, 0xe33edde3U, 0x2f715e2fU, 0x84971384U,
-    0x53f5a653U, 0xd168b9d1U, 0x00000000U, 0xed2cc1edU,
-    0x20604020U, 0xfc1fe3fcU, 0xb1c879b1U, 0x5bedb65bU,
-    0x6abed46aU, 0xcb468dcbU, 0xbed967beU, 0x394b7239U,
-    0x4ade944aU, 0x4cd4984cU, 0x58e8b058U, 0xcf4a85cfU,
-    0xd06bbbd0U, 0xef2ac5efU, 0xaae54faaU, 0xfb16edfbU,
-    0x43c58643U, 0x4dd79a4dU, 0x33556633U, 0x85941185U,
-    0x45cf8a45U, 0xf910e9f9U, 0x02060402U, 0x7f81fe7fU,
-    0x50f0a050U, 0x3c44783cU, 0x9fba259fU, 0xa8e34ba8U,
-    0x51f3a251U, 0xa3fe5da3U, 0x40c08040U, 0x8f8a058fU,
-    0x92ad3f92U, 0x9dbc219dU, 0x38487038U, 0xf504f1f5U,
-    0xbcdf63bcU, 0xb6c177b6U, 0xda75afdaU, 0x21634221U,
-    0x10302010U, 0xff1ae5ffU, 0xf30efdf3U, 0xd26dbfd2U,
-    0xcd4c81cdU, 0x0c14180cU, 0x13352613U, 0xec2fc3ecU,
-    0x5fe1be5fU, 0x97a23597U, 0x44cc8844U, 0x17392e17U,
-    0xc45793c4U, 0xa7f255a7U, 0x7e82fc7eU, 0x3d477a3dU,
-    0x64acc864U, 0x5de7ba5dU, 0x192b3219U, 0x7395e673U,
-    0x60a0c060U, 0x81981981U, 0x4fd19e4fU, 0xdc7fa3dcU,
-    0x22664422U, 0x2a7e542aU, 0x90ab3b90U, 0x88830b88U,
-    0x46ca8c46U, 0xee29c7eeU, 0xb8d36bb8U, 0x143c2814U,
-    0xde79a7deU, 0x5ee2bc5eU, 0x0b1d160bU, 0xdb76addbU,
-    0xe03bdbe0U, 0x32566432U, 0x3a4e743aU, 0x0a1e140aU,
-    0x49db9249U, 0x060a0c06U, 0x246c4824U, 0x5ce4b85cU,
-    0xc25d9fc2U, 0xd36ebdd3U, 0xacef43acU, 0x62a6c462U,
-    0x91a83991U, 0x95a43195U, 0xe437d3e4U, 0x798bf279U,
-    0xe732d5e7U, 0xc8438bc8U, 0x37596e37U, 0x6db7da6dU,
-    0x8d8c018dU, 0xd564b1d5U, 0x4ed29c4eU, 0xa9e049a9U,
-    0x6cb4d86cU, 0x56faac56U, 0xf407f3f4U, 0xea25cfeaU,
-    0x65afca65U, 0x7a8ef47aU, 0xaee947aeU, 0x08181008U,
-    0xbad56fbaU, 0x7888f078U, 0x256f4a25U, 0x2e725c2eU,
-    0x1c24381cU, 0xa6f157a6U, 0xb4c773b4U, 0xc65197c6U,
-    0xe823cbe8U, 0xdd7ca1ddU, 0x749ce874U, 0x1f213e1fU,
-    0x4bdd964bU, 0xbddc61bdU, 0x8b860d8bU, 0x8a850f8aU,
-    0x7090e070U, 0x3e427c3eU, 0xb5c471b5U, 0x66aacc66U,
-    0x48d89048U, 0x03050603U, 0xf601f7f6U, 0x0e121c0eU,
-    0x61a3c261U, 0x355f6a35U, 0x57f9ae57U, 0xb9d069b9U,
-    0x86911786U, 0xc15899c1U, 0x1d273a1dU, 0x9eb9279eU,
-    0xe138d9e1U, 0xf813ebf8U, 0x98b32b98U, 0x11332211U,
-    0x69bbd269U, 0xd970a9d9U, 0x8e89078eU, 0x94a73394U,
-    0x9bb62d9bU, 0x1e223c1eU, 0x87921587U, 0xe920c9e9U,
-    0xce4987ceU, 0x55ffaa55U, 0x28785028U, 0xdf7aa5dfU,
-    0x8c8f038cU, 0xa1f859a1U, 0x89800989U, 0x0d171a0dU,
-    0xbfda65bfU, 0xe631d7e6U, 0x42c68442U, 0x68b8d068U,
-    0x41c38241U, 0x99b02999U, 0x2d775a2dU, 0x0f111e0fU,
-    0xb0cb7bb0U, 0x54fca854U, 0xbbd66dbbU, 0x163a2c16U,
-};
-static const aes_u32 Te3[256] = {
-    0x6363a5c6U, 0x7c7c84f8U, 0x777799eeU, 0x7b7b8df6U,
-    0xf2f20dffU, 0x6b6bbdd6U, 0x6f6fb1deU, 0xc5c55491U,
-    0x30305060U, 0x01010302U, 0x6767a9ceU, 0x2b2b7d56U,
-    0xfefe19e7U, 0xd7d762b5U, 0xababe64dU, 0x76769aecU,
-    0xcaca458fU, 0x82829d1fU, 0xc9c94089U, 0x7d7d87faU,
-    0xfafa15efU, 0x5959ebb2U, 0x4747c98eU, 0xf0f00bfbU,
-    0xadadec41U, 0xd4d467b3U, 0xa2a2fd5fU, 0xafafea45U,
-    0x9c9cbf23U, 0xa4a4f753U, 0x727296e4U, 0xc0c05b9bU,
-    0xb7b7c275U, 0xfdfd1ce1U, 0x9393ae3dU, 0x26266a4cU,
-    0x36365a6cU, 0x3f3f417eU, 0xf7f702f5U, 0xcccc4f83U,
-    0x34345c68U, 0xa5a5f451U, 0xe5e534d1U, 0xf1f108f9U,
-    0x717193e2U, 0xd8d873abU, 0x31315362U, 0x15153f2aU,
-    0x04040c08U, 0xc7c75295U, 0x23236546U, 0xc3c35e9dU,
-    0x18182830U, 0x9696a137U, 0x05050f0aU, 0x9a9ab52fU,
-    0x0707090eU, 0x12123624U, 0x80809b1bU, 0xe2e23ddfU,
-    0xebeb26cdU, 0x2727694eU, 0xb2b2cd7fU, 0x75759feaU,
-    0x09091b12U, 0x83839e1dU, 0x2c2c7458U, 0x1a1a2e34U,
-    0x1b1b2d36U, 0x6e6eb2dcU, 0x5a5aeeb4U, 0xa0a0fb5bU,
-    0x5252f6a4U, 0x3b3b4d76U, 0xd6d661b7U, 0xb3b3ce7dU,
-    0x29297b52U, 0xe3e33eddU, 0x2f2f715eU, 0x84849713U,
-    0x5353f5a6U, 0xd1d168b9U, 0x00000000U, 0xeded2cc1U,
-    0x20206040U, 0xfcfc1fe3U, 0xb1b1c879U, 0x5b5bedb6U,
-    0x6a6abed4U, 0xcbcb468dU, 0xbebed967U, 0x39394b72U,
-    0x4a4ade94U, 0x4c4cd498U, 0x5858e8b0U, 0xcfcf4a85U,
-    0xd0d06bbbU, 0xefef2ac5U, 0xaaaae54fU, 0xfbfb16edU,
-    0x4343c586U, 0x4d4dd79aU, 0x33335566U, 0x85859411U,
-    0x4545cf8aU, 0xf9f910e9U, 0x02020604U, 0x7f7f81feU,
-    0x5050f0a0U, 0x3c3c4478U, 0x9f9fba25U, 0xa8a8e34bU,
-    0x5151f3a2U, 0xa3a3fe5dU, 0x4040c080U, 0x8f8f8a05U,
-    0x9292ad3fU, 0x9d9dbc21U, 0x38384870U, 0xf5f504f1U,
-    0xbcbcdf63U, 0xb6b6c177U, 0xdada75afU, 0x21216342U,
-    0x10103020U, 0xffff1ae5U, 0xf3f30efdU, 0xd2d26dbfU,
-    0xcdcd4c81U, 0x0c0c1418U, 0x13133526U, 0xecec2fc3U,
-    0x5f5fe1beU, 0x9797a235U, 0x4444cc88U, 0x1717392eU,
-    0xc4c45793U, 0xa7a7f255U, 0x7e7e82fcU, 0x3d3d477aU,
-    0x6464acc8U, 0x5d5de7baU, 0x19192b32U, 0x737395e6U,
-    0x6060a0c0U, 0x81819819U, 0x4f4fd19eU, 0xdcdc7fa3U,
-    0x22226644U, 0x2a2a7e54U, 0x9090ab3bU, 0x8888830bU,
-    0x4646ca8cU, 0xeeee29c7U, 0xb8b8d36bU, 0x14143c28U,
-    0xdede79a7U, 0x5e5ee2bcU, 0x0b0b1d16U, 0xdbdb76adU,
-    0xe0e03bdbU, 0x32325664U, 0x3a3a4e74U, 0x0a0a1e14U,
-    0x4949db92U, 0x06060a0cU, 0x24246c48U, 0x5c5ce4b8U,
-    0xc2c25d9fU, 0xd3d36ebdU, 0xacacef43U, 0x6262a6c4U,
-    0x9191a839U, 0x9595a431U, 0xe4e437d3U, 0x79798bf2U,
-    0xe7e732d5U, 0xc8c8438bU, 0x3737596eU, 0x6d6db7daU,
-    0x8d8d8c01U, 0xd5d564b1U, 0x4e4ed29cU, 0xa9a9e049U,
-    0x6c6cb4d8U, 0x5656faacU, 0xf4f407f3U, 0xeaea25cfU,
-    0x6565afcaU, 0x7a7a8ef4U, 0xaeaee947U, 0x08081810U,
-    0xbabad56fU, 0x787888f0U, 0x25256f4aU, 0x2e2e725cU,
-    0x1c1c2438U, 0xa6a6f157U, 0xb4b4c773U, 0xc6c65197U,
-    0xe8e823cbU, 0xdddd7ca1U, 0x74749ce8U, 0x1f1f213eU,
-    0x4b4bdd96U, 0xbdbddc61U, 0x8b8b860dU, 0x8a8a850fU,
-    0x707090e0U, 0x3e3e427cU, 0xb5b5c471U, 0x6666aaccU,
-    0x4848d890U, 0x03030506U, 0xf6f601f7U, 0x0e0e121cU,
-    0x6161a3c2U, 0x35355f6aU, 0x5757f9aeU, 0xb9b9d069U,
-    0x86869117U, 0xc1c15899U, 0x1d1d273aU, 0x9e9eb927U,
-    0xe1e138d9U, 0xf8f813ebU, 0x9898b32bU, 0x11113322U,
-    0x6969bbd2U, 0xd9d970a9U, 0x8e8e8907U, 0x9494a733U,
-    0x9b9bb62dU, 0x1e1e223cU, 0x87879215U, 0xe9e920c9U,
-    0xcece4987U, 0x5555ffaaU, 0x28287850U, 0xdfdf7aa5U,
-    0x8c8c8f03U, 0xa1a1f859U, 0x89898009U, 0x0d0d171aU,
-    0xbfbfda65U, 0xe6e631d7U, 0x4242c684U, 0x6868b8d0U,
-    0x4141c382U, 0x9999b029U, 0x2d2d775aU, 0x0f0f111eU,
-    0xb0b0cb7bU, 0x5454fca8U, 0xbbbbd66dU, 0x16163a2cU,
-};
-static const aes_u32 Te4[256] = {
-    0x63636363U, 0x7c7c7c7cU, 0x77777777U, 0x7b7b7b7bU,
-    0xf2f2f2f2U, 0x6b6b6b6bU, 0x6f6f6f6fU, 0xc5c5c5c5U,
-    0x30303030U, 0x01010101U, 0x67676767U, 0x2b2b2b2bU,
-    0xfefefefeU, 0xd7d7d7d7U, 0xababababU, 0x76767676U,
-    0xcacacacaU, 0x82828282U, 0xc9c9c9c9U, 0x7d7d7d7dU,
-    0xfafafafaU, 0x59595959U, 0x47474747U, 0xf0f0f0f0U,
-    0xadadadadU, 0xd4d4d4d4U, 0xa2a2a2a2U, 0xafafafafU,
-    0x9c9c9c9cU, 0xa4a4a4a4U, 0x72727272U, 0xc0c0c0c0U,
-    0xb7b7b7b7U, 0xfdfdfdfdU, 0x93939393U, 0x26262626U,
-    0x36363636U, 0x3f3f3f3fU, 0xf7f7f7f7U, 0xccccccccU,
-    0x34343434U, 0xa5a5a5a5U, 0xe5e5e5e5U, 0xf1f1f1f1U,
-    0x71717171U, 0xd8d8d8d8U, 0x31313131U, 0x15151515U,
-    0x04040404U, 0xc7c7c7c7U, 0x23232323U, 0xc3c3c3c3U,
-    0x18181818U, 0x96969696U, 0x05050505U, 0x9a9a9a9aU,
-    0x07070707U, 0x12121212U, 0x80808080U, 0xe2e2e2e2U,
-    0xebebebebU, 0x27272727U, 0xb2b2b2b2U, 0x75757575U,
-    0x09090909U, 0x83838383U, 0x2c2c2c2cU, 0x1a1a1a1aU,
-    0x1b1b1b1bU, 0x6e6e6e6eU, 0x5a5a5a5aU, 0xa0a0a0a0U,
-    0x52525252U, 0x3b3b3b3bU, 0xd6d6d6d6U, 0xb3b3b3b3U,
-    0x29292929U, 0xe3e3e3e3U, 0x2f2f2f2fU, 0x84848484U,
-    0x53535353U, 0xd1d1d1d1U, 0x00000000U, 0xededededU,
-    0x20202020U, 0xfcfcfcfcU, 0xb1b1b1b1U, 0x5b5b5b5bU,
-    0x6a6a6a6aU, 0xcbcbcbcbU, 0xbebebebeU, 0x39393939U,
-    0x4a4a4a4aU, 0x4c4c4c4cU, 0x58585858U, 0xcfcfcfcfU,
-    0xd0d0d0d0U, 0xefefefefU, 0xaaaaaaaaU, 0xfbfbfbfbU,
-    0x43434343U, 0x4d4d4d4dU, 0x33333333U, 0x85858585U,
-    0x45454545U, 0xf9f9f9f9U, 0x02020202U, 0x7f7f7f7fU,
-    0x50505050U, 0x3c3c3c3cU, 0x9f9f9f9fU, 0xa8a8a8a8U,
-    0x51515151U, 0xa3a3a3a3U, 0x40404040U, 0x8f8f8f8fU,
-    0x92929292U, 0x9d9d9d9dU, 0x38383838U, 0xf5f5f5f5U,
-    0xbcbcbcbcU, 0xb6b6b6b6U, 0xdadadadaU, 0x21212121U,
-    0x10101010U, 0xffffffffU, 0xf3f3f3f3U, 0xd2d2d2d2U,
-    0xcdcdcdcdU, 0x0c0c0c0cU, 0x13131313U, 0xececececU,
-    0x5f5f5f5fU, 0x97979797U, 0x44444444U, 0x17171717U,
-    0xc4c4c4c4U, 0xa7a7a7a7U, 0x7e7e7e7eU, 0x3d3d3d3dU,
-    0x64646464U, 0x5d5d5d5dU, 0x19191919U, 0x73737373U,
-    0x60606060U, 0x81818181U, 0x4f4f4f4fU, 0xdcdcdcdcU,
-    0x22222222U, 0x2a2a2a2aU, 0x90909090U, 0x88888888U,
-    0x46464646U, 0xeeeeeeeeU, 0xb8b8b8b8U, 0x14141414U,
-    0xdedededeU, 0x5e5e5e5eU, 0x0b0b0b0bU, 0xdbdbdbdbU,
-    0xe0e0e0e0U, 0x32323232U, 0x3a3a3a3aU, 0x0a0a0a0aU,
-    0x49494949U, 0x06060606U, 0x24242424U, 0x5c5c5c5cU,
-    0xc2c2c2c2U, 0xd3d3d3d3U, 0xacacacacU, 0x62626262U,
-    0x91919191U, 0x95959595U, 0xe4e4e4e4U, 0x79797979U,
-    0xe7e7e7e7U, 0xc8c8c8c8U, 0x37373737U, 0x6d6d6d6dU,
-    0x8d8d8d8dU, 0xd5d5d5d5U, 0x4e4e4e4eU, 0xa9a9a9a9U,
-    0x6c6c6c6cU, 0x56565656U, 0xf4f4f4f4U, 0xeaeaeaeaU,
-    0x65656565U, 0x7a7a7a7aU, 0xaeaeaeaeU, 0x08080808U,
-    0xbabababaU, 0x78787878U, 0x25252525U, 0x2e2e2e2eU,
-    0x1c1c1c1cU, 0xa6a6a6a6U, 0xb4b4b4b4U, 0xc6c6c6c6U,
-    0xe8e8e8e8U, 0xddddddddU, 0x74747474U, 0x1f1f1f1fU,
-    0x4b4b4b4bU, 0xbdbdbdbdU, 0x8b8b8b8bU, 0x8a8a8a8aU,
-    0x70707070U, 0x3e3e3e3eU, 0xb5b5b5b5U, 0x66666666U,
-    0x48484848U, 0x03030303U, 0xf6f6f6f6U, 0x0e0e0e0eU,
-    0x61616161U, 0x35353535U, 0x57575757U, 0xb9b9b9b9U,
-    0x86868686U, 0xc1c1c1c1U, 0x1d1d1d1dU, 0x9e9e9e9eU,
-    0xe1e1e1e1U, 0xf8f8f8f8U, 0x98989898U, 0x11111111U,
-    0x69696969U, 0xd9d9d9d9U, 0x8e8e8e8eU, 0x94949494U,
-    0x9b9b9b9bU, 0x1e1e1e1eU, 0x87878787U, 0xe9e9e9e9U,
-    0xcecececeU, 0x55555555U, 0x28282828U, 0xdfdfdfdfU,
-    0x8c8c8c8cU, 0xa1a1a1a1U, 0x89898989U, 0x0d0d0d0dU,
-    0xbfbfbfbfU, 0xe6e6e6e6U, 0x42424242U, 0x68686868U,
-    0x41414141U, 0x99999999U, 0x2d2d2d2dU, 0x0f0f0f0fU,
-    0xb0b0b0b0U, 0x54545454U, 0xbbbbbbbbU, 0x16161616U,
-};
-
-#ifdef WITH_AES_DECRYPT
-
-static const aes_u32 Td0[256] = {
-    0x51f4a750U, 0x7e416553U, 0x1a17a4c3U, 0x3a275e96U,
-    0x3bab6bcbU, 0x1f9d45f1U, 0xacfa58abU, 0x4be30393U,
-    0x2030fa55U, 0xad766df6U, 0x88cc7691U, 0xf5024c25U,
-    0x4fe5d7fcU, 0xc52acbd7U, 0x26354480U, 0xb562a38fU,
-    0xdeb15a49U, 0x25ba1b67U, 0x45ea0e98U, 0x5dfec0e1U,
-    0xc32f7502U, 0x814cf012U, 0x8d4697a3U, 0x6bd3f9c6U,
-    0x038f5fe7U, 0x15929c95U, 0xbf6d7aebU, 0x955259daU,
-    0xd4be832dU, 0x587421d3U, 0x49e06929U, 0x8ec9c844U,
-    0x75c2896aU, 0xf48e7978U, 0x99583e6bU, 0x27b971ddU,
-    0xbee14fb6U, 0xf088ad17U, 0xc920ac66U, 0x7dce3ab4U,
-    0x63df4a18U, 0xe51a3182U, 0x97513360U, 0x62537f45U,
-    0xb16477e0U, 0xbb6bae84U, 0xfe81a01cU, 0xf9082b94U,
-    0x70486858U, 0x8f45fd19U, 0x94de6c87U, 0x527bf8b7U,
-    0xab73d323U, 0x724b02e2U, 0xe31f8f57U, 0x6655ab2aU,
-    0xb2eb2807U, 0x2fb5c203U, 0x86c57b9aU, 0xd33708a5U,
-    0x302887f2U, 0x23bfa5b2U, 0x02036abaU, 0xed16825cU,
-    0x8acf1c2bU, 0xa779b492U, 0xf307f2f0U, 0x4e69e2a1U,
-    0x65daf4cdU, 0x0605bed5U, 0xd134621fU, 0xc4a6fe8aU,
-    0x342e539dU, 0xa2f355a0U, 0x058ae132U, 0xa4f6eb75U,
-    0x0b83ec39U, 0x4060efaaU, 0x5e719f06U, 0xbd6e1051U,
-    0x3e218af9U, 0x96dd063dU, 0xdd3e05aeU, 0x4de6bd46U,
-    0x91548db5U, 0x71c45d05U, 0x0406d46fU, 0x605015ffU,
-    0x1998fb24U, 0xd6bde997U, 0x894043ccU, 0x67d99e77U,
-    0xb0e842bdU, 0x07898b88U, 0xe7195b38U, 0x79c8eedbU,
-    0xa17c0a47U, 0x7c420fe9U, 0xf8841ec9U, 0x00000000U,
-    0x09808683U, 0x322bed48U, 0x1e1170acU, 0x6c5a724eU,
-    0xfd0efffbU, 0x0f853856U, 0x3daed51eU, 0x362d3927U,
-    0x0a0fd964U, 0x685ca621U, 0x9b5b54d1U, 0x24362e3aU,
-    0x0c0a67b1U, 0x9357e70fU, 0xb4ee96d2U, 0x1b9b919eU,
-    0x80c0c54fU, 0x61dc20a2U, 0x5a774b69U, 0x1c121a16U,
-    0xe293ba0aU, 0xc0a02ae5U, 0x3c22e043U, 0x121b171dU,
-    0x0e090d0bU, 0xf28bc7adU, 0x2db6a8b9U, 0x141ea9c8U,
-    0x57f11985U, 0xaf75074cU, 0xee99ddbbU, 0xa37f60fdU,
-    0xf701269fU, 0x5c72f5bcU, 0x44663bc5U, 0x5bfb7e34U,
-    0x8b432976U, 0xcb23c6dcU, 0xb6edfc68U, 0xb8e4f163U,
-    0xd731dccaU, 0x42638510U, 0x13972240U, 0x84c61120U,
-    0x854a247dU, 0xd2bb3df8U, 0xaef93211U, 0xc729a16dU,
-    0x1d9e2f4bU, 0xdcb230f3U, 0x0d8652ecU, 0x77c1e3d0U,
-    0x2bb3166cU, 0xa970b999U, 0x119448faU, 0x47e96422U,
-    0xa8fc8cc4U, 0xa0f03f1aU, 0x567d2cd8U, 0x223390efU,
-    0x87494ec7U, 0xd938d1c1U, 0x8ccaa2feU, 0x98d40b36U,
-    0xa6f581cfU, 0xa57ade28U, 0xdab78e26U, 0x3fadbfa4U,
-    0x2c3a9de4U, 0x5078920dU, 0x6a5fcc9bU, 0x547e4662U,
-    0xf68d13c2U, 0x90d8b8e8U, 0x2e39f75eU, 0x82c3aff5U,
-    0x9f5d80beU, 0x69d0937cU, 0x6fd52da9U, 0xcf2512b3U,
-    0xc8ac993bU, 0x10187da7U, 0xe89c636eU, 0xdb3bbb7bU,
-    0xcd267809U, 0x6e5918f4U, 0xec9ab701U, 0x834f9aa8U,
-    0xe6956e65U, 0xaaffe67eU, 0x21bccf08U, 0xef15e8e6U,
-    0xbae79bd9U, 0x4a6f36ceU, 0xea9f09d4U, 0x29b07cd6U,
-    0x31a4b2afU, 0x2a3f2331U, 0xc6a59430U, 0x35a266c0U,
-    0x744ebc37U, 0xfc82caa6U, 0xe090d0b0U, 0x33a7d815U,
-    0xf104984aU, 0x41ecdaf7U, 0x7fcd500eU, 0x1791f62fU,
-    0x764dd68dU, 0x43efb04dU, 0xccaa4d54U, 0xe49604dfU,
-    0x9ed1b5e3U, 0x4c6a881bU, 0xc12c1fb8U, 0x4665517fU,
-    0x9d5eea04U, 0x018c355dU, 0xfa877473U, 0xfb0b412eU,
-    0xb3671d5aU, 0x92dbd252U, 0xe9105633U, 0x6dd64713U,
-    0x9ad7618cU, 0x37a10c7aU, 0x59f8148eU, 0xeb133c89U,
-    0xcea927eeU, 0xb761c935U, 0xe11ce5edU, 0x7a47b13cU,
-    0x9cd2df59U, 0x55f2733fU, 0x1814ce79U, 0x73c737bfU,
-    0x53f7cdeaU, 0x5ffdaa5bU, 0xdf3d6f14U, 0x7844db86U,
-    0xcaaff381U, 0xb968c43eU, 0x3824342cU, 0xc2a3405fU,
-    0x161dc372U, 0xbce2250cU, 0x283c498bU, 0xff0d9541U,
-    0x39a80171U, 0x080cb3deU, 0xd8b4e49cU, 0x6456c190U,
-    0x7bcb8461U, 0xd532b670U, 0x486c5c74U, 0xd0b85742U,
-};
-static const aes_u32 Td1[256] = {
-    0x5051f4a7U, 0x537e4165U, 0xc31a17a4U, 0x963a275eU,
-    0xcb3bab6bU, 0xf11f9d45U, 0xabacfa58U, 0x934be303U,
-    0x552030faU, 0xf6ad766dU, 0x9188cc76U, 0x25f5024cU,
-    0xfc4fe5d7U, 0xd7c52acbU, 0x80263544U, 0x8fb562a3U,
-    0x49deb15aU, 0x6725ba1bU, 0x9845ea0eU, 0xe15dfec0U,
-    0x02c32f75U, 0x12814cf0U, 0xa38d4697U, 0xc66bd3f9U,
-    0xe7038f5fU, 0x9515929cU, 0xebbf6d7aU, 0xda955259U,
-    0x2dd4be83U, 0xd3587421U, 0x2949e069U, 0x448ec9c8U,
-    0x6a75c289U, 0x78f48e79U, 0x6b99583eU, 0xdd27b971U,
-    0xb6bee14fU, 0x17f088adU, 0x66c920acU, 0xb47dce3aU,
-    0x1863df4aU, 0x82e51a31U, 0x60975133U, 0x4562537fU,
-    0xe0b16477U, 0x84bb6baeU, 0x1cfe81a0U, 0x94f9082bU,
-    0x58704868U, 0x198f45fdU, 0x8794de6cU, 0xb7527bf8U,
-    0x23ab73d3U, 0xe2724b02U, 0x57e31f8fU, 0x2a6655abU,
-    0x07b2eb28U, 0x032fb5c2U, 0x9a86c57bU, 0xa5d33708U,
-    0xf2302887U, 0xb223bfa5U, 0xba02036aU, 0x5ced1682U,
-    0x2b8acf1cU, 0x92a779b4U, 0xf0f307f2U, 0xa14e69e2U,
-    0xcd65daf4U, 0xd50605beU, 0x1fd13462U, 0x8ac4a6feU,
-    0x9d342e53U, 0xa0a2f355U, 0x32058ae1U, 0x75a4f6ebU,
-    0x390b83ecU, 0xaa4060efU, 0x065e719fU, 0x51bd6e10U,
-    0xf93e218aU, 0x3d96dd06U, 0xaedd3e05U, 0x464de6bdU,
-    0xb591548dU, 0x0571c45dU, 0x6f0406d4U, 0xff605015U,
-    0x241998fbU, 0x97d6bde9U, 0xcc894043U, 0x7767d99eU,
-    0xbdb0e842U, 0x8807898bU, 0x38e7195bU, 0xdb79c8eeU,
-    0x47a17c0aU, 0xe97c420fU, 0xc9f8841eU, 0x00000000U,
-    0x83098086U, 0x48322bedU, 0xac1e1170U, 0x4e6c5a72U,
-    0xfbfd0effU, 0x560f8538U, 0x1e3daed5U, 0x27362d39U,
-    0x640a0fd9U, 0x21685ca6U, 0xd19b5b54U, 0x3a24362eU,
-    0xb10c0a67U, 0x0f9357e7U, 0xd2b4ee96U, 0x9e1b9b91U,
-    0x4f80c0c5U, 0xa261dc20U, 0x695a774bU, 0x161c121aU,
-    0x0ae293baU, 0xe5c0a02aU, 0x433c22e0U, 0x1d121b17U,
-    0x0b0e090dU, 0xadf28bc7U, 0xb92db6a8U, 0xc8141ea9U,
-    0x8557f119U, 0x4caf7507U, 0xbbee99ddU, 0xfda37f60U,
-    0x9ff70126U, 0xbc5c72f5U, 0xc544663bU, 0x345bfb7eU,
-    0x768b4329U, 0xdccb23c6U, 0x68b6edfcU, 0x63b8e4f1U,
-    0xcad731dcU, 0x10426385U, 0x40139722U, 0x2084c611U,
-    0x7d854a24U, 0xf8d2bb3dU, 0x11aef932U, 0x6dc729a1U,
-    0x4b1d9e2fU, 0xf3dcb230U, 0xec0d8652U, 0xd077c1e3U,
-    0x6c2bb316U, 0x99a970b9U, 0xfa119448U, 0x2247e964U,
-    0xc4a8fc8cU, 0x1aa0f03fU, 0xd8567d2cU, 0xef223390U,
-    0xc787494eU, 0xc1d938d1U, 0xfe8ccaa2U, 0x3698d40bU,
-    0xcfa6f581U, 0x28a57adeU, 0x26dab78eU, 0xa43fadbfU,
-    0xe42c3a9dU, 0x0d507892U, 0x9b6a5fccU, 0x62547e46U,
-    0xc2f68d13U, 0xe890d8b8U, 0x5e2e39f7U, 0xf582c3afU,
-    0xbe9f5d80U, 0x7c69d093U, 0xa96fd52dU, 0xb3cf2512U,
-    0x3bc8ac99U, 0xa710187dU, 0x6ee89c63U, 0x7bdb3bbbU,
-    0x09cd2678U, 0xf46e5918U, 0x01ec9ab7U, 0xa8834f9aU,
-    0x65e6956eU, 0x7eaaffe6U, 0x0821bccfU, 0xe6ef15e8U,
-    0xd9bae79bU, 0xce4a6f36U, 0xd4ea9f09U, 0xd629b07cU,
-    0xaf31a4b2U, 0x312a3f23U, 0x30c6a594U, 0xc035a266U,
-    0x37744ebcU, 0xa6fc82caU, 0xb0e090d0U, 0x1533a7d8U,
-    0x4af10498U, 0xf741ecdaU, 0x0e7fcd50U, 0x2f1791f6U,
-    0x8d764dd6U, 0x4d43efb0U, 0x54ccaa4dU, 0xdfe49604U,
-    0xe39ed1b5U, 0x1b4c6a88U, 0xb8c12c1fU, 0x7f466551U,
-    0x049d5eeaU, 0x5d018c35U, 0x73fa8774U, 0x2efb0b41U,
-    0x5ab3671dU, 0x5292dbd2U, 0x33e91056U, 0x136dd647U,
-    0x8c9ad761U, 0x7a37a10cU, 0x8e59f814U, 0x89eb133cU,
-    0xeecea927U, 0x35b761c9U, 0xede11ce5U, 0x3c7a47b1U,
-    0x599cd2dfU, 0x3f55f273U, 0x791814ceU, 0xbf73c737U,
-    0xea53f7cdU, 0x5b5ffdaaU, 0x14df3d6fU, 0x867844dbU,
-    0x81caaff3U, 0x3eb968c4U, 0x2c382434U, 0x5fc2a340U,
-    0x72161dc3U, 0x0cbce225U, 0x8b283c49U, 0x41ff0d95U,
-    0x7139a801U, 0xde080cb3U, 0x9cd8b4e4U, 0x906456c1U,
-    0x617bcb84U, 0x70d532b6U, 0x74486c5cU, 0x42d0b857U,
-};
-static const aes_u32 Td2[256] = {
-    0xa75051f4U, 0x65537e41U, 0xa4c31a17U, 0x5e963a27U,
-    0x6bcb3babU, 0x45f11f9dU, 0x58abacfaU, 0x03934be3U,
-    0xfa552030U, 0x6df6ad76U, 0x769188ccU, 0x4c25f502U,
-    0xd7fc4fe5U, 0xcbd7c52aU, 0x44802635U, 0xa38fb562U,
-    0x5a49deb1U, 0x1b6725baU, 0x0e9845eaU, 0xc0e15dfeU,
-    0x7502c32fU, 0xf012814cU, 0x97a38d46U, 0xf9c66bd3U,
-    0x5fe7038fU, 0x9c951592U, 0x7aebbf6dU, 0x59da9552U,
-    0x832dd4beU, 0x21d35874U, 0x692949e0U, 0xc8448ec9U,
-    0x896a75c2U, 0x7978f48eU, 0x3e6b9958U, 0x71dd27b9U,
-    0x4fb6bee1U, 0xad17f088U, 0xac66c920U, 0x3ab47dceU,
-    0x4a1863dfU, 0x3182e51aU, 0x33609751U, 0x7f456253U,
-    0x77e0b164U, 0xae84bb6bU, 0xa01cfe81U, 0x2b94f908U,
-    0x68587048U, 0xfd198f45U, 0x6c8794deU, 0xf8b7527bU,
-    0xd323ab73U, 0x02e2724bU, 0x8f57e31fU, 0xab2a6655U,
-    0x2807b2ebU, 0xc2032fb5U, 0x7b9a86c5U, 0x08a5d337U,
-    0x87f23028U, 0xa5b223bfU, 0x6aba0203U, 0x825ced16U,
-    0x1c2b8acfU, 0xb492a779U, 0xf2f0f307U, 0xe2a14e69U,
-    0xf4cd65daU, 0xbed50605U, 0x621fd134U, 0xfe8ac4a6U,
-    0x539d342eU, 0x55a0a2f3U, 0xe132058aU, 0xeb75a4f6U,
-    0xec390b83U, 0xefaa4060U, 0x9f065e71U, 0x1051bd6eU,
-    0x8af93e21U, 0x063d96ddU, 0x05aedd3eU, 0xbd464de6U,
-    0x8db59154U, 0x5d0571c4U, 0xd46f0406U, 0x15ff6050U,
-    0xfb241998U, 0xe997d6bdU, 0x43cc8940U, 0x9e7767d9U,
-    0x42bdb0e8U, 0x8b880789U, 0x5b38e719U, 0xeedb79c8U,
-    0x0a47a17cU, 0x0fe97c42U, 0x1ec9f884U, 0x00000000U,
-    0x86830980U, 0xed48322bU, 0x70ac1e11U, 0x724e6c5aU,
-    0xfffbfd0eU, 0x38560f85U, 0xd51e3daeU, 0x3927362dU,
-    0xd9640a0fU, 0xa621685cU, 0x54d19b5bU, 0x2e3a2436U,
-    0x67b10c0aU, 0xe70f9357U, 0x96d2b4eeU, 0x919e1b9bU,
-    0xc54f80c0U, 0x20a261dcU, 0x4b695a77U, 0x1a161c12U,
-    0xba0ae293U, 0x2ae5c0a0U, 0xe0433c22U, 0x171d121bU,
-    0x0d0b0e09U, 0xc7adf28bU, 0xa8b92db6U, 0xa9c8141eU,
-    0x198557f1U, 0x074caf75U, 0xddbbee99U, 0x60fda37fU,
-    0x269ff701U, 0xf5bc5c72U, 0x3bc54466U, 0x7e345bfbU,
-    0x29768b43U, 0xc6dccb23U, 0xfc68b6edU, 0xf163b8e4U,
-    0xdccad731U, 0x85104263U, 0x22401397U, 0x112084c6U,
-    0x247d854aU, 0x3df8d2bbU, 0x3211aef9U, 0xa16dc729U,
-    0x2f4b1d9eU, 0x30f3dcb2U, 0x52ec0d86U, 0xe3d077c1U,
-    0x166c2bb3U, 0xb999a970U, 0x48fa1194U, 0x642247e9U,
-    0x8cc4a8fcU, 0x3f1aa0f0U, 0x2cd8567dU, 0x90ef2233U,
-    0x4ec78749U, 0xd1c1d938U, 0xa2fe8ccaU, 0x0b3698d4U,
-    0x81cfa6f5U, 0xde28a57aU, 0x8e26dab7U, 0xbfa43fadU,
-    0x9de42c3aU, 0x920d5078U, 0xcc9b6a5fU, 0x4662547eU,
-    0x13c2f68dU, 0xb8e890d8U, 0xf75e2e39U, 0xaff582c3U,
-    0x80be9f5dU, 0x937c69d0U, 0x2da96fd5U, 0x12b3cf25U,
-    0x993bc8acU, 0x7da71018U, 0x636ee89cU, 0xbb7bdb3bU,
-    0x7809cd26U, 0x18f46e59U, 0xb701ec9aU, 0x9aa8834fU,
-    0x6e65e695U, 0xe67eaaffU, 0xcf0821bcU, 0xe8e6ef15U,
-    0x9bd9bae7U, 0x36ce4a6fU, 0x09d4ea9fU, 0x7cd629b0U,
-    0xb2af31a4U, 0x23312a3fU, 0x9430c6a5U, 0x66c035a2U,
-    0xbc37744eU, 0xcaa6fc82U, 0xd0b0e090U, 0xd81533a7U,
-    0x984af104U, 0xdaf741ecU, 0x500e7fcdU, 0xf62f1791U,
-    0xd68d764dU, 0xb04d43efU, 0x4d54ccaaU, 0x04dfe496U,
-    0xb5e39ed1U, 0x881b4c6aU, 0x1fb8c12cU, 0x517f4665U,
-    0xea049d5eU, 0x355d018cU, 0x7473fa87U, 0x412efb0bU,
-    0x1d5ab367U, 0xd25292dbU, 0x5633e910U, 0x47136dd6U,
-    0x618c9ad7U, 0x0c7a37a1U, 0x148e59f8U, 0x3c89eb13U,
-    0x27eecea9U, 0xc935b761U, 0xe5ede11cU, 0xb13c7a47U,
-    0xdf599cd2U, 0x733f55f2U, 0xce791814U, 0x37bf73c7U,
-    0xcdea53f7U, 0xaa5b5ffdU, 0x6f14df3dU, 0xdb867844U,
-    0xf381caafU, 0xc43eb968U, 0x342c3824U, 0x405fc2a3U,
-    0xc372161dU, 0x250cbce2U, 0x498b283cU, 0x9541ff0dU,
-    0x017139a8U, 0xb3de080cU, 0xe49cd8b4U, 0xc1906456U,
-    0x84617bcbU, 0xb670d532U, 0x5c74486cU, 0x5742d0b8U,
-};
-static const aes_u32 Td3[256] = {
-    0xf4a75051U, 0x4165537eU, 0x17a4c31aU, 0x275e963aU,
-    0xab6bcb3bU, 0x9d45f11fU, 0xfa58abacU, 0xe303934bU,
-    0x30fa5520U, 0x766df6adU, 0xcc769188U, 0x024c25f5U,
-    0xe5d7fc4fU, 0x2acbd7c5U, 0x35448026U, 0x62a38fb5U,
-    0xb15a49deU, 0xba1b6725U, 0xea0e9845U, 0xfec0e15dU,
-    0x2f7502c3U, 0x4cf01281U, 0x4697a38dU, 0xd3f9c66bU,
-    0x8f5fe703U, 0x929c9515U, 0x6d7aebbfU, 0x5259da95U,
-    0xbe832dd4U, 0x7421d358U, 0xe0692949U, 0xc9c8448eU,
-    0xc2896a75U, 0x8e7978f4U, 0x583e6b99U, 0xb971dd27U,
-    0xe14fb6beU, 0x88ad17f0U, 0x20ac66c9U, 0xce3ab47dU,
-    0xdf4a1863U, 0x1a3182e5U, 0x51336097U, 0x537f4562U,
-    0x6477e0b1U, 0x6bae84bbU, 0x81a01cfeU, 0x082b94f9U,
-    0x48685870U, 0x45fd198fU, 0xde6c8794U, 0x7bf8b752U,
-    0x73d323abU, 0x4b02e272U, 0x1f8f57e3U, 0x55ab2a66U,
-    0xeb2807b2U, 0xb5c2032fU, 0xc57b9a86U, 0x3708a5d3U,
-    0x2887f230U, 0xbfa5b223U, 0x036aba02U, 0x16825cedU,
-    0xcf1c2b8aU, 0x79b492a7U, 0x07f2f0f3U, 0x69e2a14eU,
-    0xdaf4cd65U, 0x05bed506U, 0x34621fd1U, 0xa6fe8ac4U,
-    0x2e539d34U, 0xf355a0a2U, 0x8ae13205U, 0xf6eb75a4U,
-    0x83ec390bU, 0x60efaa40U, 0x719f065eU, 0x6e1051bdU,
-    0x218af93eU, 0xdd063d96U, 0x3e05aeddU, 0xe6bd464dU,
-    0x548db591U, 0xc45d0571U, 0x06d46f04U, 0x5015ff60U,
-    0x98fb2419U, 0xbde997d6U, 0x4043cc89U, 0xd99e7767U,
-    0xe842bdb0U, 0x898b8807U, 0x195b38e7U, 0xc8eedb79U,
-    0x7c0a47a1U, 0x420fe97cU, 0x841ec9f8U, 0x00000000U,
-    0x80868309U, 0x2bed4832U, 0x1170ac1eU, 0x5a724e6cU,
-    0x0efffbfdU, 0x8538560fU, 0xaed51e3dU, 0x2d392736U,
-    0x0fd9640aU, 0x5ca62168U, 0x5b54d19bU, 0x362e3a24U,
-    0x0a67b10cU, 0x57e70f93U, 0xee96d2b4U, 0x9b919e1bU,
-    0xc0c54f80U, 0xdc20a261U, 0x774b695aU, 0x121a161cU,
-    0x93ba0ae2U, 0xa02ae5c0U, 0x22e0433cU, 0x1b171d12U,
-    0x090d0b0eU, 0x8bc7adf2U, 0xb6a8b92dU, 0x1ea9c814U,
-    0xf1198557U, 0x75074cafU, 0x99ddbbeeU, 0x7f60fda3U,
-    0x01269ff7U, 0x72f5bc5cU, 0x663bc544U, 0xfb7e345bU,
-    0x4329768bU, 0x23c6dccbU, 0xedfc68b6U, 0xe4f163b8U,
-    0x31dccad7U, 0x63851042U, 0x97224013U, 0xc6112084U,
-    0x4a247d85U, 0xbb3df8d2U, 0xf93211aeU, 0x29a16dc7U,
-    0x9e2f4b1dU, 0xb230f3dcU, 0x8652ec0dU, 0xc1e3d077U,
-    0xb3166c2bU, 0x70b999a9U, 0x9448fa11U, 0xe9642247U,
-    0xfc8cc4a8U, 0xf03f1aa0U, 0x7d2cd856U, 0x3390ef22U,
-    0x494ec787U, 0x38d1c1d9U, 0xcaa2fe8cU, 0xd40b3698U,
-    0xf581cfa6U, 0x7ade28a5U, 0xb78e26daU, 0xadbfa43fU,
-    0x3a9de42cU, 0x78920d50U, 0x5fcc9b6aU, 0x7e466254U,
-    0x8d13c2f6U, 0xd8b8e890U, 0x39f75e2eU, 0xc3aff582U,
-    0x5d80be9fU, 0xd0937c69U, 0xd52da96fU, 0x2512b3cfU,
-    0xac993bc8U, 0x187da710U, 0x9c636ee8U, 0x3bbb7bdbU,
-    0x267809cdU, 0x5918f46eU, 0x9ab701ecU, 0x4f9aa883U,
-    0x956e65e6U, 0xffe67eaaU, 0xbccf0821U, 0x15e8e6efU,
-    0xe79bd9baU, 0x6f36ce4aU, 0x9f09d4eaU, 0xb07cd629U,
-    0xa4b2af31U, 0x3f23312aU, 0xa59430c6U, 0xa266c035U,
-    0x4ebc3774U, 0x82caa6fcU, 0x90d0b0e0U, 0xa7d81533U,
-    0x04984af1U, 0xecdaf741U, 0xcd500e7fU, 0x91f62f17U,
-    0x4dd68d76U, 0xefb04d43U, 0xaa4d54ccU, 0x9604dfe4U,
-    0xd1b5e39eU, 0x6a881b4cU, 0x2c1fb8c1U, 0x65517f46U,
-    0x5eea049dU, 0x8c355d01U, 0x877473faU, 0x0b412efbU,
-    0x671d5ab3U, 0xdbd25292U, 0x105633e9U, 0xd647136dU,
-    0xd7618c9aU, 0xa10c7a37U, 0xf8148e59U, 0x133c89ebU,
-    0xa927eeceU, 0x61c935b7U, 0x1ce5ede1U, 0x47b13c7aU,
-    0xd2df599cU, 0xf2733f55U, 0x14ce7918U, 0xc737bf73U,
-    0xf7cdea53U, 0xfdaa5b5fU, 0x3d6f14dfU, 0x44db8678U,
-    0xaff381caU, 0x68c43eb9U, 0x24342c38U, 0xa3405fc2U,
-    0x1dc37216U, 0xe2250cbcU, 0x3c498b28U, 0x0d9541ffU,
-    0xa8017139U, 0x0cb3de08U, 0xb4e49cd8U, 0x56c19064U,
-    0xcb84617bU, 0x32b670d5U, 0x6c5c7448U, 0xb85742d0U,
-};
-static const aes_u32 Td4[256] = {
-    0x52525252U, 0x09090909U, 0x6a6a6a6aU, 0xd5d5d5d5U,
-    0x30303030U, 0x36363636U, 0xa5a5a5a5U, 0x38383838U,
-    0xbfbfbfbfU, 0x40404040U, 0xa3a3a3a3U, 0x9e9e9e9eU,
-    0x81818181U, 0xf3f3f3f3U, 0xd7d7d7d7U, 0xfbfbfbfbU,
-    0x7c7c7c7cU, 0xe3e3e3e3U, 0x39393939U, 0x82828282U,
-    0x9b9b9b9bU, 0x2f2f2f2fU, 0xffffffffU, 0x87878787U,
-    0x34343434U, 0x8e8e8e8eU, 0x43434343U, 0x44444444U,
-    0xc4c4c4c4U, 0xdedededeU, 0xe9e9e9e9U, 0xcbcbcbcbU,
-    0x54545454U, 0x7b7b7b7bU, 0x94949494U, 0x32323232U,
-    0xa6a6a6a6U, 0xc2c2c2c2U, 0x23232323U, 0x3d3d3d3dU,
-    0xeeeeeeeeU, 0x4c4c4c4cU, 0x95959595U, 0x0b0b0b0bU,
-    0x42424242U, 0xfafafafaU, 0xc3c3c3c3U, 0x4e4e4e4eU,
-    0x08080808U, 0x2e2e2e2eU, 0xa1a1a1a1U, 0x66666666U,
-    0x28282828U, 0xd9d9d9d9U, 0x24242424U, 0xb2b2b2b2U,
-    0x76767676U, 0x5b5b5b5bU, 0xa2a2a2a2U, 0x49494949U,
-    0x6d6d6d6dU, 0x8b8b8b8bU, 0xd1d1d1d1U, 0x25252525U,
-    0x72727272U, 0xf8f8f8f8U, 0xf6f6f6f6U, 0x64646464U,
-    0x86868686U, 0x68686868U, 0x98989898U, 0x16161616U,
-    0xd4d4d4d4U, 0xa4a4a4a4U, 0x5c5c5c5cU, 0xccccccccU,
-    0x5d5d5d5dU, 0x65656565U, 0xb6b6b6b6U, 0x92929292U,
-    0x6c6c6c6cU, 0x70707070U, 0x48484848U, 0x50505050U,
-    0xfdfdfdfdU, 0xededededU, 0xb9b9b9b9U, 0xdadadadaU,
-    0x5e5e5e5eU, 0x15151515U, 0x46464646U, 0x57575757U,
-    0xa7a7a7a7U, 0x8d8d8d8dU, 0x9d9d9d9dU, 0x84848484U,
-    0x90909090U, 0xd8d8d8d8U, 0xababababU, 0x00000000U,
-    0x8c8c8c8cU, 0xbcbcbcbcU, 0xd3d3d3d3U, 0x0a0a0a0aU,
-    0xf7f7f7f7U, 0xe4e4e4e4U, 0x58585858U, 0x05050505U,
-    0xb8b8b8b8U, 0xb3b3b3b3U, 0x45454545U, 0x06060606U,
-    0xd0d0d0d0U, 0x2c2c2c2cU, 0x1e1e1e1eU, 0x8f8f8f8fU,
-    0xcacacacaU, 0x3f3f3f3fU, 0x0f0f0f0fU, 0x02020202U,
-    0xc1c1c1c1U, 0xafafafafU, 0xbdbdbdbdU, 0x03030303U,
-    0x01010101U, 0x13131313U, 0x8a8a8a8aU, 0x6b6b6b6bU,
-    0x3a3a3a3aU, 0x91919191U, 0x11111111U, 0x41414141U,
-    0x4f4f4f4fU, 0x67676767U, 0xdcdcdcdcU, 0xeaeaeaeaU,
-    0x97979797U, 0xf2f2f2f2U, 0xcfcfcfcfU, 0xcecececeU,
-    0xf0f0f0f0U, 0xb4b4b4b4U, 0xe6e6e6e6U, 0x73737373U,
-    0x96969696U, 0xacacacacU, 0x74747474U, 0x22222222U,
-    0xe7e7e7e7U, 0xadadadadU, 0x35353535U, 0x85858585U,
-    0xe2e2e2e2U, 0xf9f9f9f9U, 0x37373737U, 0xe8e8e8e8U,
-    0x1c1c1c1cU, 0x75757575U, 0xdfdfdfdfU, 0x6e6e6e6eU,
-    0x47474747U, 0xf1f1f1f1U, 0x1a1a1a1aU, 0x71717171U,
-    0x1d1d1d1dU, 0x29292929U, 0xc5c5c5c5U, 0x89898989U,
-    0x6f6f6f6fU, 0xb7b7b7b7U, 0x62626262U, 0x0e0e0e0eU,
-    0xaaaaaaaaU, 0x18181818U, 0xbebebebeU, 0x1b1b1b1bU,
-    0xfcfcfcfcU, 0x56565656U, 0x3e3e3e3eU, 0x4b4b4b4bU,
-    0xc6c6c6c6U, 0xd2d2d2d2U, 0x79797979U, 0x20202020U,
-    0x9a9a9a9aU, 0xdbdbdbdbU, 0xc0c0c0c0U, 0xfefefefeU,
-    0x78787878U, 0xcdcdcdcdU, 0x5a5a5a5aU, 0xf4f4f4f4U,
-    0x1f1f1f1fU, 0xddddddddU, 0xa8a8a8a8U, 0x33333333U,
-    0x88888888U, 0x07070707U, 0xc7c7c7c7U, 0x31313131U,
-    0xb1b1b1b1U, 0x12121212U, 0x10101010U, 0x59595959U,
-    0x27272727U, 0x80808080U, 0xececececU, 0x5f5f5f5fU,
-    0x60606060U, 0x51515151U, 0x7f7f7f7fU, 0xa9a9a9a9U,
-    0x19191919U, 0xb5b5b5b5U, 0x4a4a4a4aU, 0x0d0d0d0dU,
-    0x2d2d2d2dU, 0xe5e5e5e5U, 0x7a7a7a7aU, 0x9f9f9f9fU,
-    0x93939393U, 0xc9c9c9c9U, 0x9c9c9c9cU, 0xefefefefU,
-    0xa0a0a0a0U, 0xe0e0e0e0U, 0x3b3b3b3bU, 0x4d4d4d4dU,
-    0xaeaeaeaeU, 0x2a2a2a2aU, 0xf5f5f5f5U, 0xb0b0b0b0U,
-    0xc8c8c8c8U, 0xebebebebU, 0xbbbbbbbbU, 0x3c3c3c3cU,
-    0x83838383U, 0x53535353U, 0x99999999U, 0x61616161U,
-    0x17171717U, 0x2b2b2b2bU, 0x04040404U, 0x7e7e7e7eU,
-    0xbabababaU, 0x77777777U, 0xd6d6d6d6U, 0x26262626U,
-    0xe1e1e1e1U, 0x69696969U, 0x14141414U, 0x63636363U,
-    0x55555555U, 0x21212121U, 0x0c0c0c0cU, 0x7d7d7d7dU,
-};
-
-#endif /* WITH_AES_DECRYPT */
-
-static const aes_u32 rcon[] = {
-       0x01000000, 0x02000000, 0x04000000, 0x08000000,
-       0x10000000, 0x20000000, 0x40000000, 0x80000000,
-       0x1B000000, 0x36000000, /* for 128-bit blocks, Rijndael never uses more than 10 rcon values */
-};
-
-#define GETU32(pt) (((aes_u32)(pt)[0] << 24) ^ ((aes_u32)(pt)[1] << 16) ^ ((aes_u32)(pt)[2] <<  8) ^ ((aes_u32)(pt)[3]))
-#define PUTU32(ct, st) { (ct)[0] = (aes_u8)((st) >> 24); (ct)[1] = (aes_u8)((st) >> 16); (ct)[2] = (aes_u8)((st) >>  8); (ct)[3] = (aes_u8)(st); }
-
-/**
- * Expand the cipher key into the encryption key schedule.
- *
- * @return     the number of rounds for the given cipher key size.
- */
-int
-rijndaelKeySetupEnc(aes_u32 rk[/*4*(Nr + 1)*/], const aes_u8 cipherKey[], int keyBits)
-{
-       int i = 0;
-       aes_u32 temp;
-
-       rk[0] = GETU32(cipherKey     );
-       rk[1] = GETU32(cipherKey +  4);
-       rk[2] = GETU32(cipherKey +  8);
-       rk[3] = GETU32(cipherKey + 12);
-       if (keyBits == 128) {
-               for (;;) {
-                       temp  = rk[3];
-                       rk[4] = rk[0] ^
-                               (Te4[(temp >> 16) & 0xff] & 0xff000000) ^
-                               (Te4[(temp >>  8) & 0xff] & 0x00ff0000) ^
-                               (Te4[(temp      ) & 0xff] & 0x0000ff00) ^
-                               (Te4[(temp >> 24)       ] & 0x000000ff) ^
-                               rcon[i];
-                       rk[5] = rk[1] ^ rk[4];
-                       rk[6] = rk[2] ^ rk[5];
-                       rk[7] = rk[3] ^ rk[6];
-                       if (++i == 10) {
-                               return 10;
-                       }
-                       rk += 4;
-               }
-       }
-       rk[4] = GETU32(cipherKey + 16);
-       rk[5] = GETU32(cipherKey + 20);
-       if (keyBits == 192) {
-               for (;;) {
-                       temp = rk[ 5];
-                       rk[ 6] = rk[ 0] ^
-                               (Te4[(temp >> 16) & 0xff] & 0xff000000) ^
-                               (Te4[(temp >>  8) & 0xff] & 0x00ff0000) ^
-                               (Te4[(temp      ) & 0xff] & 0x0000ff00) ^
-                               (Te4[(temp >> 24)       ] & 0x000000ff) ^
-                               rcon[i];
-                       rk[ 7] = rk[ 1] ^ rk[ 6];
-                       rk[ 8] = rk[ 2] ^ rk[ 7];
-                       rk[ 9] = rk[ 3] ^ rk[ 8];
-                       if (++i == 8) {
-                               return 12;
-                       }
-                       rk[10] = rk[ 4] ^ rk[ 9];
-                       rk[11] = rk[ 5] ^ rk[10];
-                       rk += 6;
-               }
-       }
-       rk[6] = GETU32(cipherKey + 24);
-       rk[7] = GETU32(cipherKey + 28);
-       if (keyBits == 256) {
-               for (;;) {
-                       temp = rk[ 7];
-                       rk[ 8] = rk[ 0] ^
-                               (Te4[(temp >> 16) & 0xff] & 0xff000000) ^
-                               (Te4[(temp >>  8) & 0xff] & 0x00ff0000) ^
-                               (Te4[(temp      ) & 0xff] & 0x0000ff00) ^
-                               (Te4[(temp >> 24)       ] & 0x000000ff) ^
-                               rcon[i];
-                       rk[ 9] = rk[ 1] ^ rk[ 8];
-                       rk[10] = rk[ 2] ^ rk[ 9];
-                       rk[11] = rk[ 3] ^ rk[10];
-                       if (++i == 7) {
-                               return 14;
-                       }
-                       temp = rk[11];
-                       rk[12] = rk[ 4] ^
-                               (Te4[(temp >> 24)       ] & 0xff000000) ^
-                               (Te4[(temp >> 16) & 0xff] & 0x00ff0000) ^
-                               (Te4[(temp >>  8) & 0xff] & 0x0000ff00) ^
-                               (Te4[(temp      ) & 0xff] & 0x000000ff);
-                       rk[13] = rk[ 5] ^ rk[12];
-                       rk[14] = rk[ 6] ^ rk[13];
-                       rk[15] = rk[ 7] ^ rk[14];
-                       rk += 8;
-               }
-       }
-       return 0;
-}
-
-#ifdef WITH_AES_DECRYPT
-/**
- * Expand the cipher key into the decryption key schedule.
- *
- * @return     the number of rounds for the given cipher key size.
- */
-int
-rijndaelKeySetupDec(aes_u32 rk[/*4*(Nr + 1)*/], const aes_u8 cipherKey[], int keyBits)
-{
-       int Nr, i, j;
-       aes_u32 temp;
-
-       /* expand the cipher key: */
-       Nr = rijndaelKeySetupEnc(rk, cipherKey, keyBits);
-
-       /* invert the order of the round keys: */
-       for (i = 0, j = 4*Nr; i < j; i += 4, j -= 4) {
-               temp = rk[i    ]; rk[i    ] = rk[j    ]; rk[j    ] = temp;
-               temp = rk[i + 1]; rk[i + 1] = rk[j + 1]; rk[j + 1] = temp;
-               temp = rk[i + 2]; rk[i + 2] = rk[j + 2]; rk[j + 2] = temp;
-               temp = rk[i + 3]; rk[i + 3] = rk[j + 3]; rk[j + 3] = temp;
-       }
-       /* apply the inverse MixColumn transform to all round keys but the first and the last: */
-       for (i = 1; i < Nr; i++) {
-               rk += 4;
-               rk[0] =
-                       Td0[Te4[(rk[0] >> 24)       ] & 0xff] ^
-                       Td1[Te4[(rk[0] >> 16) & 0xff] & 0xff] ^
-                       Td2[Te4[(rk[0] >>  8) & 0xff] & 0xff] ^
-                       Td3[Te4[(rk[0]      ) & 0xff] & 0xff];
-               rk[1] =
-                       Td0[Te4[(rk[1] >> 24)       ] & 0xff] ^
-                       Td1[Te4[(rk[1] >> 16) & 0xff] & 0xff] ^
-                       Td2[Te4[(rk[1] >>  8) & 0xff] & 0xff] ^
-                       Td3[Te4[(rk[1]      ) & 0xff] & 0xff];
-               rk[2] =
-                       Td0[Te4[(rk[2] >> 24)       ] & 0xff] ^
-                       Td1[Te4[(rk[2] >> 16) & 0xff] & 0xff] ^
-                       Td2[Te4[(rk[2] >>  8) & 0xff] & 0xff] ^
-                       Td3[Te4[(rk[2]      ) & 0xff] & 0xff];
-               rk[3] =
-                       Td0[Te4[(rk[3] >> 24)       ] & 0xff] ^
-                       Td1[Te4[(rk[3] >> 16) & 0xff] & 0xff] ^
-                       Td2[Te4[(rk[3] >>  8) & 0xff] & 0xff] ^
-                       Td3[Te4[(rk[3]      ) & 0xff] & 0xff];
-       }
-       return Nr;
-}
-#endif
-
-void
-rijndaelEncrypt(const aes_u32 rk[/*4*(Nr + 1)*/], int Nr, const aes_u8 pt[16],
-    aes_u8 ct[16])
-{
-       aes_u32 s0, s1, s2, s3, t0, t1, t2, t3;
-#ifndef FULL_UNROLL
-    int r;
-#endif /* ?FULL_UNROLL */
-
-    /*
-        * map byte array block to cipher state
-        * and add initial round key:
-        */
-       s0 = GETU32(pt     ) ^ rk[0];
-       s1 = GETU32(pt +  4) ^ rk[1];
-       s2 = GETU32(pt +  8) ^ rk[2];
-       s3 = GETU32(pt + 12) ^ rk[3];
-#ifdef FULL_UNROLL
-    /* round 1: */
-       t0 = Te0[s0 >> 24] ^ Te1[(s1 >> 16) & 0xff] ^ Te2[(s2 >>  8) & 0xff] ^ Te3[s3 & 0xff] ^ rk[ 4];
-       t1 = Te0[s1 >> 24] ^ Te1[(s2 >> 16) & 0xff] ^ Te2[(s3 >>  8) & 0xff] ^ Te3[s0 & 0xff] ^ rk[ 5];
-       t2 = Te0[s2 >> 24] ^ Te1[(s3 >> 16) & 0xff] ^ Te2[(s0 >>  8) & 0xff] ^ Te3[s1 & 0xff] ^ rk[ 6];
-       t3 = Te0[s3 >> 24] ^ Te1[(s0 >> 16) & 0xff] ^ Te2[(s1 >>  8) & 0xff] ^ Te3[s2 & 0xff] ^ rk[ 7];
-       /* round 2: */
-       s0 = Te0[t0 >> 24] ^ Te1[(t1 >> 16) & 0xff] ^ Te2[(t2 >>  8) & 0xff] ^ Te3[t3 & 0xff] ^ rk[ 8];
-       s1 = Te0[t1 >> 24] ^ Te1[(t2 >> 16) & 0xff] ^ Te2[(t3 >>  8) & 0xff] ^ Te3[t0 & 0xff] ^ rk[ 9];
-       s2 = Te0[t2 >> 24] ^ Te1[(t3 >> 16) & 0xff] ^ Te2[(t0 >>  8) & 0xff] ^ Te3[t1 & 0xff] ^ rk[10];
-       s3 = Te0[t3 >> 24] ^ Te1[(t0 >> 16) & 0xff] ^ Te2[(t1 >>  8) & 0xff] ^ Te3[t2 & 0xff] ^ rk[11];
-    /* round 3: */
-       t0 = Te0[s0 >> 24] ^ Te1[(s1 >> 16) & 0xff] ^ Te2[(s2 >>  8) & 0xff] ^ Te3[s3 & 0xff] ^ rk[12];
-       t1 = Te0[s1 >> 24] ^ Te1[(s2 >> 16) & 0xff] ^ Te2[(s3 >>  8) & 0xff] ^ Te3[s0 & 0xff] ^ rk[13];
-       t2 = Te0[s2 >> 24] ^ Te1[(s3 >> 16) & 0xff] ^ Te2[(s0 >>  8) & 0xff] ^ Te3[s1 & 0xff] ^ rk[14];
-       t3 = Te0[s3 >> 24] ^ Te1[(s0 >> 16) & 0xff] ^ Te2[(s1 >>  8) & 0xff] ^ Te3[s2 & 0xff] ^ rk[15];
-       /* round 4: */
-       s0 = Te0[t0 >> 24] ^ Te1[(t1 >> 16) & 0xff] ^ Te2[(t2 >>  8) & 0xff] ^ Te3[t3 & 0xff] ^ rk[16];
-       s1 = Te0[t1 >> 24] ^ Te1[(t2 >> 16) & 0xff] ^ Te2[(t3 >>  8) & 0xff] ^ Te3[t0 & 0xff] ^ rk[17];
-       s2 = Te0[t2 >> 24] ^ Te1[(t3 >> 16) & 0xff] ^ Te2[(t0 >>  8) & 0xff] ^ Te3[t1 & 0xff] ^ rk[18];
-       s3 = Te0[t3 >> 24] ^ Te1[(t0 >> 16) & 0xff] ^ Te2[(t1 >>  8) & 0xff] ^ Te3[t2 & 0xff] ^ rk[19];
-    /* round 5: */
-       t0 = Te0[s0 >> 24] ^ Te1[(s1 >> 16) & 0xff] ^ Te2[(s2 >>  8) & 0xff] ^ Te3[s3 & 0xff] ^ rk[20];
-       t1 = Te0[s1 >> 24] ^ Te1[(s2 >> 16) & 0xff] ^ Te2[(s3 >>  8) & 0xff] ^ Te3[s0 & 0xff] ^ rk[21];
-       t2 = Te0[s2 >> 24] ^ Te1[(s3 >> 16) & 0xff] ^ Te2[(s0 >>  8) & 0xff] ^ Te3[s1 & 0xff] ^ rk[22];
-       t3 = Te0[s3 >> 24] ^ Te1[(s0 >> 16) & 0xff] ^ Te2[(s1 >>  8) & 0xff] ^ Te3[s2 & 0xff] ^ rk[23];
-       /* round 6: */
-       s0 = Te0[t0 >> 24] ^ Te1[(t1 >> 16) & 0xff] ^ Te2[(t2 >>  8) & 0xff] ^ Te3[t3 & 0xff] ^ rk[24];
-       s1 = Te0[t1 >> 24] ^ Te1[(t2 >> 16) & 0xff] ^ Te2[(t3 >>  8) & 0xff] ^ Te3[t0 & 0xff] ^ rk[25];
-       s2 = Te0[t2 >> 24] ^ Te1[(t3 >> 16) & 0xff] ^ Te2[(t0 >>  8) & 0xff] ^ Te3[t1 & 0xff] ^ rk[26];
-       s3 = Te0[t3 >> 24] ^ Te1[(t0 >> 16) & 0xff] ^ Te2[(t1 >>  8) & 0xff] ^ Te3[t2 & 0xff] ^ rk[27];
-    /* round 7: */
-       t0 = Te0[s0 >> 24] ^ Te1[(s1 >> 16) & 0xff] ^ Te2[(s2 >>  8) & 0xff] ^ Te3[s3 & 0xff] ^ rk[28];
-       t1 = Te0[s1 >> 24] ^ Te1[(s2 >> 16) & 0xff] ^ Te2[(s3 >>  8) & 0xff] ^ Te3[s0 & 0xff] ^ rk[29];
-       t2 = Te0[s2 >> 24] ^ Te1[(s3 >> 16) & 0xff] ^ Te2[(s0 >>  8) & 0xff] ^ Te3[s1 & 0xff] ^ rk[30];
-       t3 = Te0[s3 >> 24] ^ Te1[(s0 >> 16) & 0xff] ^ Te2[(s1 >>  8) & 0xff] ^ Te3[s2 & 0xff] ^ rk[31];
-       /* round 8: */
-       s0 = Te0[t0 >> 24] ^ Te1[(t1 >> 16) & 0xff] ^ Te2[(t2 >>  8) & 0xff] ^ Te3[t3 & 0xff] ^ rk[32];
-       s1 = Te0[t1 >> 24] ^ Te1[(t2 >> 16) & 0xff] ^ Te2[(t3 >>  8) & 0xff] ^ Te3[t0 & 0xff] ^ rk[33];
-       s2 = Te0[t2 >> 24] ^ Te1[(t3 >> 16) & 0xff] ^ Te2[(t0 >>  8) & 0xff] ^ Te3[t1 & 0xff] ^ rk[34];
-       s3 = Te0[t3 >> 24] ^ Te1[(t0 >> 16) & 0xff] ^ Te2[(t1 >>  8) & 0xff] ^ Te3[t2 & 0xff] ^ rk[35];
-    /* round 9: */
-       t0 = Te0[s0 >> 24] ^ Te1[(s1 >> 16) & 0xff] ^ Te2[(s2 >>  8) & 0xff] ^ Te3[s3 & 0xff] ^ rk[36];
-       t1 = Te0[s1 >> 24] ^ Te1[(s2 >> 16) & 0xff] ^ Te2[(s3 >>  8) & 0xff] ^ Te3[s0 & 0xff] ^ rk[37];
-       t2 = Te0[s2 >> 24] ^ Te1[(s3 >> 16) & 0xff] ^ Te2[(s0 >>  8) & 0xff] ^ Te3[s1 & 0xff] ^ rk[38];
-       t3 = Te0[s3 >> 24] ^ Te1[(s0 >> 16) & 0xff] ^ Te2[(s1 >>  8) & 0xff] ^ Te3[s2 & 0xff] ^ rk[39];
-    if (Nr > 10) {
-       /* round 10: */
-       s0 = Te0[t0 >> 24] ^ Te1[(t1 >> 16) & 0xff] ^ Te2[(t2 >>  8) & 0xff] ^ Te3[t3 & 0xff] ^ rk[40];
-       s1 = Te0[t1 >> 24] ^ Te1[(t2 >> 16) & 0xff] ^ Te2[(t3 >>  8) & 0xff] ^ Te3[t0 & 0xff] ^ rk[41];
-       s2 = Te0[t2 >> 24] ^ Te1[(t3 >> 16) & 0xff] ^ Te2[(t0 >>  8) & 0xff] ^ Te3[t1 & 0xff] ^ rk[42];
-       s3 = Te0[t3 >> 24] ^ Te1[(t0 >> 16) & 0xff] ^ Te2[(t1 >>  8) & 0xff] ^ Te3[t2 & 0xff] ^ rk[43];
-       /* round 11: */
-       t0 = Te0[s0 >> 24] ^ Te1[(s1 >> 16) & 0xff] ^ Te2[(s2 >>  8) & 0xff] ^ Te3[s3 & 0xff] ^ rk[44];
-       t1 = Te0[s1 >> 24] ^ Te1[(s2 >> 16) & 0xff] ^ Te2[(s3 >>  8) & 0xff] ^ Te3[s0 & 0xff] ^ rk[45];
-       t2 = Te0[s2 >> 24] ^ Te1[(s3 >> 16) & 0xff] ^ Te2[(s0 >>  8) & 0xff] ^ Te3[s1 & 0xff] ^ rk[46];
-       t3 = Te0[s3 >> 24] ^ Te1[(s0 >> 16) & 0xff] ^ Te2[(s1 >>  8) & 0xff] ^ Te3[s2 & 0xff] ^ rk[47];
-       if (Nr > 12) {
-           /* round 12: */
-           s0 = Te0[t0 >> 24] ^ Te1[(t1 >> 16) & 0xff] ^ Te2[(t2 >>  8) & 0xff] ^ Te3[t3 & 0xff] ^ rk[48];
-           s1 = Te0[t1 >> 24] ^ Te1[(t2 >> 16) & 0xff] ^ Te2[(t3 >>  8) & 0xff] ^ Te3[t0 & 0xff] ^ rk[49];
-           s2 = Te0[t2 >> 24] ^ Te1[(t3 >> 16) & 0xff] ^ Te2[(t0 >>  8) & 0xff] ^ Te3[t1 & 0xff] ^ rk[50];
-           s3 = Te0[t3 >> 24] ^ Te1[(t0 >> 16) & 0xff] ^ Te2[(t1 >>  8) & 0xff] ^ Te3[t2 & 0xff] ^ rk[51];
-           /* round 13: */
-           t0 = Te0[s0 >> 24] ^ Te1[(s1 >> 16) & 0xff] ^ Te2[(s2 >>  8) & 0xff] ^ Te3[s3 & 0xff] ^ rk[52];
-           t1 = Te0[s1 >> 24] ^ Te1[(s2 >> 16) & 0xff] ^ Te2[(s3 >>  8) & 0xff] ^ Te3[s0 & 0xff] ^ rk[53];
-           t2 = Te0[s2 >> 24] ^ Te1[(s3 >> 16) & 0xff] ^ Te2[(s0 >>  8) & 0xff] ^ Te3[s1 & 0xff] ^ rk[54];
-           t3 = Te0[s3 >> 24] ^ Te1[(s0 >> 16) & 0xff] ^ Te2[(s1 >>  8) & 0xff] ^ Te3[s2 & 0xff] ^ rk[55];
-       }
-    }
-    rk += Nr << 2;
-#else  /* !FULL_UNROLL */
-    /*
-        * Nr - 1 full rounds:
-        */
-    r = Nr >> 1;
-    for (;;) {
-       t0 =
-           Te0[(s0 >> 24)       ] ^
-           Te1[(s1 >> 16) & 0xff] ^
-           Te2[(s2 >>  8) & 0xff] ^
-           Te3[(s3      ) & 0xff] ^
-           rk[4];
-       t1 =
-           Te0[(s1 >> 24)       ] ^
-           Te1[(s2 >> 16) & 0xff] ^
-           Te2[(s3 >>  8) & 0xff] ^
-           Te3[(s0      ) & 0xff] ^
-           rk[5];
-       t2 =
-           Te0[(s2 >> 24)       ] ^
-           Te1[(s3 >> 16) & 0xff] ^
-           Te2[(s0 >>  8) & 0xff] ^
-           Te3[(s1      ) & 0xff] ^
-           rk[6];
-       t3 =
-           Te0[(s3 >> 24)       ] ^
-           Te1[(s0 >> 16) & 0xff] ^
-           Te2[(s1 >>  8) & 0xff] ^
-           Te3[(s2      ) & 0xff] ^
-           rk[7];
-
-       rk += 8;
-       if (--r == 0) {
-           break;
-       }
-
-       s0 =
-           Te0[(t0 >> 24)       ] ^
-           Te1[(t1 >> 16) & 0xff] ^
-           Te2[(t2 >>  8) & 0xff] ^
-           Te3[(t3      ) & 0xff] ^
-           rk[0];
-       s1 =
-           Te0[(t1 >> 24)       ] ^
-           Te1[(t2 >> 16) & 0xff] ^
-           Te2[(t3 >>  8) & 0xff] ^
-           Te3[(t0      ) & 0xff] ^
-           rk[1];
-       s2 =
-           Te0[(t2 >> 24)       ] ^
-           Te1[(t3 >> 16) & 0xff] ^
-           Te2[(t0 >>  8) & 0xff] ^
-           Te3[(t1      ) & 0xff] ^
-           rk[2];
-       s3 =
-           Te0[(t3 >> 24)       ] ^
-           Te1[(t0 >> 16) & 0xff] ^
-           Te2[(t1 >>  8) & 0xff] ^
-           Te3[(t2      ) & 0xff] ^
-           rk[3];
-    }
-#endif /* ?FULL_UNROLL */
-    /*
-        * apply last round and
-        * map cipher state to byte array block:
-        */
-       s0 =
-               (Te4[(t0 >> 24)       ] & 0xff000000) ^
-               (Te4[(t1 >> 16) & 0xff] & 0x00ff0000) ^
-               (Te4[(t2 >>  8) & 0xff] & 0x0000ff00) ^
-               (Te4[(t3      ) & 0xff] & 0x000000ff) ^
-               rk[0];
-       PUTU32(ct     , s0);
-       s1 =
-               (Te4[(t1 >> 24)       ] & 0xff000000) ^
-               (Te4[(t2 >> 16) & 0xff] & 0x00ff0000) ^
-               (Te4[(t3 >>  8) & 0xff] & 0x0000ff00) ^
-               (Te4[(t0      ) & 0xff] & 0x000000ff) ^
-               rk[1];
-       PUTU32(ct +  4, s1);
-       s2 =
-               (Te4[(t2 >> 24)       ] & 0xff000000) ^
-               (Te4[(t3 >> 16) & 0xff] & 0x00ff0000) ^
-               (Te4[(t0 >>  8) & 0xff] & 0x0000ff00) ^
-               (Te4[(t1      ) & 0xff] & 0x000000ff) ^
-               rk[2];
-       PUTU32(ct +  8, s2);
-       s3 =
-               (Te4[(t3 >> 24)       ] & 0xff000000) ^
-               (Te4[(t0 >> 16) & 0xff] & 0x00ff0000) ^
-               (Te4[(t1 >>  8) & 0xff] & 0x0000ff00) ^
-               (Te4[(t2      ) & 0xff] & 0x000000ff) ^
-               rk[3];
-       PUTU32(ct + 12, s3);
-}
-
-#ifdef WITH_AES_DECRYPT
-static void
-rijndaelDecrypt(const aes_u32 rk[/*4*(Nr + 1)*/], int Nr, const aes_u8 ct[16],
-    aes_u8 pt[16])
-{
-       aes_u32 s0, s1, s2, s3, t0, t1, t2, t3;
-#ifndef FULL_UNROLL
-    int r;
-#endif /* ?FULL_UNROLL */
-
-    /*
-        * map byte array block to cipher state
-        * and add initial round key:
-        */
-    s0 = GETU32(ct     ) ^ rk[0];
-    s1 = GETU32(ct +  4) ^ rk[1];
-    s2 = GETU32(ct +  8) ^ rk[2];
-    s3 = GETU32(ct + 12) ^ rk[3];
-#ifdef FULL_UNROLL
-    /* round 1: */
-    t0 = Td0[s0 >> 24] ^ Td1[(s3 >> 16) & 0xff] ^ Td2[(s2 >>  8) & 0xff] ^ Td3[s1 & 0xff] ^ rk[ 4];
-    t1 = Td0[s1 >> 24] ^ Td1[(s0 >> 16) & 0xff] ^ Td2[(s3 >>  8) & 0xff] ^ Td3[s2 & 0xff] ^ rk[ 5];
-    t2 = Td0[s2 >> 24] ^ Td1[(s1 >> 16) & 0xff] ^ Td2[(s0 >>  8) & 0xff] ^ Td3[s3 & 0xff] ^ rk[ 6];
-    t3 = Td0[s3 >> 24] ^ Td1[(s2 >> 16) & 0xff] ^ Td2[(s1 >>  8) & 0xff] ^ Td3[s0 & 0xff] ^ rk[ 7];
-    /* round 2: */
-    s0 = Td0[t0 >> 24] ^ Td1[(t3 >> 16) & 0xff] ^ Td2[(t2 >>  8) & 0xff] ^ Td3[t1 & 0xff] ^ rk[ 8];
-    s1 = Td0[t1 >> 24] ^ Td1[(t0 >> 16) & 0xff] ^ Td2[(t3 >>  8) & 0xff] ^ Td3[t2 & 0xff] ^ rk[ 9];
-    s2 = Td0[t2 >> 24] ^ Td1[(t1 >> 16) & 0xff] ^ Td2[(t0 >>  8) & 0xff] ^ Td3[t3 & 0xff] ^ rk[10];
-    s3 = Td0[t3 >> 24] ^ Td1[(t2 >> 16) & 0xff] ^ Td2[(t1 >>  8) & 0xff] ^ Td3[t0 & 0xff] ^ rk[11];
-    /* round 3: */
-    t0 = Td0[s0 >> 24] ^ Td1[(s3 >> 16) & 0xff] ^ Td2[(s2 >>  8) & 0xff] ^ Td3[s1 & 0xff] ^ rk[12];
-    t1 = Td0[s1 >> 24] ^ Td1[(s0 >> 16) & 0xff] ^ Td2[(s3 >>  8) & 0xff] ^ Td3[s2 & 0xff] ^ rk[13];
-    t2 = Td0[s2 >> 24] ^ Td1[(s1 >> 16) & 0xff] ^ Td2[(s0 >>  8) & 0xff] ^ Td3[s3 & 0xff] ^ rk[14];
-    t3 = Td0[s3 >> 24] ^ Td1[(s2 >> 16) & 0xff] ^ Td2[(s1 >>  8) & 0xff] ^ Td3[s0 & 0xff] ^ rk[15];
-    /* round 4: */
-    s0 = Td0[t0 >> 24] ^ Td1[(t3 >> 16) & 0xff] ^ Td2[(t2 >>  8) & 0xff] ^ Td3[t1 & 0xff] ^ rk[16];
-    s1 = Td0[t1 >> 24] ^ Td1[(t0 >> 16) & 0xff] ^ Td2[(t3 >>  8) & 0xff] ^ Td3[t2 & 0xff] ^ rk[17];
-    s2 = Td0[t2 >> 24] ^ Td1[(t1 >> 16) & 0xff] ^ Td2[(t0 >>  8) & 0xff] ^ Td3[t3 & 0xff] ^ rk[18];
-    s3 = Td0[t3 >> 24] ^ Td1[(t2 >> 16) & 0xff] ^ Td2[(t1 >>  8) & 0xff] ^ Td3[t0 & 0xff] ^ rk[19];
-    /* round 5: */
-    t0 = Td0[s0 >> 24] ^ Td1[(s3 >> 16) & 0xff] ^ Td2[(s2 >>  8) & 0xff] ^ Td3[s1 & 0xff] ^ rk[20];
-    t1 = Td0[s1 >> 24] ^ Td1[(s0 >> 16) & 0xff] ^ Td2[(s3 >>  8) & 0xff] ^ Td3[s2 & 0xff] ^ rk[21];
-    t2 = Td0[s2 >> 24] ^ Td1[(s1 >> 16) & 0xff] ^ Td2[(s0 >>  8) & 0xff] ^ Td3[s3 & 0xff] ^ rk[22];
-    t3 = Td0[s3 >> 24] ^ Td1[(s2 >> 16) & 0xff] ^ Td2[(s1 >>  8) & 0xff] ^ Td3[s0 & 0xff] ^ rk[23];
-    /* round 6: */
-    s0 = Td0[t0 >> 24] ^ Td1[(t3 >> 16) & 0xff] ^ Td2[(t2 >>  8) & 0xff] ^ Td3[t1 & 0xff] ^ rk[24];
-    s1 = Td0[t1 >> 24] ^ Td1[(t0 >> 16) & 0xff] ^ Td2[(t3 >>  8) & 0xff] ^ Td3[t2 & 0xff] ^ rk[25];
-    s2 = Td0[t2 >> 24] ^ Td1[(t1 >> 16) & 0xff] ^ Td2[(t0 >>  8) & 0xff] ^ Td3[t3 & 0xff] ^ rk[26];
-    s3 = Td0[t3 >> 24] ^ Td1[(t2 >> 16) & 0xff] ^ Td2[(t1 >>  8) & 0xff] ^ Td3[t0 & 0xff] ^ rk[27];
-    /* round 7: */
-    t0 = Td0[s0 >> 24] ^ Td1[(s3 >> 16) & 0xff] ^ Td2[(s2 >>  8) & 0xff] ^ Td3[s1 & 0xff] ^ rk[28];
-    t1 = Td0[s1 >> 24] ^ Td1[(s0 >> 16) & 0xff] ^ Td2[(s3 >>  8) & 0xff] ^ Td3[s2 & 0xff] ^ rk[29];
-    t2 = Td0[s2 >> 24] ^ Td1[(s1 >> 16) & 0xff] ^ Td2[(s0 >>  8) & 0xff] ^ Td3[s3 & 0xff] ^ rk[30];
-    t3 = Td0[s3 >> 24] ^ Td1[(s2 >> 16) & 0xff] ^ Td2[(s1 >>  8) & 0xff] ^ Td3[s0 & 0xff] ^ rk[31];
-    /* round 8: */
-    s0 = Td0[t0 >> 24] ^ Td1[(t3 >> 16) & 0xff] ^ Td2[(t2 >>  8) & 0xff] ^ Td3[t1 & 0xff] ^ rk[32];
-    s1 = Td0[t1 >> 24] ^ Td1[(t0 >> 16) & 0xff] ^ Td2[(t3 >>  8) & 0xff] ^ Td3[t2 & 0xff] ^ rk[33];
-    s2 = Td0[t2 >> 24] ^ Td1[(t1 >> 16) & 0xff] ^ Td2[(t0 >>  8) & 0xff] ^ Td3[t3 & 0xff] ^ rk[34];
-    s3 = Td0[t3 >> 24] ^ Td1[(t2 >> 16) & 0xff] ^ Td2[(t1 >>  8) & 0xff] ^ Td3[t0 & 0xff] ^ rk[35];
-    /* round 9: */
-    t0 = Td0[s0 >> 24] ^ Td1[(s3 >> 16) & 0xff] ^ Td2[(s2 >>  8) & 0xff] ^ Td3[s1 & 0xff] ^ rk[36];
-    t1 = Td0[s1 >> 24] ^ Td1[(s0 >> 16) & 0xff] ^ Td2[(s3 >>  8) & 0xff] ^ Td3[s2 & 0xff] ^ rk[37];
-    t2 = Td0[s2 >> 24] ^ Td1[(s1 >> 16) & 0xff] ^ Td2[(s0 >>  8) & 0xff] ^ Td3[s3 & 0xff] ^ rk[38];
-    t3 = Td0[s3 >> 24] ^ Td1[(s2 >> 16) & 0xff] ^ Td2[(s1 >>  8) & 0xff] ^ Td3[s0 & 0xff] ^ rk[39];
-    if (Nr > 10) {
-       /* round 10: */
-       s0 = Td0[t0 >> 24] ^ Td1[(t3 >> 16) & 0xff] ^ Td2[(t2 >>  8) & 0xff] ^ Td3[t1 & 0xff] ^ rk[40];
-       s1 = Td0[t1 >> 24] ^ Td1[(t0 >> 16) & 0xff] ^ Td2[(t3 >>  8) & 0xff] ^ Td3[t2 & 0xff] ^ rk[41];
-       s2 = Td0[t2 >> 24] ^ Td1[(t1 >> 16) & 0xff] ^ Td2[(t0 >>  8) & 0xff] ^ Td3[t3 & 0xff] ^ rk[42];
-       s3 = Td0[t3 >> 24] ^ Td1[(t2 >> 16) & 0xff] ^ Td2[(t1 >>  8) & 0xff] ^ Td3[t0 & 0xff] ^ rk[43];
-       /* round 11: */
-       t0 = Td0[s0 >> 24] ^ Td1[(s3 >> 16) & 0xff] ^ Td2[(s2 >>  8) & 0xff] ^ Td3[s1 & 0xff] ^ rk[44];
-       t1 = Td0[s1 >> 24] ^ Td1[(s0 >> 16) & 0xff] ^ Td2[(s3 >>  8) & 0xff] ^ Td3[s2 & 0xff] ^ rk[45];
-       t2 = Td0[s2 >> 24] ^ Td1[(s1 >> 16) & 0xff] ^ Td2[(s0 >>  8) & 0xff] ^ Td3[s3 & 0xff] ^ rk[46];
-       t3 = Td0[s3 >> 24] ^ Td1[(s2 >> 16) & 0xff] ^ Td2[(s1 >>  8) & 0xff] ^ Td3[s0 & 0xff] ^ rk[47];
-       if (Nr > 12) {
-           /* round 12: */
-           s0 = Td0[t0 >> 24] ^ Td1[(t3 >> 16) & 0xff] ^ Td2[(t2 >>  8) & 0xff] ^ Td3[t1 & 0xff] ^ rk[48];
-           s1 = Td0[t1 >> 24] ^ Td1[(t0 >> 16) & 0xff] ^ Td2[(t3 >>  8) & 0xff] ^ Td3[t2 & 0xff] ^ rk[49];
-           s2 = Td0[t2 >> 24] ^ Td1[(t1 >> 16) & 0xff] ^ Td2[(t0 >>  8) & 0xff] ^ Td3[t3 & 0xff] ^ rk[50];
-           s3 = Td0[t3 >> 24] ^ Td1[(t2 >> 16) & 0xff] ^ Td2[(t1 >>  8) & 0xff] ^ Td3[t0 & 0xff] ^ rk[51];
-           /* round 13: */
-           t0 = Td0[s0 >> 24] ^ Td1[(s3 >> 16) & 0xff] ^ Td2[(s2 >>  8) & 0xff] ^ Td3[s1 & 0xff] ^ rk[52];
-           t1 = Td0[s1 >> 24] ^ Td1[(s0 >> 16) & 0xff] ^ Td2[(s3 >>  8) & 0xff] ^ Td3[s2 & 0xff] ^ rk[53];
-           t2 = Td0[s2 >> 24] ^ Td1[(s1 >> 16) & 0xff] ^ Td2[(s0 >>  8) & 0xff] ^ Td3[s3 & 0xff] ^ rk[54];
-           t3 = Td0[s3 >> 24] ^ Td1[(s2 >> 16) & 0xff] ^ Td2[(s1 >>  8) & 0xff] ^ Td3[s0 & 0xff] ^ rk[55];
-       }
-    }
-       rk += Nr << 2;
-#else  /* !FULL_UNROLL */
-    /*
-     * Nr - 1 full rounds:
-     */
-    r = Nr >> 1;
-    for (;;) {
-       t0 =
-           Td0[(s0 >> 24)       ] ^
-           Td1[(s3 >> 16) & 0xff] ^
-           Td2[(s2 >>  8) & 0xff] ^
-           Td3[(s1      ) & 0xff] ^
-           rk[4];
-       t1 =
-           Td0[(s1 >> 24)       ] ^
-           Td1[(s0 >> 16) & 0xff] ^
-           Td2[(s3 >>  8) & 0xff] ^
-           Td3[(s2      ) & 0xff] ^
-           rk[5];
-       t2 =
-           Td0[(s2 >> 24)       ] ^
-           Td1[(s1 >> 16) & 0xff] ^
-           Td2[(s0 >>  8) & 0xff] ^
-           Td3[(s3      ) & 0xff] ^
-           rk[6];
-       t3 =
-           Td0[(s3 >> 24)       ] ^
-           Td1[(s2 >> 16) & 0xff] ^
-           Td2[(s1 >>  8) & 0xff] ^
-           Td3[(s0      ) & 0xff] ^
-           rk[7];
-
-       rk += 8;
-       if (--r == 0) {
-           break;
-       }
-
-       s0 =
-           Td0[(t0 >> 24)       ] ^
-           Td1[(t3 >> 16) & 0xff] ^
-           Td2[(t2 >>  8) & 0xff] ^
-           Td3[(t1      ) & 0xff] ^
-           rk[0];
-       s1 =
-           Td0[(t1 >> 24)       ] ^
-           Td1[(t0 >> 16) & 0xff] ^
-           Td2[(t3 >>  8) & 0xff] ^
-           Td3[(t2      ) & 0xff] ^
-           rk[1];
-       s2 =
-           Td0[(t2 >> 24)       ] ^
-           Td1[(t1 >> 16) & 0xff] ^
-           Td2[(t0 >>  8) & 0xff] ^
-           Td3[(t3      ) & 0xff] ^
-           rk[2];
-       s3 =
-           Td0[(t3 >> 24)       ] ^
-           Td1[(t2 >> 16) & 0xff] ^
-           Td2[(t1 >>  8) & 0xff] ^
-           Td3[(t0      ) & 0xff] ^
-           rk[3];
-    }
-#endif /* ?FULL_UNROLL */
-    /*
-        * apply last round and
-        * map cipher state to byte array block:
-        */
-       s0 =
-               (Td4[(t0 >> 24)       ] & 0xff000000) ^
-               (Td4[(t3 >> 16) & 0xff] & 0x00ff0000) ^
-               (Td4[(t2 >>  8) & 0xff] & 0x0000ff00) ^
-               (Td4[(t1      ) & 0xff] & 0x000000ff) ^
-               rk[0];
-       PUTU32(pt     , s0);
-       s1 =
-               (Td4[(t1 >> 24)       ] & 0xff000000) ^
-               (Td4[(t0 >> 16) & 0xff] & 0x00ff0000) ^
-               (Td4[(t3 >>  8) & 0xff] & 0x0000ff00) ^
-               (Td4[(t2      ) & 0xff] & 0x000000ff) ^
-               rk[1];
-       PUTU32(pt +  4, s1);
-       s2 =
-               (Td4[(t2 >> 24)       ] & 0xff000000) ^
-               (Td4[(t1 >> 16) & 0xff] & 0x00ff0000) ^
-               (Td4[(t0 >>  8) & 0xff] & 0x0000ff00) ^
-               (Td4[(t3      ) & 0xff] & 0x000000ff) ^
-               rk[2];
-       PUTU32(pt +  8, s2);
-       s3 =
-               (Td4[(t3 >> 24)       ] & 0xff000000) ^
-               (Td4[(t2 >> 16) & 0xff] & 0x00ff0000) ^
-               (Td4[(t1 >>  8) & 0xff] & 0x0000ff00) ^
-               (Td4[(t0      ) & 0xff] & 0x000000ff) ^
-               rk[3];
-       PUTU32(pt + 12, s3);
-}
-#endif
-
-/* setup key context for encryption only */
-int
-rijndael_set_key_enc_only(rijndael_ctx *ctx, const u_char *key, int bits)
-{
-       int rounds;
-
-       rounds = rijndaelKeySetupEnc(ctx->ek, key, bits);
-       if (rounds == 0)
-               return -1;
-
-       ctx->Nr = rounds;
-#ifdef WITH_AES_DECRYPT
-       ctx->enc_only = 1;
-#endif
-
-       return 0;
-}
-
-#ifdef WITH_AES_DECRYPT
-/* setup key context for both encryption and decryption */
-int
-rijndael_set_key(rijndael_ctx *ctx, const u_char *key, int bits)
-{
-       int rounds;
-
-       rounds = rijndaelKeySetupEnc(ctx->ek, key, bits);
-       if (rounds == 0)
-               return -1;
-       if (rijndaelKeySetupDec(ctx->dk, key, bits) != rounds)
-               return -1;
-
-       ctx->Nr = rounds;
-       ctx->enc_only = 0;
-
-       return 0;
-}
-
-void
-rijndael_decrypt(rijndael_ctx *ctx, const u_char *src, u_char *dst)
-{
-       rijndaelDecrypt(ctx->dk, ctx->Nr, src, dst);
-}
-#endif
-
-void
-rijndael_encrypt(rijndael_ctx *ctx, const u_char *src, u_char *dst)
-{
-       rijndaelEncrypt(ctx->ek, ctx->Nr, src, dst);
-}
diff --git a/external/wakaama/examples/shared/tinydtls/aes/rijndael.h b/external/wakaama/examples/shared/tinydtls/aes/rijndael.h
deleted file mode 100644 (file)
index 9184ff9..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-/*     $OpenBSD: rijndael.h,v 1.13 2008/06/09 07:49:45 djm Exp $ */
-
-/**
- * rijndael-alg-fst.h
- *
- * @version 3.0 (December 2000)
- *
- * Optimised ANSI C code for the Rijndael cipher (now AES)
- *
- * @author Vincent Rijmen <vincent.rijmen@esat.kuleuven.ac.be>
- * @author Antoon Bosselaers <antoon.bosselaers@esat.kuleuven.ac.be>
- * @author Paulo Barreto <paulo.barreto@terra.com.br>
- *
- * This code is hereby placed in the public domain.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''AS IS'' AND ANY EXPRESS
- * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
- * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
- * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
- * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-#ifndef __RIJNDAEL_H
-#define __RIJNDAEL_H
-
-#include <stdint.h>
-
-#define AES_MAXKEYBITS (256)
-#define AES_MAXKEYBYTES        (AES_MAXKEYBITS/8)
-/* for 256-bit keys we need 14 rounds for a 128 we only need 10 round */
-#define AES_MAXROUNDS  10
-
-/* bergmann: to avoid conflicts with typedefs from certain Contiki platforms,
- * the following type names have been prefixed with "aes_": */
-typedef unsigned char  u_char;
-typedef uint8_t                aes_u8;
-typedef uint16_t       aes_u16;
-typedef uint32_t       aes_u32;
-
-/*  The structure for key information */
-typedef struct {
-#ifdef WITH_AES_DECRYPT
-       int     enc_only;               /* context contains only encrypt schedule */
-#endif
-       int     Nr;                     /* key-length-dependent number of rounds */
-       aes_u32 ek[4*(AES_MAXROUNDS + 1)];      /* encrypt key schedule */
-#ifdef WITH_AES_DECRYPT
-       aes_u32 dk[4*(AES_MAXROUNDS + 1)];      /* decrypt key schedule */
-#endif
-} rijndael_ctx;
-
-int     rijndael_set_key(rijndael_ctx *, const u_char *, int);
-int     rijndael_set_key_enc_only(rijndael_ctx *, const u_char *, int);
-void    rijndael_decrypt(rijndael_ctx *, const u_char *, u_char *);
-void    rijndael_encrypt(rijndael_ctx *, const u_char *, u_char *);
-
-int    rijndaelKeySetupEnc(aes_u32 rk[/*4*(Nr + 1)*/], const aes_u8 cipherKey[], int keyBits);
-int    rijndaelKeySetupDec(aes_u32 rk[/*4*(Nr + 1)*/], const aes_u8 cipherKey[], int keyBits);
-void   rijndaelEncrypt(const aes_u32 rk[/*4*(Nr + 1)*/], int Nr, const aes_u8 pt[16], aes_u8 ct[16]);
-
-#endif /* __RIJNDAEL_H */
diff --git a/external/wakaama/examples/shared/tinydtls/alert.h b/external/wakaama/examples/shared/tinydtls/alert.h
deleted file mode 100644 (file)
index 5a27faa..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-/* alert.h -- DTLS alert protocol
- *
- * Copyright (C) 2012 Olaf Bergmann <bergmann@tzi.org>
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-/**
- * @file alert.h
- * @brief DTLS alert protocol
- */
-
-#ifndef _DTLS_ALERT_H_
-#define _DTLS_ALERT_H_
-
-typedef enum {
-  DTLS_ALERT_LEVEL_WARNING=1,
-  DTLS_ALERT_LEVEL_FATAL=2
-} dtls_alert_level_t;
-
-typedef enum {
-  DTLS_ALERT_CLOSE_NOTIFY = 0,                 /* close_notify */
-  DTLS_ALERT_UNEXPECTED_MESSAGE = 10,          /* unexpected_message */
-  DTLS_ALERT_BAD_RECORD_MAC = 20,              /* bad_record_mac */
-  DTLS_ALERT_RECORD_OVERFLOW = 22,             /* record_overflow */
-  DTLS_ALERT_DECOMPRESSION_FAILURE = 30,       /* decompression_failure */
-  DTLS_ALERT_HANDSHAKE_FAILURE = 40,           /* handshake_failure */
-  DTLS_ALERT_BAD_CERTIFICATE = 42,             /* bad_certificate */
-  DTLS_ALERT_UNSUPPORTED_CERTIFICATE = 43,     /* unsupported_certificate */
-  DTLS_ALERT_CERTIFICATE_REVOKED = 44,         /* certificate_revoked */
-  DTLS_ALERT_CERTIFICATE_EXPIRED = 45,         /* certificate_expired */
-  DTLS_ALERT_CERTIFICATE_UNKNOWN = 46,         /* certificate_unknown */
-  DTLS_ALERT_ILLEGAL_PARAMETER = 47,           /* illegal_parameter */
-  DTLS_ALERT_UNKNOWN_CA = 48,                  /* unknown_ca */
-  DTLS_ALERT_ACCESS_DENIED = 49,               /* access_denied */
-  DTLS_ALERT_DECODE_ERROR = 50,                        /* decode_error */
-  DTLS_ALERT_DECRYPT_ERROR = 51,               /* decrypt_error */
-  DTLS_ALERT_PROTOCOL_VERSION = 70,            /* protocol_version */
-  DTLS_ALERT_INSUFFICIENT_SECURITY = 71,       /* insufficient_security */
-  DTLS_ALERT_INTERNAL_ERROR = 80,              /* internal_error */
-  DTLS_ALERT_USER_CANCELED = 90,               /* user_canceled */
-  DTLS_ALERT_NO_RENEGOTIATION = 100,           /* no_renegotiation */
-  DTLS_ALERT_UNSUPPORTED_EXTENSION = 110       /* unsupported_extension */
-} dtls_alert_t;
-
-#define DTLS_EVENT_CONNECT        0x01DC /**< initiated handshake */
-#define DTLS_EVENT_CONNECTED      0x01DE /**< handshake or re-negotiation
-                                         * has finished */
-#define DTLS_EVENT_RENEGOTIATE    0x01DF /**< re-negotiation has started */
-
-static inline int
-dtls_alert_create(dtls_alert_level_t level, dtls_alert_t desc)
-{
-  return -((level << 8) | desc);
-}
-
-static inline int
-dtls_alert_fatal_create(dtls_alert_t desc)
-{
-  return dtls_alert_create(DTLS_ALERT_LEVEL_FATAL, desc);
-}
-
-#endif /* _DTLS_ALERT_H_ */
diff --git a/external/wakaama/examples/shared/tinydtls/autom4te.cache/output.0 b/external/wakaama/examples/shared/tinydtls/autom4te.cache/output.0
deleted file mode 100644 (file)
index 7ccf190..0000000
+++ /dev/null
@@ -1,5483 +0,0 @@
-@%:@! /bin/sh
-@%:@ Guess values for system-dependent variables and create Makefiles.
-@%:@ Generated by GNU Autoconf 2.69 for tinydtls 0.8.2.
-@%:@ 
-@%:@ 
-@%:@ Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
-@%:@ 
-@%:@ 
-@%:@ This configure script is free software; the Free Software Foundation
-@%:@ gives unlimited permission to copy, distribute and modify it.
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in @%:@(
-  *posix*) :
-    set -o posix ;; @%:@(
-  *) :
-     ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
-    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='print -r --'
-  as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='printf %s\n'
-  as_echo_n='printf %s'
-else
-  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
-    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
-    as_echo_n='/usr/ucb/echo -n'
-  else
-    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
-    as_echo_n_body='eval
-      arg=$1;
-      case $arg in @%:@(
-      *"$as_nl"*)
-       expr "X$arg" : "X\\(.*\\)$as_nl";
-       arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
-      esac;
-      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
-    '
-    export as_echo_n_body
-    as_echo_n='sh -c $as_echo_n_body as_echo'
-  fi
-  export as_echo_body
-  as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  PATH_SEPARATOR=:
-  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
-    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
-      PATH_SEPARATOR=';'
-  }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.  Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" ""       $as_nl"
-
-# Find who we are.  Look in the path if we contain no directory separator.
-as_myself=
-case $0 in @%:@((
-  *[\\/]* ) as_myself=$0 ;;
-  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-  done
-IFS=$as_save_IFS
-
-     ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
-  as_myself=$0
-fi
-if test ! -f "$as_myself"; then
-  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
-  exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there.  '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
-  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-# Use a proper internal environment variable to ensure we don't fall
-  # into an infinite loop, continuously re-executing ourselves.
-  if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
-    _as_can_reexec=no; export _as_can_reexec;
-    # We cannot yet assume a decent shell, so we have to provide a
-# neutralization value for shells without unset; and this also
-# works around shells that cannot unset nonexistent variables.
-# Preserve -v and -x to the replacement shell.
-BASH_ENV=/dev/null
-ENV=/dev/null
-(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-case $- in @%:@ ((((
-  *v*x* | *x*v* ) as_opts=-vx ;;
-  *v* ) as_opts=-v ;;
-  *x* ) as_opts=-x ;;
-  * ) as_opts= ;;
-esac
-exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
-# Admittedly, this is quite paranoid, since all the known shells bail
-# out after a failed `exec'.
-$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
-as_fn_exit 255
-  fi
-  # We don't want this to propagate to other subprocesses.
-          { _as_can_reexec=; unset _as_can_reexec;}
-if test "x$CONFIG_SHELL" = x; then
-  as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '\${1+\"\$@\"}'='\"\$@\"'
-  setopt NO_GLOB_SUBST
-else
-  case \`(set -o) 2>/dev/null\` in @%:@(
-  *posix*) :
-    set -o posix ;; @%:@(
-  *) :
-     ;;
-esac
-fi
-"
-  as_required="as_fn_return () { (exit \$1); }
-as_fn_success () { as_fn_return 0; }
-as_fn_failure () { as_fn_return 1; }
-as_fn_ret_success () { return 0; }
-as_fn_ret_failure () { return 1; }
-
-exitcode=0
-as_fn_success || { exitcode=1; echo as_fn_success failed.; }
-as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
-as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
-as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
-if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
-  
-else
-  exitcode=1; echo positional parameters were not saved.
-fi
-test x\$exitcode = x0 || exit 1
-test -x / || exit 1"
-  as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
-  as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
-  eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
-  test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
-test \$(( 1 + 1 )) = 2 || exit 1"
-  if (eval "$as_required") 2>/dev/null; then :
-  as_have_required=yes
-else
-  as_have_required=no
-fi
-  if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
-  
-else
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-as_found=false
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  as_found=:
-  case $as_dir in @%:@(
-        /*)
-          for as_base in sh bash ksh sh5; do
-            # Try only shells that exist, to save several forks.
-            as_shell=$as_dir/$as_base
-            if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
-                   { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
-  CONFIG_SHELL=$as_shell as_have_required=yes
-                  if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
-  break 2
-fi
-fi
-          done;;
-       esac
-  as_found=false
-done
-$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
-             { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
-  CONFIG_SHELL=$SHELL as_have_required=yes
-fi; }
-IFS=$as_save_IFS
-
-
-      if test "x$CONFIG_SHELL" != x; then :
-  export CONFIG_SHELL
-             # We cannot yet assume a decent shell, so we have to provide a
-# neutralization value for shells without unset; and this also
-# works around shells that cannot unset nonexistent variables.
-# Preserve -v and -x to the replacement shell.
-BASH_ENV=/dev/null
-ENV=/dev/null
-(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-case $- in @%:@ ((((
-  *v*x* | *x*v* ) as_opts=-vx ;;
-  *v* ) as_opts=-v ;;
-  *x* ) as_opts=-x ;;
-  * ) as_opts= ;;
-esac
-exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
-# Admittedly, this is quite paranoid, since all the known shells bail
-# out after a failed `exec'.
-$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
-exit 255
-fi
-
-    if test x$as_have_required = xno; then :
-  $as_echo "$0: This script requires a shell more modern than all"
-  $as_echo "$0: the shells that I found on your system."
-  if test x${ZSH_VERSION+set} = xset ; then
-    $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
-    $as_echo "$0: be upgraded to zsh 4.3.4 or later."
-  else
-    $as_echo "$0: Please tell bug-autoconf@gnu.org about your system,
-$0: including any error possibly output before this
-$0: message. Then install a modern shell, or manually run
-$0: the script under such a shell if you do have one."
-  fi
-  exit 1
-fi
-fi
-fi
-SHELL=${CONFIG_SHELL-/bin/sh}
-export SHELL
-# Unset more variables known to interfere with behavior of common tools.
-CLICOLOR_FORCE= GREP_OPTIONS=
-unset CLICOLOR_FORCE GREP_OPTIONS
-
-## --------------------- ##
-## M4sh Shell Functions. ##
-## --------------------- ##
-@%:@ as_fn_unset VAR
-@%:@ ---------------
-@%:@ Portably unset VAR.
-as_fn_unset ()
-{
-  { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-
-@%:@ as_fn_set_status STATUS
-@%:@ -----------------------
-@%:@ Set @S|@? to STATUS, without forking.
-as_fn_set_status ()
-{
-  return $1
-} @%:@ as_fn_set_status
-
-@%:@ as_fn_exit STATUS
-@%:@ -----------------
-@%:@ Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
-  set +e
-  as_fn_set_status $1
-  exit $1
-} @%:@ as_fn_exit
-
-@%:@ as_fn_mkdir_p
-@%:@ -------------
-@%:@ Create "@S|@as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
-  case $as_dir in #(
-  -*) as_dir=./$as_dir;;
-  esac
-  test -d "$as_dir" || eval $as_mkdir_p || {
-    as_dirs=
-    while :; do
-      case $as_dir in #(
-      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
-      *) as_qdir=$as_dir;;
-      esac
-      as_dirs="'$as_qdir' $as_dirs"
-      as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$as_dir" : 'X\(//\)[^/]' \| \
-        X"$as_dir" : 'X\(//\)$' \| \
-        X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-      test -d "$as_dir" && break
-    done
-    test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} @%:@ as_fn_mkdir_p
-
-@%:@ as_fn_executable_p FILE
-@%:@ -----------------------
-@%:@ Test if FILE is an executable regular file.
-as_fn_executable_p ()
-{
-  test -f "$1" && test -x "$1"
-} @%:@ as_fn_executable_p
-@%:@ as_fn_append VAR VALUE
-@%:@ ----------------------
-@%:@ Append the text in VALUE to the end of the definition contained in VAR. Take
-@%:@ advantage of any shell optimizations that allow amortized linear growth over
-@%:@ repeated appends, instead of the typical quadratic growth present in naive
-@%:@ implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
-  eval 'as_fn_append ()
-  {
-    eval $1+=\$2
-  }'
-else
-  as_fn_append ()
-  {
-    eval $1=\$$1\$2
-  }
-fi # as_fn_append
-
-@%:@ as_fn_arith ARG...
-@%:@ ------------------
-@%:@ Perform arithmetic evaluation on the ARGs, and store the result in the
-@%:@ global @S|@as_val. Take advantage of shells that can avoid forks. The arguments
-@%:@ must be portable across @S|@(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
-  eval 'as_fn_arith ()
-  {
-    as_val=$(( $* ))
-  }'
-else
-  as_fn_arith ()
-  {
-    as_val=`expr "$@" || test $? -eq 1`
-  }
-fi # as_fn_arith
-
-
-@%:@ as_fn_error STATUS ERROR [LINENO LOG_FD]
-@%:@ ----------------------------------------
-@%:@ Output "`basename @S|@0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-@%:@ provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-@%:@ script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
-  as_status=$1; test $as_status -eq 0 && as_status=1
-  if test "$4"; then
-    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
-  fi
-  $as_echo "$as_me: error: $2" >&2
-  as_fn_exit $as_status
-} @%:@ as_fn_error
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
-   test "X`expr 00001 : '.*\(...\)'`" = X001; then
-  as_expr=expr
-else
-  as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
-  as_basename=basename
-else
-  as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
-  as_dirname=dirname
-else
-  as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
-        X"$0" : 'X\(//\)$' \| \
-        X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
-    sed '/^.*\/\([^/][^/]*\)\/*$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-
-  as_lineno_1=$LINENO as_lineno_1a=$LINENO
-  as_lineno_2=$LINENO as_lineno_2a=$LINENO
-  eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
-  test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
-  # Blame Lee E. McMahon (1931-1989) for sed's syntax.  :-)
-  sed -n '
-    p
-    /[$]LINENO/=
-  ' <$as_myself |
-    sed '
-      s/[$]LINENO.*/&-/
-      t lineno
-      b
-      :lineno
-      N
-      :loop
-      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
-      t loop
-      s/-\n.*//
-    ' >$as_me.lineno &&
-  chmod +x "$as_me.lineno" ||
-    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
-
-  # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
-  # already done that, so ensure we don't try to do so again and fall
-  # in an infinite loop.  This has already happened in practice.
-  _as_can_reexec=no; export _as_can_reexec
-  # Don't try to exec as it changes $[0], causing all sort of problems
-  # (the dirname of $[0] is not the place where we might find the
-  # original and so on.  Autoconf is especially sensitive to this).
-  . "./$as_me.lineno"
-  # Exit status is that of the last command.
-  exit
-}
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in @%:@(((((
--n*)
-  case `echo 'xy\c'` in
-  *c*) ECHO_T='        ';;     # ECHO_T is single tab character.
-  xy)  ECHO_C='\c';;
-  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
-       ECHO_T='        ';;
-  esac;;
-*)
-  ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
-  rm -f conf$$.dir/conf$$.file
-else
-  rm -f conf$$.dir
-  mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
-  if ln -s conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s='ln -s'
-    # ... but there are two gotchas:
-    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
-    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -pR'.
-    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -pR'
-  elif ln conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s=ln
-  else
-    as_ln_s='cp -pR'
-  fi
-else
-  as_ln_s='cp -pR'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-if mkdir -p . 2>/dev/null; then
-  as_mkdir_p='mkdir -p "$as_dir"'
-else
-  test -d ./-p && rmdir ./-p
-  as_mkdir_p=false
-fi
-
-as_test_x='test -x'
-as_executable_p=as_fn_executable_p
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-test -n "$DJDIR" || exec 7<&0 </dev/null
-exec 6>&1
-
-# Name of the host.
-# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
-# so uname gets run too.
-ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-
-#
-# Initializations.
-#
-ac_default_prefix=/usr/local
-ac_clean_files=
-ac_config_libobj_dir=.
-LIB@&t@OBJS=
-cross_compiling=no
-subdirs=
-MFLAGS=
-MAKEFLAGS=
-
-# Identity of this package.
-PACKAGE_NAME='tinydtls'
-PACKAGE_TARNAME='tinydtls'
-PACKAGE_VERSION='0.8.2'
-PACKAGE_STRING='tinydtls 0.8.2'
-PACKAGE_BUGREPORT=''
-PACKAGE_URL=''
-
-ac_unique_file="dtls.c"
-# Factoring default headers for most tests.
-ac_includes_default="\
-#include <stdio.h>
-#ifdef HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-# include <sys/stat.h>
-#endif
-#ifdef STDC_HEADERS
-# include <stdlib.h>
-# include <stddef.h>
-#else
-# ifdef HAVE_STDLIB_H
-#  include <stdlib.h>
-# endif
-#endif
-#ifdef HAVE_STRING_H
-# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
-#  include <memory.h>
-# endif
-# include <string.h>
-#endif
-#ifdef HAVE_STRINGS_H
-# include <strings.h>
-#endif
-#ifdef HAVE_INTTYPES_H
-# include <inttypes.h>
-#endif
-#ifdef HAVE_STDINT_H
-# include <stdint.h>
-#endif
-#ifdef HAVE_UNISTD_H
-# include <unistd.h>
-#endif"
-
-ac_subst_vars='LTLIBOBJS
-LIB@&t@OBJS
-DTLS_PSK
-DTLS_ECC
-WITH_CONTIKI
-NDEBUG
-OPT_OBJS
-EGREP
-GREP
-CPP
-RANLIB
-OBJEXT
-EXEEXT
-ac_ct_CC
-CPPFLAGS
-LDFLAGS
-CFLAGS
-CC
-SET_MAKE
-ETAGS
-DOXYGEN
-target_alias
-host_alias
-build_alias
-LIBS
-ECHO_T
-ECHO_N
-ECHO_C
-DEFS
-mandir
-localedir
-libdir
-psdir
-pdfdir
-dvidir
-htmldir
-infodir
-docdir
-oldincludedir
-includedir
-localstatedir
-sharedstatedir
-sysconfdir
-datadir
-datarootdir
-libexecdir
-sbindir
-bindir
-program_transform_name
-prefix
-exec_prefix
-PACKAGE_URL
-PACKAGE_BUGREPORT
-PACKAGE_STRING
-PACKAGE_VERSION
-PACKAGE_TARNAME
-PACKAGE_NAME
-PATH_SEPARATOR
-SHELL'
-ac_subst_files=''
-ac_user_opts='
-enable_option_checking
-with_contiki
-with_debug
-with_ecc
-with_psk
-'
-      ac_precious_vars='build_alias
-host_alias
-target_alias
-CC
-CFLAGS
-LDFLAGS
-LIBS
-CPPFLAGS
-CPP'
-
-
-# Initialize some variables set by options.
-ac_init_help=
-ac_init_version=false
-ac_unrecognized_opts=
-ac_unrecognized_sep=
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-cache_file=/dev/null
-exec_prefix=NONE
-no_create=
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-verbose=
-x_includes=NONE
-x_libraries=NONE
-
-# Installation directory options.
-# These are left unexpanded so users can "make install exec_prefix=/foo"
-# and all the variables that are supposed to be based on exec_prefix
-# by default will actually change.
-# Use braces instead of parens because sh, perl, etc. also accept them.
-# (The list follows the same order as the GNU Coding Standards.)
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datarootdir='${prefix}/share'
-datadir='${datarootdir}'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
-infodir='${datarootdir}/info'
-htmldir='${docdir}'
-dvidir='${docdir}'
-pdfdir='${docdir}'
-psdir='${docdir}'
-libdir='${exec_prefix}/lib'
-localedir='${datarootdir}/locale'
-mandir='${datarootdir}/man'
-
-ac_prev=
-ac_dashdash=
-for ac_option
-do
-  # If the previous option needs an argument, assign it.
-  if test -n "$ac_prev"; then
-    eval $ac_prev=\$ac_option
-    ac_prev=
-    continue
-  fi
-
-  case $ac_option in
-  *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
-  *=)   ac_optarg= ;;
-  *)    ac_optarg=yes ;;
-  esac
-
-  # Accept the important Cygnus configure options, so we can diagnose typos.
-
-  case $ac_dashdash$ac_option in
-  --)
-    ac_dashdash=yes ;;
-
-  -bindir | --bindir | --bindi | --bind | --bin | --bi)
-    ac_prev=bindir ;;
-  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
-    bindir=$ac_optarg ;;
-
-  -build | --build | --buil | --bui | --bu)
-    ac_prev=build_alias ;;
-  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
-    build_alias=$ac_optarg ;;
-
-  -cache-file | --cache-file | --cache-fil | --cache-fi \
-  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
-    ac_prev=cache_file ;;
-  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
-  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
-    cache_file=$ac_optarg ;;
-
-  --config-cache | -C)
-    cache_file=config.cache ;;
-
-  -datadir | --datadir | --datadi | --datad)
-    ac_prev=datadir ;;
-  -datadir=* | --datadir=* | --datadi=* | --datad=*)
-    datadir=$ac_optarg ;;
-
-  -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
-  | --dataroo | --dataro | --datar)
-    ac_prev=datarootdir ;;
-  -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
-  | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
-    datarootdir=$ac_optarg ;;
-
-  -disable-* | --disable-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid feature name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"enable_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval enable_$ac_useropt=no ;;
-
-  -docdir | --docdir | --docdi | --doc | --do)
-    ac_prev=docdir ;;
-  -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
-    docdir=$ac_optarg ;;
-
-  -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
-    ac_prev=dvidir ;;
-  -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
-    dvidir=$ac_optarg ;;
-
-  -enable-* | --enable-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid feature name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"enable_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval enable_$ac_useropt=\$ac_optarg ;;
-
-  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
-  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
-  | --exec | --exe | --ex)
-    ac_prev=exec_prefix ;;
-  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
-  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
-  | --exec=* | --exe=* | --ex=*)
-    exec_prefix=$ac_optarg ;;
-
-  -gas | --gas | --ga | --g)
-    # Obsolete; use --with-gas.
-    with_gas=yes ;;
-
-  -help | --help | --hel | --he | -h)
-    ac_init_help=long ;;
-  -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
-    ac_init_help=recursive ;;
-  -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
-    ac_init_help=short ;;
-
-  -host | --host | --hos | --ho)
-    ac_prev=host_alias ;;
-  -host=* | --host=* | --hos=* | --ho=*)
-    host_alias=$ac_optarg ;;
-
-  -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
-    ac_prev=htmldir ;;
-  -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
-  | --ht=*)
-    htmldir=$ac_optarg ;;
-
-  -includedir | --includedir | --includedi | --included | --include \
-  | --includ | --inclu | --incl | --inc)
-    ac_prev=includedir ;;
-  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
-  | --includ=* | --inclu=* | --incl=* | --inc=*)
-    includedir=$ac_optarg ;;
-
-  -infodir | --infodir | --infodi | --infod | --info | --inf)
-    ac_prev=infodir ;;
-  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
-    infodir=$ac_optarg ;;
-
-  -libdir | --libdir | --libdi | --libd)
-    ac_prev=libdir ;;
-  -libdir=* | --libdir=* | --libdi=* | --libd=*)
-    libdir=$ac_optarg ;;
-
-  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
-  | --libexe | --libex | --libe)
-    ac_prev=libexecdir ;;
-  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
-  | --libexe=* | --libex=* | --libe=*)
-    libexecdir=$ac_optarg ;;
-
-  -localedir | --localedir | --localedi | --localed | --locale)
-    ac_prev=localedir ;;
-  -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
-    localedir=$ac_optarg ;;
-
-  -localstatedir | --localstatedir | --localstatedi | --localstated \
-  | --localstate | --localstat | --localsta | --localst | --locals)
-    ac_prev=localstatedir ;;
-  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
-  | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
-    localstatedir=$ac_optarg ;;
-
-  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
-    ac_prev=mandir ;;
-  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
-    mandir=$ac_optarg ;;
-
-  -nfp | --nfp | --nf)
-    # Obsolete; use --without-fp.
-    with_fp=no ;;
-
-  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
-  | --no-cr | --no-c | -n)
-    no_create=yes ;;
-
-  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
-  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
-    no_recursion=yes ;;
-
-  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
-  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
-  | --oldin | --oldi | --old | --ol | --o)
-    ac_prev=oldincludedir ;;
-  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
-  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
-  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
-    oldincludedir=$ac_optarg ;;
-
-  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
-    ac_prev=prefix ;;
-  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
-    prefix=$ac_optarg ;;
-
-  -program-prefix | --program-prefix | --program-prefi | --program-pref \
-  | --program-pre | --program-pr | --program-p)
-    ac_prev=program_prefix ;;
-  -program-prefix=* | --program-prefix=* | --program-prefi=* \
-  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
-    program_prefix=$ac_optarg ;;
-
-  -program-suffix | --program-suffix | --program-suffi | --program-suff \
-  | --program-suf | --program-su | --program-s)
-    ac_prev=program_suffix ;;
-  -program-suffix=* | --program-suffix=* | --program-suffi=* \
-  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
-    program_suffix=$ac_optarg ;;
-
-  -program-transform-name | --program-transform-name \
-  | --program-transform-nam | --program-transform-na \
-  | --program-transform-n | --program-transform- \
-  | --program-transform | --program-transfor \
-  | --program-transfo | --program-transf \
-  | --program-trans | --program-tran \
-  | --progr-tra | --program-tr | --program-t)
-    ac_prev=program_transform_name ;;
-  -program-transform-name=* | --program-transform-name=* \
-  | --program-transform-nam=* | --program-transform-na=* \
-  | --program-transform-n=* | --program-transform-=* \
-  | --program-transform=* | --program-transfor=* \
-  | --program-transfo=* | --program-transf=* \
-  | --program-trans=* | --program-tran=* \
-  | --progr-tra=* | --program-tr=* | --program-t=*)
-    program_transform_name=$ac_optarg ;;
-
-  -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
-    ac_prev=pdfdir ;;
-  -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
-    pdfdir=$ac_optarg ;;
-
-  -psdir | --psdir | --psdi | --psd | --ps)
-    ac_prev=psdir ;;
-  -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
-    psdir=$ac_optarg ;;
-
-  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-  | -silent | --silent | --silen | --sile | --sil)
-    silent=yes ;;
-
-  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
-    ac_prev=sbindir ;;
-  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
-  | --sbi=* | --sb=*)
-    sbindir=$ac_optarg ;;
-
-  -sharedstatedir | --sharedstatedir | --sharedstatedi \
-  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
-  | --sharedst | --shareds | --shared | --share | --shar \
-  | --sha | --sh)
-    ac_prev=sharedstatedir ;;
-  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
-  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
-  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
-  | --sha=* | --sh=*)
-    sharedstatedir=$ac_optarg ;;
-
-  -site | --site | --sit)
-    ac_prev=site ;;
-  -site=* | --site=* | --sit=*)
-    site=$ac_optarg ;;
-
-  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
-    ac_prev=srcdir ;;
-  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
-    srcdir=$ac_optarg ;;
-
-  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
-  | --syscon | --sysco | --sysc | --sys | --sy)
-    ac_prev=sysconfdir ;;
-  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
-  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
-    sysconfdir=$ac_optarg ;;
-
-  -target | --target | --targe | --targ | --tar | --ta | --t)
-    ac_prev=target_alias ;;
-  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
-    target_alias=$ac_optarg ;;
-
-  -v | -verbose | --verbose | --verbos | --verbo | --verb)
-    verbose=yes ;;
-
-  -version | --version | --versio | --versi | --vers | -V)
-    ac_init_version=: ;;
-
-  -with-* | --with-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid package name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"with_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval with_$ac_useropt=\$ac_optarg ;;
-
-  -without-* | --without-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid package name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"with_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval with_$ac_useropt=no ;;
-
-  --x)
-    # Obsolete; use --with-x.
-    with_x=yes ;;
-
-  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
-  | --x-incl | --x-inc | --x-in | --x-i)
-    ac_prev=x_includes ;;
-  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
-  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
-    x_includes=$ac_optarg ;;
-
-  -x-libraries | --x-libraries | --x-librarie | --x-librari \
-  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
-    ac_prev=x_libraries ;;
-  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
-  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
-    x_libraries=$ac_optarg ;;
-
-  -*) as_fn_error $? "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information"
-    ;;
-
-  *=*)
-    ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
-    # Reject names that are not valid shell variable names.
-    case $ac_envvar in #(
-      '' | [0-9]* | *[!_$as_cr_alnum]* )
-      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
-    esac
-    eval $ac_envvar=\$ac_optarg
-    export $ac_envvar ;;
-
-  *)
-    # FIXME: should be removed in autoconf 3.0.
-    $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
-    expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
-      $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
-    : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
-    ;;
-
-  esac
-done
-
-if test -n "$ac_prev"; then
-  ac_option=--`echo $ac_prev | sed 's/_/-/g'`
-  as_fn_error $? "missing argument to $ac_option"
-fi
-
-if test -n "$ac_unrecognized_opts"; then
-  case $enable_option_checking in
-    no) ;;
-    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
-    *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
-  esac
-fi
-
-# Check all directory arguments for consistency.
-for ac_var in  exec_prefix prefix bindir sbindir libexecdir datarootdir \
-               datadir sysconfdir sharedstatedir localstatedir includedir \
-               oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
-               libdir localedir mandir
-do
-  eval ac_val=\$$ac_var
-  # Remove trailing slashes.
-  case $ac_val in
-    */ )
-      ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
-      eval $ac_var=\$ac_val;;
-  esac
-  # Be sure to have absolute directory names.
-  case $ac_val in
-    [\\/$]* | ?:[\\/]* )  continue;;
-    NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
-  esac
-  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
-done
-
-# There might be people who depend on the old broken behavior: `$host'
-# used to hold the argument of --host etc.
-# FIXME: To remove some day.
-build=$build_alias
-host=$host_alias
-target=$target_alias
-
-# FIXME: To remove some day.
-if test "x$host_alias" != x; then
-  if test "x$build_alias" = x; then
-    cross_compiling=maybe
-  elif test "x$build_alias" != "x$host_alias"; then
-    cross_compiling=yes
-  fi
-fi
-
-ac_tool_prefix=
-test -n "$host_alias" && ac_tool_prefix=$host_alias-
-
-test "$silent" = yes && exec 6>/dev/null
-
-
-ac_pwd=`pwd` && test -n "$ac_pwd" &&
-ac_ls_di=`ls -di .` &&
-ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
-  as_fn_error $? "working directory cannot be determined"
-test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
-  as_fn_error $? "pwd does not report name of working directory"
-
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
-  ac_srcdir_defaulted=yes
-  # Try the directory containing this script, then the parent directory.
-  ac_confdir=`$as_dirname -- "$as_myself" ||
-$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$as_myself" : 'X\(//\)[^/]' \| \
-        X"$as_myself" : 'X\(//\)$' \| \
-        X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_myself" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-  srcdir=$ac_confdir
-  if test ! -r "$srcdir/$ac_unique_file"; then
-    srcdir=..
-  fi
-else
-  ac_srcdir_defaulted=no
-fi
-if test ! -r "$srcdir/$ac_unique_file"; then
-  test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
-  as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
-fi
-ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
-ac_abs_confdir=`(
-       cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
-       pwd)`
-# When building in place, set srcdir=.
-if test "$ac_abs_confdir" = "$ac_pwd"; then
-  srcdir=.
-fi
-# Remove unnecessary trailing slashes from srcdir.
-# Double slashes in file names in object file debugging info
-# mess up M-x gdb in Emacs.
-case $srcdir in
-*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
-esac
-for ac_var in $ac_precious_vars; do
-  eval ac_env_${ac_var}_set=\${${ac_var}+set}
-  eval ac_env_${ac_var}_value=\$${ac_var}
-  eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
-  eval ac_cv_env_${ac_var}_value=\$${ac_var}
-done
-
-#
-# Report the --help message.
-#
-if test "$ac_init_help" = "long"; then
-  # Omit some internal or obsolete options to make the list less imposing.
-  # This message is too long to be a string in the A/UX 3.1 sh.
-  cat <<_ACEOF
-\`configure' configures tinydtls 0.8.2 to adapt to many kinds of systems.
-
-Usage: $0 [OPTION]... [VAR=VALUE]...
-
-To assign environment variables (e.g., CC, CFLAGS...), specify them as
-VAR=VALUE.  See below for descriptions of some of the useful variables.
-
-Defaults for the options are specified in brackets.
-
-Configuration:
-  -h, --help              display this help and exit
-      --help=short        display options specific to this package
-      --help=recursive    display the short help of all the included packages
-  -V, --version           display version information and exit
-  -q, --quiet, --silent   do not print \`checking ...' messages
-      --cache-file=FILE   cache test results in FILE [disabled]
-  -C, --config-cache      alias for \`--cache-file=config.cache'
-  -n, --no-create         do not create output files
-      --srcdir=DIR        find the sources in DIR [configure dir or \`..']
-
-Installation directories:
-  --prefix=PREFIX         install architecture-independent files in PREFIX
-                          @<:@@S|@ac_default_prefix@:>@
-  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
-                          @<:@PREFIX@:>@
-
-By default, \`make install' will install all the files in
-\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
-an installation prefix other than \`$ac_default_prefix' using \`--prefix',
-for instance \`--prefix=\$HOME'.
-
-For better control, use the options below.
-
-Fine tuning of the installation directories:
-  --bindir=DIR            user executables [EPREFIX/bin]
-  --sbindir=DIR           system admin executables [EPREFIX/sbin]
-  --libexecdir=DIR        program executables [EPREFIX/libexec]
-  --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
-  --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
-  --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
-  --libdir=DIR            object code libraries [EPREFIX/lib]
-  --includedir=DIR        C header files [PREFIX/include]
-  --oldincludedir=DIR     C header files for non-gcc [/usr/include]
-  --datarootdir=DIR       read-only arch.-independent data root [PREFIX/share]
-  --datadir=DIR           read-only architecture-independent data [DATAROOTDIR]
-  --infodir=DIR           info documentation [DATAROOTDIR/info]
-  --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
-  --mandir=DIR            man documentation [DATAROOTDIR/man]
-  --docdir=DIR            documentation root @<:@DATAROOTDIR/doc/tinydtls@:>@
-  --htmldir=DIR           html documentation [DOCDIR]
-  --dvidir=DIR            dvi documentation [DOCDIR]
-  --pdfdir=DIR            pdf documentation [DOCDIR]
-  --psdir=DIR             ps documentation [DOCDIR]
-_ACEOF
-
-  cat <<\_ACEOF
-_ACEOF
-fi
-
-if test -n "$ac_init_help"; then
-  case $ac_init_help in
-     short | recursive ) echo "Configuration of tinydtls 0.8.2:";;
-   esac
-  cat <<\_ACEOF
-
-Optional Packages:
-  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
-  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
-  --with-contiki          build libtinydtls for the Contiki OS
-  --without-debug         disable all debug output and assertions
-  --without-ecc           disable support for
-                          TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8
-  --without-psk           disable support for TLS_PSK_WITH_AES_128_CCM_8
-
-Some influential environment variables:
-  CC          C compiler command
-  CFLAGS      C compiler flags
-  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
-              nonstandard directory <lib dir>
-  LIBS        libraries to pass to the linker, e.g. -l<library>
-  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
-              you have headers in a nonstandard directory <include dir>
-  CPP         C preprocessor
-
-Use these variables to override the choices made by `configure' or to help
-it to find libraries and programs with nonstandard names/locations.
-
-Report bugs to the package provider.
-_ACEOF
-ac_status=$?
-fi
-
-if test "$ac_init_help" = "recursive"; then
-  # If there are subdirs, report their specific --help.
-  for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
-    test -d "$ac_dir" ||
-      { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
-      continue
-    ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
-  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
-  # A ".." for each directory in $ac_dir_suffix.
-  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
-  case $ac_top_builddir_sub in
-  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
-  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
-  esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
-  .)  # We are building in place.
-    ac_srcdir=.
-    ac_top_srcdir=$ac_top_builddir_sub
-    ac_abs_top_srcdir=$ac_pwd ;;
-  [\\/]* | ?:[\\/]* )  # Absolute name.
-    ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir
-    ac_abs_top_srcdir=$srcdir ;;
-  *) # Relative name.
-    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_build_prefix$srcdir
-    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-    cd "$ac_dir" || { ac_status=$?; continue; }
-    # Check for guested configure.
-    if test -f "$ac_srcdir/configure.gnu"; then
-      echo &&
-      $SHELL "$ac_srcdir/configure.gnu" --help=recursive
-    elif test -f "$ac_srcdir/configure"; then
-      echo &&
-      $SHELL "$ac_srcdir/configure" --help=recursive
-    else
-      $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
-    fi || ac_status=$?
-    cd "$ac_pwd" || { ac_status=$?; break; }
-  done
-fi
-
-test -n "$ac_init_help" && exit $ac_status
-if $ac_init_version; then
-  cat <<\_ACEOF
-tinydtls configure 0.8.2
-generated by GNU Autoconf 2.69
-
-Copyright (C) 2012 Free Software Foundation, Inc.
-This configure script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it.
-_ACEOF
-  exit
-fi
-
-## ------------------------ ##
-## Autoconf initialization. ##
-## ------------------------ ##
-
-@%:@ ac_fn_c_try_compile LINENO
-@%:@ --------------------------
-@%:@ Try to compile conftest.@S|@ac_ext, and return whether this succeeded.
-ac_fn_c_try_compile ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  rm -f conftest.$ac_objext
-  if { { ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compile") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_retval=1
-fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} @%:@ ac_fn_c_try_compile
-
-@%:@ ac_fn_c_try_run LINENO
-@%:@ ----------------------
-@%:@ Try to link conftest.@S|@ac_ext, and return whether this succeeded. Assumes
-@%:@ that executables *can* be run.
-ac_fn_c_try_run ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-       $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_retval=$ac_status
-fi
-  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} @%:@ ac_fn_c_try_run
-
-@%:@ ac_fn_c_try_cpp LINENO
-@%:@ ----------------------
-@%:@ Try to preprocess conftest.@S|@ac_ext, and return whether this succeeded.
-ac_fn_c_try_cpp ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { { ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } > conftest.i && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-    ac_retval=1
-fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} @%:@ ac_fn_c_try_cpp
-
-@%:@ ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
-@%:@ -------------------------------------------------------
-@%:@ Tests whether HEADER exists and can be compiled using the include files in
-@%:@ INCLUDES, setting the cache variable VAR accordingly.
-ac_fn_c_check_header_compile ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-@%:@include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$3=yes"
-else
-  eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} @%:@ ac_fn_c_check_header_compile
-
-@%:@ ac_fn_c_try_link LINENO
-@%:@ -----------------------
-@%:@ Try to link conftest.@S|@ac_ext, and return whether this succeeded.
-ac_fn_c_try_link ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  rm -f conftest.$ac_objext conftest$ac_exeext
-  if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        test -x conftest$ac_exeext
-       }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_retval=1
-fi
-  # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
-  # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
-  # interfere with the next link command; also delete a directory that is
-  # left behind by Apple's compiler.  We do this before executing the actions.
-  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} @%:@ ac_fn_c_try_link
-
-@%:@ ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
-@%:@ -------------------------------------------------------
-@%:@ Tests whether HEADER exists, giving a warning if it cannot be compiled using
-@%:@ the include files in INCLUDES and setting the cache variable VAR
-@%:@ accordingly.
-ac_fn_c_check_header_mongrel ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if eval \${$3+:} false; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-else
-  # Is the header compilable?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
-$as_echo_n "checking $2 usability... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-@%:@include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_header_compiler=yes
-else
-  ac_header_compiler=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
-$as_echo "$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
-$as_echo_n "checking $2 presence... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-@%:@include <$2>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  ac_header_preproc=yes
-else
-  ac_header_preproc=no
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
-$as_echo "$ac_header_preproc" >&6; }
-
-# So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
-  yes:no: )
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
-$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-    ;;
-  no:yes:* )
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
-$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     check for missing prerequisite headers?" >&5
-$as_echo "$as_me: WARNING: $2:     check for missing prerequisite headers?" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
-$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&5
-$as_echo "$as_me: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-    ;;
-esac
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  eval "$3=\$ac_header_compiler"
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} @%:@ ac_fn_c_check_header_mongrel
-
-@%:@ ac_fn_c_check_type LINENO TYPE VAR INCLUDES
-@%:@ -------------------------------------------
-@%:@ Tests whether TYPE exists after having included INCLUDES, setting cache
-@%:@ variable VAR accordingly.
-ac_fn_c_check_type ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  eval "$3=no"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-if (sizeof ($2))
-        return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-if (sizeof (($2)))
-           return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  
-else
-  eval "$3=yes"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} @%:@ ac_fn_c_check_type
-
-@%:@ ac_fn_c_check_member LINENO AGGR MEMBER VAR INCLUDES
-@%:@ ----------------------------------------------------
-@%:@ Tries to find if the field MEMBER exists in type AGGR, after including
-@%:@ INCLUDES, setting cache variable VAR accordingly.
-ac_fn_c_check_member ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5
-$as_echo_n "checking for $2.$3... " >&6; }
-if eval \${$4+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$5
-int
-main ()
-{
-static $2 ac_aggr;
-if (ac_aggr.$3)
-return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$4=yes"
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$5
-int
-main ()
-{
-static $2 ac_aggr;
-if (sizeof ac_aggr.$3)
-return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$4=yes"
-else
-  eval "$4=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$4
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} @%:@ ac_fn_c_check_member
-
-@%:@ ac_fn_c_check_func LINENO FUNC VAR
-@%:@ ----------------------------------
-@%:@ Tests whether FUNC exists, setting the cache variable VAR accordingly
-ac_fn_c_check_func ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
-   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
-#define $2 innocuous_$2
-
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char $2 (); below.
-    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-    <limits.h> exists even on freestanding compilers.  */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $2
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $2 ();
-/* The GNU C library defines this for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined __stub_$2 || defined __stub___$2
-choke me
-#endif
-
-int
-main ()
-{
-return $2 ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  eval "$3=yes"
-else
-  eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} @%:@ ac_fn_c_check_func
-cat >config.log <<_ACEOF
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-
-It was created by tinydtls $as_me 0.8.2, which was
-generated by GNU Autoconf 2.69.  Invocation command line was
-
-  $ $0 $@
-
-_ACEOF
-exec 5>>config.log
-{
-cat <<_ASUNAME
-## --------- ##
-## Platform. ##
-## --------- ##
-
-hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
-/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`
-
-/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
-/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-/usr/bin/hostinfo      = `(/usr/bin/hostinfo) 2>/dev/null      || echo unknown`
-/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
-/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
-/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
-
-_ASUNAME
-
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    $as_echo "PATH: $as_dir"
-  done
-IFS=$as_save_IFS
-
-} >&5
-
-cat >&5 <<_ACEOF
-
-
-## ----------- ##
-## Core tests. ##
-## ----------- ##
-
-_ACEOF
-
-
-# Keep a trace of the command line.
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Strip out --silent because we don't want to record it for future runs.
-# Also quote any args containing shell meta-characters.
-# Make two passes to allow for proper duplicate-argument suppression.
-ac_configure_args=
-ac_configure_args0=
-ac_configure_args1=
-ac_must_keep_next=false
-for ac_pass in 1 2
-do
-  for ac_arg
-  do
-    case $ac_arg in
-    -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
-    -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-    | -silent | --silent | --silen | --sile | --sil)
-      continue ;;
-    *\'*)
-      ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    esac
-    case $ac_pass in
-    1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
-    2)
-      as_fn_append ac_configure_args1 " '$ac_arg'"
-      if test $ac_must_keep_next = true; then
-       ac_must_keep_next=false # Got value, back to normal.
-      else
-       case $ac_arg in
-         *=* | --config-cache | -C | -disable-* | --disable-* \
-         | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
-         | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
-         | -with-* | --with-* | -without-* | --without-* | --x)
-           case "$ac_configure_args0 " in
-             "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
-           esac
-           ;;
-         -* ) ac_must_keep_next=true ;;
-       esac
-      fi
-      as_fn_append ac_configure_args " '$ac_arg'"
-      ;;
-    esac
-  done
-done
-{ ac_configure_args0=; unset ac_configure_args0;}
-{ ac_configure_args1=; unset ac_configure_args1;}
-
-# When interrupted or exit'd, cleanup temporary files, and complete
-# config.log.  We remove comments because anyway the quotes in there
-# would cause problems or look ugly.
-# WARNING: Use '\'' to represent an apostrophe within the trap.
-# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
-trap 'exit_status=$?
-  # Save into config.log some information that might help in debugging.
-  {
-    echo
-
-    $as_echo "## ---------------- ##
-## Cache variables. ##
-## ---------------- ##"
-    echo
-    # The following way of writing the cache mishandles newlines in values,
-(
-  for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
-    eval ac_val=\$$ac_var
-    case $ac_val in #(
-    *${as_nl}*)
-      case $ac_var in #(
-      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
-      esac
-      case $ac_var in #(
-      _ | IFS | as_nl) ;; #(
-      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
-      *) { eval $ac_var=; unset $ac_var;} ;;
-      esac ;;
-    esac
-  done
-  (set) 2>&1 |
-    case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
-    *${as_nl}ac_space=\ *)
-      sed -n \
-       "s/'\''/'\''\\\\'\'''\''/g;
-         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
-      ;; #(
-    *)
-      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
-      ;;
-    esac |
-    sort
-)
-    echo
-
-    $as_echo "## ----------------- ##
-## Output variables. ##
-## ----------------- ##"
-    echo
-    for ac_var in $ac_subst_vars
-    do
-      eval ac_val=\$$ac_var
-      case $ac_val in
-      *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
-      esac
-      $as_echo "$ac_var='\''$ac_val'\''"
-    done | sort
-    echo
-
-    if test -n "$ac_subst_files"; then
-      $as_echo "## ------------------- ##
-## File substitutions. ##
-## ------------------- ##"
-      echo
-      for ac_var in $ac_subst_files
-      do
-       eval ac_val=\$$ac_var
-       case $ac_val in
-       *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
-       esac
-       $as_echo "$ac_var='\''$ac_val'\''"
-      done | sort
-      echo
-    fi
-
-    if test -s confdefs.h; then
-      $as_echo "## ----------- ##
-## confdefs.h. ##
-## ----------- ##"
-      echo
-      cat confdefs.h
-      echo
-    fi
-    test "$ac_signal" != 0 &&
-      $as_echo "$as_me: caught signal $ac_signal"
-    $as_echo "$as_me: exit $exit_status"
-  } >&5
-  rm -f core *.core core.conftest.* &&
-    rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
-    exit $exit_status
-' 0
-for ac_signal in 1 2 13 15; do
-  trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
-done
-ac_signal=0
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -f -r conftest* confdefs.h
-
-$as_echo "/* confdefs.h */" > confdefs.h
-
-# Predefined preprocessor variables.
-
-cat >>confdefs.h <<_ACEOF
-@%:@define PACKAGE_NAME "$PACKAGE_NAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-@%:@define PACKAGE_TARNAME "$PACKAGE_TARNAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-@%:@define PACKAGE_VERSION "$PACKAGE_VERSION"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-@%:@define PACKAGE_STRING "$PACKAGE_STRING"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-@%:@define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-@%:@define PACKAGE_URL "$PACKAGE_URL"
-_ACEOF
-
-
-# Let the site file select an alternate cache file if it wants to.
-# Prefer an explicitly selected file to automatically selected ones.
-ac_site_file1=NONE
-ac_site_file2=NONE
-if test -n "$CONFIG_SITE"; then
-  # We do not want a PATH search for config.site.
-  case $CONFIG_SITE in @%:@((
-    -*)  ac_site_file1=./$CONFIG_SITE;;
-    */*) ac_site_file1=$CONFIG_SITE;;
-    *)   ac_site_file1=./$CONFIG_SITE;;
-  esac
-elif test "x$prefix" != xNONE; then
-  ac_site_file1=$prefix/share/config.site
-  ac_site_file2=$prefix/etc/config.site
-else
-  ac_site_file1=$ac_default_prefix/share/config.site
-  ac_site_file2=$ac_default_prefix/etc/config.site
-fi
-for ac_site_file in "$ac_site_file1" "$ac_site_file2"
-do
-  test "x$ac_site_file" = xNONE && continue
-  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
-$as_echo "$as_me: loading site script $ac_site_file" >&6;}
-    sed 's/^/| /' "$ac_site_file" >&5
-    . "$ac_site_file" \
-      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "failed to load site script $ac_site_file
-See \`config.log' for more details" "$LINENO" 5; }
-  fi
-done
-
-if test -r "$cache_file"; then
-  # Some versions of bash will fail to source /dev/null (special files
-  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
-  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
-$as_echo "$as_me: loading cache $cache_file" >&6;}
-    case $cache_file in
-      [\\/]* | ?:[\\/]* ) . "$cache_file";;
-      *)                      . "./$cache_file";;
-    esac
-  fi
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
-$as_echo "$as_me: creating cache $cache_file" >&6;}
-  >$cache_file
-fi
-
-# Check that the precious variables saved in the cache have kept the same
-# value.
-ac_cache_corrupted=false
-for ac_var in $ac_precious_vars; do
-  eval ac_old_set=\$ac_cv_env_${ac_var}_set
-  eval ac_new_set=\$ac_env_${ac_var}_set
-  eval ac_old_val=\$ac_cv_env_${ac_var}_value
-  eval ac_new_val=\$ac_env_${ac_var}_value
-  case $ac_old_set,$ac_new_set in
-    set,)
-      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
-      ac_cache_corrupted=: ;;
-    ,set)
-      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
-      ac_cache_corrupted=: ;;
-    ,);;
-    *)
-      if test "x$ac_old_val" != "x$ac_new_val"; then
-       # differences in whitespace do not lead to failure.
-       ac_old_val_w=`echo x $ac_old_val`
-       ac_new_val_w=`echo x $ac_new_val`
-       if test "$ac_old_val_w" != "$ac_new_val_w"; then
-         { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
-$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
-         ac_cache_corrupted=:
-       else
-         { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
-$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
-         eval $ac_var=\$ac_old_val
-       fi
-       { $as_echo "$as_me:${as_lineno-$LINENO}:   former value:  \`$ac_old_val'" >&5
-$as_echo "$as_me:   former value:  \`$ac_old_val'" >&2;}
-       { $as_echo "$as_me:${as_lineno-$LINENO}:   current value: \`$ac_new_val'" >&5
-$as_echo "$as_me:   current value: \`$ac_new_val'" >&2;}
-      fi;;
-  esac
-  # Pass precious variables to config.status.
-  if test "$ac_new_set" = set; then
-    case $ac_new_val in
-    *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
-    *) ac_arg=$ac_var=$ac_new_val ;;
-    esac
-    case " $ac_configure_args " in
-      *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
-      *) as_fn_append ac_configure_args " '$ac_arg'" ;;
-    esac
-  fi
-done
-if $ac_cache_corrupted; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-  { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
-$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
-fi
-## -------------------- ##
-## Main body of script. ##
-## -------------------- ##
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-
-
-
-@%:@ Check whether --with-contiki was given.
-if test "${with_contiki+set}" = set; then :
-  withval=$with_contiki; 
-$as_echo "@%:@define WITH_CONTIKI 1" >>confdefs.h
-
-   WITH_CONTIKI=1
-fi
-
-
-# Extract the first word of "doxygen", so it can be a program name with args.
-set dummy doxygen; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_DOXYGEN+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $DOXYGEN in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_DOXYGEN="$DOXYGEN" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_path_DOXYGEN="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-  test -z "$ac_cv_path_DOXYGEN" && ac_cv_path_DOXYGEN=":"
-  ;;
-esac
-fi
-DOXYGEN=$ac_cv_path_DOXYGEN
-if test -n "$DOXYGEN"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DOXYGEN" >&5
-$as_echo "$DOXYGEN" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-# Extract the first word of "etags", so it can be a program name with args.
-set dummy etags; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_ETAGS+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $ETAGS in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_ETAGS="$ETAGS" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_path_ETAGS="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-  test -z "$ac_cv_path_ETAGS" && ac_cv_path_ETAGS="/bin/false"
-  ;;
-esac
-fi
-ETAGS=$ac_cv_path_ETAGS
-if test -n "$ETAGS"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ETAGS" >&5
-$as_echo "$ETAGS" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-
-if test "${with_contiki}" != "yes" ; then
-# Checks for programs.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
-set x ${MAKE-make}
-ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.make <<\_ACEOF
-SHELL = /bin/sh
-all:
-       @echo '@@@%%%=$(MAKE)=@@@%%%'
-_ACEOF
-# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
-case `${MAKE-make} -f conftest.make 2>/dev/null` in
-  *@@@%%%=?*=@@@%%%*)
-    eval ac_cv_prog_make_${ac_make}_set=yes;;
-  *)
-    eval ac_cv_prog_make_${ac_make}_set=no;;
-esac
-rm -f conftest.make
-fi
-if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-  SET_MAKE=
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-  SET_MAKE="MAKE=${MAKE-make}"
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_CC="${ac_tool_prefix}gcc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_CC"; then
-  ac_ct_CC=$CC
-  # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_CC="gcc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_CC" = x; then
-    CC=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    CC=$ac_ct_CC
-  fi
-else
-  CC="$ac_cv_prog_CC"
-fi
-
-if test -z "$CC"; then
-          if test -n "$ac_tool_prefix"; then
-    # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_CC="${ac_tool_prefix}cc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  fi
-fi
-if test -z "$CC"; then
-  # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-  ac_prog_rejected=no
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
-       ac_prog_rejected=yes
-       continue
-     fi
-    ac_cv_prog_CC="cc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-if test $ac_prog_rejected = yes; then
-  # We found a bogon in the path, so make sure we never use it.
-  set dummy $ac_cv_prog_CC
-  shift
-  if test $@%:@ != 0; then
-    # We chose a different compiler from the bogus one.
-    # However, it has the same basename, so the bogon will be chosen
-    # first if we set CC to just the basename; use the full file name.
-    shift
-    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
-  fi
-fi
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$CC"; then
-  if test -n "$ac_tool_prefix"; then
-  for ac_prog in cl.exe
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-    test -n "$CC" && break
-  done
-fi
-if test -z "$CC"; then
-  ac_ct_CC=$CC
-  for ac_prog in cl.exe
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_CC="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$ac_ct_CC" && break
-done
-
-  if test "x$ac_ct_CC" = x; then
-    CC=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    CC=$ac_ct_CC
-  fi
-fi
-
-fi
-
-
-test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "no acceptable C compiler found in \$PATH
-See \`config.log' for more details" "$LINENO" 5; }
-
-# Provide some information about the compiler.
-$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
-set X $ac_compile
-ac_compiler=$2
-for ac_option in --version -v -V -qversion; do
-  { { ac_try="$ac_compiler $ac_option >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compiler $ac_option >&5") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    sed '10a\
-... rest of stderr output deleted ...
-         10q' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-  fi
-  rm -f conftest.er1 conftest.err
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-done
-
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
-# Try to create an executable without -o first, disregard a.out.
-# It will help us diagnose broken compilers, and finding out an intuition
-# of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-
-# The possible output files:
-ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
-
-ac_rmfiles=
-for ac_file in $ac_files
-do
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
-    * ) ac_rmfiles="$ac_rmfiles $ac_file";;
-  esac
-done
-rm -f $ac_rmfiles
-
-if { { ac_try="$ac_link_default"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link_default") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
-  # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
-# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
-# in a Makefile.  We should not override ac_cv_exeext if it was cached,
-# so that the user can short-circuit this test for compilers unknown to
-# Autoconf.
-for ac_file in $ac_files ''
-do
-  test -f "$ac_file" || continue
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
-       ;;
-    [ab].out )
-       # We found the default executable, but exeext='' is most
-       # certainly right.
-       break;;
-    *.* )
-       if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
-       then :; else
-          ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-       fi
-       # We set ac_cv_exeext here because the later test for it is not
-       # safe: cross compilers may not add the suffix if given an `-o'
-       # argument, so we may need to know it at that point already.
-       # Even if this section looks crufty: it has the advantage of
-       # actually working.
-       break;;
-    * )
-       break;;
-  esac
-done
-test "$ac_cv_exeext" = no && ac_cv_exeext=
-
-else
-  ac_file=''
-fi
-if test -z "$ac_file"; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "C compiler cannot create executables
-See \`config.log' for more details" "$LINENO" 5; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
-ac_exeext=$ac_cv_exeext
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
-$as_echo_n "checking for suffix of executables... " >&6; }
-if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
-  # If both `conftest.exe' and `conftest' are `present' (well, observable)
-# catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will
-# work properly (i.e., refer to `conftest.exe'), while it won't with
-# `rm'.
-for ac_file in conftest.exe conftest conftest.*; do
-  test -f "$ac_file" || continue
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
-    *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-         break;;
-    * ) break;;
-  esac
-done
-else
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest conftest$ac_cv_exeext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
-$as_echo "$ac_cv_exeext" >&6; }
-
-rm -f conftest.$ac_ext
-EXEEXT=$ac_cv_exeext
-ac_exeext=$EXEEXT
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-@%:@include <stdio.h>
-int
-main ()
-{
-FILE *f = fopen ("conftest.out", "w");
- return ferror (f) || fclose (f) != 0;
-
-  ;
-  return 0;
-}
-_ACEOF
-ac_clean_files="$ac_clean_files conftest.out"
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-if test "$cross_compiling" != yes; then
-  { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-  if { ac_try='./conftest$ac_cv_exeext'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-    cross_compiling=no
-  else
-    if test "$cross_compiling" = maybe; then
-       cross_compiling=yes
-    else
-       { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details" "$LINENO" 5; }
-    fi
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
-rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
-$as_echo_n "checking for suffix of object files... " >&6; }
-if ${ac_cv_objext+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.o conftest.obj
-if { { ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compile") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
-  for ac_file in conftest.o conftest.obj conftest.*; do
-  test -f "$ac_file" || continue;
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
-    *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
-       break;;
-  esac
-done
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest.$ac_cv_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
-$as_echo "$ac_cv_objext" >&6; }
-OBJEXT=$ac_cv_objext
-ac_objext=$OBJEXT
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
-$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if ${ac_cv_c_compiler_gnu+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-#ifndef __GNUC__
-       choke me
-#endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_compiler_gnu=yes
-else
-  ac_compiler_gnu=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_c_compiler_gnu=$ac_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
-$as_echo "$ac_cv_c_compiler_gnu" >&6; }
-if test $ac_compiler_gnu = yes; then
-  GCC=yes
-else
-  GCC=
-fi
-ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
-$as_echo_n "checking whether $CC accepts -g... " >&6; }
-if ${ac_cv_prog_cc_g+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_save_c_werror_flag=$ac_c_werror_flag
-   ac_c_werror_flag=yes
-   ac_cv_prog_cc_g=no
-   CFLAGS="-g"
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_g=yes
-else
-  CFLAGS=""
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  
-else
-  ac_c_werror_flag=$ac_save_c_werror_flag
-        CFLAGS="-g"
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_g=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-   ac_c_werror_flag=$ac_save_c_werror_flag
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
-$as_echo "$ac_cv_prog_cc_g" >&6; }
-if test "$ac_test_CFLAGS" = set; then
-  CFLAGS=$ac_save_CFLAGS
-elif test $ac_cv_prog_cc_g = yes; then
-  if test "$GCC" = yes; then
-    CFLAGS="-g -O2"
-  else
-    CFLAGS="-g"
-  fi
-else
-  if test "$GCC" = yes; then
-    CFLAGS="-O2"
-  else
-    CFLAGS=
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
-$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if ${ac_cv_prog_cc_c89+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_prog_cc_c89=no
-ac_save_CC=$CC
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdarg.h>
-#include <stdio.h>
-struct stat;
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
-     char **p;
-     int i;
-{
-  return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
-  char *s;
-  va_list v;
-  va_start (v,p);
-  s = g (p, va_arg (v,int));
-  va_end (v);
-  return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
-   function prototypes and stuff, but not '\xHH' hex character constants.
-   These don't provoke an error unfortunately, instead are silently treated
-   as 'x'.  The following induces an error, until -std is added to get
-   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
-   array size at least.  It's necessary to write '\x00'==0 to get something
-   that's true only with -std.  */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
-   inside strings and character constants.  */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
-
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
-  ;
-  return 0;
-}
-_ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
-       -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
-  CC="$ac_save_CC $ac_arg"
-  if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_c89=$ac_arg
-fi
-rm -f core conftest.err conftest.$ac_objext
-  test "x$ac_cv_prog_cc_c89" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
-
-fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
-  x)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
-  xno)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
-  *)
-    CC="$CC $ac_cv_prog_cc_c89"
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
-$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
-esac
-if test "x$ac_cv_prog_cc_c89" != xno; then :
-  
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_RANLIB+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$RANLIB"; then
-  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
-$as_echo "$RANLIB" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_RANLIB"; then
-  ac_ct_RANLIB=$RANLIB
-  # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_RANLIB"; then
-  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_RANLIB="ranlib"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
-$as_echo "$ac_ct_RANLIB" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_RANLIB" = x; then
-    RANLIB=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    RANLIB=$ac_ct_RANLIB
-  fi
-else
-  RANLIB="$ac_cv_prog_RANLIB"
-fi
-
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
-$as_echo_n "checking how to run the C preprocessor... " >&6; }
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
-  CPP=
-fi
-if test -z "$CPP"; then
-  if ${ac_cv_prog_CPP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-      # Double quotes because CPP needs to be expanded
-    for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
-    do
-      ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-@%:@ifdef __STDC__
-@%:@ include <limits.h>
-@%:@else
-@%:@ include <assert.h>
-@%:@endif
-                    Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  
-else
-  # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-@%:@include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  # Broken: success on invalid input.
-continue
-else
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-  break
-fi
-
-    done
-    ac_cv_prog_CPP=$CPP
-  
-fi
-  CPP=$ac_cv_prog_CPP
-else
-  ac_cv_prog_CPP=$CPP
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
-$as_echo "$CPP" >&6; }
-ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-@%:@ifdef __STDC__
-@%:@ include <limits.h>
-@%:@else
-@%:@ include <assert.h>
-@%:@endif
-                    Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  
-else
-  # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-@%:@include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  # Broken: success on invalid input.
-continue
-else
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-  
-else
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
-$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if ${ac_cv_path_GREP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$GREP"; then
-  ac_path_GREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in grep ggrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-      as_fn_executable_p "$ac_path_GREP" || continue
-# Check for GNU ac_path_GREP and select it if it is found.
-  # Check for GNU $ac_path_GREP
-case `"$ac_path_GREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'GREP' >> "conftest.nl"
-    "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_GREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_GREP="$ac_path_GREP"
-      ac_path_GREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_GREP_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_GREP"; then
-    as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-  fi
-else
-  ac_cv_path_GREP=$GREP
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
-$as_echo "$ac_cv_path_GREP" >&6; }
- GREP="$ac_cv_path_GREP"
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
-$as_echo_n "checking for egrep... " >&6; }
-if ${ac_cv_path_EGREP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
-   then ac_cv_path_EGREP="$GREP -E"
-   else
-     if test -z "$EGREP"; then
-  ac_path_EGREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in egrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-      as_fn_executable_p "$ac_path_EGREP" || continue
-# Check for GNU ac_path_EGREP and select it if it is found.
-  # Check for GNU $ac_path_EGREP
-case `"$ac_path_EGREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'EGREP' >> "conftest.nl"
-    "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_EGREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_EGREP="$ac_path_EGREP"
-      ac_path_EGREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_EGREP_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_EGREP"; then
-    as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-  fi
-else
-  ac_cv_path_EGREP=$EGREP
-fi
-
-   fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
-$as_echo "$ac_cv_path_EGREP" >&6; }
- EGREP="$ac_cv_path_EGREP"
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if ${ac_cv_header_stdc+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_header_stdc=yes
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
-  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "memchr" >/dev/null 2>&1; then :
-  
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "free" >/dev/null 2>&1; then :
-  
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
-  if test "$cross_compiling" = yes; then :
-  :
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
-                  (('a' <= (c) && (c) <= 'i') \
-                    || ('j' <= (c) && (c) <= 'r') \
-                    || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
-  int i;
-  for (i = 0; i < 256; i++)
-    if (XOR (islower (i), ISLOWER (i))
-       || toupper (i) != TOUPPER (i))
-      return 2;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-  
-$as_echo "@%:@define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
-                 inttypes.h stdint.h unistd.h
-do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
-"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-@%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-fi
-
-done
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
-$as_echo_n "checking whether byte ordering is bigendian... " >&6; }
-if ${ac_cv_c_bigendian+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_c_bigendian=unknown
-    # See if we're dealing with a universal compiler.
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifndef __APPLE_CC__
-              not a universal capable compiler
-            #endif
-            typedef int dummy;
-           
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  
-       # Check for potential -arch flags.  It is not universal unless
-       # there are at least two -arch flags with different values.
-       ac_arch=
-       ac_prev=
-       for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do
-        if test -n "$ac_prev"; then
-          case $ac_word in
-            i?86 | x86_64 | ppc | ppc64)
-              if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then
-                ac_arch=$ac_word
-              else
-                ac_cv_c_bigendian=universal
-                break
-              fi
-              ;;
-          esac
-          ac_prev=
-        elif test "x$ac_word" = "x-arch"; then
-          ac_prev=arch
-        fi
-       done
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-    if test $ac_cv_c_bigendian = unknown; then
-      # See if sys/param.h defines the BYTE_ORDER macro.
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
-            #include <sys/param.h>
-          
-int
-main ()
-{
-#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \
-                    && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \
-                    && LITTLE_ENDIAN)
-             bogus endian macros
-            #endif
-          
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  # It does; now see whether it defined to BIG_ENDIAN or not.
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
-               #include <sys/param.h>
-             
-int
-main ()
-{
-#if BYTE_ORDER != BIG_ENDIAN
-                not big endian
-               #endif
-             
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_c_bigendian=yes
-else
-  ac_cv_c_bigendian=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-    fi
-    if test $ac_cv_c_bigendian = unknown; then
-      # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris).
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <limits.h>
-          
-int
-main ()
-{
-#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN)
-             bogus endian macros
-            #endif
-          
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  # It does; now see whether it defined to _BIG_ENDIAN or not.
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <limits.h>
-             
-int
-main ()
-{
-#ifndef _BIG_ENDIAN
-                not big endian
-               #endif
-             
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_c_bigendian=yes
-else
-  ac_cv_c_bigendian=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-    fi
-    if test $ac_cv_c_bigendian = unknown; then
-      # Compile a test program.
-      if test "$cross_compiling" = yes; then :
-  # Try to guess by grepping values from an object file.
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-short int ascii_mm[] =
-                 { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
-               short int ascii_ii[] =
-                 { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
-               int use_ascii (int i) {
-                 return ascii_mm[i] + ascii_ii[i];
-               }
-               short int ebcdic_ii[] =
-                 { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
-               short int ebcdic_mm[] =
-                 { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
-               int use_ebcdic (int i) {
-                 return ebcdic_mm[i] + ebcdic_ii[i];
-               }
-               extern int foo;
-             
-int
-main ()
-{
-return use_ascii (foo) == use_ebcdic (foo);
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then
-             ac_cv_c_bigendian=yes
-           fi
-           if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
-             if test "$ac_cv_c_bigendian" = unknown; then
-               ac_cv_c_bigendian=no
-             else
-               # finding both strings is unlikely to happen, but who knows?
-               ac_cv_c_bigendian=unknown
-             fi
-           fi
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-
-            /* Are we little or big endian?  From Harbison&Steele.  */
-            union
-            {
-              long int l;
-              char c[sizeof (long int)];
-            } u;
-            u.l = 1;
-            return u.c[sizeof (long int) - 1] == 1;
-          
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  ac_cv_c_bigendian=no
-else
-  ac_cv_c_bigendian=yes
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-    fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5
-$as_echo "$ac_cv_c_bigendian" >&6; }
- case $ac_cv_c_bigendian in #(
-   yes)
-     $as_echo "@%:@define WORDS_BIGENDIAN 1" >>confdefs.h
-;; #(
-   no)
-      ;; #(
-   universal)
-       
-$as_echo "@%:@define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
-
-     ;; #(
-   *)
-     as_fn_error $? "unknown endianness
- presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
- esac
-
-
-# Checks for libraries.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing gethostbyname" >&5
-$as_echo_n "checking for library containing gethostbyname... " >&6; }
-if ${ac_cv_search_gethostbyname+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_func_search_save_LIBS=$LIBS
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char gethostbyname ();
-int
-main ()
-{
-return gethostbyname ();
-  ;
-  return 0;
-}
-_ACEOF
-for ac_lib in '' nsl; do
-  if test -z "$ac_lib"; then
-    ac_res="none required"
-  else
-    ac_res=-l$ac_lib
-    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
-  fi
-  if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_search_gethostbyname=$ac_res
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext
-  if ${ac_cv_search_gethostbyname+:} false; then :
-  break
-fi
-done
-if ${ac_cv_search_gethostbyname+:} false; then :
-  
-else
-  ac_cv_search_gethostbyname=no
-fi
-rm conftest.$ac_ext
-LIBS=$ac_func_search_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_gethostbyname" >&5
-$as_echo "$ac_cv_search_gethostbyname" >&6; }
-ac_res=$ac_cv_search_gethostbyname
-if test "$ac_res" != no; then :
-  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
-  
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing socket" >&5
-$as_echo_n "checking for library containing socket... " >&6; }
-if ${ac_cv_search_socket+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_func_search_save_LIBS=$LIBS
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char socket ();
-int
-main ()
-{
-return socket ();
-  ;
-  return 0;
-}
-_ACEOF
-for ac_lib in '' socket; do
-  if test -z "$ac_lib"; then
-    ac_res="none required"
-  else
-    ac_res=-l$ac_lib
-    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
-  fi
-  if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_search_socket=$ac_res
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext
-  if ${ac_cv_search_socket+:} false; then :
-  break
-fi
-done
-if ${ac_cv_search_socket+:} false; then :
-  
-else
-  ac_cv_search_socket=no
-fi
-rm conftest.$ac_ext
-LIBS=$ac_func_search_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_socket" >&5
-$as_echo "$ac_cv_search_socket" >&6; }
-ac_res=$ac_cv_search_socket
-if test "$ac_res" != no; then :
-  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
-  
-fi
-
-fi
-
-
-@%:@ Check whether --with-debug was given.
-if test "${with_debug+set}" = set; then :
-  withval=$with_debug; CPPFLAGS="${CPPFLAGS} -DNDEBUG"
-   NDEBUG=1
-fi
-
-
-
-@%:@ Check whether --with-ecc was given.
-if test "${with_ecc+set}" = set; then :
-  withval=$with_ecc; 
-else
-  
-$as_echo "@%:@define DTLS_ECC 1" >>confdefs.h
-
-   OPT_OBJS="${OPT_OBJS} ecc/ecc.o"
-   DTLS_ECC=1
-fi
-
-
-
-@%:@ Check whether --with-psk was given.
-if test "${with_psk+set}" = set; then :
-  withval=$with_psk; 
-else
-  
-$as_echo "@%:@define DTLS_PSK 1" >>confdefs.h
-
-   DTLS_PSK=1
-fi
-
-
-CPPFLAGS="${CPPFLAGS} -DDTLSv12 -DWITH_SHA256"
-OPT_OBJS="${OPT_OBJS} sha2/sha2.o"
-
-
-
-
-
-
-
-if test "${with_contiki}" = "yes" ; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: skipping header checks for Contiki" >&5
-$as_echo "$as_me: skipping header checks for Contiki" >&6;}
-else
-  # Checks for header files.
-  for ac_header in assert.h arpa/inet.h fcntl.h inttypes.h netdb.h netinet/in.h stddef.h stdint.h stdlib.h string.h strings.h sys/param.h sys/socket.h unistd.h
-do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-@%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-fi
-
-done
-
-
-  for ac_header in sys/time.h time.h
-do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-@%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-fi
-
-done
-
-  for ac_header in sys/types.h sys/stat.h
-do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-@%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-fi
-
-done
-
-
-# Checks for typedefs, structures, and compiler characteristics.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5
-$as_echo_n "checking for inline... " >&6; }
-if ${ac_cv_c_inline+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_c_inline=no
-for ac_kw in inline __inline__ __inline; do
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifndef __cplusplus
-typedef int foo_t;
-static $ac_kw foo_t static_foo () {return 0; }
-$ac_kw foo_t foo () {return 0; }
-#endif
-
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_c_inline=$ac_kw
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  test "$ac_cv_c_inline" != no && break
-done
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5
-$as_echo "$ac_cv_c_inline" >&6; }
-
-case $ac_cv_c_inline in
-  inline | yes) ;;
-  *)
-    case $ac_cv_c_inline in
-      no) ac_val=;;
-      *) ac_val=$ac_cv_c_inline;;
-    esac
-    cat >>confdefs.h <<_ACEOF
-#ifndef __cplusplus
-#define inline $ac_val
-#endif
-_ACEOF
-    ;;
-esac
-
-ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
-if test "x$ac_cv_type_size_t" = xyes; then :
-  
-else
-  
-cat >>confdefs.h <<_ACEOF
-@%:@define size_t unsigned int
-_ACEOF
-
-fi
-
-
-ac_fn_c_check_member "$LINENO" "struct sockaddr_in6" "sin6_len" "ac_cv_member_struct_sockaddr_in6_sin6_len" "#include <netinet/in.h>
-"
-if test "x$ac_cv_member_struct_sockaddr_in6_sin6_len" = xyes; then :
-  
-$as_echo "@%:@define HAVE_SOCKADDR_IN6_SIN6_LEN 1" >>confdefs.h
-
-fi
-
-
-# Checks for library functions.
-for ac_header in stdlib.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "stdlib.h" "ac_cv_header_stdlib_h" "$ac_includes_default"
-if test "x$ac_cv_header_stdlib_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-@%:@define HAVE_STDLIB_H 1
-_ACEOF
-fi
-
-done
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU libc compatible malloc" >&5
-$as_echo_n "checking for GNU libc compatible malloc... " >&6; }
-if ${ac_cv_func_malloc_0_nonnull+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "$cross_compiling" = yes; then :
-  ac_cv_func_malloc_0_nonnull=no
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#if defined STDC_HEADERS || defined HAVE_STDLIB_H
-# include <stdlib.h>
-#else
-char *malloc ();
-#endif
-
-int
-main ()
-{
-return ! malloc (0);
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  ac_cv_func_malloc_0_nonnull=yes
-else
-  ac_cv_func_malloc_0_nonnull=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_malloc_0_nonnull" >&5
-$as_echo "$ac_cv_func_malloc_0_nonnull" >&6; }
-if test $ac_cv_func_malloc_0_nonnull = yes; then :
-  
-$as_echo "@%:@define HAVE_MALLOC 1" >>confdefs.h
-
-else
-  $as_echo "@%:@define HAVE_MALLOC 0" >>confdefs.h
-
-   case " $LIB@&t@OBJS " in
-  *" malloc.$ac_objext "* ) ;;
-  *) LIB@&t@OBJS="$LIB@&t@OBJS malloc.$ac_objext"
- ;;
-esac
-
-   
-$as_echo "@%:@define malloc rpl_malloc" >>confdefs.h
-
-fi
-
-
-for ac_func in memset select socket strdup strerror strnlen fls vprintf
-do :
-  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-@%:@define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-fi
-done
-
-fi
-
-ac_config_headers="$ac_config_headers dtls_config.h tinydtls.h"
-
-
-# Adds Contiki-specific definitions to the end of dtls_config.h
-
-
-ac_config_files="$ac_config_files Makefile doc/Makefile doc/Doxyfile tests/Makefile examples/contiki/Makefile platform-specific/Makefile sha2/Makefile aes/Makefile ecc/Makefile"
-
-cat >confcache <<\_ACEOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs, see configure's option --config-cache.
-# It is not useful on other systems.  If it contains results you don't
-# want to keep, you may remove or edit it.
-#
-# config.status only pays attention to the cache file if you give it
-# the --recheck option to rerun configure.
-#
-# `ac_cv_env_foo' variables (set or unset) will be overridden when
-# loading this file, other *unset* `ac_cv_foo' will be assigned the
-# following values.
-
-_ACEOF
-
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, we kill variables containing newlines.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(
-  for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
-    eval ac_val=\$$ac_var
-    case $ac_val in #(
-    *${as_nl}*)
-      case $ac_var in #(
-      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
-      esac
-      case $ac_var in #(
-      _ | IFS | as_nl) ;; #(
-      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
-      *) { eval $ac_var=; unset $ac_var;} ;;
-      esac ;;
-    esac
-  done
-
-  (set) 2>&1 |
-    case $as_nl`(ac_space=' '; set) 2>&1` in #(
-    *${as_nl}ac_space=\ *)
-      # `set' does not quote correctly, so add quotes: double-quote
-      # substitution turns \\\\ into \\, and sed turns \\ into \.
-      sed -n \
-       "s/'/'\\\\''/g;
-         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
-      ;; #(
-    *)
-      # `set' quotes correctly as required by POSIX, so do not add quotes.
-      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
-      ;;
-    esac |
-    sort
-) |
-  sed '
-     /^ac_cv_env_/b end
-     t clear
-     :clear
-     s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
-     t end
-     s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
-     :end' >>confcache
-if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
-  if test -w "$cache_file"; then
-    if test "x$cache_file" != "x/dev/null"; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
-$as_echo "$as_me: updating cache $cache_file" >&6;}
-      if test ! -f "$cache_file" || test -h "$cache_file"; then
-       cat confcache >"$cache_file"
-      else
-        case $cache_file in #(
-        */* | ?:*)
-         mv -f confcache "$cache_file"$$ &&
-         mv -f "$cache_file"$$ "$cache_file" ;; #(
-        *)
-         mv -f confcache "$cache_file" ;;
-       esac
-      fi
-    fi
-  else
-    { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
-$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
-  fi
-fi
-rm -f confcache
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-DEFS=-DHAVE_CONFIG_H
-
-ac_libobjs=
-ac_ltlibobjs=
-U=
-for ac_i in : $LIB@&t@OBJS; do test "x$ac_i" = x: && continue
-  # 1. Remove the extension, and $U if already installed.
-  ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
-  ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
-  # 2. Prepend LIBOBJDIR.  When used with automake>=1.10 LIBOBJDIR
-  #    will be set to the directory where LIBOBJS objects are built.
-  as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
-  as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
-done
-LIB@&t@OBJS=$ac_libobjs
-
-LTLIBOBJS=$ac_ltlibobjs
-
-
-
-
-: "${CONFIG_STATUS=./config.status}"
-ac_write_fail=0
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
-$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
-as_write_fail=0
-cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
-#! $SHELL
-# Generated by $as_me.
-# Run this file to recreate the current configuration.
-# Compiler output produced by configure, useful for debugging
-# configure, is in config.log if it exists.
-
-debug=false
-ac_cs_recheck=false
-ac_cs_silent=false
-
-SHELL=\${CONFIG_SHELL-$SHELL}
-export SHELL
-_ASEOF
-cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in @%:@(
-  *posix*) :
-    set -o posix ;; @%:@(
-  *) :
-     ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
-    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='print -r --'
-  as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='printf %s\n'
-  as_echo_n='printf %s'
-else
-  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
-    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
-    as_echo_n='/usr/ucb/echo -n'
-  else
-    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
-    as_echo_n_body='eval
-      arg=$1;
-      case $arg in @%:@(
-      *"$as_nl"*)
-       expr "X$arg" : "X\\(.*\\)$as_nl";
-       arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
-      esac;
-      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
-    '
-    export as_echo_n_body
-    as_echo_n='sh -c $as_echo_n_body as_echo'
-  fi
-  export as_echo_body
-  as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  PATH_SEPARATOR=:
-  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
-    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
-      PATH_SEPARATOR=';'
-  }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.  Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" ""       $as_nl"
-
-# Find who we are.  Look in the path if we contain no directory separator.
-as_myself=
-case $0 in @%:@((
-  *[\\/]* ) as_myself=$0 ;;
-  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-  done
-IFS=$as_save_IFS
-
-     ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
-  as_myself=$0
-fi
-if test ! -f "$as_myself"; then
-  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
-  exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there.  '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
-  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-
-@%:@ as_fn_error STATUS ERROR [LINENO LOG_FD]
-@%:@ ----------------------------------------
-@%:@ Output "`basename @S|@0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-@%:@ provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-@%:@ script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
-  as_status=$1; test $as_status -eq 0 && as_status=1
-  if test "$4"; then
-    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
-  fi
-  $as_echo "$as_me: error: $2" >&2
-  as_fn_exit $as_status
-} @%:@ as_fn_error
-
-
-@%:@ as_fn_set_status STATUS
-@%:@ -----------------------
-@%:@ Set @S|@? to STATUS, without forking.
-as_fn_set_status ()
-{
-  return $1
-} @%:@ as_fn_set_status
-
-@%:@ as_fn_exit STATUS
-@%:@ -----------------
-@%:@ Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
-  set +e
-  as_fn_set_status $1
-  exit $1
-} @%:@ as_fn_exit
-
-@%:@ as_fn_unset VAR
-@%:@ ---------------
-@%:@ Portably unset VAR.
-as_fn_unset ()
-{
-  { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-@%:@ as_fn_append VAR VALUE
-@%:@ ----------------------
-@%:@ Append the text in VALUE to the end of the definition contained in VAR. Take
-@%:@ advantage of any shell optimizations that allow amortized linear growth over
-@%:@ repeated appends, instead of the typical quadratic growth present in naive
-@%:@ implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
-  eval 'as_fn_append ()
-  {
-    eval $1+=\$2
-  }'
-else
-  as_fn_append ()
-  {
-    eval $1=\$$1\$2
-  }
-fi # as_fn_append
-
-@%:@ as_fn_arith ARG...
-@%:@ ------------------
-@%:@ Perform arithmetic evaluation on the ARGs, and store the result in the
-@%:@ global @S|@as_val. Take advantage of shells that can avoid forks. The arguments
-@%:@ must be portable across @S|@(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
-  eval 'as_fn_arith ()
-  {
-    as_val=$(( $* ))
-  }'
-else
-  as_fn_arith ()
-  {
-    as_val=`expr "$@" || test $? -eq 1`
-  }
-fi # as_fn_arith
-
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
-   test "X`expr 00001 : '.*\(...\)'`" = X001; then
-  as_expr=expr
-else
-  as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
-  as_basename=basename
-else
-  as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
-  as_dirname=dirname
-else
-  as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
-        X"$0" : 'X\(//\)$' \| \
-        X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
-    sed '/^.*\/\([^/][^/]*\)\/*$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in @%:@(((((
--n*)
-  case `echo 'xy\c'` in
-  *c*) ECHO_T='        ';;     # ECHO_T is single tab character.
-  xy)  ECHO_C='\c';;
-  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
-       ECHO_T='        ';;
-  esac;;
-*)
-  ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
-  rm -f conf$$.dir/conf$$.file
-else
-  rm -f conf$$.dir
-  mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
-  if ln -s conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s='ln -s'
-    # ... but there are two gotchas:
-    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
-    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -pR'.
-    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -pR'
-  elif ln conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s=ln
-  else
-    as_ln_s='cp -pR'
-  fi
-else
-  as_ln_s='cp -pR'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-
-@%:@ as_fn_mkdir_p
-@%:@ -------------
-@%:@ Create "@S|@as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
-  case $as_dir in #(
-  -*) as_dir=./$as_dir;;
-  esac
-  test -d "$as_dir" || eval $as_mkdir_p || {
-    as_dirs=
-    while :; do
-      case $as_dir in #(
-      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
-      *) as_qdir=$as_dir;;
-      esac
-      as_dirs="'$as_qdir' $as_dirs"
-      as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$as_dir" : 'X\(//\)[^/]' \| \
-        X"$as_dir" : 'X\(//\)$' \| \
-        X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-      test -d "$as_dir" && break
-    done
-    test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} @%:@ as_fn_mkdir_p
-if mkdir -p . 2>/dev/null; then
-  as_mkdir_p='mkdir -p "$as_dir"'
-else
-  test -d ./-p && rmdir ./-p
-  as_mkdir_p=false
-fi
-
-
-@%:@ as_fn_executable_p FILE
-@%:@ -----------------------
-@%:@ Test if FILE is an executable regular file.
-as_fn_executable_p ()
-{
-  test -f "$1" && test -x "$1"
-} @%:@ as_fn_executable_p
-as_test_x='test -x'
-as_executable_p=as_fn_executable_p
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-exec 6>&1
-## ----------------------------------- ##
-## Main body of $CONFIG_STATUS script. ##
-## ----------------------------------- ##
-_ASEOF
-test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# Save the log message, to keep $0 and so on meaningful, and to
-# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling.
-ac_log="
-This file was extended by tinydtls $as_me 0.8.2, which was
-generated by GNU Autoconf 2.69.  Invocation command line was
-
-  CONFIG_FILES    = $CONFIG_FILES
-  CONFIG_HEADERS  = $CONFIG_HEADERS
-  CONFIG_LINKS    = $CONFIG_LINKS
-  CONFIG_COMMANDS = $CONFIG_COMMANDS
-  $ $0 $@
-
-on `(hostname || uname -n) 2>/dev/null | sed 1q`
-"
-
-_ACEOF
-
-case $ac_config_files in *"
-"*) set x $ac_config_files; shift; ac_config_files=$*;;
-esac
-
-case $ac_config_headers in *"
-"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
-esac
-
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-# Files that config.status was made for.
-config_files="$ac_config_files"
-config_headers="$ac_config_headers"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-ac_cs_usage="\
-\`$as_me' instantiates files and other configuration actions
-from templates according to the current configuration.  Unless the files
-and actions are specified as TAGs, all are instantiated by default.
-
-Usage: $0 [OPTION]... [TAG]...
-
-  -h, --help       print this help, then exit
-  -V, --version    print version number and configuration settings, then exit
-      --config     print configuration, then exit
-  -q, --quiet, --silent
-                   do not print progress messages
-  -d, --debug      don't remove temporary files
-      --recheck    update $as_me by reconfiguring in the same conditions
-      --file=FILE[:TEMPLATE] 
-                   instantiate the configuration file FILE
-      --header=FILE[:TEMPLATE] 
-                   instantiate the configuration header FILE
-
-Configuration files:
-$config_files
-
-Configuration headers:
-$config_headers
-
-Report bugs to the package provider."
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
-ac_cs_version="\\
-tinydtls config.status 0.8.2
-configured by $0, generated by GNU Autoconf 2.69,
-  with options \\"\$ac_cs_config\\"
-
-Copyright (C) 2012 Free Software Foundation, Inc.
-This config.status script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it."
-
-ac_pwd='$ac_pwd'
-srcdir='$srcdir'
-test -n "\$AWK" || AWK=awk
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# The default lists apply if the user does not specify any file.
-ac_need_defaults=:
-while test $# != 0
-do
-  case $1 in
-  --*=?*)
-    ac_option=`expr "X$1" : 'X\([^=]*\)='`
-    ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
-    ac_shift=:
-    ;;
-  --*=)
-    ac_option=`expr "X$1" : 'X\([^=]*\)='`
-    ac_optarg=
-    ac_shift=:
-    ;;
-  *)
-    ac_option=$1
-    ac_optarg=$2
-    ac_shift=shift
-    ;;
-  esac
-
-  case $ac_option in
-  # Handling of the options.
-  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
-    ac_cs_recheck=: ;;
-  --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
-    $as_echo "$ac_cs_version"; exit ;;
-  --config | --confi | --conf | --con | --co | --c )
-    $as_echo "$ac_cs_config"; exit ;;
-  --debug | --debu | --deb | --de | --d | -d )
-    debug=: ;;
-  --file | --fil | --fi | --f )
-    $ac_shift
-    case $ac_optarg in
-    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    '') as_fn_error $? "missing file argument" ;;
-    esac
-    as_fn_append CONFIG_FILES " '$ac_optarg'"
-    ac_need_defaults=false;;
-  --header | --heade | --head | --hea )
-    $ac_shift
-    case $ac_optarg in
-    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    esac
-    as_fn_append CONFIG_HEADERS " '$ac_optarg'"
-    ac_need_defaults=false;;
-  --he | --h)
-    # Conflict between --help and --header
-    as_fn_error $? "ambiguous option: \`$1'
-Try \`$0 --help' for more information.";;
-  --help | --hel | -h )
-    $as_echo "$ac_cs_usage"; exit ;;
-  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-  | -silent | --silent | --silen | --sile | --sil | --si | --s)
-    ac_cs_silent=: ;;
-
-  # This is an error.
-  -*) as_fn_error $? "unrecognized option: \`$1'
-Try \`$0 --help' for more information." ;;
-
-  *) as_fn_append ac_config_targets " $1"
-     ac_need_defaults=false ;;
-
-  esac
-  shift
-done
-
-ac_configure_extra_args=
-
-if $ac_cs_silent; then
-  exec 6>/dev/null
-  ac_configure_extra_args="$ac_configure_extra_args --silent"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-if \$ac_cs_recheck; then
-  set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
-  shift
-  \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
-  CONFIG_SHELL='$SHELL'
-  export CONFIG_SHELL
-  exec "\$@"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-exec 5>>config.log
-{
-  echo
-  sed 'h;s/./-/g;s/^.../@%:@@%:@ /;s/...$/ @%:@@%:@/;p;x;p;x' <<_ASBOX
-@%:@@%:@ Running $as_me. @%:@@%:@
-_ASBOX
-  $as_echo "$ac_log"
-} >&5
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-
-# Handling of arguments.
-for ac_config_target in $ac_config_targets
-do
-  case $ac_config_target in
-    "dtls_config.h") CONFIG_HEADERS="$CONFIG_HEADERS dtls_config.h" ;;
-    "tinydtls.h") CONFIG_HEADERS="$CONFIG_HEADERS tinydtls.h" ;;
-    "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
-    "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
-    "doc/Doxyfile") CONFIG_FILES="$CONFIG_FILES doc/Doxyfile" ;;
-    "tests/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;;
-    "examples/contiki/Makefile") CONFIG_FILES="$CONFIG_FILES examples/contiki/Makefile" ;;
-    "platform-specific/Makefile") CONFIG_FILES="$CONFIG_FILES platform-specific/Makefile" ;;
-    "sha2/Makefile") CONFIG_FILES="$CONFIG_FILES sha2/Makefile" ;;
-    "aes/Makefile") CONFIG_FILES="$CONFIG_FILES aes/Makefile" ;;
-    "ecc/Makefile") CONFIG_FILES="$CONFIG_FILES ecc/Makefile" ;;
-
-  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
-  esac
-done
-
-
-# If the user did not use the arguments to specify the items to instantiate,
-# then the envvar interface is used.  Set only those that are not.
-# We use the long form for the default assignment because of an extremely
-# bizarre bug on SunOS 4.1.3.
-if $ac_need_defaults; then
-  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
-  test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
-fi
-
-# Have a temporary directory for convenience.  Make it in the build tree
-# simply because there is no reason against having it here, and in addition,
-# creating and moving files from /tmp can sometimes cause problems.
-# Hook for its removal unless debugging.
-# Note that there is a small window in which the directory will not be cleaned:
-# after its creation but before its name has been assigned to `$tmp'.
-$debug ||
-{
-  tmp= ac_tmp=
-  trap 'exit_status=$?
-  : "${ac_tmp:=$tmp}"
-  { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
-' 0
-  trap 'as_fn_exit 1' 1 2 13 15
-}
-# Create a (secure) tmp directory for tmp files.
-
-{
-  tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
-  test -d "$tmp"
-}  ||
-{
-  tmp=./conf$$-$RANDOM
-  (umask 077 && mkdir "$tmp")
-} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
-ac_tmp=$tmp
-
-# Set up the scripts for CONFIG_FILES section.
-# No need to generate them if there are no CONFIG_FILES.
-# This happens for instance with `./config.status config.h'.
-if test -n "$CONFIG_FILES"; then
-
-
-ac_cr=`echo X | tr X '\015'`
-# On cygwin, bash can eat \r inside `` if the user requested igncr.
-# But we know of no other shell where ac_cr would be empty at this
-# point, so we can use a bashism as a fallback.
-if test "x$ac_cr" = x; then
-  eval ac_cr=\$\'\\r\'
-fi
-ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
-if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
-  ac_cs_awk_cr='\\r'
-else
-  ac_cs_awk_cr=$ac_cr
-fi
-
-echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
-_ACEOF
-
-
-{
-  echo "cat >conf$$subs.awk <<_ACEOF" &&
-  echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
-  echo "_ACEOF"
-} >conf$$subs.sh ||
-  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
-ac_delim='%!_!# '
-for ac_last_try in false false false false false :; do
-  . ./conf$$subs.sh ||
-    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-
-  ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
-  if test $ac_delim_n = $ac_delim_num; then
-    break
-  elif $ac_last_try; then
-    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-  else
-    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
-  fi
-done
-rm -f conf$$subs.sh
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
-_ACEOF
-sed -n '
-h
-s/^/S["/; s/!.*/"]=/
-p
-g
-s/^[^!]*!//
-:repl
-t repl
-s/'"$ac_delim"'$//
-t delim
-:nl
-h
-s/\(.\{148\}\)..*/\1/
-t more1
-s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
-p
-n
-b repl
-:more1
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t nl
-:delim
-h
-s/\(.\{148\}\)..*/\1/
-t more2
-s/["\\]/\\&/g; s/^/"/; s/$/"/
-p
-b
-:more2
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t delim
-' <conf$$subs.awk | sed '
-/^[^""]/{
-  N
-  s/\n//
-}
-' >>$CONFIG_STATUS || ac_write_fail=1
-rm -f conf$$subs.awk
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-_ACAWK
-cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
-  for (key in S) S_is_set[key] = 1
-  FS = "\a"
-
-}
-{
-  line = $ 0
-  nfields = split(line, field, "@")
-  substed = 0
-  len = length(field[1])
-  for (i = 2; i < nfields; i++) {
-    key = field[i]
-    keylen = length(key)
-    if (S_is_set[key]) {
-      value = S[key]
-      line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
-      len += length(value) + length(field[++i])
-      substed = 1
-    } else
-      len += 1 + keylen
-  }
-
-  print line
-}
-
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
-  sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
-else
-  cat
-fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
-  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
-_ACEOF
-
-# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
-# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
-# trailing colons and then remove the whole line if VPATH becomes empty
-# (actually we leave an empty line to preserve line numbers).
-if test "x$srcdir" = x.; then
-  ac_vpsub='/^[         ]*VPATH[        ]*=[    ]*/{
-h
-s///
-s/^/:/
-s/[     ]*$/:/
-s/:\$(srcdir):/:/g
-s/:\${srcdir}:/:/g
-s/:@srcdir@:/:/g
-s/^:*//
-s/:*$//
-x
-s/\(=[  ]*\).*/\1/
-G
-s/\n//
-s/^[^=]*=[      ]*$//
-}'
-fi
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-fi # test -n "$CONFIG_FILES"
-
-# Set up the scripts for CONFIG_HEADERS section.
-# No need to generate them if there are no CONFIG_HEADERS.
-# This happens for instance with `./config.status Makefile'.
-if test -n "$CONFIG_HEADERS"; then
-cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
-BEGIN {
-_ACEOF
-
-# Transform confdefs.h into an awk script `defines.awk', embedded as
-# here-document in config.status, that substitutes the proper values into
-# config.h.in to produce config.h.
-
-# Create a delimiter string that does not exist in confdefs.h, to ease
-# handling of long lines.
-ac_delim='%!_!# '
-for ac_last_try in false false :; do
-  ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
-  if test -z "$ac_tt"; then
-    break
-  elif $ac_last_try; then
-    as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
-  else
-    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
-  fi
-done
-
-# For the awk script, D is an array of macro values keyed by name,
-# likewise P contains macro parameters if any.  Preserve backslash
-# newline sequences.
-
-ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
-sed -n '
-s/.\{148\}/&'"$ac_delim"'/g
-t rset
-:rset
-s/^[    ]*#[    ]*define[       ][      ]*/ /
-t def
-d
-:def
-s/\\$//
-t bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[    ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3"/p
-s/^ \('"$ac_word_re"'\)[        ]*\(.*\)/D["\1"]=" \2"/p
-d
-:bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[    ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3\\\\\\n"\\/p
-t cont
-s/^ \('"$ac_word_re"'\)[        ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
-t cont
-d
-:cont
-n
-s/.\{148\}/&'"$ac_delim"'/g
-t clear
-:clear
-s/\\$//
-t bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/"/p
-d
-:bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
-b cont
-' <confdefs.h | sed '
-s/'"$ac_delim"'/"\\\
-"/g' >>$CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-  for (key in D) D_is_set[key] = 1
-  FS = "\a"
-}
-/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
-  line = \$ 0
-  split(line, arg, " ")
-  if (arg[1] == "#") {
-    defundef = arg[2]
-    mac1 = arg[3]
-  } else {
-    defundef = substr(arg[1], 2)
-    mac1 = arg[2]
-  }
-  split(mac1, mac2, "(") #)
-  macro = mac2[1]
-  prefix = substr(line, 1, index(line, defundef) - 1)
-  if (D_is_set[macro]) {
-    # Preserve the white space surrounding the "#".
-    print prefix "define", macro P[macro] D[macro]
-    next
-  } else {
-    # Replace #undef with comments.  This is necessary, for example,
-    # in the case of _POSIX_SOURCE, which is predefined and required
-    # on some systems where configure will not decide to define it.
-    if (defundef == "undef") {
-      print "/*", prefix defundef, macro, "*/"
-      next
-    }
-  }
-}
-{ print }
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-  as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
-fi # test -n "$CONFIG_HEADERS"
-
-
-eval set X "  :F $CONFIG_FILES  :H $CONFIG_HEADERS    "
-shift
-for ac_tag
-do
-  case $ac_tag in
-  :[FHLC]) ac_mode=$ac_tag; continue;;
-  esac
-  case $ac_mode$ac_tag in
-  :[FHL]*:*);;
-  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
-  :[FH]-) ac_tag=-:-;;
-  :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
-  esac
-  ac_save_IFS=$IFS
-  IFS=:
-  set x $ac_tag
-  IFS=$ac_save_IFS
-  shift
-  ac_file=$1
-  shift
-
-  case $ac_mode in
-  :L) ac_source=$1;;
-  :[FH])
-    ac_file_inputs=
-    for ac_f
-    do
-      case $ac_f in
-      -) ac_f="$ac_tmp/stdin";;
-      *) # Look for the file first in the build tree, then in the source tree
-        # (if the path is not absolute).  The absolute path cannot be DOS-style,
-        # because $ac_f cannot contain `:'.
-        test -f "$ac_f" ||
-          case $ac_f in
-          [\\/$]*) false;;
-          *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
-          esac ||
-          as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
-      esac
-      case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
-      as_fn_append ac_file_inputs " '$ac_f'"
-    done
-
-    # Let's still pretend it is `configure' which instantiates (i.e., don't
-    # use $as_me), people would be surprised to read:
-    #    /* config.h.  Generated by config.status.  */
-    configure_input='Generated from '`
-         $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
-       `' by configure.'
-    if test x"$ac_file" != x-; then
-      configure_input="$ac_file.  $configure_input"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
-$as_echo "$as_me: creating $ac_file" >&6;}
-    fi
-    # Neutralize special characters interpreted by sed in replacement strings.
-    case $configure_input in #(
-    *\&* | *\|* | *\\* )
-       ac_sed_conf_input=`$as_echo "$configure_input" |
-       sed 's/[\\\\&|]/\\\\&/g'`;; #(
-    *) ac_sed_conf_input=$configure_input;;
-    esac
-
-    case $ac_tag in
-    *:-:* | *:-) cat >"$ac_tmp/stdin" \
-      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
-    esac
-    ;;
-  esac
-
-  ac_dir=`$as_dirname -- "$ac_file" ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$ac_file" : 'X\(//\)[^/]' \| \
-        X"$ac_file" : 'X\(//\)$' \| \
-        X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$ac_file" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-  as_dir="$ac_dir"; as_fn_mkdir_p
-  ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
-  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
-  # A ".." for each directory in $ac_dir_suffix.
-  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
-  case $ac_top_builddir_sub in
-  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
-  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
-  esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
-  .)  # We are building in place.
-    ac_srcdir=.
-    ac_top_srcdir=$ac_top_builddir_sub
-    ac_abs_top_srcdir=$ac_pwd ;;
-  [\\/]* | ?:[\\/]* )  # Absolute name.
-    ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir
-    ac_abs_top_srcdir=$srcdir ;;
-  *) # Relative name.
-    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_build_prefix$srcdir
-    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-
-  case $ac_mode in
-  :F)
-  #
-  # CONFIG_FILE
-  #
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# If the template does not know about datarootdir, expand it.
-# FIXME: This hack should be removed a few years after 2.60.
-ac_datarootdir_hack=; ac_datarootdir_seen=
-ac_sed_dataroot='
-/datarootdir/ {
-  p
-  q
-}
-/@datadir@/p
-/@docdir@/p
-/@infodir@/p
-/@localedir@/p
-/@mandir@/p'
-case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
-*datarootdir*) ac_datarootdir_seen=yes;;
-*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
-$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-  ac_datarootdir_hack='
-  s&@datadir@&$datadir&g
-  s&@docdir@&$docdir&g
-  s&@infodir@&$infodir&g
-  s&@localedir@&$localedir&g
-  s&@mandir@&$mandir&g
-  s&\\\${datarootdir}&$datarootdir&g' ;;
-esac
-_ACEOF
-
-# Neutralize VPATH when `$srcdir' = `.'.
-# Shell code in configure.ac might set extrasub.
-# FIXME: do we really want to maintain this feature?
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_sed_extra="$ac_vpsub
-$extrasub
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-:t
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s|@configure_input@|$ac_sed_conf_input|;t t
-s&@top_builddir@&$ac_top_builddir_sub&;t t
-s&@top_build_prefix@&$ac_top_build_prefix&;t t
-s&@srcdir@&$ac_srcdir&;t t
-s&@abs_srcdir@&$ac_abs_srcdir&;t t
-s&@top_srcdir@&$ac_top_srcdir&;t t
-s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
-s&@builddir@&$ac_builddir&;t t
-s&@abs_builddir@&$ac_abs_builddir&;t t
-s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
-$ac_datarootdir_hack
-"
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
-  >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-
-test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
-  { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
-  { ac_out=`sed -n '/^[         ]*datarootdir[  ]*:*=/p' \
-      "$ac_tmp/out"`; test -z "$ac_out"; } &&
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined" >&5
-$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined" >&2;}
-
-  rm -f "$ac_tmp/stdin"
-  case $ac_file in
-  -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
-  *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
-  esac \
-  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- ;;
-  :H)
-  #
-  # CONFIG_HEADER
-  #
-  if test x"$ac_file" != x-; then
-    {
-      $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
-    } >"$ac_tmp/config.h" \
-      || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-    if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
-$as_echo "$as_me: $ac_file is unchanged" >&6;}
-    else
-      rm -f "$ac_file"
-      mv "$ac_tmp/config.h" "$ac_file" \
-       || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-    fi
-  else
-    $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
-      || as_fn_error $? "could not create -" "$LINENO" 5
-  fi
- ;;
-  
-  
-  esac
-
-done # for ac_tag
-
-
-as_fn_exit 0
-_ACEOF
-ac_clean_files=$ac_clean_files_save
-
-test $ac_write_fail = 0 ||
-  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
-
-
-# configure is writing to config.log, and then calls config.status.
-# config.status does its own redirection, appending to config.log.
-# Unfortunately, on DOS this fails, as config.log is still kept open
-# by configure, so config.status won't be able to write to it; its
-# output is simply discarded.  So we exec the FD to /dev/null,
-# effectively closing config.log, so it can be properly (re)opened and
-# appended to by config.status.  When coming back to configure, we
-# need to make the FD available again.
-if test "$no_create" != yes; then
-  ac_cs_success=:
-  ac_config_status_args=
-  test "$silent" = yes &&
-    ac_config_status_args="$ac_config_status_args --quiet"
-  exec 5>/dev/null
-  $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
-  exec 5>>config.log
-  # Use ||, not &&, to avoid exiting from the if with $? = 1, which
-  # would make configure fail if this is the last instruction.
-  $ac_cs_success || as_fn_exit 1
-fi
-if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
-$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
-fi
-
diff --git a/external/wakaama/examples/shared/tinydtls/autom4te.cache/output.1 b/external/wakaama/examples/shared/tinydtls/autom4te.cache/output.1
deleted file mode 100644 (file)
index 7ccf190..0000000
+++ /dev/null
@@ -1,5483 +0,0 @@
-@%:@! /bin/sh
-@%:@ Guess values for system-dependent variables and create Makefiles.
-@%:@ Generated by GNU Autoconf 2.69 for tinydtls 0.8.2.
-@%:@ 
-@%:@ 
-@%:@ Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
-@%:@ 
-@%:@ 
-@%:@ This configure script is free software; the Free Software Foundation
-@%:@ gives unlimited permission to copy, distribute and modify it.
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in @%:@(
-  *posix*) :
-    set -o posix ;; @%:@(
-  *) :
-     ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
-    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='print -r --'
-  as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='printf %s\n'
-  as_echo_n='printf %s'
-else
-  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
-    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
-    as_echo_n='/usr/ucb/echo -n'
-  else
-    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
-    as_echo_n_body='eval
-      arg=$1;
-      case $arg in @%:@(
-      *"$as_nl"*)
-       expr "X$arg" : "X\\(.*\\)$as_nl";
-       arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
-      esac;
-      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
-    '
-    export as_echo_n_body
-    as_echo_n='sh -c $as_echo_n_body as_echo'
-  fi
-  export as_echo_body
-  as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  PATH_SEPARATOR=:
-  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
-    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
-      PATH_SEPARATOR=';'
-  }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.  Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" ""       $as_nl"
-
-# Find who we are.  Look in the path if we contain no directory separator.
-as_myself=
-case $0 in @%:@((
-  *[\\/]* ) as_myself=$0 ;;
-  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-  done
-IFS=$as_save_IFS
-
-     ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
-  as_myself=$0
-fi
-if test ! -f "$as_myself"; then
-  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
-  exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there.  '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
-  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-# Use a proper internal environment variable to ensure we don't fall
-  # into an infinite loop, continuously re-executing ourselves.
-  if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
-    _as_can_reexec=no; export _as_can_reexec;
-    # We cannot yet assume a decent shell, so we have to provide a
-# neutralization value for shells without unset; and this also
-# works around shells that cannot unset nonexistent variables.
-# Preserve -v and -x to the replacement shell.
-BASH_ENV=/dev/null
-ENV=/dev/null
-(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-case $- in @%:@ ((((
-  *v*x* | *x*v* ) as_opts=-vx ;;
-  *v* ) as_opts=-v ;;
-  *x* ) as_opts=-x ;;
-  * ) as_opts= ;;
-esac
-exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
-# Admittedly, this is quite paranoid, since all the known shells bail
-# out after a failed `exec'.
-$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
-as_fn_exit 255
-  fi
-  # We don't want this to propagate to other subprocesses.
-          { _as_can_reexec=; unset _as_can_reexec;}
-if test "x$CONFIG_SHELL" = x; then
-  as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '\${1+\"\$@\"}'='\"\$@\"'
-  setopt NO_GLOB_SUBST
-else
-  case \`(set -o) 2>/dev/null\` in @%:@(
-  *posix*) :
-    set -o posix ;; @%:@(
-  *) :
-     ;;
-esac
-fi
-"
-  as_required="as_fn_return () { (exit \$1); }
-as_fn_success () { as_fn_return 0; }
-as_fn_failure () { as_fn_return 1; }
-as_fn_ret_success () { return 0; }
-as_fn_ret_failure () { return 1; }
-
-exitcode=0
-as_fn_success || { exitcode=1; echo as_fn_success failed.; }
-as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
-as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
-as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
-if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
-  
-else
-  exitcode=1; echo positional parameters were not saved.
-fi
-test x\$exitcode = x0 || exit 1
-test -x / || exit 1"
-  as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
-  as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
-  eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
-  test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
-test \$(( 1 + 1 )) = 2 || exit 1"
-  if (eval "$as_required") 2>/dev/null; then :
-  as_have_required=yes
-else
-  as_have_required=no
-fi
-  if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
-  
-else
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-as_found=false
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  as_found=:
-  case $as_dir in @%:@(
-        /*)
-          for as_base in sh bash ksh sh5; do
-            # Try only shells that exist, to save several forks.
-            as_shell=$as_dir/$as_base
-            if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
-                   { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
-  CONFIG_SHELL=$as_shell as_have_required=yes
-                  if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
-  break 2
-fi
-fi
-          done;;
-       esac
-  as_found=false
-done
-$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
-             { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
-  CONFIG_SHELL=$SHELL as_have_required=yes
-fi; }
-IFS=$as_save_IFS
-
-
-      if test "x$CONFIG_SHELL" != x; then :
-  export CONFIG_SHELL
-             # We cannot yet assume a decent shell, so we have to provide a
-# neutralization value for shells without unset; and this also
-# works around shells that cannot unset nonexistent variables.
-# Preserve -v and -x to the replacement shell.
-BASH_ENV=/dev/null
-ENV=/dev/null
-(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-case $- in @%:@ ((((
-  *v*x* | *x*v* ) as_opts=-vx ;;
-  *v* ) as_opts=-v ;;
-  *x* ) as_opts=-x ;;
-  * ) as_opts= ;;
-esac
-exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
-# Admittedly, this is quite paranoid, since all the known shells bail
-# out after a failed `exec'.
-$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
-exit 255
-fi
-
-    if test x$as_have_required = xno; then :
-  $as_echo "$0: This script requires a shell more modern than all"
-  $as_echo "$0: the shells that I found on your system."
-  if test x${ZSH_VERSION+set} = xset ; then
-    $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
-    $as_echo "$0: be upgraded to zsh 4.3.4 or later."
-  else
-    $as_echo "$0: Please tell bug-autoconf@gnu.org about your system,
-$0: including any error possibly output before this
-$0: message. Then install a modern shell, or manually run
-$0: the script under such a shell if you do have one."
-  fi
-  exit 1
-fi
-fi
-fi
-SHELL=${CONFIG_SHELL-/bin/sh}
-export SHELL
-# Unset more variables known to interfere with behavior of common tools.
-CLICOLOR_FORCE= GREP_OPTIONS=
-unset CLICOLOR_FORCE GREP_OPTIONS
-
-## --------------------- ##
-## M4sh Shell Functions. ##
-## --------------------- ##
-@%:@ as_fn_unset VAR
-@%:@ ---------------
-@%:@ Portably unset VAR.
-as_fn_unset ()
-{
-  { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-
-@%:@ as_fn_set_status STATUS
-@%:@ -----------------------
-@%:@ Set @S|@? to STATUS, without forking.
-as_fn_set_status ()
-{
-  return $1
-} @%:@ as_fn_set_status
-
-@%:@ as_fn_exit STATUS
-@%:@ -----------------
-@%:@ Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
-  set +e
-  as_fn_set_status $1
-  exit $1
-} @%:@ as_fn_exit
-
-@%:@ as_fn_mkdir_p
-@%:@ -------------
-@%:@ Create "@S|@as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
-  case $as_dir in #(
-  -*) as_dir=./$as_dir;;
-  esac
-  test -d "$as_dir" || eval $as_mkdir_p || {
-    as_dirs=
-    while :; do
-      case $as_dir in #(
-      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
-      *) as_qdir=$as_dir;;
-      esac
-      as_dirs="'$as_qdir' $as_dirs"
-      as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$as_dir" : 'X\(//\)[^/]' \| \
-        X"$as_dir" : 'X\(//\)$' \| \
-        X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-      test -d "$as_dir" && break
-    done
-    test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} @%:@ as_fn_mkdir_p
-
-@%:@ as_fn_executable_p FILE
-@%:@ -----------------------
-@%:@ Test if FILE is an executable regular file.
-as_fn_executable_p ()
-{
-  test -f "$1" && test -x "$1"
-} @%:@ as_fn_executable_p
-@%:@ as_fn_append VAR VALUE
-@%:@ ----------------------
-@%:@ Append the text in VALUE to the end of the definition contained in VAR. Take
-@%:@ advantage of any shell optimizations that allow amortized linear growth over
-@%:@ repeated appends, instead of the typical quadratic growth present in naive
-@%:@ implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
-  eval 'as_fn_append ()
-  {
-    eval $1+=\$2
-  }'
-else
-  as_fn_append ()
-  {
-    eval $1=\$$1\$2
-  }
-fi # as_fn_append
-
-@%:@ as_fn_arith ARG...
-@%:@ ------------------
-@%:@ Perform arithmetic evaluation on the ARGs, and store the result in the
-@%:@ global @S|@as_val. Take advantage of shells that can avoid forks. The arguments
-@%:@ must be portable across @S|@(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
-  eval 'as_fn_arith ()
-  {
-    as_val=$(( $* ))
-  }'
-else
-  as_fn_arith ()
-  {
-    as_val=`expr "$@" || test $? -eq 1`
-  }
-fi # as_fn_arith
-
-
-@%:@ as_fn_error STATUS ERROR [LINENO LOG_FD]
-@%:@ ----------------------------------------
-@%:@ Output "`basename @S|@0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-@%:@ provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-@%:@ script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
-  as_status=$1; test $as_status -eq 0 && as_status=1
-  if test "$4"; then
-    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
-  fi
-  $as_echo "$as_me: error: $2" >&2
-  as_fn_exit $as_status
-} @%:@ as_fn_error
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
-   test "X`expr 00001 : '.*\(...\)'`" = X001; then
-  as_expr=expr
-else
-  as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
-  as_basename=basename
-else
-  as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
-  as_dirname=dirname
-else
-  as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
-        X"$0" : 'X\(//\)$' \| \
-        X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
-    sed '/^.*\/\([^/][^/]*\)\/*$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-
-  as_lineno_1=$LINENO as_lineno_1a=$LINENO
-  as_lineno_2=$LINENO as_lineno_2a=$LINENO
-  eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
-  test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
-  # Blame Lee E. McMahon (1931-1989) for sed's syntax.  :-)
-  sed -n '
-    p
-    /[$]LINENO/=
-  ' <$as_myself |
-    sed '
-      s/[$]LINENO.*/&-/
-      t lineno
-      b
-      :lineno
-      N
-      :loop
-      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
-      t loop
-      s/-\n.*//
-    ' >$as_me.lineno &&
-  chmod +x "$as_me.lineno" ||
-    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
-
-  # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
-  # already done that, so ensure we don't try to do so again and fall
-  # in an infinite loop.  This has already happened in practice.
-  _as_can_reexec=no; export _as_can_reexec
-  # Don't try to exec as it changes $[0], causing all sort of problems
-  # (the dirname of $[0] is not the place where we might find the
-  # original and so on.  Autoconf is especially sensitive to this).
-  . "./$as_me.lineno"
-  # Exit status is that of the last command.
-  exit
-}
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in @%:@(((((
--n*)
-  case `echo 'xy\c'` in
-  *c*) ECHO_T='        ';;     # ECHO_T is single tab character.
-  xy)  ECHO_C='\c';;
-  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
-       ECHO_T='        ';;
-  esac;;
-*)
-  ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
-  rm -f conf$$.dir/conf$$.file
-else
-  rm -f conf$$.dir
-  mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
-  if ln -s conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s='ln -s'
-    # ... but there are two gotchas:
-    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
-    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -pR'.
-    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -pR'
-  elif ln conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s=ln
-  else
-    as_ln_s='cp -pR'
-  fi
-else
-  as_ln_s='cp -pR'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-if mkdir -p . 2>/dev/null; then
-  as_mkdir_p='mkdir -p "$as_dir"'
-else
-  test -d ./-p && rmdir ./-p
-  as_mkdir_p=false
-fi
-
-as_test_x='test -x'
-as_executable_p=as_fn_executable_p
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-test -n "$DJDIR" || exec 7<&0 </dev/null
-exec 6>&1
-
-# Name of the host.
-# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
-# so uname gets run too.
-ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-
-#
-# Initializations.
-#
-ac_default_prefix=/usr/local
-ac_clean_files=
-ac_config_libobj_dir=.
-LIB@&t@OBJS=
-cross_compiling=no
-subdirs=
-MFLAGS=
-MAKEFLAGS=
-
-# Identity of this package.
-PACKAGE_NAME='tinydtls'
-PACKAGE_TARNAME='tinydtls'
-PACKAGE_VERSION='0.8.2'
-PACKAGE_STRING='tinydtls 0.8.2'
-PACKAGE_BUGREPORT=''
-PACKAGE_URL=''
-
-ac_unique_file="dtls.c"
-# Factoring default headers for most tests.
-ac_includes_default="\
-#include <stdio.h>
-#ifdef HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-# include <sys/stat.h>
-#endif
-#ifdef STDC_HEADERS
-# include <stdlib.h>
-# include <stddef.h>
-#else
-# ifdef HAVE_STDLIB_H
-#  include <stdlib.h>
-# endif
-#endif
-#ifdef HAVE_STRING_H
-# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
-#  include <memory.h>
-# endif
-# include <string.h>
-#endif
-#ifdef HAVE_STRINGS_H
-# include <strings.h>
-#endif
-#ifdef HAVE_INTTYPES_H
-# include <inttypes.h>
-#endif
-#ifdef HAVE_STDINT_H
-# include <stdint.h>
-#endif
-#ifdef HAVE_UNISTD_H
-# include <unistd.h>
-#endif"
-
-ac_subst_vars='LTLIBOBJS
-LIB@&t@OBJS
-DTLS_PSK
-DTLS_ECC
-WITH_CONTIKI
-NDEBUG
-OPT_OBJS
-EGREP
-GREP
-CPP
-RANLIB
-OBJEXT
-EXEEXT
-ac_ct_CC
-CPPFLAGS
-LDFLAGS
-CFLAGS
-CC
-SET_MAKE
-ETAGS
-DOXYGEN
-target_alias
-host_alias
-build_alias
-LIBS
-ECHO_T
-ECHO_N
-ECHO_C
-DEFS
-mandir
-localedir
-libdir
-psdir
-pdfdir
-dvidir
-htmldir
-infodir
-docdir
-oldincludedir
-includedir
-localstatedir
-sharedstatedir
-sysconfdir
-datadir
-datarootdir
-libexecdir
-sbindir
-bindir
-program_transform_name
-prefix
-exec_prefix
-PACKAGE_URL
-PACKAGE_BUGREPORT
-PACKAGE_STRING
-PACKAGE_VERSION
-PACKAGE_TARNAME
-PACKAGE_NAME
-PATH_SEPARATOR
-SHELL'
-ac_subst_files=''
-ac_user_opts='
-enable_option_checking
-with_contiki
-with_debug
-with_ecc
-with_psk
-'
-      ac_precious_vars='build_alias
-host_alias
-target_alias
-CC
-CFLAGS
-LDFLAGS
-LIBS
-CPPFLAGS
-CPP'
-
-
-# Initialize some variables set by options.
-ac_init_help=
-ac_init_version=false
-ac_unrecognized_opts=
-ac_unrecognized_sep=
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-cache_file=/dev/null
-exec_prefix=NONE
-no_create=
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-verbose=
-x_includes=NONE
-x_libraries=NONE
-
-# Installation directory options.
-# These are left unexpanded so users can "make install exec_prefix=/foo"
-# and all the variables that are supposed to be based on exec_prefix
-# by default will actually change.
-# Use braces instead of parens because sh, perl, etc. also accept them.
-# (The list follows the same order as the GNU Coding Standards.)
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datarootdir='${prefix}/share'
-datadir='${datarootdir}'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
-infodir='${datarootdir}/info'
-htmldir='${docdir}'
-dvidir='${docdir}'
-pdfdir='${docdir}'
-psdir='${docdir}'
-libdir='${exec_prefix}/lib'
-localedir='${datarootdir}/locale'
-mandir='${datarootdir}/man'
-
-ac_prev=
-ac_dashdash=
-for ac_option
-do
-  # If the previous option needs an argument, assign it.
-  if test -n "$ac_prev"; then
-    eval $ac_prev=\$ac_option
-    ac_prev=
-    continue
-  fi
-
-  case $ac_option in
-  *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
-  *=)   ac_optarg= ;;
-  *)    ac_optarg=yes ;;
-  esac
-
-  # Accept the important Cygnus configure options, so we can diagnose typos.
-
-  case $ac_dashdash$ac_option in
-  --)
-    ac_dashdash=yes ;;
-
-  -bindir | --bindir | --bindi | --bind | --bin | --bi)
-    ac_prev=bindir ;;
-  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
-    bindir=$ac_optarg ;;
-
-  -build | --build | --buil | --bui | --bu)
-    ac_prev=build_alias ;;
-  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
-    build_alias=$ac_optarg ;;
-
-  -cache-file | --cache-file | --cache-fil | --cache-fi \
-  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
-    ac_prev=cache_file ;;
-  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
-  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
-    cache_file=$ac_optarg ;;
-
-  --config-cache | -C)
-    cache_file=config.cache ;;
-
-  -datadir | --datadir | --datadi | --datad)
-    ac_prev=datadir ;;
-  -datadir=* | --datadir=* | --datadi=* | --datad=*)
-    datadir=$ac_optarg ;;
-
-  -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
-  | --dataroo | --dataro | --datar)
-    ac_prev=datarootdir ;;
-  -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
-  | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
-    datarootdir=$ac_optarg ;;
-
-  -disable-* | --disable-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid feature name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"enable_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval enable_$ac_useropt=no ;;
-
-  -docdir | --docdir | --docdi | --doc | --do)
-    ac_prev=docdir ;;
-  -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
-    docdir=$ac_optarg ;;
-
-  -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
-    ac_prev=dvidir ;;
-  -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
-    dvidir=$ac_optarg ;;
-
-  -enable-* | --enable-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid feature name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"enable_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval enable_$ac_useropt=\$ac_optarg ;;
-
-  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
-  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
-  | --exec | --exe | --ex)
-    ac_prev=exec_prefix ;;
-  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
-  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
-  | --exec=* | --exe=* | --ex=*)
-    exec_prefix=$ac_optarg ;;
-
-  -gas | --gas | --ga | --g)
-    # Obsolete; use --with-gas.
-    with_gas=yes ;;
-
-  -help | --help | --hel | --he | -h)
-    ac_init_help=long ;;
-  -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
-    ac_init_help=recursive ;;
-  -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
-    ac_init_help=short ;;
-
-  -host | --host | --hos | --ho)
-    ac_prev=host_alias ;;
-  -host=* | --host=* | --hos=* | --ho=*)
-    host_alias=$ac_optarg ;;
-
-  -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
-    ac_prev=htmldir ;;
-  -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
-  | --ht=*)
-    htmldir=$ac_optarg ;;
-
-  -includedir | --includedir | --includedi | --included | --include \
-  | --includ | --inclu | --incl | --inc)
-    ac_prev=includedir ;;
-  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
-  | --includ=* | --inclu=* | --incl=* | --inc=*)
-    includedir=$ac_optarg ;;
-
-  -infodir | --infodir | --infodi | --infod | --info | --inf)
-    ac_prev=infodir ;;
-  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
-    infodir=$ac_optarg ;;
-
-  -libdir | --libdir | --libdi | --libd)
-    ac_prev=libdir ;;
-  -libdir=* | --libdir=* | --libdi=* | --libd=*)
-    libdir=$ac_optarg ;;
-
-  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
-  | --libexe | --libex | --libe)
-    ac_prev=libexecdir ;;
-  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
-  | --libexe=* | --libex=* | --libe=*)
-    libexecdir=$ac_optarg ;;
-
-  -localedir | --localedir | --localedi | --localed | --locale)
-    ac_prev=localedir ;;
-  -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
-    localedir=$ac_optarg ;;
-
-  -localstatedir | --localstatedir | --localstatedi | --localstated \
-  | --localstate | --localstat | --localsta | --localst | --locals)
-    ac_prev=localstatedir ;;
-  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
-  | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
-    localstatedir=$ac_optarg ;;
-
-  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
-    ac_prev=mandir ;;
-  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
-    mandir=$ac_optarg ;;
-
-  -nfp | --nfp | --nf)
-    # Obsolete; use --without-fp.
-    with_fp=no ;;
-
-  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
-  | --no-cr | --no-c | -n)
-    no_create=yes ;;
-
-  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
-  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
-    no_recursion=yes ;;
-
-  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
-  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
-  | --oldin | --oldi | --old | --ol | --o)
-    ac_prev=oldincludedir ;;
-  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
-  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
-  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
-    oldincludedir=$ac_optarg ;;
-
-  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
-    ac_prev=prefix ;;
-  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
-    prefix=$ac_optarg ;;
-
-  -program-prefix | --program-prefix | --program-prefi | --program-pref \
-  | --program-pre | --program-pr | --program-p)
-    ac_prev=program_prefix ;;
-  -program-prefix=* | --program-prefix=* | --program-prefi=* \
-  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
-    program_prefix=$ac_optarg ;;
-
-  -program-suffix | --program-suffix | --program-suffi | --program-suff \
-  | --program-suf | --program-su | --program-s)
-    ac_prev=program_suffix ;;
-  -program-suffix=* | --program-suffix=* | --program-suffi=* \
-  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
-    program_suffix=$ac_optarg ;;
-
-  -program-transform-name | --program-transform-name \
-  | --program-transform-nam | --program-transform-na \
-  | --program-transform-n | --program-transform- \
-  | --program-transform | --program-transfor \
-  | --program-transfo | --program-transf \
-  | --program-trans | --program-tran \
-  | --progr-tra | --program-tr | --program-t)
-    ac_prev=program_transform_name ;;
-  -program-transform-name=* | --program-transform-name=* \
-  | --program-transform-nam=* | --program-transform-na=* \
-  | --program-transform-n=* | --program-transform-=* \
-  | --program-transform=* | --program-transfor=* \
-  | --program-transfo=* | --program-transf=* \
-  | --program-trans=* | --program-tran=* \
-  | --progr-tra=* | --program-tr=* | --program-t=*)
-    program_transform_name=$ac_optarg ;;
-
-  -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
-    ac_prev=pdfdir ;;
-  -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
-    pdfdir=$ac_optarg ;;
-
-  -psdir | --psdir | --psdi | --psd | --ps)
-    ac_prev=psdir ;;
-  -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
-    psdir=$ac_optarg ;;
-
-  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-  | -silent | --silent | --silen | --sile | --sil)
-    silent=yes ;;
-
-  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
-    ac_prev=sbindir ;;
-  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
-  | --sbi=* | --sb=*)
-    sbindir=$ac_optarg ;;
-
-  -sharedstatedir | --sharedstatedir | --sharedstatedi \
-  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
-  | --sharedst | --shareds | --shared | --share | --shar \
-  | --sha | --sh)
-    ac_prev=sharedstatedir ;;
-  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
-  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
-  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
-  | --sha=* | --sh=*)
-    sharedstatedir=$ac_optarg ;;
-
-  -site | --site | --sit)
-    ac_prev=site ;;
-  -site=* | --site=* | --sit=*)
-    site=$ac_optarg ;;
-
-  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
-    ac_prev=srcdir ;;
-  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
-    srcdir=$ac_optarg ;;
-
-  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
-  | --syscon | --sysco | --sysc | --sys | --sy)
-    ac_prev=sysconfdir ;;
-  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
-  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
-    sysconfdir=$ac_optarg ;;
-
-  -target | --target | --targe | --targ | --tar | --ta | --t)
-    ac_prev=target_alias ;;
-  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
-    target_alias=$ac_optarg ;;
-
-  -v | -verbose | --verbose | --verbos | --verbo | --verb)
-    verbose=yes ;;
-
-  -version | --version | --versio | --versi | --vers | -V)
-    ac_init_version=: ;;
-
-  -with-* | --with-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid package name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"with_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval with_$ac_useropt=\$ac_optarg ;;
-
-  -without-* | --without-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid package name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"with_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval with_$ac_useropt=no ;;
-
-  --x)
-    # Obsolete; use --with-x.
-    with_x=yes ;;
-
-  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
-  | --x-incl | --x-inc | --x-in | --x-i)
-    ac_prev=x_includes ;;
-  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
-  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
-    x_includes=$ac_optarg ;;
-
-  -x-libraries | --x-libraries | --x-librarie | --x-librari \
-  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
-    ac_prev=x_libraries ;;
-  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
-  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
-    x_libraries=$ac_optarg ;;
-
-  -*) as_fn_error $? "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information"
-    ;;
-
-  *=*)
-    ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
-    # Reject names that are not valid shell variable names.
-    case $ac_envvar in #(
-      '' | [0-9]* | *[!_$as_cr_alnum]* )
-      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
-    esac
-    eval $ac_envvar=\$ac_optarg
-    export $ac_envvar ;;
-
-  *)
-    # FIXME: should be removed in autoconf 3.0.
-    $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
-    expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
-      $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
-    : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
-    ;;
-
-  esac
-done
-
-if test -n "$ac_prev"; then
-  ac_option=--`echo $ac_prev | sed 's/_/-/g'`
-  as_fn_error $? "missing argument to $ac_option"
-fi
-
-if test -n "$ac_unrecognized_opts"; then
-  case $enable_option_checking in
-    no) ;;
-    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
-    *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
-  esac
-fi
-
-# Check all directory arguments for consistency.
-for ac_var in  exec_prefix prefix bindir sbindir libexecdir datarootdir \
-               datadir sysconfdir sharedstatedir localstatedir includedir \
-               oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
-               libdir localedir mandir
-do
-  eval ac_val=\$$ac_var
-  # Remove trailing slashes.
-  case $ac_val in
-    */ )
-      ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
-      eval $ac_var=\$ac_val;;
-  esac
-  # Be sure to have absolute directory names.
-  case $ac_val in
-    [\\/$]* | ?:[\\/]* )  continue;;
-    NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
-  esac
-  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
-done
-
-# There might be people who depend on the old broken behavior: `$host'
-# used to hold the argument of --host etc.
-# FIXME: To remove some day.
-build=$build_alias
-host=$host_alias
-target=$target_alias
-
-# FIXME: To remove some day.
-if test "x$host_alias" != x; then
-  if test "x$build_alias" = x; then
-    cross_compiling=maybe
-  elif test "x$build_alias" != "x$host_alias"; then
-    cross_compiling=yes
-  fi
-fi
-
-ac_tool_prefix=
-test -n "$host_alias" && ac_tool_prefix=$host_alias-
-
-test "$silent" = yes && exec 6>/dev/null
-
-
-ac_pwd=`pwd` && test -n "$ac_pwd" &&
-ac_ls_di=`ls -di .` &&
-ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
-  as_fn_error $? "working directory cannot be determined"
-test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
-  as_fn_error $? "pwd does not report name of working directory"
-
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
-  ac_srcdir_defaulted=yes
-  # Try the directory containing this script, then the parent directory.
-  ac_confdir=`$as_dirname -- "$as_myself" ||
-$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$as_myself" : 'X\(//\)[^/]' \| \
-        X"$as_myself" : 'X\(//\)$' \| \
-        X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_myself" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-  srcdir=$ac_confdir
-  if test ! -r "$srcdir/$ac_unique_file"; then
-    srcdir=..
-  fi
-else
-  ac_srcdir_defaulted=no
-fi
-if test ! -r "$srcdir/$ac_unique_file"; then
-  test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
-  as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
-fi
-ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
-ac_abs_confdir=`(
-       cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
-       pwd)`
-# When building in place, set srcdir=.
-if test "$ac_abs_confdir" = "$ac_pwd"; then
-  srcdir=.
-fi
-# Remove unnecessary trailing slashes from srcdir.
-# Double slashes in file names in object file debugging info
-# mess up M-x gdb in Emacs.
-case $srcdir in
-*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
-esac
-for ac_var in $ac_precious_vars; do
-  eval ac_env_${ac_var}_set=\${${ac_var}+set}
-  eval ac_env_${ac_var}_value=\$${ac_var}
-  eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
-  eval ac_cv_env_${ac_var}_value=\$${ac_var}
-done
-
-#
-# Report the --help message.
-#
-if test "$ac_init_help" = "long"; then
-  # Omit some internal or obsolete options to make the list less imposing.
-  # This message is too long to be a string in the A/UX 3.1 sh.
-  cat <<_ACEOF
-\`configure' configures tinydtls 0.8.2 to adapt to many kinds of systems.
-
-Usage: $0 [OPTION]... [VAR=VALUE]...
-
-To assign environment variables (e.g., CC, CFLAGS...), specify them as
-VAR=VALUE.  See below for descriptions of some of the useful variables.
-
-Defaults for the options are specified in brackets.
-
-Configuration:
-  -h, --help              display this help and exit
-      --help=short        display options specific to this package
-      --help=recursive    display the short help of all the included packages
-  -V, --version           display version information and exit
-  -q, --quiet, --silent   do not print \`checking ...' messages
-      --cache-file=FILE   cache test results in FILE [disabled]
-  -C, --config-cache      alias for \`--cache-file=config.cache'
-  -n, --no-create         do not create output files
-      --srcdir=DIR        find the sources in DIR [configure dir or \`..']
-
-Installation directories:
-  --prefix=PREFIX         install architecture-independent files in PREFIX
-                          @<:@@S|@ac_default_prefix@:>@
-  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
-                          @<:@PREFIX@:>@
-
-By default, \`make install' will install all the files in
-\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
-an installation prefix other than \`$ac_default_prefix' using \`--prefix',
-for instance \`--prefix=\$HOME'.
-
-For better control, use the options below.
-
-Fine tuning of the installation directories:
-  --bindir=DIR            user executables [EPREFIX/bin]
-  --sbindir=DIR           system admin executables [EPREFIX/sbin]
-  --libexecdir=DIR        program executables [EPREFIX/libexec]
-  --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
-  --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
-  --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
-  --libdir=DIR            object code libraries [EPREFIX/lib]
-  --includedir=DIR        C header files [PREFIX/include]
-  --oldincludedir=DIR     C header files for non-gcc [/usr/include]
-  --datarootdir=DIR       read-only arch.-independent data root [PREFIX/share]
-  --datadir=DIR           read-only architecture-independent data [DATAROOTDIR]
-  --infodir=DIR           info documentation [DATAROOTDIR/info]
-  --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
-  --mandir=DIR            man documentation [DATAROOTDIR/man]
-  --docdir=DIR            documentation root @<:@DATAROOTDIR/doc/tinydtls@:>@
-  --htmldir=DIR           html documentation [DOCDIR]
-  --dvidir=DIR            dvi documentation [DOCDIR]
-  --pdfdir=DIR            pdf documentation [DOCDIR]
-  --psdir=DIR             ps documentation [DOCDIR]
-_ACEOF
-
-  cat <<\_ACEOF
-_ACEOF
-fi
-
-if test -n "$ac_init_help"; then
-  case $ac_init_help in
-     short | recursive ) echo "Configuration of tinydtls 0.8.2:";;
-   esac
-  cat <<\_ACEOF
-
-Optional Packages:
-  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
-  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
-  --with-contiki          build libtinydtls for the Contiki OS
-  --without-debug         disable all debug output and assertions
-  --without-ecc           disable support for
-                          TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8
-  --without-psk           disable support for TLS_PSK_WITH_AES_128_CCM_8
-
-Some influential environment variables:
-  CC          C compiler command
-  CFLAGS      C compiler flags
-  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
-              nonstandard directory <lib dir>
-  LIBS        libraries to pass to the linker, e.g. -l<library>
-  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
-              you have headers in a nonstandard directory <include dir>
-  CPP         C preprocessor
-
-Use these variables to override the choices made by `configure' or to help
-it to find libraries and programs with nonstandard names/locations.
-
-Report bugs to the package provider.
-_ACEOF
-ac_status=$?
-fi
-
-if test "$ac_init_help" = "recursive"; then
-  # If there are subdirs, report their specific --help.
-  for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
-    test -d "$ac_dir" ||
-      { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
-      continue
-    ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
-  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
-  # A ".." for each directory in $ac_dir_suffix.
-  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
-  case $ac_top_builddir_sub in
-  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
-  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
-  esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
-  .)  # We are building in place.
-    ac_srcdir=.
-    ac_top_srcdir=$ac_top_builddir_sub
-    ac_abs_top_srcdir=$ac_pwd ;;
-  [\\/]* | ?:[\\/]* )  # Absolute name.
-    ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir
-    ac_abs_top_srcdir=$srcdir ;;
-  *) # Relative name.
-    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_build_prefix$srcdir
-    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-    cd "$ac_dir" || { ac_status=$?; continue; }
-    # Check for guested configure.
-    if test -f "$ac_srcdir/configure.gnu"; then
-      echo &&
-      $SHELL "$ac_srcdir/configure.gnu" --help=recursive
-    elif test -f "$ac_srcdir/configure"; then
-      echo &&
-      $SHELL "$ac_srcdir/configure" --help=recursive
-    else
-      $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
-    fi || ac_status=$?
-    cd "$ac_pwd" || { ac_status=$?; break; }
-  done
-fi
-
-test -n "$ac_init_help" && exit $ac_status
-if $ac_init_version; then
-  cat <<\_ACEOF
-tinydtls configure 0.8.2
-generated by GNU Autoconf 2.69
-
-Copyright (C) 2012 Free Software Foundation, Inc.
-This configure script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it.
-_ACEOF
-  exit
-fi
-
-## ------------------------ ##
-## Autoconf initialization. ##
-## ------------------------ ##
-
-@%:@ ac_fn_c_try_compile LINENO
-@%:@ --------------------------
-@%:@ Try to compile conftest.@S|@ac_ext, and return whether this succeeded.
-ac_fn_c_try_compile ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  rm -f conftest.$ac_objext
-  if { { ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compile") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_retval=1
-fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} @%:@ ac_fn_c_try_compile
-
-@%:@ ac_fn_c_try_run LINENO
-@%:@ ----------------------
-@%:@ Try to link conftest.@S|@ac_ext, and return whether this succeeded. Assumes
-@%:@ that executables *can* be run.
-ac_fn_c_try_run ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-       $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_retval=$ac_status
-fi
-  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} @%:@ ac_fn_c_try_run
-
-@%:@ ac_fn_c_try_cpp LINENO
-@%:@ ----------------------
-@%:@ Try to preprocess conftest.@S|@ac_ext, and return whether this succeeded.
-ac_fn_c_try_cpp ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { { ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } > conftest.i && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-    ac_retval=1
-fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} @%:@ ac_fn_c_try_cpp
-
-@%:@ ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
-@%:@ -------------------------------------------------------
-@%:@ Tests whether HEADER exists and can be compiled using the include files in
-@%:@ INCLUDES, setting the cache variable VAR accordingly.
-ac_fn_c_check_header_compile ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-@%:@include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$3=yes"
-else
-  eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} @%:@ ac_fn_c_check_header_compile
-
-@%:@ ac_fn_c_try_link LINENO
-@%:@ -----------------------
-@%:@ Try to link conftest.@S|@ac_ext, and return whether this succeeded.
-ac_fn_c_try_link ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  rm -f conftest.$ac_objext conftest$ac_exeext
-  if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        test -x conftest$ac_exeext
-       }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_retval=1
-fi
-  # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
-  # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
-  # interfere with the next link command; also delete a directory that is
-  # left behind by Apple's compiler.  We do this before executing the actions.
-  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} @%:@ ac_fn_c_try_link
-
-@%:@ ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
-@%:@ -------------------------------------------------------
-@%:@ Tests whether HEADER exists, giving a warning if it cannot be compiled using
-@%:@ the include files in INCLUDES and setting the cache variable VAR
-@%:@ accordingly.
-ac_fn_c_check_header_mongrel ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if eval \${$3+:} false; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-else
-  # Is the header compilable?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
-$as_echo_n "checking $2 usability... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-@%:@include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_header_compiler=yes
-else
-  ac_header_compiler=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
-$as_echo "$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
-$as_echo_n "checking $2 presence... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-@%:@include <$2>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  ac_header_preproc=yes
-else
-  ac_header_preproc=no
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
-$as_echo "$ac_header_preproc" >&6; }
-
-# So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
-  yes:no: )
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
-$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-    ;;
-  no:yes:* )
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
-$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     check for missing prerequisite headers?" >&5
-$as_echo "$as_me: WARNING: $2:     check for missing prerequisite headers?" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
-$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&5
-$as_echo "$as_me: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-    ;;
-esac
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  eval "$3=\$ac_header_compiler"
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} @%:@ ac_fn_c_check_header_mongrel
-
-@%:@ ac_fn_c_check_type LINENO TYPE VAR INCLUDES
-@%:@ -------------------------------------------
-@%:@ Tests whether TYPE exists after having included INCLUDES, setting cache
-@%:@ variable VAR accordingly.
-ac_fn_c_check_type ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  eval "$3=no"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-if (sizeof ($2))
-        return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-if (sizeof (($2)))
-           return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  
-else
-  eval "$3=yes"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} @%:@ ac_fn_c_check_type
-
-@%:@ ac_fn_c_check_member LINENO AGGR MEMBER VAR INCLUDES
-@%:@ ----------------------------------------------------
-@%:@ Tries to find if the field MEMBER exists in type AGGR, after including
-@%:@ INCLUDES, setting cache variable VAR accordingly.
-ac_fn_c_check_member ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5
-$as_echo_n "checking for $2.$3... " >&6; }
-if eval \${$4+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$5
-int
-main ()
-{
-static $2 ac_aggr;
-if (ac_aggr.$3)
-return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$4=yes"
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$5
-int
-main ()
-{
-static $2 ac_aggr;
-if (sizeof ac_aggr.$3)
-return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$4=yes"
-else
-  eval "$4=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$4
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} @%:@ ac_fn_c_check_member
-
-@%:@ ac_fn_c_check_func LINENO FUNC VAR
-@%:@ ----------------------------------
-@%:@ Tests whether FUNC exists, setting the cache variable VAR accordingly
-ac_fn_c_check_func ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
-   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
-#define $2 innocuous_$2
-
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char $2 (); below.
-    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-    <limits.h> exists even on freestanding compilers.  */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $2
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $2 ();
-/* The GNU C library defines this for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined __stub_$2 || defined __stub___$2
-choke me
-#endif
-
-int
-main ()
-{
-return $2 ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  eval "$3=yes"
-else
-  eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} @%:@ ac_fn_c_check_func
-cat >config.log <<_ACEOF
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-
-It was created by tinydtls $as_me 0.8.2, which was
-generated by GNU Autoconf 2.69.  Invocation command line was
-
-  $ $0 $@
-
-_ACEOF
-exec 5>>config.log
-{
-cat <<_ASUNAME
-## --------- ##
-## Platform. ##
-## --------- ##
-
-hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
-/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`
-
-/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
-/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-/usr/bin/hostinfo      = `(/usr/bin/hostinfo) 2>/dev/null      || echo unknown`
-/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
-/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
-/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
-
-_ASUNAME
-
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    $as_echo "PATH: $as_dir"
-  done
-IFS=$as_save_IFS
-
-} >&5
-
-cat >&5 <<_ACEOF
-
-
-## ----------- ##
-## Core tests. ##
-## ----------- ##
-
-_ACEOF
-
-
-# Keep a trace of the command line.
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Strip out --silent because we don't want to record it for future runs.
-# Also quote any args containing shell meta-characters.
-# Make two passes to allow for proper duplicate-argument suppression.
-ac_configure_args=
-ac_configure_args0=
-ac_configure_args1=
-ac_must_keep_next=false
-for ac_pass in 1 2
-do
-  for ac_arg
-  do
-    case $ac_arg in
-    -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
-    -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-    | -silent | --silent | --silen | --sile | --sil)
-      continue ;;
-    *\'*)
-      ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    esac
-    case $ac_pass in
-    1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
-    2)
-      as_fn_append ac_configure_args1 " '$ac_arg'"
-      if test $ac_must_keep_next = true; then
-       ac_must_keep_next=false # Got value, back to normal.
-      else
-       case $ac_arg in
-         *=* | --config-cache | -C | -disable-* | --disable-* \
-         | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
-         | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
-         | -with-* | --with-* | -without-* | --without-* | --x)
-           case "$ac_configure_args0 " in
-             "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
-           esac
-           ;;
-         -* ) ac_must_keep_next=true ;;
-       esac
-      fi
-      as_fn_append ac_configure_args " '$ac_arg'"
-      ;;
-    esac
-  done
-done
-{ ac_configure_args0=; unset ac_configure_args0;}
-{ ac_configure_args1=; unset ac_configure_args1;}
-
-# When interrupted or exit'd, cleanup temporary files, and complete
-# config.log.  We remove comments because anyway the quotes in there
-# would cause problems or look ugly.
-# WARNING: Use '\'' to represent an apostrophe within the trap.
-# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
-trap 'exit_status=$?
-  # Save into config.log some information that might help in debugging.
-  {
-    echo
-
-    $as_echo "## ---------------- ##
-## Cache variables. ##
-## ---------------- ##"
-    echo
-    # The following way of writing the cache mishandles newlines in values,
-(
-  for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
-    eval ac_val=\$$ac_var
-    case $ac_val in #(
-    *${as_nl}*)
-      case $ac_var in #(
-      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
-      esac
-      case $ac_var in #(
-      _ | IFS | as_nl) ;; #(
-      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
-      *) { eval $ac_var=; unset $ac_var;} ;;
-      esac ;;
-    esac
-  done
-  (set) 2>&1 |
-    case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
-    *${as_nl}ac_space=\ *)
-      sed -n \
-       "s/'\''/'\''\\\\'\'''\''/g;
-         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
-      ;; #(
-    *)
-      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
-      ;;
-    esac |
-    sort
-)
-    echo
-
-    $as_echo "## ----------------- ##
-## Output variables. ##
-## ----------------- ##"
-    echo
-    for ac_var in $ac_subst_vars
-    do
-      eval ac_val=\$$ac_var
-      case $ac_val in
-      *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
-      esac
-      $as_echo "$ac_var='\''$ac_val'\''"
-    done | sort
-    echo
-
-    if test -n "$ac_subst_files"; then
-      $as_echo "## ------------------- ##
-## File substitutions. ##
-## ------------------- ##"
-      echo
-      for ac_var in $ac_subst_files
-      do
-       eval ac_val=\$$ac_var
-       case $ac_val in
-       *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
-       esac
-       $as_echo "$ac_var='\''$ac_val'\''"
-      done | sort
-      echo
-    fi
-
-    if test -s confdefs.h; then
-      $as_echo "## ----------- ##
-## confdefs.h. ##
-## ----------- ##"
-      echo
-      cat confdefs.h
-      echo
-    fi
-    test "$ac_signal" != 0 &&
-      $as_echo "$as_me: caught signal $ac_signal"
-    $as_echo "$as_me: exit $exit_status"
-  } >&5
-  rm -f core *.core core.conftest.* &&
-    rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
-    exit $exit_status
-' 0
-for ac_signal in 1 2 13 15; do
-  trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
-done
-ac_signal=0
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -f -r conftest* confdefs.h
-
-$as_echo "/* confdefs.h */" > confdefs.h
-
-# Predefined preprocessor variables.
-
-cat >>confdefs.h <<_ACEOF
-@%:@define PACKAGE_NAME "$PACKAGE_NAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-@%:@define PACKAGE_TARNAME "$PACKAGE_TARNAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-@%:@define PACKAGE_VERSION "$PACKAGE_VERSION"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-@%:@define PACKAGE_STRING "$PACKAGE_STRING"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-@%:@define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-@%:@define PACKAGE_URL "$PACKAGE_URL"
-_ACEOF
-
-
-# Let the site file select an alternate cache file if it wants to.
-# Prefer an explicitly selected file to automatically selected ones.
-ac_site_file1=NONE
-ac_site_file2=NONE
-if test -n "$CONFIG_SITE"; then
-  # We do not want a PATH search for config.site.
-  case $CONFIG_SITE in @%:@((
-    -*)  ac_site_file1=./$CONFIG_SITE;;
-    */*) ac_site_file1=$CONFIG_SITE;;
-    *)   ac_site_file1=./$CONFIG_SITE;;
-  esac
-elif test "x$prefix" != xNONE; then
-  ac_site_file1=$prefix/share/config.site
-  ac_site_file2=$prefix/etc/config.site
-else
-  ac_site_file1=$ac_default_prefix/share/config.site
-  ac_site_file2=$ac_default_prefix/etc/config.site
-fi
-for ac_site_file in "$ac_site_file1" "$ac_site_file2"
-do
-  test "x$ac_site_file" = xNONE && continue
-  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
-$as_echo "$as_me: loading site script $ac_site_file" >&6;}
-    sed 's/^/| /' "$ac_site_file" >&5
-    . "$ac_site_file" \
-      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "failed to load site script $ac_site_file
-See \`config.log' for more details" "$LINENO" 5; }
-  fi
-done
-
-if test -r "$cache_file"; then
-  # Some versions of bash will fail to source /dev/null (special files
-  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
-  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
-$as_echo "$as_me: loading cache $cache_file" >&6;}
-    case $cache_file in
-      [\\/]* | ?:[\\/]* ) . "$cache_file";;
-      *)                      . "./$cache_file";;
-    esac
-  fi
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
-$as_echo "$as_me: creating cache $cache_file" >&6;}
-  >$cache_file
-fi
-
-# Check that the precious variables saved in the cache have kept the same
-# value.
-ac_cache_corrupted=false
-for ac_var in $ac_precious_vars; do
-  eval ac_old_set=\$ac_cv_env_${ac_var}_set
-  eval ac_new_set=\$ac_env_${ac_var}_set
-  eval ac_old_val=\$ac_cv_env_${ac_var}_value
-  eval ac_new_val=\$ac_env_${ac_var}_value
-  case $ac_old_set,$ac_new_set in
-    set,)
-      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
-      ac_cache_corrupted=: ;;
-    ,set)
-      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
-      ac_cache_corrupted=: ;;
-    ,);;
-    *)
-      if test "x$ac_old_val" != "x$ac_new_val"; then
-       # differences in whitespace do not lead to failure.
-       ac_old_val_w=`echo x $ac_old_val`
-       ac_new_val_w=`echo x $ac_new_val`
-       if test "$ac_old_val_w" != "$ac_new_val_w"; then
-         { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
-$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
-         ac_cache_corrupted=:
-       else
-         { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
-$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
-         eval $ac_var=\$ac_old_val
-       fi
-       { $as_echo "$as_me:${as_lineno-$LINENO}:   former value:  \`$ac_old_val'" >&5
-$as_echo "$as_me:   former value:  \`$ac_old_val'" >&2;}
-       { $as_echo "$as_me:${as_lineno-$LINENO}:   current value: \`$ac_new_val'" >&5
-$as_echo "$as_me:   current value: \`$ac_new_val'" >&2;}
-      fi;;
-  esac
-  # Pass precious variables to config.status.
-  if test "$ac_new_set" = set; then
-    case $ac_new_val in
-    *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
-    *) ac_arg=$ac_var=$ac_new_val ;;
-    esac
-    case " $ac_configure_args " in
-      *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
-      *) as_fn_append ac_configure_args " '$ac_arg'" ;;
-    esac
-  fi
-done
-if $ac_cache_corrupted; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-  { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
-$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
-fi
-## -------------------- ##
-## Main body of script. ##
-## -------------------- ##
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-
-
-
-@%:@ Check whether --with-contiki was given.
-if test "${with_contiki+set}" = set; then :
-  withval=$with_contiki; 
-$as_echo "@%:@define WITH_CONTIKI 1" >>confdefs.h
-
-   WITH_CONTIKI=1
-fi
-
-
-# Extract the first word of "doxygen", so it can be a program name with args.
-set dummy doxygen; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_DOXYGEN+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $DOXYGEN in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_DOXYGEN="$DOXYGEN" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_path_DOXYGEN="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-  test -z "$ac_cv_path_DOXYGEN" && ac_cv_path_DOXYGEN=":"
-  ;;
-esac
-fi
-DOXYGEN=$ac_cv_path_DOXYGEN
-if test -n "$DOXYGEN"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DOXYGEN" >&5
-$as_echo "$DOXYGEN" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-# Extract the first word of "etags", so it can be a program name with args.
-set dummy etags; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_ETAGS+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $ETAGS in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_ETAGS="$ETAGS" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_path_ETAGS="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-  test -z "$ac_cv_path_ETAGS" && ac_cv_path_ETAGS="/bin/false"
-  ;;
-esac
-fi
-ETAGS=$ac_cv_path_ETAGS
-if test -n "$ETAGS"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ETAGS" >&5
-$as_echo "$ETAGS" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-
-if test "${with_contiki}" != "yes" ; then
-# Checks for programs.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
-set x ${MAKE-make}
-ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.make <<\_ACEOF
-SHELL = /bin/sh
-all:
-       @echo '@@@%%%=$(MAKE)=@@@%%%'
-_ACEOF
-# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
-case `${MAKE-make} -f conftest.make 2>/dev/null` in
-  *@@@%%%=?*=@@@%%%*)
-    eval ac_cv_prog_make_${ac_make}_set=yes;;
-  *)
-    eval ac_cv_prog_make_${ac_make}_set=no;;
-esac
-rm -f conftest.make
-fi
-if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-  SET_MAKE=
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-  SET_MAKE="MAKE=${MAKE-make}"
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_CC="${ac_tool_prefix}gcc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_CC"; then
-  ac_ct_CC=$CC
-  # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_CC="gcc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_CC" = x; then
-    CC=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    CC=$ac_ct_CC
-  fi
-else
-  CC="$ac_cv_prog_CC"
-fi
-
-if test -z "$CC"; then
-          if test -n "$ac_tool_prefix"; then
-    # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_CC="${ac_tool_prefix}cc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  fi
-fi
-if test -z "$CC"; then
-  # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-  ac_prog_rejected=no
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
-       ac_prog_rejected=yes
-       continue
-     fi
-    ac_cv_prog_CC="cc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-if test $ac_prog_rejected = yes; then
-  # We found a bogon in the path, so make sure we never use it.
-  set dummy $ac_cv_prog_CC
-  shift
-  if test $@%:@ != 0; then
-    # We chose a different compiler from the bogus one.
-    # However, it has the same basename, so the bogon will be chosen
-    # first if we set CC to just the basename; use the full file name.
-    shift
-    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
-  fi
-fi
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$CC"; then
-  if test -n "$ac_tool_prefix"; then
-  for ac_prog in cl.exe
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-    test -n "$CC" && break
-  done
-fi
-if test -z "$CC"; then
-  ac_ct_CC=$CC
-  for ac_prog in cl.exe
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_CC="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$ac_ct_CC" && break
-done
-
-  if test "x$ac_ct_CC" = x; then
-    CC=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    CC=$ac_ct_CC
-  fi
-fi
-
-fi
-
-
-test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "no acceptable C compiler found in \$PATH
-See \`config.log' for more details" "$LINENO" 5; }
-
-# Provide some information about the compiler.
-$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
-set X $ac_compile
-ac_compiler=$2
-for ac_option in --version -v -V -qversion; do
-  { { ac_try="$ac_compiler $ac_option >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compiler $ac_option >&5") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    sed '10a\
-... rest of stderr output deleted ...
-         10q' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-  fi
-  rm -f conftest.er1 conftest.err
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-done
-
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
-# Try to create an executable without -o first, disregard a.out.
-# It will help us diagnose broken compilers, and finding out an intuition
-# of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-
-# The possible output files:
-ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
-
-ac_rmfiles=
-for ac_file in $ac_files
-do
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
-    * ) ac_rmfiles="$ac_rmfiles $ac_file";;
-  esac
-done
-rm -f $ac_rmfiles
-
-if { { ac_try="$ac_link_default"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link_default") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
-  # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
-# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
-# in a Makefile.  We should not override ac_cv_exeext if it was cached,
-# so that the user can short-circuit this test for compilers unknown to
-# Autoconf.
-for ac_file in $ac_files ''
-do
-  test -f "$ac_file" || continue
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
-       ;;
-    [ab].out )
-       # We found the default executable, but exeext='' is most
-       # certainly right.
-       break;;
-    *.* )
-       if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
-       then :; else
-          ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-       fi
-       # We set ac_cv_exeext here because the later test for it is not
-       # safe: cross compilers may not add the suffix if given an `-o'
-       # argument, so we may need to know it at that point already.
-       # Even if this section looks crufty: it has the advantage of
-       # actually working.
-       break;;
-    * )
-       break;;
-  esac
-done
-test "$ac_cv_exeext" = no && ac_cv_exeext=
-
-else
-  ac_file=''
-fi
-if test -z "$ac_file"; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "C compiler cannot create executables
-See \`config.log' for more details" "$LINENO" 5; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
-ac_exeext=$ac_cv_exeext
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
-$as_echo_n "checking for suffix of executables... " >&6; }
-if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
-  # If both `conftest.exe' and `conftest' are `present' (well, observable)
-# catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will
-# work properly (i.e., refer to `conftest.exe'), while it won't with
-# `rm'.
-for ac_file in conftest.exe conftest conftest.*; do
-  test -f "$ac_file" || continue
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
-    *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-         break;;
-    * ) break;;
-  esac
-done
-else
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest conftest$ac_cv_exeext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
-$as_echo "$ac_cv_exeext" >&6; }
-
-rm -f conftest.$ac_ext
-EXEEXT=$ac_cv_exeext
-ac_exeext=$EXEEXT
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-@%:@include <stdio.h>
-int
-main ()
-{
-FILE *f = fopen ("conftest.out", "w");
- return ferror (f) || fclose (f) != 0;
-
-  ;
-  return 0;
-}
-_ACEOF
-ac_clean_files="$ac_clean_files conftest.out"
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-if test "$cross_compiling" != yes; then
-  { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-  if { ac_try='./conftest$ac_cv_exeext'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-    cross_compiling=no
-  else
-    if test "$cross_compiling" = maybe; then
-       cross_compiling=yes
-    else
-       { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details" "$LINENO" 5; }
-    fi
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
-rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
-$as_echo_n "checking for suffix of object files... " >&6; }
-if ${ac_cv_objext+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.o conftest.obj
-if { { ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compile") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
-  for ac_file in conftest.o conftest.obj conftest.*; do
-  test -f "$ac_file" || continue;
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
-    *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
-       break;;
-  esac
-done
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest.$ac_cv_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
-$as_echo "$ac_cv_objext" >&6; }
-OBJEXT=$ac_cv_objext
-ac_objext=$OBJEXT
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
-$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if ${ac_cv_c_compiler_gnu+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-#ifndef __GNUC__
-       choke me
-#endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_compiler_gnu=yes
-else
-  ac_compiler_gnu=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_c_compiler_gnu=$ac_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
-$as_echo "$ac_cv_c_compiler_gnu" >&6; }
-if test $ac_compiler_gnu = yes; then
-  GCC=yes
-else
-  GCC=
-fi
-ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
-$as_echo_n "checking whether $CC accepts -g... " >&6; }
-if ${ac_cv_prog_cc_g+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_save_c_werror_flag=$ac_c_werror_flag
-   ac_c_werror_flag=yes
-   ac_cv_prog_cc_g=no
-   CFLAGS="-g"
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_g=yes
-else
-  CFLAGS=""
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  
-else
-  ac_c_werror_flag=$ac_save_c_werror_flag
-        CFLAGS="-g"
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_g=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-   ac_c_werror_flag=$ac_save_c_werror_flag
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
-$as_echo "$ac_cv_prog_cc_g" >&6; }
-if test "$ac_test_CFLAGS" = set; then
-  CFLAGS=$ac_save_CFLAGS
-elif test $ac_cv_prog_cc_g = yes; then
-  if test "$GCC" = yes; then
-    CFLAGS="-g -O2"
-  else
-    CFLAGS="-g"
-  fi
-else
-  if test "$GCC" = yes; then
-    CFLAGS="-O2"
-  else
-    CFLAGS=
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
-$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if ${ac_cv_prog_cc_c89+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_prog_cc_c89=no
-ac_save_CC=$CC
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdarg.h>
-#include <stdio.h>
-struct stat;
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
-     char **p;
-     int i;
-{
-  return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
-  char *s;
-  va_list v;
-  va_start (v,p);
-  s = g (p, va_arg (v,int));
-  va_end (v);
-  return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
-   function prototypes and stuff, but not '\xHH' hex character constants.
-   These don't provoke an error unfortunately, instead are silently treated
-   as 'x'.  The following induces an error, until -std is added to get
-   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
-   array size at least.  It's necessary to write '\x00'==0 to get something
-   that's true only with -std.  */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
-   inside strings and character constants.  */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
-
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
-  ;
-  return 0;
-}
-_ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
-       -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
-  CC="$ac_save_CC $ac_arg"
-  if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_c89=$ac_arg
-fi
-rm -f core conftest.err conftest.$ac_objext
-  test "x$ac_cv_prog_cc_c89" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
-
-fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
-  x)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
-  xno)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
-  *)
-    CC="$CC $ac_cv_prog_cc_c89"
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
-$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
-esac
-if test "x$ac_cv_prog_cc_c89" != xno; then :
-  
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_RANLIB+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$RANLIB"; then
-  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
-$as_echo "$RANLIB" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_RANLIB"; then
-  ac_ct_RANLIB=$RANLIB
-  # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_RANLIB"; then
-  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_RANLIB="ranlib"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
-$as_echo "$ac_ct_RANLIB" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_RANLIB" = x; then
-    RANLIB=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    RANLIB=$ac_ct_RANLIB
-  fi
-else
-  RANLIB="$ac_cv_prog_RANLIB"
-fi
-
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
-$as_echo_n "checking how to run the C preprocessor... " >&6; }
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
-  CPP=
-fi
-if test -z "$CPP"; then
-  if ${ac_cv_prog_CPP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-      # Double quotes because CPP needs to be expanded
-    for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
-    do
-      ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-@%:@ifdef __STDC__
-@%:@ include <limits.h>
-@%:@else
-@%:@ include <assert.h>
-@%:@endif
-                    Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  
-else
-  # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-@%:@include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  # Broken: success on invalid input.
-continue
-else
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-  break
-fi
-
-    done
-    ac_cv_prog_CPP=$CPP
-  
-fi
-  CPP=$ac_cv_prog_CPP
-else
-  ac_cv_prog_CPP=$CPP
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
-$as_echo "$CPP" >&6; }
-ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-@%:@ifdef __STDC__
-@%:@ include <limits.h>
-@%:@else
-@%:@ include <assert.h>
-@%:@endif
-                    Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  
-else
-  # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-@%:@include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  # Broken: success on invalid input.
-continue
-else
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-  
-else
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
-$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if ${ac_cv_path_GREP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$GREP"; then
-  ac_path_GREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in grep ggrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-      as_fn_executable_p "$ac_path_GREP" || continue
-# Check for GNU ac_path_GREP and select it if it is found.
-  # Check for GNU $ac_path_GREP
-case `"$ac_path_GREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'GREP' >> "conftest.nl"
-    "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_GREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_GREP="$ac_path_GREP"
-      ac_path_GREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_GREP_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_GREP"; then
-    as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-  fi
-else
-  ac_cv_path_GREP=$GREP
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
-$as_echo "$ac_cv_path_GREP" >&6; }
- GREP="$ac_cv_path_GREP"
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
-$as_echo_n "checking for egrep... " >&6; }
-if ${ac_cv_path_EGREP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
-   then ac_cv_path_EGREP="$GREP -E"
-   else
-     if test -z "$EGREP"; then
-  ac_path_EGREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in egrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-      as_fn_executable_p "$ac_path_EGREP" || continue
-# Check for GNU ac_path_EGREP and select it if it is found.
-  # Check for GNU $ac_path_EGREP
-case `"$ac_path_EGREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'EGREP' >> "conftest.nl"
-    "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_EGREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_EGREP="$ac_path_EGREP"
-      ac_path_EGREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_EGREP_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_EGREP"; then
-    as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-  fi
-else
-  ac_cv_path_EGREP=$EGREP
-fi
-
-   fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
-$as_echo "$ac_cv_path_EGREP" >&6; }
- EGREP="$ac_cv_path_EGREP"
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if ${ac_cv_header_stdc+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_header_stdc=yes
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
-  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "memchr" >/dev/null 2>&1; then :
-  
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "free" >/dev/null 2>&1; then :
-  
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
-  if test "$cross_compiling" = yes; then :
-  :
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
-                  (('a' <= (c) && (c) <= 'i') \
-                    || ('j' <= (c) && (c) <= 'r') \
-                    || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
-  int i;
-  for (i = 0; i < 256; i++)
-    if (XOR (islower (i), ISLOWER (i))
-       || toupper (i) != TOUPPER (i))
-      return 2;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-  
-$as_echo "@%:@define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
-                 inttypes.h stdint.h unistd.h
-do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
-"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-@%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-fi
-
-done
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
-$as_echo_n "checking whether byte ordering is bigendian... " >&6; }
-if ${ac_cv_c_bigendian+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_c_bigendian=unknown
-    # See if we're dealing with a universal compiler.
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifndef __APPLE_CC__
-              not a universal capable compiler
-            #endif
-            typedef int dummy;
-           
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  
-       # Check for potential -arch flags.  It is not universal unless
-       # there are at least two -arch flags with different values.
-       ac_arch=
-       ac_prev=
-       for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do
-        if test -n "$ac_prev"; then
-          case $ac_word in
-            i?86 | x86_64 | ppc | ppc64)
-              if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then
-                ac_arch=$ac_word
-              else
-                ac_cv_c_bigendian=universal
-                break
-              fi
-              ;;
-          esac
-          ac_prev=
-        elif test "x$ac_word" = "x-arch"; then
-          ac_prev=arch
-        fi
-       done
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-    if test $ac_cv_c_bigendian = unknown; then
-      # See if sys/param.h defines the BYTE_ORDER macro.
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
-            #include <sys/param.h>
-          
-int
-main ()
-{
-#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \
-                    && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \
-                    && LITTLE_ENDIAN)
-             bogus endian macros
-            #endif
-          
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  # It does; now see whether it defined to BIG_ENDIAN or not.
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
-               #include <sys/param.h>
-             
-int
-main ()
-{
-#if BYTE_ORDER != BIG_ENDIAN
-                not big endian
-               #endif
-             
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_c_bigendian=yes
-else
-  ac_cv_c_bigendian=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-    fi
-    if test $ac_cv_c_bigendian = unknown; then
-      # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris).
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <limits.h>
-          
-int
-main ()
-{
-#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN)
-             bogus endian macros
-            #endif
-          
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  # It does; now see whether it defined to _BIG_ENDIAN or not.
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <limits.h>
-             
-int
-main ()
-{
-#ifndef _BIG_ENDIAN
-                not big endian
-               #endif
-             
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_c_bigendian=yes
-else
-  ac_cv_c_bigendian=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-    fi
-    if test $ac_cv_c_bigendian = unknown; then
-      # Compile a test program.
-      if test "$cross_compiling" = yes; then :
-  # Try to guess by grepping values from an object file.
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-short int ascii_mm[] =
-                 { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
-               short int ascii_ii[] =
-                 { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
-               int use_ascii (int i) {
-                 return ascii_mm[i] + ascii_ii[i];
-               }
-               short int ebcdic_ii[] =
-                 { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
-               short int ebcdic_mm[] =
-                 { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
-               int use_ebcdic (int i) {
-                 return ebcdic_mm[i] + ebcdic_ii[i];
-               }
-               extern int foo;
-             
-int
-main ()
-{
-return use_ascii (foo) == use_ebcdic (foo);
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then
-             ac_cv_c_bigendian=yes
-           fi
-           if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
-             if test "$ac_cv_c_bigendian" = unknown; then
-               ac_cv_c_bigendian=no
-             else
-               # finding both strings is unlikely to happen, but who knows?
-               ac_cv_c_bigendian=unknown
-             fi
-           fi
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-
-            /* Are we little or big endian?  From Harbison&Steele.  */
-            union
-            {
-              long int l;
-              char c[sizeof (long int)];
-            } u;
-            u.l = 1;
-            return u.c[sizeof (long int) - 1] == 1;
-          
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  ac_cv_c_bigendian=no
-else
-  ac_cv_c_bigendian=yes
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-    fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5
-$as_echo "$ac_cv_c_bigendian" >&6; }
- case $ac_cv_c_bigendian in #(
-   yes)
-     $as_echo "@%:@define WORDS_BIGENDIAN 1" >>confdefs.h
-;; #(
-   no)
-      ;; #(
-   universal)
-       
-$as_echo "@%:@define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
-
-     ;; #(
-   *)
-     as_fn_error $? "unknown endianness
- presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
- esac
-
-
-# Checks for libraries.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing gethostbyname" >&5
-$as_echo_n "checking for library containing gethostbyname... " >&6; }
-if ${ac_cv_search_gethostbyname+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_func_search_save_LIBS=$LIBS
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char gethostbyname ();
-int
-main ()
-{
-return gethostbyname ();
-  ;
-  return 0;
-}
-_ACEOF
-for ac_lib in '' nsl; do
-  if test -z "$ac_lib"; then
-    ac_res="none required"
-  else
-    ac_res=-l$ac_lib
-    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
-  fi
-  if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_search_gethostbyname=$ac_res
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext
-  if ${ac_cv_search_gethostbyname+:} false; then :
-  break
-fi
-done
-if ${ac_cv_search_gethostbyname+:} false; then :
-  
-else
-  ac_cv_search_gethostbyname=no
-fi
-rm conftest.$ac_ext
-LIBS=$ac_func_search_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_gethostbyname" >&5
-$as_echo "$ac_cv_search_gethostbyname" >&6; }
-ac_res=$ac_cv_search_gethostbyname
-if test "$ac_res" != no; then :
-  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
-  
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing socket" >&5
-$as_echo_n "checking for library containing socket... " >&6; }
-if ${ac_cv_search_socket+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_func_search_save_LIBS=$LIBS
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char socket ();
-int
-main ()
-{
-return socket ();
-  ;
-  return 0;
-}
-_ACEOF
-for ac_lib in '' socket; do
-  if test -z "$ac_lib"; then
-    ac_res="none required"
-  else
-    ac_res=-l$ac_lib
-    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
-  fi
-  if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_search_socket=$ac_res
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext
-  if ${ac_cv_search_socket+:} false; then :
-  break
-fi
-done
-if ${ac_cv_search_socket+:} false; then :
-  
-else
-  ac_cv_search_socket=no
-fi
-rm conftest.$ac_ext
-LIBS=$ac_func_search_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_socket" >&5
-$as_echo "$ac_cv_search_socket" >&6; }
-ac_res=$ac_cv_search_socket
-if test "$ac_res" != no; then :
-  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
-  
-fi
-
-fi
-
-
-@%:@ Check whether --with-debug was given.
-if test "${with_debug+set}" = set; then :
-  withval=$with_debug; CPPFLAGS="${CPPFLAGS} -DNDEBUG"
-   NDEBUG=1
-fi
-
-
-
-@%:@ Check whether --with-ecc was given.
-if test "${with_ecc+set}" = set; then :
-  withval=$with_ecc; 
-else
-  
-$as_echo "@%:@define DTLS_ECC 1" >>confdefs.h
-
-   OPT_OBJS="${OPT_OBJS} ecc/ecc.o"
-   DTLS_ECC=1
-fi
-
-
-
-@%:@ Check whether --with-psk was given.
-if test "${with_psk+set}" = set; then :
-  withval=$with_psk; 
-else
-  
-$as_echo "@%:@define DTLS_PSK 1" >>confdefs.h
-
-   DTLS_PSK=1
-fi
-
-
-CPPFLAGS="${CPPFLAGS} -DDTLSv12 -DWITH_SHA256"
-OPT_OBJS="${OPT_OBJS} sha2/sha2.o"
-
-
-
-
-
-
-
-if test "${with_contiki}" = "yes" ; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: skipping header checks for Contiki" >&5
-$as_echo "$as_me: skipping header checks for Contiki" >&6;}
-else
-  # Checks for header files.
-  for ac_header in assert.h arpa/inet.h fcntl.h inttypes.h netdb.h netinet/in.h stddef.h stdint.h stdlib.h string.h strings.h sys/param.h sys/socket.h unistd.h
-do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-@%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-fi
-
-done
-
-
-  for ac_header in sys/time.h time.h
-do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-@%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-fi
-
-done
-
-  for ac_header in sys/types.h sys/stat.h
-do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-@%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-fi
-
-done
-
-
-# Checks for typedefs, structures, and compiler characteristics.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5
-$as_echo_n "checking for inline... " >&6; }
-if ${ac_cv_c_inline+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_c_inline=no
-for ac_kw in inline __inline__ __inline; do
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifndef __cplusplus
-typedef int foo_t;
-static $ac_kw foo_t static_foo () {return 0; }
-$ac_kw foo_t foo () {return 0; }
-#endif
-
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_c_inline=$ac_kw
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  test "$ac_cv_c_inline" != no && break
-done
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5
-$as_echo "$ac_cv_c_inline" >&6; }
-
-case $ac_cv_c_inline in
-  inline | yes) ;;
-  *)
-    case $ac_cv_c_inline in
-      no) ac_val=;;
-      *) ac_val=$ac_cv_c_inline;;
-    esac
-    cat >>confdefs.h <<_ACEOF
-#ifndef __cplusplus
-#define inline $ac_val
-#endif
-_ACEOF
-    ;;
-esac
-
-ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
-if test "x$ac_cv_type_size_t" = xyes; then :
-  
-else
-  
-cat >>confdefs.h <<_ACEOF
-@%:@define size_t unsigned int
-_ACEOF
-
-fi
-
-
-ac_fn_c_check_member "$LINENO" "struct sockaddr_in6" "sin6_len" "ac_cv_member_struct_sockaddr_in6_sin6_len" "#include <netinet/in.h>
-"
-if test "x$ac_cv_member_struct_sockaddr_in6_sin6_len" = xyes; then :
-  
-$as_echo "@%:@define HAVE_SOCKADDR_IN6_SIN6_LEN 1" >>confdefs.h
-
-fi
-
-
-# Checks for library functions.
-for ac_header in stdlib.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "stdlib.h" "ac_cv_header_stdlib_h" "$ac_includes_default"
-if test "x$ac_cv_header_stdlib_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-@%:@define HAVE_STDLIB_H 1
-_ACEOF
-fi
-
-done
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU libc compatible malloc" >&5
-$as_echo_n "checking for GNU libc compatible malloc... " >&6; }
-if ${ac_cv_func_malloc_0_nonnull+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "$cross_compiling" = yes; then :
-  ac_cv_func_malloc_0_nonnull=no
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#if defined STDC_HEADERS || defined HAVE_STDLIB_H
-# include <stdlib.h>
-#else
-char *malloc ();
-#endif
-
-int
-main ()
-{
-return ! malloc (0);
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  ac_cv_func_malloc_0_nonnull=yes
-else
-  ac_cv_func_malloc_0_nonnull=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_malloc_0_nonnull" >&5
-$as_echo "$ac_cv_func_malloc_0_nonnull" >&6; }
-if test $ac_cv_func_malloc_0_nonnull = yes; then :
-  
-$as_echo "@%:@define HAVE_MALLOC 1" >>confdefs.h
-
-else
-  $as_echo "@%:@define HAVE_MALLOC 0" >>confdefs.h
-
-   case " $LIB@&t@OBJS " in
-  *" malloc.$ac_objext "* ) ;;
-  *) LIB@&t@OBJS="$LIB@&t@OBJS malloc.$ac_objext"
- ;;
-esac
-
-   
-$as_echo "@%:@define malloc rpl_malloc" >>confdefs.h
-
-fi
-
-
-for ac_func in memset select socket strdup strerror strnlen fls vprintf
-do :
-  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-@%:@define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-fi
-done
-
-fi
-
-ac_config_headers="$ac_config_headers dtls_config.h tinydtls.h"
-
-
-# Adds Contiki-specific definitions to the end of dtls_config.h
-
-
-ac_config_files="$ac_config_files Makefile doc/Makefile doc/Doxyfile tests/Makefile examples/contiki/Makefile platform-specific/Makefile sha2/Makefile aes/Makefile ecc/Makefile"
-
-cat >confcache <<\_ACEOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs, see configure's option --config-cache.
-# It is not useful on other systems.  If it contains results you don't
-# want to keep, you may remove or edit it.
-#
-# config.status only pays attention to the cache file if you give it
-# the --recheck option to rerun configure.
-#
-# `ac_cv_env_foo' variables (set or unset) will be overridden when
-# loading this file, other *unset* `ac_cv_foo' will be assigned the
-# following values.
-
-_ACEOF
-
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, we kill variables containing newlines.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(
-  for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
-    eval ac_val=\$$ac_var
-    case $ac_val in #(
-    *${as_nl}*)
-      case $ac_var in #(
-      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
-      esac
-      case $ac_var in #(
-      _ | IFS | as_nl) ;; #(
-      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
-      *) { eval $ac_var=; unset $ac_var;} ;;
-      esac ;;
-    esac
-  done
-
-  (set) 2>&1 |
-    case $as_nl`(ac_space=' '; set) 2>&1` in #(
-    *${as_nl}ac_space=\ *)
-      # `set' does not quote correctly, so add quotes: double-quote
-      # substitution turns \\\\ into \\, and sed turns \\ into \.
-      sed -n \
-       "s/'/'\\\\''/g;
-         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
-      ;; #(
-    *)
-      # `set' quotes correctly as required by POSIX, so do not add quotes.
-      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
-      ;;
-    esac |
-    sort
-) |
-  sed '
-     /^ac_cv_env_/b end
-     t clear
-     :clear
-     s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
-     t end
-     s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
-     :end' >>confcache
-if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
-  if test -w "$cache_file"; then
-    if test "x$cache_file" != "x/dev/null"; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
-$as_echo "$as_me: updating cache $cache_file" >&6;}
-      if test ! -f "$cache_file" || test -h "$cache_file"; then
-       cat confcache >"$cache_file"
-      else
-        case $cache_file in #(
-        */* | ?:*)
-         mv -f confcache "$cache_file"$$ &&
-         mv -f "$cache_file"$$ "$cache_file" ;; #(
-        *)
-         mv -f confcache "$cache_file" ;;
-       esac
-      fi
-    fi
-  else
-    { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
-$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
-  fi
-fi
-rm -f confcache
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-DEFS=-DHAVE_CONFIG_H
-
-ac_libobjs=
-ac_ltlibobjs=
-U=
-for ac_i in : $LIB@&t@OBJS; do test "x$ac_i" = x: && continue
-  # 1. Remove the extension, and $U if already installed.
-  ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
-  ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
-  # 2. Prepend LIBOBJDIR.  When used with automake>=1.10 LIBOBJDIR
-  #    will be set to the directory where LIBOBJS objects are built.
-  as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
-  as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
-done
-LIB@&t@OBJS=$ac_libobjs
-
-LTLIBOBJS=$ac_ltlibobjs
-
-
-
-
-: "${CONFIG_STATUS=./config.status}"
-ac_write_fail=0
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
-$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
-as_write_fail=0
-cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
-#! $SHELL
-# Generated by $as_me.
-# Run this file to recreate the current configuration.
-# Compiler output produced by configure, useful for debugging
-# configure, is in config.log if it exists.
-
-debug=false
-ac_cs_recheck=false
-ac_cs_silent=false
-
-SHELL=\${CONFIG_SHELL-$SHELL}
-export SHELL
-_ASEOF
-cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in @%:@(
-  *posix*) :
-    set -o posix ;; @%:@(
-  *) :
-     ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
-    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='print -r --'
-  as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='printf %s\n'
-  as_echo_n='printf %s'
-else
-  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
-    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
-    as_echo_n='/usr/ucb/echo -n'
-  else
-    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
-    as_echo_n_body='eval
-      arg=$1;
-      case $arg in @%:@(
-      *"$as_nl"*)
-       expr "X$arg" : "X\\(.*\\)$as_nl";
-       arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
-      esac;
-      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
-    '
-    export as_echo_n_body
-    as_echo_n='sh -c $as_echo_n_body as_echo'
-  fi
-  export as_echo_body
-  as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  PATH_SEPARATOR=:
-  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
-    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
-      PATH_SEPARATOR=';'
-  }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.  Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" ""       $as_nl"
-
-# Find who we are.  Look in the path if we contain no directory separator.
-as_myself=
-case $0 in @%:@((
-  *[\\/]* ) as_myself=$0 ;;
-  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-  done
-IFS=$as_save_IFS
-
-     ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
-  as_myself=$0
-fi
-if test ! -f "$as_myself"; then
-  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
-  exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there.  '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
-  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-
-@%:@ as_fn_error STATUS ERROR [LINENO LOG_FD]
-@%:@ ----------------------------------------
-@%:@ Output "`basename @S|@0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-@%:@ provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-@%:@ script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
-  as_status=$1; test $as_status -eq 0 && as_status=1
-  if test "$4"; then
-    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
-  fi
-  $as_echo "$as_me: error: $2" >&2
-  as_fn_exit $as_status
-} @%:@ as_fn_error
-
-
-@%:@ as_fn_set_status STATUS
-@%:@ -----------------------
-@%:@ Set @S|@? to STATUS, without forking.
-as_fn_set_status ()
-{
-  return $1
-} @%:@ as_fn_set_status
-
-@%:@ as_fn_exit STATUS
-@%:@ -----------------
-@%:@ Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
-  set +e
-  as_fn_set_status $1
-  exit $1
-} @%:@ as_fn_exit
-
-@%:@ as_fn_unset VAR
-@%:@ ---------------
-@%:@ Portably unset VAR.
-as_fn_unset ()
-{
-  { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-@%:@ as_fn_append VAR VALUE
-@%:@ ----------------------
-@%:@ Append the text in VALUE to the end of the definition contained in VAR. Take
-@%:@ advantage of any shell optimizations that allow amortized linear growth over
-@%:@ repeated appends, instead of the typical quadratic growth present in naive
-@%:@ implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
-  eval 'as_fn_append ()
-  {
-    eval $1+=\$2
-  }'
-else
-  as_fn_append ()
-  {
-    eval $1=\$$1\$2
-  }
-fi # as_fn_append
-
-@%:@ as_fn_arith ARG...
-@%:@ ------------------
-@%:@ Perform arithmetic evaluation on the ARGs, and store the result in the
-@%:@ global @S|@as_val. Take advantage of shells that can avoid forks. The arguments
-@%:@ must be portable across @S|@(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
-  eval 'as_fn_arith ()
-  {
-    as_val=$(( $* ))
-  }'
-else
-  as_fn_arith ()
-  {
-    as_val=`expr "$@" || test $? -eq 1`
-  }
-fi # as_fn_arith
-
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
-   test "X`expr 00001 : '.*\(...\)'`" = X001; then
-  as_expr=expr
-else
-  as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
-  as_basename=basename
-else
-  as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
-  as_dirname=dirname
-else
-  as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
-        X"$0" : 'X\(//\)$' \| \
-        X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
-    sed '/^.*\/\([^/][^/]*\)\/*$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in @%:@(((((
--n*)
-  case `echo 'xy\c'` in
-  *c*) ECHO_T='        ';;     # ECHO_T is single tab character.
-  xy)  ECHO_C='\c';;
-  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
-       ECHO_T='        ';;
-  esac;;
-*)
-  ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
-  rm -f conf$$.dir/conf$$.file
-else
-  rm -f conf$$.dir
-  mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
-  if ln -s conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s='ln -s'
-    # ... but there are two gotchas:
-    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
-    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -pR'.
-    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -pR'
-  elif ln conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s=ln
-  else
-    as_ln_s='cp -pR'
-  fi
-else
-  as_ln_s='cp -pR'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-
-@%:@ as_fn_mkdir_p
-@%:@ -------------
-@%:@ Create "@S|@as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
-  case $as_dir in #(
-  -*) as_dir=./$as_dir;;
-  esac
-  test -d "$as_dir" || eval $as_mkdir_p || {
-    as_dirs=
-    while :; do
-      case $as_dir in #(
-      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
-      *) as_qdir=$as_dir;;
-      esac
-      as_dirs="'$as_qdir' $as_dirs"
-      as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$as_dir" : 'X\(//\)[^/]' \| \
-        X"$as_dir" : 'X\(//\)$' \| \
-        X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-      test -d "$as_dir" && break
-    done
-    test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} @%:@ as_fn_mkdir_p
-if mkdir -p . 2>/dev/null; then
-  as_mkdir_p='mkdir -p "$as_dir"'
-else
-  test -d ./-p && rmdir ./-p
-  as_mkdir_p=false
-fi
-
-
-@%:@ as_fn_executable_p FILE
-@%:@ -----------------------
-@%:@ Test if FILE is an executable regular file.
-as_fn_executable_p ()
-{
-  test -f "$1" && test -x "$1"
-} @%:@ as_fn_executable_p
-as_test_x='test -x'
-as_executable_p=as_fn_executable_p
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-exec 6>&1
-## ----------------------------------- ##
-## Main body of $CONFIG_STATUS script. ##
-## ----------------------------------- ##
-_ASEOF
-test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# Save the log message, to keep $0 and so on meaningful, and to
-# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling.
-ac_log="
-This file was extended by tinydtls $as_me 0.8.2, which was
-generated by GNU Autoconf 2.69.  Invocation command line was
-
-  CONFIG_FILES    = $CONFIG_FILES
-  CONFIG_HEADERS  = $CONFIG_HEADERS
-  CONFIG_LINKS    = $CONFIG_LINKS
-  CONFIG_COMMANDS = $CONFIG_COMMANDS
-  $ $0 $@
-
-on `(hostname || uname -n) 2>/dev/null | sed 1q`
-"
-
-_ACEOF
-
-case $ac_config_files in *"
-"*) set x $ac_config_files; shift; ac_config_files=$*;;
-esac
-
-case $ac_config_headers in *"
-"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
-esac
-
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-# Files that config.status was made for.
-config_files="$ac_config_files"
-config_headers="$ac_config_headers"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-ac_cs_usage="\
-\`$as_me' instantiates files and other configuration actions
-from templates according to the current configuration.  Unless the files
-and actions are specified as TAGs, all are instantiated by default.
-
-Usage: $0 [OPTION]... [TAG]...
-
-  -h, --help       print this help, then exit
-  -V, --version    print version number and configuration settings, then exit
-      --config     print configuration, then exit
-  -q, --quiet, --silent
-                   do not print progress messages
-  -d, --debug      don't remove temporary files
-      --recheck    update $as_me by reconfiguring in the same conditions
-      --file=FILE[:TEMPLATE] 
-                   instantiate the configuration file FILE
-      --header=FILE[:TEMPLATE] 
-                   instantiate the configuration header FILE
-
-Configuration files:
-$config_files
-
-Configuration headers:
-$config_headers
-
-Report bugs to the package provider."
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
-ac_cs_version="\\
-tinydtls config.status 0.8.2
-configured by $0, generated by GNU Autoconf 2.69,
-  with options \\"\$ac_cs_config\\"
-
-Copyright (C) 2012 Free Software Foundation, Inc.
-This config.status script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it."
-
-ac_pwd='$ac_pwd'
-srcdir='$srcdir'
-test -n "\$AWK" || AWK=awk
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# The default lists apply if the user does not specify any file.
-ac_need_defaults=:
-while test $# != 0
-do
-  case $1 in
-  --*=?*)
-    ac_option=`expr "X$1" : 'X\([^=]*\)='`
-    ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
-    ac_shift=:
-    ;;
-  --*=)
-    ac_option=`expr "X$1" : 'X\([^=]*\)='`
-    ac_optarg=
-    ac_shift=:
-    ;;
-  *)
-    ac_option=$1
-    ac_optarg=$2
-    ac_shift=shift
-    ;;
-  esac
-
-  case $ac_option in
-  # Handling of the options.
-  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
-    ac_cs_recheck=: ;;
-  --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
-    $as_echo "$ac_cs_version"; exit ;;
-  --config | --confi | --conf | --con | --co | --c )
-    $as_echo "$ac_cs_config"; exit ;;
-  --debug | --debu | --deb | --de | --d | -d )
-    debug=: ;;
-  --file | --fil | --fi | --f )
-    $ac_shift
-    case $ac_optarg in
-    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    '') as_fn_error $? "missing file argument" ;;
-    esac
-    as_fn_append CONFIG_FILES " '$ac_optarg'"
-    ac_need_defaults=false;;
-  --header | --heade | --head | --hea )
-    $ac_shift
-    case $ac_optarg in
-    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    esac
-    as_fn_append CONFIG_HEADERS " '$ac_optarg'"
-    ac_need_defaults=false;;
-  --he | --h)
-    # Conflict between --help and --header
-    as_fn_error $? "ambiguous option: \`$1'
-Try \`$0 --help' for more information.";;
-  --help | --hel | -h )
-    $as_echo "$ac_cs_usage"; exit ;;
-  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-  | -silent | --silent | --silen | --sile | --sil | --si | --s)
-    ac_cs_silent=: ;;
-
-  # This is an error.
-  -*) as_fn_error $? "unrecognized option: \`$1'
-Try \`$0 --help' for more information." ;;
-
-  *) as_fn_append ac_config_targets " $1"
-     ac_need_defaults=false ;;
-
-  esac
-  shift
-done
-
-ac_configure_extra_args=
-
-if $ac_cs_silent; then
-  exec 6>/dev/null
-  ac_configure_extra_args="$ac_configure_extra_args --silent"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-if \$ac_cs_recheck; then
-  set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
-  shift
-  \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
-  CONFIG_SHELL='$SHELL'
-  export CONFIG_SHELL
-  exec "\$@"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-exec 5>>config.log
-{
-  echo
-  sed 'h;s/./-/g;s/^.../@%:@@%:@ /;s/...$/ @%:@@%:@/;p;x;p;x' <<_ASBOX
-@%:@@%:@ Running $as_me. @%:@@%:@
-_ASBOX
-  $as_echo "$ac_log"
-} >&5
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-
-# Handling of arguments.
-for ac_config_target in $ac_config_targets
-do
-  case $ac_config_target in
-    "dtls_config.h") CONFIG_HEADERS="$CONFIG_HEADERS dtls_config.h" ;;
-    "tinydtls.h") CONFIG_HEADERS="$CONFIG_HEADERS tinydtls.h" ;;
-    "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
-    "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
-    "doc/Doxyfile") CONFIG_FILES="$CONFIG_FILES doc/Doxyfile" ;;
-    "tests/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;;
-    "examples/contiki/Makefile") CONFIG_FILES="$CONFIG_FILES examples/contiki/Makefile" ;;
-    "platform-specific/Makefile") CONFIG_FILES="$CONFIG_FILES platform-specific/Makefile" ;;
-    "sha2/Makefile") CONFIG_FILES="$CONFIG_FILES sha2/Makefile" ;;
-    "aes/Makefile") CONFIG_FILES="$CONFIG_FILES aes/Makefile" ;;
-    "ecc/Makefile") CONFIG_FILES="$CONFIG_FILES ecc/Makefile" ;;
-
-  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
-  esac
-done
-
-
-# If the user did not use the arguments to specify the items to instantiate,
-# then the envvar interface is used.  Set only those that are not.
-# We use the long form for the default assignment because of an extremely
-# bizarre bug on SunOS 4.1.3.
-if $ac_need_defaults; then
-  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
-  test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
-fi
-
-# Have a temporary directory for convenience.  Make it in the build tree
-# simply because there is no reason against having it here, and in addition,
-# creating and moving files from /tmp can sometimes cause problems.
-# Hook for its removal unless debugging.
-# Note that there is a small window in which the directory will not be cleaned:
-# after its creation but before its name has been assigned to `$tmp'.
-$debug ||
-{
-  tmp= ac_tmp=
-  trap 'exit_status=$?
-  : "${ac_tmp:=$tmp}"
-  { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
-' 0
-  trap 'as_fn_exit 1' 1 2 13 15
-}
-# Create a (secure) tmp directory for tmp files.
-
-{
-  tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
-  test -d "$tmp"
-}  ||
-{
-  tmp=./conf$$-$RANDOM
-  (umask 077 && mkdir "$tmp")
-} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
-ac_tmp=$tmp
-
-# Set up the scripts for CONFIG_FILES section.
-# No need to generate them if there are no CONFIG_FILES.
-# This happens for instance with `./config.status config.h'.
-if test -n "$CONFIG_FILES"; then
-
-
-ac_cr=`echo X | tr X '\015'`
-# On cygwin, bash can eat \r inside `` if the user requested igncr.
-# But we know of no other shell where ac_cr would be empty at this
-# point, so we can use a bashism as a fallback.
-if test "x$ac_cr" = x; then
-  eval ac_cr=\$\'\\r\'
-fi
-ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
-if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
-  ac_cs_awk_cr='\\r'
-else
-  ac_cs_awk_cr=$ac_cr
-fi
-
-echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
-_ACEOF
-
-
-{
-  echo "cat >conf$$subs.awk <<_ACEOF" &&
-  echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
-  echo "_ACEOF"
-} >conf$$subs.sh ||
-  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
-ac_delim='%!_!# '
-for ac_last_try in false false false false false :; do
-  . ./conf$$subs.sh ||
-    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-
-  ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
-  if test $ac_delim_n = $ac_delim_num; then
-    break
-  elif $ac_last_try; then
-    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-  else
-    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
-  fi
-done
-rm -f conf$$subs.sh
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
-_ACEOF
-sed -n '
-h
-s/^/S["/; s/!.*/"]=/
-p
-g
-s/^[^!]*!//
-:repl
-t repl
-s/'"$ac_delim"'$//
-t delim
-:nl
-h
-s/\(.\{148\}\)..*/\1/
-t more1
-s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
-p
-n
-b repl
-:more1
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t nl
-:delim
-h
-s/\(.\{148\}\)..*/\1/
-t more2
-s/["\\]/\\&/g; s/^/"/; s/$/"/
-p
-b
-:more2
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t delim
-' <conf$$subs.awk | sed '
-/^[^""]/{
-  N
-  s/\n//
-}
-' >>$CONFIG_STATUS || ac_write_fail=1
-rm -f conf$$subs.awk
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-_ACAWK
-cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
-  for (key in S) S_is_set[key] = 1
-  FS = "\a"
-
-}
-{
-  line = $ 0
-  nfields = split(line, field, "@")
-  substed = 0
-  len = length(field[1])
-  for (i = 2; i < nfields; i++) {
-    key = field[i]
-    keylen = length(key)
-    if (S_is_set[key]) {
-      value = S[key]
-      line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
-      len += length(value) + length(field[++i])
-      substed = 1
-    } else
-      len += 1 + keylen
-  }
-
-  print line
-}
-
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
-  sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
-else
-  cat
-fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
-  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
-_ACEOF
-
-# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
-# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
-# trailing colons and then remove the whole line if VPATH becomes empty
-# (actually we leave an empty line to preserve line numbers).
-if test "x$srcdir" = x.; then
-  ac_vpsub='/^[         ]*VPATH[        ]*=[    ]*/{
-h
-s///
-s/^/:/
-s/[     ]*$/:/
-s/:\$(srcdir):/:/g
-s/:\${srcdir}:/:/g
-s/:@srcdir@:/:/g
-s/^:*//
-s/:*$//
-x
-s/\(=[  ]*\).*/\1/
-G
-s/\n//
-s/^[^=]*=[      ]*$//
-}'
-fi
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-fi # test -n "$CONFIG_FILES"
-
-# Set up the scripts for CONFIG_HEADERS section.
-# No need to generate them if there are no CONFIG_HEADERS.
-# This happens for instance with `./config.status Makefile'.
-if test -n "$CONFIG_HEADERS"; then
-cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
-BEGIN {
-_ACEOF
-
-# Transform confdefs.h into an awk script `defines.awk', embedded as
-# here-document in config.status, that substitutes the proper values into
-# config.h.in to produce config.h.
-
-# Create a delimiter string that does not exist in confdefs.h, to ease
-# handling of long lines.
-ac_delim='%!_!# '
-for ac_last_try in false false :; do
-  ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
-  if test -z "$ac_tt"; then
-    break
-  elif $ac_last_try; then
-    as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
-  else
-    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
-  fi
-done
-
-# For the awk script, D is an array of macro values keyed by name,
-# likewise P contains macro parameters if any.  Preserve backslash
-# newline sequences.
-
-ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
-sed -n '
-s/.\{148\}/&'"$ac_delim"'/g
-t rset
-:rset
-s/^[    ]*#[    ]*define[       ][      ]*/ /
-t def
-d
-:def
-s/\\$//
-t bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[    ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3"/p
-s/^ \('"$ac_word_re"'\)[        ]*\(.*\)/D["\1"]=" \2"/p
-d
-:bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[    ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3\\\\\\n"\\/p
-t cont
-s/^ \('"$ac_word_re"'\)[        ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
-t cont
-d
-:cont
-n
-s/.\{148\}/&'"$ac_delim"'/g
-t clear
-:clear
-s/\\$//
-t bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/"/p
-d
-:bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
-b cont
-' <confdefs.h | sed '
-s/'"$ac_delim"'/"\\\
-"/g' >>$CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-  for (key in D) D_is_set[key] = 1
-  FS = "\a"
-}
-/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
-  line = \$ 0
-  split(line, arg, " ")
-  if (arg[1] == "#") {
-    defundef = arg[2]
-    mac1 = arg[3]
-  } else {
-    defundef = substr(arg[1], 2)
-    mac1 = arg[2]
-  }
-  split(mac1, mac2, "(") #)
-  macro = mac2[1]
-  prefix = substr(line, 1, index(line, defundef) - 1)
-  if (D_is_set[macro]) {
-    # Preserve the white space surrounding the "#".
-    print prefix "define", macro P[macro] D[macro]
-    next
-  } else {
-    # Replace #undef with comments.  This is necessary, for example,
-    # in the case of _POSIX_SOURCE, which is predefined and required
-    # on some systems where configure will not decide to define it.
-    if (defundef == "undef") {
-      print "/*", prefix defundef, macro, "*/"
-      next
-    }
-  }
-}
-{ print }
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-  as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
-fi # test -n "$CONFIG_HEADERS"
-
-
-eval set X "  :F $CONFIG_FILES  :H $CONFIG_HEADERS    "
-shift
-for ac_tag
-do
-  case $ac_tag in
-  :[FHLC]) ac_mode=$ac_tag; continue;;
-  esac
-  case $ac_mode$ac_tag in
-  :[FHL]*:*);;
-  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
-  :[FH]-) ac_tag=-:-;;
-  :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
-  esac
-  ac_save_IFS=$IFS
-  IFS=:
-  set x $ac_tag
-  IFS=$ac_save_IFS
-  shift
-  ac_file=$1
-  shift
-
-  case $ac_mode in
-  :L) ac_source=$1;;
-  :[FH])
-    ac_file_inputs=
-    for ac_f
-    do
-      case $ac_f in
-      -) ac_f="$ac_tmp/stdin";;
-      *) # Look for the file first in the build tree, then in the source tree
-        # (if the path is not absolute).  The absolute path cannot be DOS-style,
-        # because $ac_f cannot contain `:'.
-        test -f "$ac_f" ||
-          case $ac_f in
-          [\\/$]*) false;;
-          *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
-          esac ||
-          as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
-      esac
-      case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
-      as_fn_append ac_file_inputs " '$ac_f'"
-    done
-
-    # Let's still pretend it is `configure' which instantiates (i.e., don't
-    # use $as_me), people would be surprised to read:
-    #    /* config.h.  Generated by config.status.  */
-    configure_input='Generated from '`
-         $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
-       `' by configure.'
-    if test x"$ac_file" != x-; then
-      configure_input="$ac_file.  $configure_input"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
-$as_echo "$as_me: creating $ac_file" >&6;}
-    fi
-    # Neutralize special characters interpreted by sed in replacement strings.
-    case $configure_input in #(
-    *\&* | *\|* | *\\* )
-       ac_sed_conf_input=`$as_echo "$configure_input" |
-       sed 's/[\\\\&|]/\\\\&/g'`;; #(
-    *) ac_sed_conf_input=$configure_input;;
-    esac
-
-    case $ac_tag in
-    *:-:* | *:-) cat >"$ac_tmp/stdin" \
-      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
-    esac
-    ;;
-  esac
-
-  ac_dir=`$as_dirname -- "$ac_file" ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$ac_file" : 'X\(//\)[^/]' \| \
-        X"$ac_file" : 'X\(//\)$' \| \
-        X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$ac_file" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-  as_dir="$ac_dir"; as_fn_mkdir_p
-  ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
-  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
-  # A ".." for each directory in $ac_dir_suffix.
-  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
-  case $ac_top_builddir_sub in
-  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
-  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
-  esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
-  .)  # We are building in place.
-    ac_srcdir=.
-    ac_top_srcdir=$ac_top_builddir_sub
-    ac_abs_top_srcdir=$ac_pwd ;;
-  [\\/]* | ?:[\\/]* )  # Absolute name.
-    ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir
-    ac_abs_top_srcdir=$srcdir ;;
-  *) # Relative name.
-    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_build_prefix$srcdir
-    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-
-  case $ac_mode in
-  :F)
-  #
-  # CONFIG_FILE
-  #
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# If the template does not know about datarootdir, expand it.
-# FIXME: This hack should be removed a few years after 2.60.
-ac_datarootdir_hack=; ac_datarootdir_seen=
-ac_sed_dataroot='
-/datarootdir/ {
-  p
-  q
-}
-/@datadir@/p
-/@docdir@/p
-/@infodir@/p
-/@localedir@/p
-/@mandir@/p'
-case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
-*datarootdir*) ac_datarootdir_seen=yes;;
-*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
-$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-  ac_datarootdir_hack='
-  s&@datadir@&$datadir&g
-  s&@docdir@&$docdir&g
-  s&@infodir@&$infodir&g
-  s&@localedir@&$localedir&g
-  s&@mandir@&$mandir&g
-  s&\\\${datarootdir}&$datarootdir&g' ;;
-esac
-_ACEOF
-
-# Neutralize VPATH when `$srcdir' = `.'.
-# Shell code in configure.ac might set extrasub.
-# FIXME: do we really want to maintain this feature?
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_sed_extra="$ac_vpsub
-$extrasub
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-:t
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s|@configure_input@|$ac_sed_conf_input|;t t
-s&@top_builddir@&$ac_top_builddir_sub&;t t
-s&@top_build_prefix@&$ac_top_build_prefix&;t t
-s&@srcdir@&$ac_srcdir&;t t
-s&@abs_srcdir@&$ac_abs_srcdir&;t t
-s&@top_srcdir@&$ac_top_srcdir&;t t
-s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
-s&@builddir@&$ac_builddir&;t t
-s&@abs_builddir@&$ac_abs_builddir&;t t
-s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
-$ac_datarootdir_hack
-"
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
-  >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-
-test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
-  { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
-  { ac_out=`sed -n '/^[         ]*datarootdir[  ]*:*=/p' \
-      "$ac_tmp/out"`; test -z "$ac_out"; } &&
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined" >&5
-$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined" >&2;}
-
-  rm -f "$ac_tmp/stdin"
-  case $ac_file in
-  -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
-  *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
-  esac \
-  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- ;;
-  :H)
-  #
-  # CONFIG_HEADER
-  #
-  if test x"$ac_file" != x-; then
-    {
-      $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
-    } >"$ac_tmp/config.h" \
-      || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-    if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
-$as_echo "$as_me: $ac_file is unchanged" >&6;}
-    else
-      rm -f "$ac_file"
-      mv "$ac_tmp/config.h" "$ac_file" \
-       || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-    fi
-  else
-    $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
-      || as_fn_error $? "could not create -" "$LINENO" 5
-  fi
- ;;
-  
-  
-  esac
-
-done # for ac_tag
-
-
-as_fn_exit 0
-_ACEOF
-ac_clean_files=$ac_clean_files_save
-
-test $ac_write_fail = 0 ||
-  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
-
-
-# configure is writing to config.log, and then calls config.status.
-# config.status does its own redirection, appending to config.log.
-# Unfortunately, on DOS this fails, as config.log is still kept open
-# by configure, so config.status won't be able to write to it; its
-# output is simply discarded.  So we exec the FD to /dev/null,
-# effectively closing config.log, so it can be properly (re)opened and
-# appended to by config.status.  When coming back to configure, we
-# need to make the FD available again.
-if test "$no_create" != yes; then
-  ac_cs_success=:
-  ac_config_status_args=
-  test "$silent" = yes &&
-    ac_config_status_args="$ac_config_status_args --quiet"
-  exec 5>/dev/null
-  $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
-  exec 5>>config.log
-  # Use ||, not &&, to avoid exiting from the if with $? = 1, which
-  # would make configure fail if this is the last instruction.
-  $ac_cs_success || as_fn_exit 1
-fi
-if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
-$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
-fi
-
diff --git a/external/wakaama/examples/shared/tinydtls/autom4te.cache/output.2 b/external/wakaama/examples/shared/tinydtls/autom4te.cache/output.2
deleted file mode 100644 (file)
index 7ccf190..0000000
+++ /dev/null
@@ -1,5483 +0,0 @@
-@%:@! /bin/sh
-@%:@ Guess values for system-dependent variables and create Makefiles.
-@%:@ Generated by GNU Autoconf 2.69 for tinydtls 0.8.2.
-@%:@ 
-@%:@ 
-@%:@ Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
-@%:@ 
-@%:@ 
-@%:@ This configure script is free software; the Free Software Foundation
-@%:@ gives unlimited permission to copy, distribute and modify it.
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in @%:@(
-  *posix*) :
-    set -o posix ;; @%:@(
-  *) :
-     ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
-    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='print -r --'
-  as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='printf %s\n'
-  as_echo_n='printf %s'
-else
-  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
-    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
-    as_echo_n='/usr/ucb/echo -n'
-  else
-    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
-    as_echo_n_body='eval
-      arg=$1;
-      case $arg in @%:@(
-      *"$as_nl"*)
-       expr "X$arg" : "X\\(.*\\)$as_nl";
-       arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
-      esac;
-      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
-    '
-    export as_echo_n_body
-    as_echo_n='sh -c $as_echo_n_body as_echo'
-  fi
-  export as_echo_body
-  as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  PATH_SEPARATOR=:
-  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
-    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
-      PATH_SEPARATOR=';'
-  }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.  Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" ""       $as_nl"
-
-# Find who we are.  Look in the path if we contain no directory separator.
-as_myself=
-case $0 in @%:@((
-  *[\\/]* ) as_myself=$0 ;;
-  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-  done
-IFS=$as_save_IFS
-
-     ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
-  as_myself=$0
-fi
-if test ! -f "$as_myself"; then
-  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
-  exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there.  '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
-  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-# Use a proper internal environment variable to ensure we don't fall
-  # into an infinite loop, continuously re-executing ourselves.
-  if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
-    _as_can_reexec=no; export _as_can_reexec;
-    # We cannot yet assume a decent shell, so we have to provide a
-# neutralization value for shells without unset; and this also
-# works around shells that cannot unset nonexistent variables.
-# Preserve -v and -x to the replacement shell.
-BASH_ENV=/dev/null
-ENV=/dev/null
-(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-case $- in @%:@ ((((
-  *v*x* | *x*v* ) as_opts=-vx ;;
-  *v* ) as_opts=-v ;;
-  *x* ) as_opts=-x ;;
-  * ) as_opts= ;;
-esac
-exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
-# Admittedly, this is quite paranoid, since all the known shells bail
-# out after a failed `exec'.
-$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
-as_fn_exit 255
-  fi
-  # We don't want this to propagate to other subprocesses.
-          { _as_can_reexec=; unset _as_can_reexec;}
-if test "x$CONFIG_SHELL" = x; then
-  as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '\${1+\"\$@\"}'='\"\$@\"'
-  setopt NO_GLOB_SUBST
-else
-  case \`(set -o) 2>/dev/null\` in @%:@(
-  *posix*) :
-    set -o posix ;; @%:@(
-  *) :
-     ;;
-esac
-fi
-"
-  as_required="as_fn_return () { (exit \$1); }
-as_fn_success () { as_fn_return 0; }
-as_fn_failure () { as_fn_return 1; }
-as_fn_ret_success () { return 0; }
-as_fn_ret_failure () { return 1; }
-
-exitcode=0
-as_fn_success || { exitcode=1; echo as_fn_success failed.; }
-as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
-as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
-as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
-if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
-  
-else
-  exitcode=1; echo positional parameters were not saved.
-fi
-test x\$exitcode = x0 || exit 1
-test -x / || exit 1"
-  as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
-  as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
-  eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
-  test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
-test \$(( 1 + 1 )) = 2 || exit 1"
-  if (eval "$as_required") 2>/dev/null; then :
-  as_have_required=yes
-else
-  as_have_required=no
-fi
-  if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
-  
-else
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-as_found=false
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  as_found=:
-  case $as_dir in @%:@(
-        /*)
-          for as_base in sh bash ksh sh5; do
-            # Try only shells that exist, to save several forks.
-            as_shell=$as_dir/$as_base
-            if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
-                   { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
-  CONFIG_SHELL=$as_shell as_have_required=yes
-                  if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
-  break 2
-fi
-fi
-          done;;
-       esac
-  as_found=false
-done
-$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
-             { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
-  CONFIG_SHELL=$SHELL as_have_required=yes
-fi; }
-IFS=$as_save_IFS
-
-
-      if test "x$CONFIG_SHELL" != x; then :
-  export CONFIG_SHELL
-             # We cannot yet assume a decent shell, so we have to provide a
-# neutralization value for shells without unset; and this also
-# works around shells that cannot unset nonexistent variables.
-# Preserve -v and -x to the replacement shell.
-BASH_ENV=/dev/null
-ENV=/dev/null
-(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-case $- in @%:@ ((((
-  *v*x* | *x*v* ) as_opts=-vx ;;
-  *v* ) as_opts=-v ;;
-  *x* ) as_opts=-x ;;
-  * ) as_opts= ;;
-esac
-exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
-# Admittedly, this is quite paranoid, since all the known shells bail
-# out after a failed `exec'.
-$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
-exit 255
-fi
-
-    if test x$as_have_required = xno; then :
-  $as_echo "$0: This script requires a shell more modern than all"
-  $as_echo "$0: the shells that I found on your system."
-  if test x${ZSH_VERSION+set} = xset ; then
-    $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
-    $as_echo "$0: be upgraded to zsh 4.3.4 or later."
-  else
-    $as_echo "$0: Please tell bug-autoconf@gnu.org about your system,
-$0: including any error possibly output before this
-$0: message. Then install a modern shell, or manually run
-$0: the script under such a shell if you do have one."
-  fi
-  exit 1
-fi
-fi
-fi
-SHELL=${CONFIG_SHELL-/bin/sh}
-export SHELL
-# Unset more variables known to interfere with behavior of common tools.
-CLICOLOR_FORCE= GREP_OPTIONS=
-unset CLICOLOR_FORCE GREP_OPTIONS
-
-## --------------------- ##
-## M4sh Shell Functions. ##
-## --------------------- ##
-@%:@ as_fn_unset VAR
-@%:@ ---------------
-@%:@ Portably unset VAR.
-as_fn_unset ()
-{
-  { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-
-@%:@ as_fn_set_status STATUS
-@%:@ -----------------------
-@%:@ Set @S|@? to STATUS, without forking.
-as_fn_set_status ()
-{
-  return $1
-} @%:@ as_fn_set_status
-
-@%:@ as_fn_exit STATUS
-@%:@ -----------------
-@%:@ Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
-  set +e
-  as_fn_set_status $1
-  exit $1
-} @%:@ as_fn_exit
-
-@%:@ as_fn_mkdir_p
-@%:@ -------------
-@%:@ Create "@S|@as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
-  case $as_dir in #(
-  -*) as_dir=./$as_dir;;
-  esac
-  test -d "$as_dir" || eval $as_mkdir_p || {
-    as_dirs=
-    while :; do
-      case $as_dir in #(
-      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
-      *) as_qdir=$as_dir;;
-      esac
-      as_dirs="'$as_qdir' $as_dirs"
-      as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$as_dir" : 'X\(//\)[^/]' \| \
-        X"$as_dir" : 'X\(//\)$' \| \
-        X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-      test -d "$as_dir" && break
-    done
-    test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} @%:@ as_fn_mkdir_p
-
-@%:@ as_fn_executable_p FILE
-@%:@ -----------------------
-@%:@ Test if FILE is an executable regular file.
-as_fn_executable_p ()
-{
-  test -f "$1" && test -x "$1"
-} @%:@ as_fn_executable_p
-@%:@ as_fn_append VAR VALUE
-@%:@ ----------------------
-@%:@ Append the text in VALUE to the end of the definition contained in VAR. Take
-@%:@ advantage of any shell optimizations that allow amortized linear growth over
-@%:@ repeated appends, instead of the typical quadratic growth present in naive
-@%:@ implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
-  eval 'as_fn_append ()
-  {
-    eval $1+=\$2
-  }'
-else
-  as_fn_append ()
-  {
-    eval $1=\$$1\$2
-  }
-fi # as_fn_append
-
-@%:@ as_fn_arith ARG...
-@%:@ ------------------
-@%:@ Perform arithmetic evaluation on the ARGs, and store the result in the
-@%:@ global @S|@as_val. Take advantage of shells that can avoid forks. The arguments
-@%:@ must be portable across @S|@(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
-  eval 'as_fn_arith ()
-  {
-    as_val=$(( $* ))
-  }'
-else
-  as_fn_arith ()
-  {
-    as_val=`expr "$@" || test $? -eq 1`
-  }
-fi # as_fn_arith
-
-
-@%:@ as_fn_error STATUS ERROR [LINENO LOG_FD]
-@%:@ ----------------------------------------
-@%:@ Output "`basename @S|@0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-@%:@ provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-@%:@ script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
-  as_status=$1; test $as_status -eq 0 && as_status=1
-  if test "$4"; then
-    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
-  fi
-  $as_echo "$as_me: error: $2" >&2
-  as_fn_exit $as_status
-} @%:@ as_fn_error
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
-   test "X`expr 00001 : '.*\(...\)'`" = X001; then
-  as_expr=expr
-else
-  as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
-  as_basename=basename
-else
-  as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
-  as_dirname=dirname
-else
-  as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
-        X"$0" : 'X\(//\)$' \| \
-        X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
-    sed '/^.*\/\([^/][^/]*\)\/*$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-
-  as_lineno_1=$LINENO as_lineno_1a=$LINENO
-  as_lineno_2=$LINENO as_lineno_2a=$LINENO
-  eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
-  test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
-  # Blame Lee E. McMahon (1931-1989) for sed's syntax.  :-)
-  sed -n '
-    p
-    /[$]LINENO/=
-  ' <$as_myself |
-    sed '
-      s/[$]LINENO.*/&-/
-      t lineno
-      b
-      :lineno
-      N
-      :loop
-      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
-      t loop
-      s/-\n.*//
-    ' >$as_me.lineno &&
-  chmod +x "$as_me.lineno" ||
-    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
-
-  # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
-  # already done that, so ensure we don't try to do so again and fall
-  # in an infinite loop.  This has already happened in practice.
-  _as_can_reexec=no; export _as_can_reexec
-  # Don't try to exec as it changes $[0], causing all sort of problems
-  # (the dirname of $[0] is not the place where we might find the
-  # original and so on.  Autoconf is especially sensitive to this).
-  . "./$as_me.lineno"
-  # Exit status is that of the last command.
-  exit
-}
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in @%:@(((((
--n*)
-  case `echo 'xy\c'` in
-  *c*) ECHO_T='        ';;     # ECHO_T is single tab character.
-  xy)  ECHO_C='\c';;
-  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
-       ECHO_T='        ';;
-  esac;;
-*)
-  ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
-  rm -f conf$$.dir/conf$$.file
-else
-  rm -f conf$$.dir
-  mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
-  if ln -s conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s='ln -s'
-    # ... but there are two gotchas:
-    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
-    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -pR'.
-    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -pR'
-  elif ln conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s=ln
-  else
-    as_ln_s='cp -pR'
-  fi
-else
-  as_ln_s='cp -pR'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-if mkdir -p . 2>/dev/null; then
-  as_mkdir_p='mkdir -p "$as_dir"'
-else
-  test -d ./-p && rmdir ./-p
-  as_mkdir_p=false
-fi
-
-as_test_x='test -x'
-as_executable_p=as_fn_executable_p
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-test -n "$DJDIR" || exec 7<&0 </dev/null
-exec 6>&1
-
-# Name of the host.
-# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
-# so uname gets run too.
-ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-
-#
-# Initializations.
-#
-ac_default_prefix=/usr/local
-ac_clean_files=
-ac_config_libobj_dir=.
-LIB@&t@OBJS=
-cross_compiling=no
-subdirs=
-MFLAGS=
-MAKEFLAGS=
-
-# Identity of this package.
-PACKAGE_NAME='tinydtls'
-PACKAGE_TARNAME='tinydtls'
-PACKAGE_VERSION='0.8.2'
-PACKAGE_STRING='tinydtls 0.8.2'
-PACKAGE_BUGREPORT=''
-PACKAGE_URL=''
-
-ac_unique_file="dtls.c"
-# Factoring default headers for most tests.
-ac_includes_default="\
-#include <stdio.h>
-#ifdef HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-# include <sys/stat.h>
-#endif
-#ifdef STDC_HEADERS
-# include <stdlib.h>
-# include <stddef.h>
-#else
-# ifdef HAVE_STDLIB_H
-#  include <stdlib.h>
-# endif
-#endif
-#ifdef HAVE_STRING_H
-# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
-#  include <memory.h>
-# endif
-# include <string.h>
-#endif
-#ifdef HAVE_STRINGS_H
-# include <strings.h>
-#endif
-#ifdef HAVE_INTTYPES_H
-# include <inttypes.h>
-#endif
-#ifdef HAVE_STDINT_H
-# include <stdint.h>
-#endif
-#ifdef HAVE_UNISTD_H
-# include <unistd.h>
-#endif"
-
-ac_subst_vars='LTLIBOBJS
-LIB@&t@OBJS
-DTLS_PSK
-DTLS_ECC
-WITH_CONTIKI
-NDEBUG
-OPT_OBJS
-EGREP
-GREP
-CPP
-RANLIB
-OBJEXT
-EXEEXT
-ac_ct_CC
-CPPFLAGS
-LDFLAGS
-CFLAGS
-CC
-SET_MAKE
-ETAGS
-DOXYGEN
-target_alias
-host_alias
-build_alias
-LIBS
-ECHO_T
-ECHO_N
-ECHO_C
-DEFS
-mandir
-localedir
-libdir
-psdir
-pdfdir
-dvidir
-htmldir
-infodir
-docdir
-oldincludedir
-includedir
-localstatedir
-sharedstatedir
-sysconfdir
-datadir
-datarootdir
-libexecdir
-sbindir
-bindir
-program_transform_name
-prefix
-exec_prefix
-PACKAGE_URL
-PACKAGE_BUGREPORT
-PACKAGE_STRING
-PACKAGE_VERSION
-PACKAGE_TARNAME
-PACKAGE_NAME
-PATH_SEPARATOR
-SHELL'
-ac_subst_files=''
-ac_user_opts='
-enable_option_checking
-with_contiki
-with_debug
-with_ecc
-with_psk
-'
-      ac_precious_vars='build_alias
-host_alias
-target_alias
-CC
-CFLAGS
-LDFLAGS
-LIBS
-CPPFLAGS
-CPP'
-
-
-# Initialize some variables set by options.
-ac_init_help=
-ac_init_version=false
-ac_unrecognized_opts=
-ac_unrecognized_sep=
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-cache_file=/dev/null
-exec_prefix=NONE
-no_create=
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-verbose=
-x_includes=NONE
-x_libraries=NONE
-
-# Installation directory options.
-# These are left unexpanded so users can "make install exec_prefix=/foo"
-# and all the variables that are supposed to be based on exec_prefix
-# by default will actually change.
-# Use braces instead of parens because sh, perl, etc. also accept them.
-# (The list follows the same order as the GNU Coding Standards.)
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datarootdir='${prefix}/share'
-datadir='${datarootdir}'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
-infodir='${datarootdir}/info'
-htmldir='${docdir}'
-dvidir='${docdir}'
-pdfdir='${docdir}'
-psdir='${docdir}'
-libdir='${exec_prefix}/lib'
-localedir='${datarootdir}/locale'
-mandir='${datarootdir}/man'
-
-ac_prev=
-ac_dashdash=
-for ac_option
-do
-  # If the previous option needs an argument, assign it.
-  if test -n "$ac_prev"; then
-    eval $ac_prev=\$ac_option
-    ac_prev=
-    continue
-  fi
-
-  case $ac_option in
-  *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
-  *=)   ac_optarg= ;;
-  *)    ac_optarg=yes ;;
-  esac
-
-  # Accept the important Cygnus configure options, so we can diagnose typos.
-
-  case $ac_dashdash$ac_option in
-  --)
-    ac_dashdash=yes ;;
-
-  -bindir | --bindir | --bindi | --bind | --bin | --bi)
-    ac_prev=bindir ;;
-  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
-    bindir=$ac_optarg ;;
-
-  -build | --build | --buil | --bui | --bu)
-    ac_prev=build_alias ;;
-  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
-    build_alias=$ac_optarg ;;
-
-  -cache-file | --cache-file | --cache-fil | --cache-fi \
-  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
-    ac_prev=cache_file ;;
-  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
-  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
-    cache_file=$ac_optarg ;;
-
-  --config-cache | -C)
-    cache_file=config.cache ;;
-
-  -datadir | --datadir | --datadi | --datad)
-    ac_prev=datadir ;;
-  -datadir=* | --datadir=* | --datadi=* | --datad=*)
-    datadir=$ac_optarg ;;
-
-  -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
-  | --dataroo | --dataro | --datar)
-    ac_prev=datarootdir ;;
-  -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
-  | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
-    datarootdir=$ac_optarg ;;
-
-  -disable-* | --disable-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid feature name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"enable_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval enable_$ac_useropt=no ;;
-
-  -docdir | --docdir | --docdi | --doc | --do)
-    ac_prev=docdir ;;
-  -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
-    docdir=$ac_optarg ;;
-
-  -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
-    ac_prev=dvidir ;;
-  -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
-    dvidir=$ac_optarg ;;
-
-  -enable-* | --enable-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid feature name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"enable_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval enable_$ac_useropt=\$ac_optarg ;;
-
-  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
-  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
-  | --exec | --exe | --ex)
-    ac_prev=exec_prefix ;;
-  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
-  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
-  | --exec=* | --exe=* | --ex=*)
-    exec_prefix=$ac_optarg ;;
-
-  -gas | --gas | --ga | --g)
-    # Obsolete; use --with-gas.
-    with_gas=yes ;;
-
-  -help | --help | --hel | --he | -h)
-    ac_init_help=long ;;
-  -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
-    ac_init_help=recursive ;;
-  -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
-    ac_init_help=short ;;
-
-  -host | --host | --hos | --ho)
-    ac_prev=host_alias ;;
-  -host=* | --host=* | --hos=* | --ho=*)
-    host_alias=$ac_optarg ;;
-
-  -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
-    ac_prev=htmldir ;;
-  -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
-  | --ht=*)
-    htmldir=$ac_optarg ;;
-
-  -includedir | --includedir | --includedi | --included | --include \
-  | --includ | --inclu | --incl | --inc)
-    ac_prev=includedir ;;
-  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
-  | --includ=* | --inclu=* | --incl=* | --inc=*)
-    includedir=$ac_optarg ;;
-
-  -infodir | --infodir | --infodi | --infod | --info | --inf)
-    ac_prev=infodir ;;
-  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
-    infodir=$ac_optarg ;;
-
-  -libdir | --libdir | --libdi | --libd)
-    ac_prev=libdir ;;
-  -libdir=* | --libdir=* | --libdi=* | --libd=*)
-    libdir=$ac_optarg ;;
-
-  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
-  | --libexe | --libex | --libe)
-    ac_prev=libexecdir ;;
-  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
-  | --libexe=* | --libex=* | --libe=*)
-    libexecdir=$ac_optarg ;;
-
-  -localedir | --localedir | --localedi | --localed | --locale)
-    ac_prev=localedir ;;
-  -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
-    localedir=$ac_optarg ;;
-
-  -localstatedir | --localstatedir | --localstatedi | --localstated \
-  | --localstate | --localstat | --localsta | --localst | --locals)
-    ac_prev=localstatedir ;;
-  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
-  | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
-    localstatedir=$ac_optarg ;;
-
-  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
-    ac_prev=mandir ;;
-  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
-    mandir=$ac_optarg ;;
-
-  -nfp | --nfp | --nf)
-    # Obsolete; use --without-fp.
-    with_fp=no ;;
-
-  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
-  | --no-cr | --no-c | -n)
-    no_create=yes ;;
-
-  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
-  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
-    no_recursion=yes ;;
-
-  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
-  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
-  | --oldin | --oldi | --old | --ol | --o)
-    ac_prev=oldincludedir ;;
-  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
-  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
-  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
-    oldincludedir=$ac_optarg ;;
-
-  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
-    ac_prev=prefix ;;
-  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
-    prefix=$ac_optarg ;;
-
-  -program-prefix | --program-prefix | --program-prefi | --program-pref \
-  | --program-pre | --program-pr | --program-p)
-    ac_prev=program_prefix ;;
-  -program-prefix=* | --program-prefix=* | --program-prefi=* \
-  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
-    program_prefix=$ac_optarg ;;
-
-  -program-suffix | --program-suffix | --program-suffi | --program-suff \
-  | --program-suf | --program-su | --program-s)
-    ac_prev=program_suffix ;;
-  -program-suffix=* | --program-suffix=* | --program-suffi=* \
-  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
-    program_suffix=$ac_optarg ;;
-
-  -program-transform-name | --program-transform-name \
-  | --program-transform-nam | --program-transform-na \
-  | --program-transform-n | --program-transform- \
-  | --program-transform | --program-transfor \
-  | --program-transfo | --program-transf \
-  | --program-trans | --program-tran \
-  | --progr-tra | --program-tr | --program-t)
-    ac_prev=program_transform_name ;;
-  -program-transform-name=* | --program-transform-name=* \
-  | --program-transform-nam=* | --program-transform-na=* \
-  | --program-transform-n=* | --program-transform-=* \
-  | --program-transform=* | --program-transfor=* \
-  | --program-transfo=* | --program-transf=* \
-  | --program-trans=* | --program-tran=* \
-  | --progr-tra=* | --program-tr=* | --program-t=*)
-    program_transform_name=$ac_optarg ;;
-
-  -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
-    ac_prev=pdfdir ;;
-  -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
-    pdfdir=$ac_optarg ;;
-
-  -psdir | --psdir | --psdi | --psd | --ps)
-    ac_prev=psdir ;;
-  -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
-    psdir=$ac_optarg ;;
-
-  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-  | -silent | --silent | --silen | --sile | --sil)
-    silent=yes ;;
-
-  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
-    ac_prev=sbindir ;;
-  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
-  | --sbi=* | --sb=*)
-    sbindir=$ac_optarg ;;
-
-  -sharedstatedir | --sharedstatedir | --sharedstatedi \
-  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
-  | --sharedst | --shareds | --shared | --share | --shar \
-  | --sha | --sh)
-    ac_prev=sharedstatedir ;;
-  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
-  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
-  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
-  | --sha=* | --sh=*)
-    sharedstatedir=$ac_optarg ;;
-
-  -site | --site | --sit)
-    ac_prev=site ;;
-  -site=* | --site=* | --sit=*)
-    site=$ac_optarg ;;
-
-  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
-    ac_prev=srcdir ;;
-  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
-    srcdir=$ac_optarg ;;
-
-  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
-  | --syscon | --sysco | --sysc | --sys | --sy)
-    ac_prev=sysconfdir ;;
-  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
-  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
-    sysconfdir=$ac_optarg ;;
-
-  -target | --target | --targe | --targ | --tar | --ta | --t)
-    ac_prev=target_alias ;;
-  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
-    target_alias=$ac_optarg ;;
-
-  -v | -verbose | --verbose | --verbos | --verbo | --verb)
-    verbose=yes ;;
-
-  -version | --version | --versio | --versi | --vers | -V)
-    ac_init_version=: ;;
-
-  -with-* | --with-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid package name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"with_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval with_$ac_useropt=\$ac_optarg ;;
-
-  -without-* | --without-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid package name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"with_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval with_$ac_useropt=no ;;
-
-  --x)
-    # Obsolete; use --with-x.
-    with_x=yes ;;
-
-  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
-  | --x-incl | --x-inc | --x-in | --x-i)
-    ac_prev=x_includes ;;
-  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
-  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
-    x_includes=$ac_optarg ;;
-
-  -x-libraries | --x-libraries | --x-librarie | --x-librari \
-  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
-    ac_prev=x_libraries ;;
-  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
-  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
-    x_libraries=$ac_optarg ;;
-
-  -*) as_fn_error $? "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information"
-    ;;
-
-  *=*)
-    ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
-    # Reject names that are not valid shell variable names.
-    case $ac_envvar in #(
-      '' | [0-9]* | *[!_$as_cr_alnum]* )
-      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
-    esac
-    eval $ac_envvar=\$ac_optarg
-    export $ac_envvar ;;
-
-  *)
-    # FIXME: should be removed in autoconf 3.0.
-    $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
-    expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
-      $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
-    : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
-    ;;
-
-  esac
-done
-
-if test -n "$ac_prev"; then
-  ac_option=--`echo $ac_prev | sed 's/_/-/g'`
-  as_fn_error $? "missing argument to $ac_option"
-fi
-
-if test -n "$ac_unrecognized_opts"; then
-  case $enable_option_checking in
-    no) ;;
-    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
-    *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
-  esac
-fi
-
-# Check all directory arguments for consistency.
-for ac_var in  exec_prefix prefix bindir sbindir libexecdir datarootdir \
-               datadir sysconfdir sharedstatedir localstatedir includedir \
-               oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
-               libdir localedir mandir
-do
-  eval ac_val=\$$ac_var
-  # Remove trailing slashes.
-  case $ac_val in
-    */ )
-      ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
-      eval $ac_var=\$ac_val;;
-  esac
-  # Be sure to have absolute directory names.
-  case $ac_val in
-    [\\/$]* | ?:[\\/]* )  continue;;
-    NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
-  esac
-  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
-done
-
-# There might be people who depend on the old broken behavior: `$host'
-# used to hold the argument of --host etc.
-# FIXME: To remove some day.
-build=$build_alias
-host=$host_alias
-target=$target_alias
-
-# FIXME: To remove some day.
-if test "x$host_alias" != x; then
-  if test "x$build_alias" = x; then
-    cross_compiling=maybe
-  elif test "x$build_alias" != "x$host_alias"; then
-    cross_compiling=yes
-  fi
-fi
-
-ac_tool_prefix=
-test -n "$host_alias" && ac_tool_prefix=$host_alias-
-
-test "$silent" = yes && exec 6>/dev/null
-
-
-ac_pwd=`pwd` && test -n "$ac_pwd" &&
-ac_ls_di=`ls -di .` &&
-ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
-  as_fn_error $? "working directory cannot be determined"
-test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
-  as_fn_error $? "pwd does not report name of working directory"
-
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
-  ac_srcdir_defaulted=yes
-  # Try the directory containing this script, then the parent directory.
-  ac_confdir=`$as_dirname -- "$as_myself" ||
-$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$as_myself" : 'X\(//\)[^/]' \| \
-        X"$as_myself" : 'X\(//\)$' \| \
-        X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_myself" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-  srcdir=$ac_confdir
-  if test ! -r "$srcdir/$ac_unique_file"; then
-    srcdir=..
-  fi
-else
-  ac_srcdir_defaulted=no
-fi
-if test ! -r "$srcdir/$ac_unique_file"; then
-  test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
-  as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
-fi
-ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
-ac_abs_confdir=`(
-       cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
-       pwd)`
-# When building in place, set srcdir=.
-if test "$ac_abs_confdir" = "$ac_pwd"; then
-  srcdir=.
-fi
-# Remove unnecessary trailing slashes from srcdir.
-# Double slashes in file names in object file debugging info
-# mess up M-x gdb in Emacs.
-case $srcdir in
-*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
-esac
-for ac_var in $ac_precious_vars; do
-  eval ac_env_${ac_var}_set=\${${ac_var}+set}
-  eval ac_env_${ac_var}_value=\$${ac_var}
-  eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
-  eval ac_cv_env_${ac_var}_value=\$${ac_var}
-done
-
-#
-# Report the --help message.
-#
-if test "$ac_init_help" = "long"; then
-  # Omit some internal or obsolete options to make the list less imposing.
-  # This message is too long to be a string in the A/UX 3.1 sh.
-  cat <<_ACEOF
-\`configure' configures tinydtls 0.8.2 to adapt to many kinds of systems.
-
-Usage: $0 [OPTION]... [VAR=VALUE]...
-
-To assign environment variables (e.g., CC, CFLAGS...), specify them as
-VAR=VALUE.  See below for descriptions of some of the useful variables.
-
-Defaults for the options are specified in brackets.
-
-Configuration:
-  -h, --help              display this help and exit
-      --help=short        display options specific to this package
-      --help=recursive    display the short help of all the included packages
-  -V, --version           display version information and exit
-  -q, --quiet, --silent   do not print \`checking ...' messages
-      --cache-file=FILE   cache test results in FILE [disabled]
-  -C, --config-cache      alias for \`--cache-file=config.cache'
-  -n, --no-create         do not create output files
-      --srcdir=DIR        find the sources in DIR [configure dir or \`..']
-
-Installation directories:
-  --prefix=PREFIX         install architecture-independent files in PREFIX
-                          @<:@@S|@ac_default_prefix@:>@
-  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
-                          @<:@PREFIX@:>@
-
-By default, \`make install' will install all the files in
-\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
-an installation prefix other than \`$ac_default_prefix' using \`--prefix',
-for instance \`--prefix=\$HOME'.
-
-For better control, use the options below.
-
-Fine tuning of the installation directories:
-  --bindir=DIR            user executables [EPREFIX/bin]
-  --sbindir=DIR           system admin executables [EPREFIX/sbin]
-  --libexecdir=DIR        program executables [EPREFIX/libexec]
-  --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
-  --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
-  --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
-  --libdir=DIR            object code libraries [EPREFIX/lib]
-  --includedir=DIR        C header files [PREFIX/include]
-  --oldincludedir=DIR     C header files for non-gcc [/usr/include]
-  --datarootdir=DIR       read-only arch.-independent data root [PREFIX/share]
-  --datadir=DIR           read-only architecture-independent data [DATAROOTDIR]
-  --infodir=DIR           info documentation [DATAROOTDIR/info]
-  --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
-  --mandir=DIR            man documentation [DATAROOTDIR/man]
-  --docdir=DIR            documentation root @<:@DATAROOTDIR/doc/tinydtls@:>@
-  --htmldir=DIR           html documentation [DOCDIR]
-  --dvidir=DIR            dvi documentation [DOCDIR]
-  --pdfdir=DIR            pdf documentation [DOCDIR]
-  --psdir=DIR             ps documentation [DOCDIR]
-_ACEOF
-
-  cat <<\_ACEOF
-_ACEOF
-fi
-
-if test -n "$ac_init_help"; then
-  case $ac_init_help in
-     short | recursive ) echo "Configuration of tinydtls 0.8.2:";;
-   esac
-  cat <<\_ACEOF
-
-Optional Packages:
-  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
-  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
-  --with-contiki          build libtinydtls for the Contiki OS
-  --without-debug         disable all debug output and assertions
-  --without-ecc           disable support for
-                          TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8
-  --without-psk           disable support for TLS_PSK_WITH_AES_128_CCM_8
-
-Some influential environment variables:
-  CC          C compiler command
-  CFLAGS      C compiler flags
-  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
-              nonstandard directory <lib dir>
-  LIBS        libraries to pass to the linker, e.g. -l<library>
-  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
-              you have headers in a nonstandard directory <include dir>
-  CPP         C preprocessor
-
-Use these variables to override the choices made by `configure' or to help
-it to find libraries and programs with nonstandard names/locations.
-
-Report bugs to the package provider.
-_ACEOF
-ac_status=$?
-fi
-
-if test "$ac_init_help" = "recursive"; then
-  # If there are subdirs, report their specific --help.
-  for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
-    test -d "$ac_dir" ||
-      { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
-      continue
-    ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
-  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
-  # A ".." for each directory in $ac_dir_suffix.
-  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
-  case $ac_top_builddir_sub in
-  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
-  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
-  esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
-  .)  # We are building in place.
-    ac_srcdir=.
-    ac_top_srcdir=$ac_top_builddir_sub
-    ac_abs_top_srcdir=$ac_pwd ;;
-  [\\/]* | ?:[\\/]* )  # Absolute name.
-    ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir
-    ac_abs_top_srcdir=$srcdir ;;
-  *) # Relative name.
-    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_build_prefix$srcdir
-    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-    cd "$ac_dir" || { ac_status=$?; continue; }
-    # Check for guested configure.
-    if test -f "$ac_srcdir/configure.gnu"; then
-      echo &&
-      $SHELL "$ac_srcdir/configure.gnu" --help=recursive
-    elif test -f "$ac_srcdir/configure"; then
-      echo &&
-      $SHELL "$ac_srcdir/configure" --help=recursive
-    else
-      $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
-    fi || ac_status=$?
-    cd "$ac_pwd" || { ac_status=$?; break; }
-  done
-fi
-
-test -n "$ac_init_help" && exit $ac_status
-if $ac_init_version; then
-  cat <<\_ACEOF
-tinydtls configure 0.8.2
-generated by GNU Autoconf 2.69
-
-Copyright (C) 2012 Free Software Foundation, Inc.
-This configure script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it.
-_ACEOF
-  exit
-fi
-
-## ------------------------ ##
-## Autoconf initialization. ##
-## ------------------------ ##
-
-@%:@ ac_fn_c_try_compile LINENO
-@%:@ --------------------------
-@%:@ Try to compile conftest.@S|@ac_ext, and return whether this succeeded.
-ac_fn_c_try_compile ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  rm -f conftest.$ac_objext
-  if { { ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compile") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_retval=1
-fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} @%:@ ac_fn_c_try_compile
-
-@%:@ ac_fn_c_try_run LINENO
-@%:@ ----------------------
-@%:@ Try to link conftest.@S|@ac_ext, and return whether this succeeded. Assumes
-@%:@ that executables *can* be run.
-ac_fn_c_try_run ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-       $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_retval=$ac_status
-fi
-  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} @%:@ ac_fn_c_try_run
-
-@%:@ ac_fn_c_try_cpp LINENO
-@%:@ ----------------------
-@%:@ Try to preprocess conftest.@S|@ac_ext, and return whether this succeeded.
-ac_fn_c_try_cpp ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { { ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } > conftest.i && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-    ac_retval=1
-fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} @%:@ ac_fn_c_try_cpp
-
-@%:@ ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
-@%:@ -------------------------------------------------------
-@%:@ Tests whether HEADER exists and can be compiled using the include files in
-@%:@ INCLUDES, setting the cache variable VAR accordingly.
-ac_fn_c_check_header_compile ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-@%:@include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$3=yes"
-else
-  eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} @%:@ ac_fn_c_check_header_compile
-
-@%:@ ac_fn_c_try_link LINENO
-@%:@ -----------------------
-@%:@ Try to link conftest.@S|@ac_ext, and return whether this succeeded.
-ac_fn_c_try_link ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  rm -f conftest.$ac_objext conftest$ac_exeext
-  if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        test -x conftest$ac_exeext
-       }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_retval=1
-fi
-  # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
-  # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
-  # interfere with the next link command; also delete a directory that is
-  # left behind by Apple's compiler.  We do this before executing the actions.
-  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} @%:@ ac_fn_c_try_link
-
-@%:@ ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
-@%:@ -------------------------------------------------------
-@%:@ Tests whether HEADER exists, giving a warning if it cannot be compiled using
-@%:@ the include files in INCLUDES and setting the cache variable VAR
-@%:@ accordingly.
-ac_fn_c_check_header_mongrel ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if eval \${$3+:} false; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-else
-  # Is the header compilable?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
-$as_echo_n "checking $2 usability... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-@%:@include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_header_compiler=yes
-else
-  ac_header_compiler=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
-$as_echo "$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
-$as_echo_n "checking $2 presence... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-@%:@include <$2>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  ac_header_preproc=yes
-else
-  ac_header_preproc=no
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
-$as_echo "$ac_header_preproc" >&6; }
-
-# So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
-  yes:no: )
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
-$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-    ;;
-  no:yes:* )
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
-$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     check for missing prerequisite headers?" >&5
-$as_echo "$as_me: WARNING: $2:     check for missing prerequisite headers?" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
-$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&5
-$as_echo "$as_me: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-    ;;
-esac
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  eval "$3=\$ac_header_compiler"
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} @%:@ ac_fn_c_check_header_mongrel
-
-@%:@ ac_fn_c_check_type LINENO TYPE VAR INCLUDES
-@%:@ -------------------------------------------
-@%:@ Tests whether TYPE exists after having included INCLUDES, setting cache
-@%:@ variable VAR accordingly.
-ac_fn_c_check_type ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  eval "$3=no"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-if (sizeof ($2))
-        return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-if (sizeof (($2)))
-           return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  
-else
-  eval "$3=yes"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} @%:@ ac_fn_c_check_type
-
-@%:@ ac_fn_c_check_member LINENO AGGR MEMBER VAR INCLUDES
-@%:@ ----------------------------------------------------
-@%:@ Tries to find if the field MEMBER exists in type AGGR, after including
-@%:@ INCLUDES, setting cache variable VAR accordingly.
-ac_fn_c_check_member ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5
-$as_echo_n "checking for $2.$3... " >&6; }
-if eval \${$4+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$5
-int
-main ()
-{
-static $2 ac_aggr;
-if (ac_aggr.$3)
-return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$4=yes"
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$5
-int
-main ()
-{
-static $2 ac_aggr;
-if (sizeof ac_aggr.$3)
-return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$4=yes"
-else
-  eval "$4=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$4
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} @%:@ ac_fn_c_check_member
-
-@%:@ ac_fn_c_check_func LINENO FUNC VAR
-@%:@ ----------------------------------
-@%:@ Tests whether FUNC exists, setting the cache variable VAR accordingly
-ac_fn_c_check_func ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
-   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
-#define $2 innocuous_$2
-
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char $2 (); below.
-    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-    <limits.h> exists even on freestanding compilers.  */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $2
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $2 ();
-/* The GNU C library defines this for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined __stub_$2 || defined __stub___$2
-choke me
-#endif
-
-int
-main ()
-{
-return $2 ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  eval "$3=yes"
-else
-  eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} @%:@ ac_fn_c_check_func
-cat >config.log <<_ACEOF
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-
-It was created by tinydtls $as_me 0.8.2, which was
-generated by GNU Autoconf 2.69.  Invocation command line was
-
-  $ $0 $@
-
-_ACEOF
-exec 5>>config.log
-{
-cat <<_ASUNAME
-## --------- ##
-## Platform. ##
-## --------- ##
-
-hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
-/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`
-
-/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
-/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-/usr/bin/hostinfo      = `(/usr/bin/hostinfo) 2>/dev/null      || echo unknown`
-/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
-/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
-/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
-
-_ASUNAME
-
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    $as_echo "PATH: $as_dir"
-  done
-IFS=$as_save_IFS
-
-} >&5
-
-cat >&5 <<_ACEOF
-
-
-## ----------- ##
-## Core tests. ##
-## ----------- ##
-
-_ACEOF
-
-
-# Keep a trace of the command line.
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Strip out --silent because we don't want to record it for future runs.
-# Also quote any args containing shell meta-characters.
-# Make two passes to allow for proper duplicate-argument suppression.
-ac_configure_args=
-ac_configure_args0=
-ac_configure_args1=
-ac_must_keep_next=false
-for ac_pass in 1 2
-do
-  for ac_arg
-  do
-    case $ac_arg in
-    -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
-    -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-    | -silent | --silent | --silen | --sile | --sil)
-      continue ;;
-    *\'*)
-      ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    esac
-    case $ac_pass in
-    1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
-    2)
-      as_fn_append ac_configure_args1 " '$ac_arg'"
-      if test $ac_must_keep_next = true; then
-       ac_must_keep_next=false # Got value, back to normal.
-      else
-       case $ac_arg in
-         *=* | --config-cache | -C | -disable-* | --disable-* \
-         | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
-         | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
-         | -with-* | --with-* | -without-* | --without-* | --x)
-           case "$ac_configure_args0 " in
-             "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
-           esac
-           ;;
-         -* ) ac_must_keep_next=true ;;
-       esac
-      fi
-      as_fn_append ac_configure_args " '$ac_arg'"
-      ;;
-    esac
-  done
-done
-{ ac_configure_args0=; unset ac_configure_args0;}
-{ ac_configure_args1=; unset ac_configure_args1;}
-
-# When interrupted or exit'd, cleanup temporary files, and complete
-# config.log.  We remove comments because anyway the quotes in there
-# would cause problems or look ugly.
-# WARNING: Use '\'' to represent an apostrophe within the trap.
-# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
-trap 'exit_status=$?
-  # Save into config.log some information that might help in debugging.
-  {
-    echo
-
-    $as_echo "## ---------------- ##
-## Cache variables. ##
-## ---------------- ##"
-    echo
-    # The following way of writing the cache mishandles newlines in values,
-(
-  for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
-    eval ac_val=\$$ac_var
-    case $ac_val in #(
-    *${as_nl}*)
-      case $ac_var in #(
-      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
-      esac
-      case $ac_var in #(
-      _ | IFS | as_nl) ;; #(
-      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
-      *) { eval $ac_var=; unset $ac_var;} ;;
-      esac ;;
-    esac
-  done
-  (set) 2>&1 |
-    case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
-    *${as_nl}ac_space=\ *)
-      sed -n \
-       "s/'\''/'\''\\\\'\'''\''/g;
-         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
-      ;; #(
-    *)
-      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
-      ;;
-    esac |
-    sort
-)
-    echo
-
-    $as_echo "## ----------------- ##
-## Output variables. ##
-## ----------------- ##"
-    echo
-    for ac_var in $ac_subst_vars
-    do
-      eval ac_val=\$$ac_var
-      case $ac_val in
-      *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
-      esac
-      $as_echo "$ac_var='\''$ac_val'\''"
-    done | sort
-    echo
-
-    if test -n "$ac_subst_files"; then
-      $as_echo "## ------------------- ##
-## File substitutions. ##
-## ------------------- ##"
-      echo
-      for ac_var in $ac_subst_files
-      do
-       eval ac_val=\$$ac_var
-       case $ac_val in
-       *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
-       esac
-       $as_echo "$ac_var='\''$ac_val'\''"
-      done | sort
-      echo
-    fi
-
-    if test -s confdefs.h; then
-      $as_echo "## ----------- ##
-## confdefs.h. ##
-## ----------- ##"
-      echo
-      cat confdefs.h
-      echo
-    fi
-    test "$ac_signal" != 0 &&
-      $as_echo "$as_me: caught signal $ac_signal"
-    $as_echo "$as_me: exit $exit_status"
-  } >&5
-  rm -f core *.core core.conftest.* &&
-    rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
-    exit $exit_status
-' 0
-for ac_signal in 1 2 13 15; do
-  trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
-done
-ac_signal=0
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -f -r conftest* confdefs.h
-
-$as_echo "/* confdefs.h */" > confdefs.h
-
-# Predefined preprocessor variables.
-
-cat >>confdefs.h <<_ACEOF
-@%:@define PACKAGE_NAME "$PACKAGE_NAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-@%:@define PACKAGE_TARNAME "$PACKAGE_TARNAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-@%:@define PACKAGE_VERSION "$PACKAGE_VERSION"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-@%:@define PACKAGE_STRING "$PACKAGE_STRING"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-@%:@define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-@%:@define PACKAGE_URL "$PACKAGE_URL"
-_ACEOF
-
-
-# Let the site file select an alternate cache file if it wants to.
-# Prefer an explicitly selected file to automatically selected ones.
-ac_site_file1=NONE
-ac_site_file2=NONE
-if test -n "$CONFIG_SITE"; then
-  # We do not want a PATH search for config.site.
-  case $CONFIG_SITE in @%:@((
-    -*)  ac_site_file1=./$CONFIG_SITE;;
-    */*) ac_site_file1=$CONFIG_SITE;;
-    *)   ac_site_file1=./$CONFIG_SITE;;
-  esac
-elif test "x$prefix" != xNONE; then
-  ac_site_file1=$prefix/share/config.site
-  ac_site_file2=$prefix/etc/config.site
-else
-  ac_site_file1=$ac_default_prefix/share/config.site
-  ac_site_file2=$ac_default_prefix/etc/config.site
-fi
-for ac_site_file in "$ac_site_file1" "$ac_site_file2"
-do
-  test "x$ac_site_file" = xNONE && continue
-  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
-$as_echo "$as_me: loading site script $ac_site_file" >&6;}
-    sed 's/^/| /' "$ac_site_file" >&5
-    . "$ac_site_file" \
-      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "failed to load site script $ac_site_file
-See \`config.log' for more details" "$LINENO" 5; }
-  fi
-done
-
-if test -r "$cache_file"; then
-  # Some versions of bash will fail to source /dev/null (special files
-  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
-  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
-$as_echo "$as_me: loading cache $cache_file" >&6;}
-    case $cache_file in
-      [\\/]* | ?:[\\/]* ) . "$cache_file";;
-      *)                      . "./$cache_file";;
-    esac
-  fi
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
-$as_echo "$as_me: creating cache $cache_file" >&6;}
-  >$cache_file
-fi
-
-# Check that the precious variables saved in the cache have kept the same
-# value.
-ac_cache_corrupted=false
-for ac_var in $ac_precious_vars; do
-  eval ac_old_set=\$ac_cv_env_${ac_var}_set
-  eval ac_new_set=\$ac_env_${ac_var}_set
-  eval ac_old_val=\$ac_cv_env_${ac_var}_value
-  eval ac_new_val=\$ac_env_${ac_var}_value
-  case $ac_old_set,$ac_new_set in
-    set,)
-      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
-      ac_cache_corrupted=: ;;
-    ,set)
-      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
-      ac_cache_corrupted=: ;;
-    ,);;
-    *)
-      if test "x$ac_old_val" != "x$ac_new_val"; then
-       # differences in whitespace do not lead to failure.
-       ac_old_val_w=`echo x $ac_old_val`
-       ac_new_val_w=`echo x $ac_new_val`
-       if test "$ac_old_val_w" != "$ac_new_val_w"; then
-         { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
-$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
-         ac_cache_corrupted=:
-       else
-         { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
-$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
-         eval $ac_var=\$ac_old_val
-       fi
-       { $as_echo "$as_me:${as_lineno-$LINENO}:   former value:  \`$ac_old_val'" >&5
-$as_echo "$as_me:   former value:  \`$ac_old_val'" >&2;}
-       { $as_echo "$as_me:${as_lineno-$LINENO}:   current value: \`$ac_new_val'" >&5
-$as_echo "$as_me:   current value: \`$ac_new_val'" >&2;}
-      fi;;
-  esac
-  # Pass precious variables to config.status.
-  if test "$ac_new_set" = set; then
-    case $ac_new_val in
-    *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
-    *) ac_arg=$ac_var=$ac_new_val ;;
-    esac
-    case " $ac_configure_args " in
-      *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
-      *) as_fn_append ac_configure_args " '$ac_arg'" ;;
-    esac
-  fi
-done
-if $ac_cache_corrupted; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-  { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
-$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
-fi
-## -------------------- ##
-## Main body of script. ##
-## -------------------- ##
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-
-
-
-@%:@ Check whether --with-contiki was given.
-if test "${with_contiki+set}" = set; then :
-  withval=$with_contiki; 
-$as_echo "@%:@define WITH_CONTIKI 1" >>confdefs.h
-
-   WITH_CONTIKI=1
-fi
-
-
-# Extract the first word of "doxygen", so it can be a program name with args.
-set dummy doxygen; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_DOXYGEN+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $DOXYGEN in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_DOXYGEN="$DOXYGEN" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_path_DOXYGEN="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-  test -z "$ac_cv_path_DOXYGEN" && ac_cv_path_DOXYGEN=":"
-  ;;
-esac
-fi
-DOXYGEN=$ac_cv_path_DOXYGEN
-if test -n "$DOXYGEN"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DOXYGEN" >&5
-$as_echo "$DOXYGEN" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-# Extract the first word of "etags", so it can be a program name with args.
-set dummy etags; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_ETAGS+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $ETAGS in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_ETAGS="$ETAGS" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_path_ETAGS="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-  test -z "$ac_cv_path_ETAGS" && ac_cv_path_ETAGS="/bin/false"
-  ;;
-esac
-fi
-ETAGS=$ac_cv_path_ETAGS
-if test -n "$ETAGS"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ETAGS" >&5
-$as_echo "$ETAGS" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-
-if test "${with_contiki}" != "yes" ; then
-# Checks for programs.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
-set x ${MAKE-make}
-ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.make <<\_ACEOF
-SHELL = /bin/sh
-all:
-       @echo '@@@%%%=$(MAKE)=@@@%%%'
-_ACEOF
-# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
-case `${MAKE-make} -f conftest.make 2>/dev/null` in
-  *@@@%%%=?*=@@@%%%*)
-    eval ac_cv_prog_make_${ac_make}_set=yes;;
-  *)
-    eval ac_cv_prog_make_${ac_make}_set=no;;
-esac
-rm -f conftest.make
-fi
-if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-  SET_MAKE=
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-  SET_MAKE="MAKE=${MAKE-make}"
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_CC="${ac_tool_prefix}gcc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_CC"; then
-  ac_ct_CC=$CC
-  # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_CC="gcc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_CC" = x; then
-    CC=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    CC=$ac_ct_CC
-  fi
-else
-  CC="$ac_cv_prog_CC"
-fi
-
-if test -z "$CC"; then
-          if test -n "$ac_tool_prefix"; then
-    # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_CC="${ac_tool_prefix}cc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  fi
-fi
-if test -z "$CC"; then
-  # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-  ac_prog_rejected=no
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
-       ac_prog_rejected=yes
-       continue
-     fi
-    ac_cv_prog_CC="cc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-if test $ac_prog_rejected = yes; then
-  # We found a bogon in the path, so make sure we never use it.
-  set dummy $ac_cv_prog_CC
-  shift
-  if test $@%:@ != 0; then
-    # We chose a different compiler from the bogus one.
-    # However, it has the same basename, so the bogon will be chosen
-    # first if we set CC to just the basename; use the full file name.
-    shift
-    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
-  fi
-fi
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$CC"; then
-  if test -n "$ac_tool_prefix"; then
-  for ac_prog in cl.exe
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-    test -n "$CC" && break
-  done
-fi
-if test -z "$CC"; then
-  ac_ct_CC=$CC
-  for ac_prog in cl.exe
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_CC="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$ac_ct_CC" && break
-done
-
-  if test "x$ac_ct_CC" = x; then
-    CC=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    CC=$ac_ct_CC
-  fi
-fi
-
-fi
-
-
-test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "no acceptable C compiler found in \$PATH
-See \`config.log' for more details" "$LINENO" 5; }
-
-# Provide some information about the compiler.
-$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
-set X $ac_compile
-ac_compiler=$2
-for ac_option in --version -v -V -qversion; do
-  { { ac_try="$ac_compiler $ac_option >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compiler $ac_option >&5") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    sed '10a\
-... rest of stderr output deleted ...
-         10q' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-  fi
-  rm -f conftest.er1 conftest.err
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-done
-
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
-# Try to create an executable without -o first, disregard a.out.
-# It will help us diagnose broken compilers, and finding out an intuition
-# of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-
-# The possible output files:
-ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
-
-ac_rmfiles=
-for ac_file in $ac_files
-do
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
-    * ) ac_rmfiles="$ac_rmfiles $ac_file";;
-  esac
-done
-rm -f $ac_rmfiles
-
-if { { ac_try="$ac_link_default"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link_default") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
-  # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
-# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
-# in a Makefile.  We should not override ac_cv_exeext if it was cached,
-# so that the user can short-circuit this test for compilers unknown to
-# Autoconf.
-for ac_file in $ac_files ''
-do
-  test -f "$ac_file" || continue
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
-       ;;
-    [ab].out )
-       # We found the default executable, but exeext='' is most
-       # certainly right.
-       break;;
-    *.* )
-       if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
-       then :; else
-          ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-       fi
-       # We set ac_cv_exeext here because the later test for it is not
-       # safe: cross compilers may not add the suffix if given an `-o'
-       # argument, so we may need to know it at that point already.
-       # Even if this section looks crufty: it has the advantage of
-       # actually working.
-       break;;
-    * )
-       break;;
-  esac
-done
-test "$ac_cv_exeext" = no && ac_cv_exeext=
-
-else
-  ac_file=''
-fi
-if test -z "$ac_file"; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "C compiler cannot create executables
-See \`config.log' for more details" "$LINENO" 5; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
-ac_exeext=$ac_cv_exeext
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
-$as_echo_n "checking for suffix of executables... " >&6; }
-if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
-  # If both `conftest.exe' and `conftest' are `present' (well, observable)
-# catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will
-# work properly (i.e., refer to `conftest.exe'), while it won't with
-# `rm'.
-for ac_file in conftest.exe conftest conftest.*; do
-  test -f "$ac_file" || continue
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
-    *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-         break;;
-    * ) break;;
-  esac
-done
-else
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest conftest$ac_cv_exeext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
-$as_echo "$ac_cv_exeext" >&6; }
-
-rm -f conftest.$ac_ext
-EXEEXT=$ac_cv_exeext
-ac_exeext=$EXEEXT
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-@%:@include <stdio.h>
-int
-main ()
-{
-FILE *f = fopen ("conftest.out", "w");
- return ferror (f) || fclose (f) != 0;
-
-  ;
-  return 0;
-}
-_ACEOF
-ac_clean_files="$ac_clean_files conftest.out"
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-if test "$cross_compiling" != yes; then
-  { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-  if { ac_try='./conftest$ac_cv_exeext'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-    cross_compiling=no
-  else
-    if test "$cross_compiling" = maybe; then
-       cross_compiling=yes
-    else
-       { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details" "$LINENO" 5; }
-    fi
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
-rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
-$as_echo_n "checking for suffix of object files... " >&6; }
-if ${ac_cv_objext+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.o conftest.obj
-if { { ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compile") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
-  for ac_file in conftest.o conftest.obj conftest.*; do
-  test -f "$ac_file" || continue;
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
-    *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
-       break;;
-  esac
-done
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest.$ac_cv_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
-$as_echo "$ac_cv_objext" >&6; }
-OBJEXT=$ac_cv_objext
-ac_objext=$OBJEXT
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
-$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if ${ac_cv_c_compiler_gnu+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-#ifndef __GNUC__
-       choke me
-#endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_compiler_gnu=yes
-else
-  ac_compiler_gnu=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_c_compiler_gnu=$ac_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
-$as_echo "$ac_cv_c_compiler_gnu" >&6; }
-if test $ac_compiler_gnu = yes; then
-  GCC=yes
-else
-  GCC=
-fi
-ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
-$as_echo_n "checking whether $CC accepts -g... " >&6; }
-if ${ac_cv_prog_cc_g+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_save_c_werror_flag=$ac_c_werror_flag
-   ac_c_werror_flag=yes
-   ac_cv_prog_cc_g=no
-   CFLAGS="-g"
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_g=yes
-else
-  CFLAGS=""
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  
-else
-  ac_c_werror_flag=$ac_save_c_werror_flag
-        CFLAGS="-g"
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_g=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-   ac_c_werror_flag=$ac_save_c_werror_flag
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
-$as_echo "$ac_cv_prog_cc_g" >&6; }
-if test "$ac_test_CFLAGS" = set; then
-  CFLAGS=$ac_save_CFLAGS
-elif test $ac_cv_prog_cc_g = yes; then
-  if test "$GCC" = yes; then
-    CFLAGS="-g -O2"
-  else
-    CFLAGS="-g"
-  fi
-else
-  if test "$GCC" = yes; then
-    CFLAGS="-O2"
-  else
-    CFLAGS=
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
-$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if ${ac_cv_prog_cc_c89+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_prog_cc_c89=no
-ac_save_CC=$CC
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdarg.h>
-#include <stdio.h>
-struct stat;
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
-     char **p;
-     int i;
-{
-  return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
-  char *s;
-  va_list v;
-  va_start (v,p);
-  s = g (p, va_arg (v,int));
-  va_end (v);
-  return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
-   function prototypes and stuff, but not '\xHH' hex character constants.
-   These don't provoke an error unfortunately, instead are silently treated
-   as 'x'.  The following induces an error, until -std is added to get
-   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
-   array size at least.  It's necessary to write '\x00'==0 to get something
-   that's true only with -std.  */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
-   inside strings and character constants.  */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
-
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
-  ;
-  return 0;
-}
-_ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
-       -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
-  CC="$ac_save_CC $ac_arg"
-  if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_c89=$ac_arg
-fi
-rm -f core conftest.err conftest.$ac_objext
-  test "x$ac_cv_prog_cc_c89" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
-
-fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
-  x)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
-  xno)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
-  *)
-    CC="$CC $ac_cv_prog_cc_c89"
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
-$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
-esac
-if test "x$ac_cv_prog_cc_c89" != xno; then :
-  
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_RANLIB+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$RANLIB"; then
-  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
-$as_echo "$RANLIB" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_RANLIB"; then
-  ac_ct_RANLIB=$RANLIB
-  # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_RANLIB"; then
-  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_RANLIB="ranlib"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
-$as_echo "$ac_ct_RANLIB" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_RANLIB" = x; then
-    RANLIB=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    RANLIB=$ac_ct_RANLIB
-  fi
-else
-  RANLIB="$ac_cv_prog_RANLIB"
-fi
-
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
-$as_echo_n "checking how to run the C preprocessor... " >&6; }
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
-  CPP=
-fi
-if test -z "$CPP"; then
-  if ${ac_cv_prog_CPP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-      # Double quotes because CPP needs to be expanded
-    for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
-    do
-      ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-@%:@ifdef __STDC__
-@%:@ include <limits.h>
-@%:@else
-@%:@ include <assert.h>
-@%:@endif
-                    Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  
-else
-  # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-@%:@include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  # Broken: success on invalid input.
-continue
-else
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-  break
-fi
-
-    done
-    ac_cv_prog_CPP=$CPP
-  
-fi
-  CPP=$ac_cv_prog_CPP
-else
-  ac_cv_prog_CPP=$CPP
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
-$as_echo "$CPP" >&6; }
-ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-@%:@ifdef __STDC__
-@%:@ include <limits.h>
-@%:@else
-@%:@ include <assert.h>
-@%:@endif
-                    Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  
-else
-  # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-@%:@include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  # Broken: success on invalid input.
-continue
-else
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-  
-else
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
-$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if ${ac_cv_path_GREP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$GREP"; then
-  ac_path_GREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in grep ggrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-      as_fn_executable_p "$ac_path_GREP" || continue
-# Check for GNU ac_path_GREP and select it if it is found.
-  # Check for GNU $ac_path_GREP
-case `"$ac_path_GREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'GREP' >> "conftest.nl"
-    "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_GREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_GREP="$ac_path_GREP"
-      ac_path_GREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_GREP_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_GREP"; then
-    as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-  fi
-else
-  ac_cv_path_GREP=$GREP
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
-$as_echo "$ac_cv_path_GREP" >&6; }
- GREP="$ac_cv_path_GREP"
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
-$as_echo_n "checking for egrep... " >&6; }
-if ${ac_cv_path_EGREP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
-   then ac_cv_path_EGREP="$GREP -E"
-   else
-     if test -z "$EGREP"; then
-  ac_path_EGREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in egrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-      as_fn_executable_p "$ac_path_EGREP" || continue
-# Check for GNU ac_path_EGREP and select it if it is found.
-  # Check for GNU $ac_path_EGREP
-case `"$ac_path_EGREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'EGREP' >> "conftest.nl"
-    "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_EGREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_EGREP="$ac_path_EGREP"
-      ac_path_EGREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_EGREP_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_EGREP"; then
-    as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-  fi
-else
-  ac_cv_path_EGREP=$EGREP
-fi
-
-   fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
-$as_echo "$ac_cv_path_EGREP" >&6; }
- EGREP="$ac_cv_path_EGREP"
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if ${ac_cv_header_stdc+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_header_stdc=yes
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
-  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "memchr" >/dev/null 2>&1; then :
-  
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "free" >/dev/null 2>&1; then :
-  
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
-  if test "$cross_compiling" = yes; then :
-  :
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
-                  (('a' <= (c) && (c) <= 'i') \
-                    || ('j' <= (c) && (c) <= 'r') \
-                    || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
-  int i;
-  for (i = 0; i < 256; i++)
-    if (XOR (islower (i), ISLOWER (i))
-       || toupper (i) != TOUPPER (i))
-      return 2;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-  
-$as_echo "@%:@define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
-                 inttypes.h stdint.h unistd.h
-do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
-"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-@%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-fi
-
-done
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
-$as_echo_n "checking whether byte ordering is bigendian... " >&6; }
-if ${ac_cv_c_bigendian+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_c_bigendian=unknown
-    # See if we're dealing with a universal compiler.
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifndef __APPLE_CC__
-              not a universal capable compiler
-            #endif
-            typedef int dummy;
-           
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  
-       # Check for potential -arch flags.  It is not universal unless
-       # there are at least two -arch flags with different values.
-       ac_arch=
-       ac_prev=
-       for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do
-        if test -n "$ac_prev"; then
-          case $ac_word in
-            i?86 | x86_64 | ppc | ppc64)
-              if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then
-                ac_arch=$ac_word
-              else
-                ac_cv_c_bigendian=universal
-                break
-              fi
-              ;;
-          esac
-          ac_prev=
-        elif test "x$ac_word" = "x-arch"; then
-          ac_prev=arch
-        fi
-       done
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-    if test $ac_cv_c_bigendian = unknown; then
-      # See if sys/param.h defines the BYTE_ORDER macro.
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
-            #include <sys/param.h>
-          
-int
-main ()
-{
-#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \
-                    && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \
-                    && LITTLE_ENDIAN)
-             bogus endian macros
-            #endif
-          
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  # It does; now see whether it defined to BIG_ENDIAN or not.
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
-               #include <sys/param.h>
-             
-int
-main ()
-{
-#if BYTE_ORDER != BIG_ENDIAN
-                not big endian
-               #endif
-             
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_c_bigendian=yes
-else
-  ac_cv_c_bigendian=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-    fi
-    if test $ac_cv_c_bigendian = unknown; then
-      # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris).
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <limits.h>
-          
-int
-main ()
-{
-#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN)
-             bogus endian macros
-            #endif
-          
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  # It does; now see whether it defined to _BIG_ENDIAN or not.
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <limits.h>
-             
-int
-main ()
-{
-#ifndef _BIG_ENDIAN
-                not big endian
-               #endif
-             
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_c_bigendian=yes
-else
-  ac_cv_c_bigendian=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-    fi
-    if test $ac_cv_c_bigendian = unknown; then
-      # Compile a test program.
-      if test "$cross_compiling" = yes; then :
-  # Try to guess by grepping values from an object file.
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-short int ascii_mm[] =
-                 { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
-               short int ascii_ii[] =
-                 { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
-               int use_ascii (int i) {
-                 return ascii_mm[i] + ascii_ii[i];
-               }
-               short int ebcdic_ii[] =
-                 { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
-               short int ebcdic_mm[] =
-                 { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
-               int use_ebcdic (int i) {
-                 return ebcdic_mm[i] + ebcdic_ii[i];
-               }
-               extern int foo;
-             
-int
-main ()
-{
-return use_ascii (foo) == use_ebcdic (foo);
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then
-             ac_cv_c_bigendian=yes
-           fi
-           if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
-             if test "$ac_cv_c_bigendian" = unknown; then
-               ac_cv_c_bigendian=no
-             else
-               # finding both strings is unlikely to happen, but who knows?
-               ac_cv_c_bigendian=unknown
-             fi
-           fi
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-
-            /* Are we little or big endian?  From Harbison&Steele.  */
-            union
-            {
-              long int l;
-              char c[sizeof (long int)];
-            } u;
-            u.l = 1;
-            return u.c[sizeof (long int) - 1] == 1;
-          
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  ac_cv_c_bigendian=no
-else
-  ac_cv_c_bigendian=yes
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-    fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5
-$as_echo "$ac_cv_c_bigendian" >&6; }
- case $ac_cv_c_bigendian in #(
-   yes)
-     $as_echo "@%:@define WORDS_BIGENDIAN 1" >>confdefs.h
-;; #(
-   no)
-      ;; #(
-   universal)
-       
-$as_echo "@%:@define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
-
-     ;; #(
-   *)
-     as_fn_error $? "unknown endianness
- presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
- esac
-
-
-# Checks for libraries.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing gethostbyname" >&5
-$as_echo_n "checking for library containing gethostbyname... " >&6; }
-if ${ac_cv_search_gethostbyname+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_func_search_save_LIBS=$LIBS
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char gethostbyname ();
-int
-main ()
-{
-return gethostbyname ();
-  ;
-  return 0;
-}
-_ACEOF
-for ac_lib in '' nsl; do
-  if test -z "$ac_lib"; then
-    ac_res="none required"
-  else
-    ac_res=-l$ac_lib
-    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
-  fi
-  if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_search_gethostbyname=$ac_res
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext
-  if ${ac_cv_search_gethostbyname+:} false; then :
-  break
-fi
-done
-if ${ac_cv_search_gethostbyname+:} false; then :
-  
-else
-  ac_cv_search_gethostbyname=no
-fi
-rm conftest.$ac_ext
-LIBS=$ac_func_search_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_gethostbyname" >&5
-$as_echo "$ac_cv_search_gethostbyname" >&6; }
-ac_res=$ac_cv_search_gethostbyname
-if test "$ac_res" != no; then :
-  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
-  
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing socket" >&5
-$as_echo_n "checking for library containing socket... " >&6; }
-if ${ac_cv_search_socket+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_func_search_save_LIBS=$LIBS
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char socket ();
-int
-main ()
-{
-return socket ();
-  ;
-  return 0;
-}
-_ACEOF
-for ac_lib in '' socket; do
-  if test -z "$ac_lib"; then
-    ac_res="none required"
-  else
-    ac_res=-l$ac_lib
-    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
-  fi
-  if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_search_socket=$ac_res
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext
-  if ${ac_cv_search_socket+:} false; then :
-  break
-fi
-done
-if ${ac_cv_search_socket+:} false; then :
-  
-else
-  ac_cv_search_socket=no
-fi
-rm conftest.$ac_ext
-LIBS=$ac_func_search_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_socket" >&5
-$as_echo "$ac_cv_search_socket" >&6; }
-ac_res=$ac_cv_search_socket
-if test "$ac_res" != no; then :
-  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
-  
-fi
-
-fi
-
-
-@%:@ Check whether --with-debug was given.
-if test "${with_debug+set}" = set; then :
-  withval=$with_debug; CPPFLAGS="${CPPFLAGS} -DNDEBUG"
-   NDEBUG=1
-fi
-
-
-
-@%:@ Check whether --with-ecc was given.
-if test "${with_ecc+set}" = set; then :
-  withval=$with_ecc; 
-else
-  
-$as_echo "@%:@define DTLS_ECC 1" >>confdefs.h
-
-   OPT_OBJS="${OPT_OBJS} ecc/ecc.o"
-   DTLS_ECC=1
-fi
-
-
-
-@%:@ Check whether --with-psk was given.
-if test "${with_psk+set}" = set; then :
-  withval=$with_psk; 
-else
-  
-$as_echo "@%:@define DTLS_PSK 1" >>confdefs.h
-
-   DTLS_PSK=1
-fi
-
-
-CPPFLAGS="${CPPFLAGS} -DDTLSv12 -DWITH_SHA256"
-OPT_OBJS="${OPT_OBJS} sha2/sha2.o"
-
-
-
-
-
-
-
-if test "${with_contiki}" = "yes" ; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: skipping header checks for Contiki" >&5
-$as_echo "$as_me: skipping header checks for Contiki" >&6;}
-else
-  # Checks for header files.
-  for ac_header in assert.h arpa/inet.h fcntl.h inttypes.h netdb.h netinet/in.h stddef.h stdint.h stdlib.h string.h strings.h sys/param.h sys/socket.h unistd.h
-do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-@%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-fi
-
-done
-
-
-  for ac_header in sys/time.h time.h
-do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-@%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-fi
-
-done
-
-  for ac_header in sys/types.h sys/stat.h
-do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-@%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-fi
-
-done
-
-
-# Checks for typedefs, structures, and compiler characteristics.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5
-$as_echo_n "checking for inline... " >&6; }
-if ${ac_cv_c_inline+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_c_inline=no
-for ac_kw in inline __inline__ __inline; do
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifndef __cplusplus
-typedef int foo_t;
-static $ac_kw foo_t static_foo () {return 0; }
-$ac_kw foo_t foo () {return 0; }
-#endif
-
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_c_inline=$ac_kw
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  test "$ac_cv_c_inline" != no && break
-done
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5
-$as_echo "$ac_cv_c_inline" >&6; }
-
-case $ac_cv_c_inline in
-  inline | yes) ;;
-  *)
-    case $ac_cv_c_inline in
-      no) ac_val=;;
-      *) ac_val=$ac_cv_c_inline;;
-    esac
-    cat >>confdefs.h <<_ACEOF
-#ifndef __cplusplus
-#define inline $ac_val
-#endif
-_ACEOF
-    ;;
-esac
-
-ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
-if test "x$ac_cv_type_size_t" = xyes; then :
-  
-else
-  
-cat >>confdefs.h <<_ACEOF
-@%:@define size_t unsigned int
-_ACEOF
-
-fi
-
-
-ac_fn_c_check_member "$LINENO" "struct sockaddr_in6" "sin6_len" "ac_cv_member_struct_sockaddr_in6_sin6_len" "#include <netinet/in.h>
-"
-if test "x$ac_cv_member_struct_sockaddr_in6_sin6_len" = xyes; then :
-  
-$as_echo "@%:@define HAVE_SOCKADDR_IN6_SIN6_LEN 1" >>confdefs.h
-
-fi
-
-
-# Checks for library functions.
-for ac_header in stdlib.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "stdlib.h" "ac_cv_header_stdlib_h" "$ac_includes_default"
-if test "x$ac_cv_header_stdlib_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-@%:@define HAVE_STDLIB_H 1
-_ACEOF
-fi
-
-done
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU libc compatible malloc" >&5
-$as_echo_n "checking for GNU libc compatible malloc... " >&6; }
-if ${ac_cv_func_malloc_0_nonnull+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "$cross_compiling" = yes; then :
-  ac_cv_func_malloc_0_nonnull=no
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#if defined STDC_HEADERS || defined HAVE_STDLIB_H
-# include <stdlib.h>
-#else
-char *malloc ();
-#endif
-
-int
-main ()
-{
-return ! malloc (0);
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  ac_cv_func_malloc_0_nonnull=yes
-else
-  ac_cv_func_malloc_0_nonnull=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_malloc_0_nonnull" >&5
-$as_echo "$ac_cv_func_malloc_0_nonnull" >&6; }
-if test $ac_cv_func_malloc_0_nonnull = yes; then :
-  
-$as_echo "@%:@define HAVE_MALLOC 1" >>confdefs.h
-
-else
-  $as_echo "@%:@define HAVE_MALLOC 0" >>confdefs.h
-
-   case " $LIB@&t@OBJS " in
-  *" malloc.$ac_objext "* ) ;;
-  *) LIB@&t@OBJS="$LIB@&t@OBJS malloc.$ac_objext"
- ;;
-esac
-
-   
-$as_echo "@%:@define malloc rpl_malloc" >>confdefs.h
-
-fi
-
-
-for ac_func in memset select socket strdup strerror strnlen fls vprintf
-do :
-  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-@%:@define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-fi
-done
-
-fi
-
-ac_config_headers="$ac_config_headers dtls_config.h tinydtls.h"
-
-
-# Adds Contiki-specific definitions to the end of dtls_config.h
-
-
-ac_config_files="$ac_config_files Makefile doc/Makefile doc/Doxyfile tests/Makefile examples/contiki/Makefile platform-specific/Makefile sha2/Makefile aes/Makefile ecc/Makefile"
-
-cat >confcache <<\_ACEOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs, see configure's option --config-cache.
-# It is not useful on other systems.  If it contains results you don't
-# want to keep, you may remove or edit it.
-#
-# config.status only pays attention to the cache file if you give it
-# the --recheck option to rerun configure.
-#
-# `ac_cv_env_foo' variables (set or unset) will be overridden when
-# loading this file, other *unset* `ac_cv_foo' will be assigned the
-# following values.
-
-_ACEOF
-
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, we kill variables containing newlines.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(
-  for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
-    eval ac_val=\$$ac_var
-    case $ac_val in #(
-    *${as_nl}*)
-      case $ac_var in #(
-      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
-      esac
-      case $ac_var in #(
-      _ | IFS | as_nl) ;; #(
-      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
-      *) { eval $ac_var=; unset $ac_var;} ;;
-      esac ;;
-    esac
-  done
-
-  (set) 2>&1 |
-    case $as_nl`(ac_space=' '; set) 2>&1` in #(
-    *${as_nl}ac_space=\ *)
-      # `set' does not quote correctly, so add quotes: double-quote
-      # substitution turns \\\\ into \\, and sed turns \\ into \.
-      sed -n \
-       "s/'/'\\\\''/g;
-         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
-      ;; #(
-    *)
-      # `set' quotes correctly as required by POSIX, so do not add quotes.
-      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
-      ;;
-    esac |
-    sort
-) |
-  sed '
-     /^ac_cv_env_/b end
-     t clear
-     :clear
-     s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
-     t end
-     s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
-     :end' >>confcache
-if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
-  if test -w "$cache_file"; then
-    if test "x$cache_file" != "x/dev/null"; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
-$as_echo "$as_me: updating cache $cache_file" >&6;}
-      if test ! -f "$cache_file" || test -h "$cache_file"; then
-       cat confcache >"$cache_file"
-      else
-        case $cache_file in #(
-        */* | ?:*)
-         mv -f confcache "$cache_file"$$ &&
-         mv -f "$cache_file"$$ "$cache_file" ;; #(
-        *)
-         mv -f confcache "$cache_file" ;;
-       esac
-      fi
-    fi
-  else
-    { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
-$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
-  fi
-fi
-rm -f confcache
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-DEFS=-DHAVE_CONFIG_H
-
-ac_libobjs=
-ac_ltlibobjs=
-U=
-for ac_i in : $LIB@&t@OBJS; do test "x$ac_i" = x: && continue
-  # 1. Remove the extension, and $U if already installed.
-  ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
-  ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
-  # 2. Prepend LIBOBJDIR.  When used with automake>=1.10 LIBOBJDIR
-  #    will be set to the directory where LIBOBJS objects are built.
-  as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
-  as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
-done
-LIB@&t@OBJS=$ac_libobjs
-
-LTLIBOBJS=$ac_ltlibobjs
-
-
-
-
-: "${CONFIG_STATUS=./config.status}"
-ac_write_fail=0
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
-$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
-as_write_fail=0
-cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
-#! $SHELL
-# Generated by $as_me.
-# Run this file to recreate the current configuration.
-# Compiler output produced by configure, useful for debugging
-# configure, is in config.log if it exists.
-
-debug=false
-ac_cs_recheck=false
-ac_cs_silent=false
-
-SHELL=\${CONFIG_SHELL-$SHELL}
-export SHELL
-_ASEOF
-cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in @%:@(
-  *posix*) :
-    set -o posix ;; @%:@(
-  *) :
-     ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
-    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='print -r --'
-  as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='printf %s\n'
-  as_echo_n='printf %s'
-else
-  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
-    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
-    as_echo_n='/usr/ucb/echo -n'
-  else
-    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
-    as_echo_n_body='eval
-      arg=$1;
-      case $arg in @%:@(
-      *"$as_nl"*)
-       expr "X$arg" : "X\\(.*\\)$as_nl";
-       arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
-      esac;
-      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
-    '
-    export as_echo_n_body
-    as_echo_n='sh -c $as_echo_n_body as_echo'
-  fi
-  export as_echo_body
-  as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  PATH_SEPARATOR=:
-  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
-    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
-      PATH_SEPARATOR=';'
-  }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.  Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" ""       $as_nl"
-
-# Find who we are.  Look in the path if we contain no directory separator.
-as_myself=
-case $0 in @%:@((
-  *[\\/]* ) as_myself=$0 ;;
-  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-  done
-IFS=$as_save_IFS
-
-     ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
-  as_myself=$0
-fi
-if test ! -f "$as_myself"; then
-  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
-  exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there.  '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
-  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-
-@%:@ as_fn_error STATUS ERROR [LINENO LOG_FD]
-@%:@ ----------------------------------------
-@%:@ Output "`basename @S|@0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-@%:@ provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-@%:@ script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
-  as_status=$1; test $as_status -eq 0 && as_status=1
-  if test "$4"; then
-    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
-  fi
-  $as_echo "$as_me: error: $2" >&2
-  as_fn_exit $as_status
-} @%:@ as_fn_error
-
-
-@%:@ as_fn_set_status STATUS
-@%:@ -----------------------
-@%:@ Set @S|@? to STATUS, without forking.
-as_fn_set_status ()
-{
-  return $1
-} @%:@ as_fn_set_status
-
-@%:@ as_fn_exit STATUS
-@%:@ -----------------
-@%:@ Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
-  set +e
-  as_fn_set_status $1
-  exit $1
-} @%:@ as_fn_exit
-
-@%:@ as_fn_unset VAR
-@%:@ ---------------
-@%:@ Portably unset VAR.
-as_fn_unset ()
-{
-  { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-@%:@ as_fn_append VAR VALUE
-@%:@ ----------------------
-@%:@ Append the text in VALUE to the end of the definition contained in VAR. Take
-@%:@ advantage of any shell optimizations that allow amortized linear growth over
-@%:@ repeated appends, instead of the typical quadratic growth present in naive
-@%:@ implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
-  eval 'as_fn_append ()
-  {
-    eval $1+=\$2
-  }'
-else
-  as_fn_append ()
-  {
-    eval $1=\$$1\$2
-  }
-fi # as_fn_append
-
-@%:@ as_fn_arith ARG...
-@%:@ ------------------
-@%:@ Perform arithmetic evaluation on the ARGs, and store the result in the
-@%:@ global @S|@as_val. Take advantage of shells that can avoid forks. The arguments
-@%:@ must be portable across @S|@(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
-  eval 'as_fn_arith ()
-  {
-    as_val=$(( $* ))
-  }'
-else
-  as_fn_arith ()
-  {
-    as_val=`expr "$@" || test $? -eq 1`
-  }
-fi # as_fn_arith
-
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
-   test "X`expr 00001 : '.*\(...\)'`" = X001; then
-  as_expr=expr
-else
-  as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
-  as_basename=basename
-else
-  as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
-  as_dirname=dirname
-else
-  as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
-        X"$0" : 'X\(//\)$' \| \
-        X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
-    sed '/^.*\/\([^/][^/]*\)\/*$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in @%:@(((((
--n*)
-  case `echo 'xy\c'` in
-  *c*) ECHO_T='        ';;     # ECHO_T is single tab character.
-  xy)  ECHO_C='\c';;
-  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
-       ECHO_T='        ';;
-  esac;;
-*)
-  ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
-  rm -f conf$$.dir/conf$$.file
-else
-  rm -f conf$$.dir
-  mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
-  if ln -s conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s='ln -s'
-    # ... but there are two gotchas:
-    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
-    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -pR'.
-    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -pR'
-  elif ln conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s=ln
-  else
-    as_ln_s='cp -pR'
-  fi
-else
-  as_ln_s='cp -pR'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-
-@%:@ as_fn_mkdir_p
-@%:@ -------------
-@%:@ Create "@S|@as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
-  case $as_dir in #(
-  -*) as_dir=./$as_dir;;
-  esac
-  test -d "$as_dir" || eval $as_mkdir_p || {
-    as_dirs=
-    while :; do
-      case $as_dir in #(
-      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
-      *) as_qdir=$as_dir;;
-      esac
-      as_dirs="'$as_qdir' $as_dirs"
-      as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$as_dir" : 'X\(//\)[^/]' \| \
-        X"$as_dir" : 'X\(//\)$' \| \
-        X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-      test -d "$as_dir" && break
-    done
-    test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} @%:@ as_fn_mkdir_p
-if mkdir -p . 2>/dev/null; then
-  as_mkdir_p='mkdir -p "$as_dir"'
-else
-  test -d ./-p && rmdir ./-p
-  as_mkdir_p=false
-fi
-
-
-@%:@ as_fn_executable_p FILE
-@%:@ -----------------------
-@%:@ Test if FILE is an executable regular file.
-as_fn_executable_p ()
-{
-  test -f "$1" && test -x "$1"
-} @%:@ as_fn_executable_p
-as_test_x='test -x'
-as_executable_p=as_fn_executable_p
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-exec 6>&1
-## ----------------------------------- ##
-## Main body of $CONFIG_STATUS script. ##
-## ----------------------------------- ##
-_ASEOF
-test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# Save the log message, to keep $0 and so on meaningful, and to
-# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling.
-ac_log="
-This file was extended by tinydtls $as_me 0.8.2, which was
-generated by GNU Autoconf 2.69.  Invocation command line was
-
-  CONFIG_FILES    = $CONFIG_FILES
-  CONFIG_HEADERS  = $CONFIG_HEADERS
-  CONFIG_LINKS    = $CONFIG_LINKS
-  CONFIG_COMMANDS = $CONFIG_COMMANDS
-  $ $0 $@
-
-on `(hostname || uname -n) 2>/dev/null | sed 1q`
-"
-
-_ACEOF
-
-case $ac_config_files in *"
-"*) set x $ac_config_files; shift; ac_config_files=$*;;
-esac
-
-case $ac_config_headers in *"
-"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
-esac
-
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-# Files that config.status was made for.
-config_files="$ac_config_files"
-config_headers="$ac_config_headers"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-ac_cs_usage="\
-\`$as_me' instantiates files and other configuration actions
-from templates according to the current configuration.  Unless the files
-and actions are specified as TAGs, all are instantiated by default.
-
-Usage: $0 [OPTION]... [TAG]...
-
-  -h, --help       print this help, then exit
-  -V, --version    print version number and configuration settings, then exit
-      --config     print configuration, then exit
-  -q, --quiet, --silent
-                   do not print progress messages
-  -d, --debug      don't remove temporary files
-      --recheck    update $as_me by reconfiguring in the same conditions
-      --file=FILE[:TEMPLATE] 
-                   instantiate the configuration file FILE
-      --header=FILE[:TEMPLATE] 
-                   instantiate the configuration header FILE
-
-Configuration files:
-$config_files
-
-Configuration headers:
-$config_headers
-
-Report bugs to the package provider."
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
-ac_cs_version="\\
-tinydtls config.status 0.8.2
-configured by $0, generated by GNU Autoconf 2.69,
-  with options \\"\$ac_cs_config\\"
-
-Copyright (C) 2012 Free Software Foundation, Inc.
-This config.status script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it."
-
-ac_pwd='$ac_pwd'
-srcdir='$srcdir'
-test -n "\$AWK" || AWK=awk
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# The default lists apply if the user does not specify any file.
-ac_need_defaults=:
-while test $# != 0
-do
-  case $1 in
-  --*=?*)
-    ac_option=`expr "X$1" : 'X\([^=]*\)='`
-    ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
-    ac_shift=:
-    ;;
-  --*=)
-    ac_option=`expr "X$1" : 'X\([^=]*\)='`
-    ac_optarg=
-    ac_shift=:
-    ;;
-  *)
-    ac_option=$1
-    ac_optarg=$2
-    ac_shift=shift
-    ;;
-  esac
-
-  case $ac_option in
-  # Handling of the options.
-  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
-    ac_cs_recheck=: ;;
-  --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
-    $as_echo "$ac_cs_version"; exit ;;
-  --config | --confi | --conf | --con | --co | --c )
-    $as_echo "$ac_cs_config"; exit ;;
-  --debug | --debu | --deb | --de | --d | -d )
-    debug=: ;;
-  --file | --fil | --fi | --f )
-    $ac_shift
-    case $ac_optarg in
-    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    '') as_fn_error $? "missing file argument" ;;
-    esac
-    as_fn_append CONFIG_FILES " '$ac_optarg'"
-    ac_need_defaults=false;;
-  --header | --heade | --head | --hea )
-    $ac_shift
-    case $ac_optarg in
-    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    esac
-    as_fn_append CONFIG_HEADERS " '$ac_optarg'"
-    ac_need_defaults=false;;
-  --he | --h)
-    # Conflict between --help and --header
-    as_fn_error $? "ambiguous option: \`$1'
-Try \`$0 --help' for more information.";;
-  --help | --hel | -h )
-    $as_echo "$ac_cs_usage"; exit ;;
-  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-  | -silent | --silent | --silen | --sile | --sil | --si | --s)
-    ac_cs_silent=: ;;
-
-  # This is an error.
-  -*) as_fn_error $? "unrecognized option: \`$1'
-Try \`$0 --help' for more information." ;;
-
-  *) as_fn_append ac_config_targets " $1"
-     ac_need_defaults=false ;;
-
-  esac
-  shift
-done
-
-ac_configure_extra_args=
-
-if $ac_cs_silent; then
-  exec 6>/dev/null
-  ac_configure_extra_args="$ac_configure_extra_args --silent"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-if \$ac_cs_recheck; then
-  set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
-  shift
-  \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
-  CONFIG_SHELL='$SHELL'
-  export CONFIG_SHELL
-  exec "\$@"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-exec 5>>config.log
-{
-  echo
-  sed 'h;s/./-/g;s/^.../@%:@@%:@ /;s/...$/ @%:@@%:@/;p;x;p;x' <<_ASBOX
-@%:@@%:@ Running $as_me. @%:@@%:@
-_ASBOX
-  $as_echo "$ac_log"
-} >&5
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-
-# Handling of arguments.
-for ac_config_target in $ac_config_targets
-do
-  case $ac_config_target in
-    "dtls_config.h") CONFIG_HEADERS="$CONFIG_HEADERS dtls_config.h" ;;
-    "tinydtls.h") CONFIG_HEADERS="$CONFIG_HEADERS tinydtls.h" ;;
-    "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
-    "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
-    "doc/Doxyfile") CONFIG_FILES="$CONFIG_FILES doc/Doxyfile" ;;
-    "tests/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;;
-    "examples/contiki/Makefile") CONFIG_FILES="$CONFIG_FILES examples/contiki/Makefile" ;;
-    "platform-specific/Makefile") CONFIG_FILES="$CONFIG_FILES platform-specific/Makefile" ;;
-    "sha2/Makefile") CONFIG_FILES="$CONFIG_FILES sha2/Makefile" ;;
-    "aes/Makefile") CONFIG_FILES="$CONFIG_FILES aes/Makefile" ;;
-    "ecc/Makefile") CONFIG_FILES="$CONFIG_FILES ecc/Makefile" ;;
-
-  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
-  esac
-done
-
-
-# If the user did not use the arguments to specify the items to instantiate,
-# then the envvar interface is used.  Set only those that are not.
-# We use the long form for the default assignment because of an extremely
-# bizarre bug on SunOS 4.1.3.
-if $ac_need_defaults; then
-  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
-  test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
-fi
-
-# Have a temporary directory for convenience.  Make it in the build tree
-# simply because there is no reason against having it here, and in addition,
-# creating and moving files from /tmp can sometimes cause problems.
-# Hook for its removal unless debugging.
-# Note that there is a small window in which the directory will not be cleaned:
-# after its creation but before its name has been assigned to `$tmp'.
-$debug ||
-{
-  tmp= ac_tmp=
-  trap 'exit_status=$?
-  : "${ac_tmp:=$tmp}"
-  { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
-' 0
-  trap 'as_fn_exit 1' 1 2 13 15
-}
-# Create a (secure) tmp directory for tmp files.
-
-{
-  tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
-  test -d "$tmp"
-}  ||
-{
-  tmp=./conf$$-$RANDOM
-  (umask 077 && mkdir "$tmp")
-} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
-ac_tmp=$tmp
-
-# Set up the scripts for CONFIG_FILES section.
-# No need to generate them if there are no CONFIG_FILES.
-# This happens for instance with `./config.status config.h'.
-if test -n "$CONFIG_FILES"; then
-
-
-ac_cr=`echo X | tr X '\015'`
-# On cygwin, bash can eat \r inside `` if the user requested igncr.
-# But we know of no other shell where ac_cr would be empty at this
-# point, so we can use a bashism as a fallback.
-if test "x$ac_cr" = x; then
-  eval ac_cr=\$\'\\r\'
-fi
-ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
-if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
-  ac_cs_awk_cr='\\r'
-else
-  ac_cs_awk_cr=$ac_cr
-fi
-
-echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
-_ACEOF
-
-
-{
-  echo "cat >conf$$subs.awk <<_ACEOF" &&
-  echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
-  echo "_ACEOF"
-} >conf$$subs.sh ||
-  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
-ac_delim='%!_!# '
-for ac_last_try in false false false false false :; do
-  . ./conf$$subs.sh ||
-    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-
-  ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
-  if test $ac_delim_n = $ac_delim_num; then
-    break
-  elif $ac_last_try; then
-    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-  else
-    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
-  fi
-done
-rm -f conf$$subs.sh
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
-_ACEOF
-sed -n '
-h
-s/^/S["/; s/!.*/"]=/
-p
-g
-s/^[^!]*!//
-:repl
-t repl
-s/'"$ac_delim"'$//
-t delim
-:nl
-h
-s/\(.\{148\}\)..*/\1/
-t more1
-s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
-p
-n
-b repl
-:more1
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t nl
-:delim
-h
-s/\(.\{148\}\)..*/\1/
-t more2
-s/["\\]/\\&/g; s/^/"/; s/$/"/
-p
-b
-:more2
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t delim
-' <conf$$subs.awk | sed '
-/^[^""]/{
-  N
-  s/\n//
-}
-' >>$CONFIG_STATUS || ac_write_fail=1
-rm -f conf$$subs.awk
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-_ACAWK
-cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
-  for (key in S) S_is_set[key] = 1
-  FS = "\a"
-
-}
-{
-  line = $ 0
-  nfields = split(line, field, "@")
-  substed = 0
-  len = length(field[1])
-  for (i = 2; i < nfields; i++) {
-    key = field[i]
-    keylen = length(key)
-    if (S_is_set[key]) {
-      value = S[key]
-      line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
-      len += length(value) + length(field[++i])
-      substed = 1
-    } else
-      len += 1 + keylen
-  }
-
-  print line
-}
-
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
-  sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
-else
-  cat
-fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
-  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
-_ACEOF
-
-# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
-# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
-# trailing colons and then remove the whole line if VPATH becomes empty
-# (actually we leave an empty line to preserve line numbers).
-if test "x$srcdir" = x.; then
-  ac_vpsub='/^[         ]*VPATH[        ]*=[    ]*/{
-h
-s///
-s/^/:/
-s/[     ]*$/:/
-s/:\$(srcdir):/:/g
-s/:\${srcdir}:/:/g
-s/:@srcdir@:/:/g
-s/^:*//
-s/:*$//
-x
-s/\(=[  ]*\).*/\1/
-G
-s/\n//
-s/^[^=]*=[      ]*$//
-}'
-fi
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-fi # test -n "$CONFIG_FILES"
-
-# Set up the scripts for CONFIG_HEADERS section.
-# No need to generate them if there are no CONFIG_HEADERS.
-# This happens for instance with `./config.status Makefile'.
-if test -n "$CONFIG_HEADERS"; then
-cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
-BEGIN {
-_ACEOF
-
-# Transform confdefs.h into an awk script `defines.awk', embedded as
-# here-document in config.status, that substitutes the proper values into
-# config.h.in to produce config.h.
-
-# Create a delimiter string that does not exist in confdefs.h, to ease
-# handling of long lines.
-ac_delim='%!_!# '
-for ac_last_try in false false :; do
-  ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
-  if test -z "$ac_tt"; then
-    break
-  elif $ac_last_try; then
-    as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
-  else
-    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
-  fi
-done
-
-# For the awk script, D is an array of macro values keyed by name,
-# likewise P contains macro parameters if any.  Preserve backslash
-# newline sequences.
-
-ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
-sed -n '
-s/.\{148\}/&'"$ac_delim"'/g
-t rset
-:rset
-s/^[    ]*#[    ]*define[       ][      ]*/ /
-t def
-d
-:def
-s/\\$//
-t bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[    ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3"/p
-s/^ \('"$ac_word_re"'\)[        ]*\(.*\)/D["\1"]=" \2"/p
-d
-:bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[    ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3\\\\\\n"\\/p
-t cont
-s/^ \('"$ac_word_re"'\)[        ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
-t cont
-d
-:cont
-n
-s/.\{148\}/&'"$ac_delim"'/g
-t clear
-:clear
-s/\\$//
-t bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/"/p
-d
-:bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
-b cont
-' <confdefs.h | sed '
-s/'"$ac_delim"'/"\\\
-"/g' >>$CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-  for (key in D) D_is_set[key] = 1
-  FS = "\a"
-}
-/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
-  line = \$ 0
-  split(line, arg, " ")
-  if (arg[1] == "#") {
-    defundef = arg[2]
-    mac1 = arg[3]
-  } else {
-    defundef = substr(arg[1], 2)
-    mac1 = arg[2]
-  }
-  split(mac1, mac2, "(") #)
-  macro = mac2[1]
-  prefix = substr(line, 1, index(line, defundef) - 1)
-  if (D_is_set[macro]) {
-    # Preserve the white space surrounding the "#".
-    print prefix "define", macro P[macro] D[macro]
-    next
-  } else {
-    # Replace #undef with comments.  This is necessary, for example,
-    # in the case of _POSIX_SOURCE, which is predefined and required
-    # on some systems where configure will not decide to define it.
-    if (defundef == "undef") {
-      print "/*", prefix defundef, macro, "*/"
-      next
-    }
-  }
-}
-{ print }
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-  as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
-fi # test -n "$CONFIG_HEADERS"
-
-
-eval set X "  :F $CONFIG_FILES  :H $CONFIG_HEADERS    "
-shift
-for ac_tag
-do
-  case $ac_tag in
-  :[FHLC]) ac_mode=$ac_tag; continue;;
-  esac
-  case $ac_mode$ac_tag in
-  :[FHL]*:*);;
-  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
-  :[FH]-) ac_tag=-:-;;
-  :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
-  esac
-  ac_save_IFS=$IFS
-  IFS=:
-  set x $ac_tag
-  IFS=$ac_save_IFS
-  shift
-  ac_file=$1
-  shift
-
-  case $ac_mode in
-  :L) ac_source=$1;;
-  :[FH])
-    ac_file_inputs=
-    for ac_f
-    do
-      case $ac_f in
-      -) ac_f="$ac_tmp/stdin";;
-      *) # Look for the file first in the build tree, then in the source tree
-        # (if the path is not absolute).  The absolute path cannot be DOS-style,
-        # because $ac_f cannot contain `:'.
-        test -f "$ac_f" ||
-          case $ac_f in
-          [\\/$]*) false;;
-          *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
-          esac ||
-          as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
-      esac
-      case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
-      as_fn_append ac_file_inputs " '$ac_f'"
-    done
-
-    # Let's still pretend it is `configure' which instantiates (i.e., don't
-    # use $as_me), people would be surprised to read:
-    #    /* config.h.  Generated by config.status.  */
-    configure_input='Generated from '`
-         $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
-       `' by configure.'
-    if test x"$ac_file" != x-; then
-      configure_input="$ac_file.  $configure_input"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
-$as_echo "$as_me: creating $ac_file" >&6;}
-    fi
-    # Neutralize special characters interpreted by sed in replacement strings.
-    case $configure_input in #(
-    *\&* | *\|* | *\\* )
-       ac_sed_conf_input=`$as_echo "$configure_input" |
-       sed 's/[\\\\&|]/\\\\&/g'`;; #(
-    *) ac_sed_conf_input=$configure_input;;
-    esac
-
-    case $ac_tag in
-    *:-:* | *:-) cat >"$ac_tmp/stdin" \
-      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
-    esac
-    ;;
-  esac
-
-  ac_dir=`$as_dirname -- "$ac_file" ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$ac_file" : 'X\(//\)[^/]' \| \
-        X"$ac_file" : 'X\(//\)$' \| \
-        X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$ac_file" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-  as_dir="$ac_dir"; as_fn_mkdir_p
-  ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
-  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
-  # A ".." for each directory in $ac_dir_suffix.
-  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
-  case $ac_top_builddir_sub in
-  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
-  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
-  esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
-  .)  # We are building in place.
-    ac_srcdir=.
-    ac_top_srcdir=$ac_top_builddir_sub
-    ac_abs_top_srcdir=$ac_pwd ;;
-  [\\/]* | ?:[\\/]* )  # Absolute name.
-    ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir
-    ac_abs_top_srcdir=$srcdir ;;
-  *) # Relative name.
-    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_build_prefix$srcdir
-    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-
-  case $ac_mode in
-  :F)
-  #
-  # CONFIG_FILE
-  #
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# If the template does not know about datarootdir, expand it.
-# FIXME: This hack should be removed a few years after 2.60.
-ac_datarootdir_hack=; ac_datarootdir_seen=
-ac_sed_dataroot='
-/datarootdir/ {
-  p
-  q
-}
-/@datadir@/p
-/@docdir@/p
-/@infodir@/p
-/@localedir@/p
-/@mandir@/p'
-case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
-*datarootdir*) ac_datarootdir_seen=yes;;
-*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
-$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-  ac_datarootdir_hack='
-  s&@datadir@&$datadir&g
-  s&@docdir@&$docdir&g
-  s&@infodir@&$infodir&g
-  s&@localedir@&$localedir&g
-  s&@mandir@&$mandir&g
-  s&\\\${datarootdir}&$datarootdir&g' ;;
-esac
-_ACEOF
-
-# Neutralize VPATH when `$srcdir' = `.'.
-# Shell code in configure.ac might set extrasub.
-# FIXME: do we really want to maintain this feature?
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_sed_extra="$ac_vpsub
-$extrasub
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-:t
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s|@configure_input@|$ac_sed_conf_input|;t t
-s&@top_builddir@&$ac_top_builddir_sub&;t t
-s&@top_build_prefix@&$ac_top_build_prefix&;t t
-s&@srcdir@&$ac_srcdir&;t t
-s&@abs_srcdir@&$ac_abs_srcdir&;t t
-s&@top_srcdir@&$ac_top_srcdir&;t t
-s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
-s&@builddir@&$ac_builddir&;t t
-s&@abs_builddir@&$ac_abs_builddir&;t t
-s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
-$ac_datarootdir_hack
-"
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
-  >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-
-test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
-  { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
-  { ac_out=`sed -n '/^[         ]*datarootdir[  ]*:*=/p' \
-      "$ac_tmp/out"`; test -z "$ac_out"; } &&
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined" >&5
-$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined" >&2;}
-
-  rm -f "$ac_tmp/stdin"
-  case $ac_file in
-  -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
-  *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
-  esac \
-  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- ;;
-  :H)
-  #
-  # CONFIG_HEADER
-  #
-  if test x"$ac_file" != x-; then
-    {
-      $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
-    } >"$ac_tmp/config.h" \
-      || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-    if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
-$as_echo "$as_me: $ac_file is unchanged" >&6;}
-    else
-      rm -f "$ac_file"
-      mv "$ac_tmp/config.h" "$ac_file" \
-       || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-    fi
-  else
-    $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
-      || as_fn_error $? "could not create -" "$LINENO" 5
-  fi
- ;;
-  
-  
-  esac
-
-done # for ac_tag
-
-
-as_fn_exit 0
-_ACEOF
-ac_clean_files=$ac_clean_files_save
-
-test $ac_write_fail = 0 ||
-  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
-
-
-# configure is writing to config.log, and then calls config.status.
-# config.status does its own redirection, appending to config.log.
-# Unfortunately, on DOS this fails, as config.log is still kept open
-# by configure, so config.status won't be able to write to it; its
-# output is simply discarded.  So we exec the FD to /dev/null,
-# effectively closing config.log, so it can be properly (re)opened and
-# appended to by config.status.  When coming back to configure, we
-# need to make the FD available again.
-if test "$no_create" != yes; then
-  ac_cs_success=:
-  ac_config_status_args=
-  test "$silent" = yes &&
-    ac_config_status_args="$ac_config_status_args --quiet"
-  exec 5>/dev/null
-  $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
-  exec 5>>config.log
-  # Use ||, not &&, to avoid exiting from the if with $? = 1, which
-  # would make configure fail if this is the last instruction.
-  $ac_cs_success || as_fn_exit 1
-fi
-if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
-$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
-fi
-
diff --git a/external/wakaama/examples/shared/tinydtls/autom4te.cache/output.3 b/external/wakaama/examples/shared/tinydtls/autom4te.cache/output.3
deleted file mode 100644 (file)
index 7ccf190..0000000
+++ /dev/null
@@ -1,5483 +0,0 @@
-@%:@! /bin/sh
-@%:@ Guess values for system-dependent variables and create Makefiles.
-@%:@ Generated by GNU Autoconf 2.69 for tinydtls 0.8.2.
-@%:@ 
-@%:@ 
-@%:@ Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
-@%:@ 
-@%:@ 
-@%:@ This configure script is free software; the Free Software Foundation
-@%:@ gives unlimited permission to copy, distribute and modify it.
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in @%:@(
-  *posix*) :
-    set -o posix ;; @%:@(
-  *) :
-     ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
-    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='print -r --'
-  as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='printf %s\n'
-  as_echo_n='printf %s'
-else
-  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
-    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
-    as_echo_n='/usr/ucb/echo -n'
-  else
-    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
-    as_echo_n_body='eval
-      arg=$1;
-      case $arg in @%:@(
-      *"$as_nl"*)
-       expr "X$arg" : "X\\(.*\\)$as_nl";
-       arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
-      esac;
-      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
-    '
-    export as_echo_n_body
-    as_echo_n='sh -c $as_echo_n_body as_echo'
-  fi
-  export as_echo_body
-  as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  PATH_SEPARATOR=:
-  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
-    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
-      PATH_SEPARATOR=';'
-  }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.  Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" ""       $as_nl"
-
-# Find who we are.  Look in the path if we contain no directory separator.
-as_myself=
-case $0 in @%:@((
-  *[\\/]* ) as_myself=$0 ;;
-  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-  done
-IFS=$as_save_IFS
-
-     ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
-  as_myself=$0
-fi
-if test ! -f "$as_myself"; then
-  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
-  exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there.  '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
-  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-# Use a proper internal environment variable to ensure we don't fall
-  # into an infinite loop, continuously re-executing ourselves.
-  if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
-    _as_can_reexec=no; export _as_can_reexec;
-    # We cannot yet assume a decent shell, so we have to provide a
-# neutralization value for shells without unset; and this also
-# works around shells that cannot unset nonexistent variables.
-# Preserve -v and -x to the replacement shell.
-BASH_ENV=/dev/null
-ENV=/dev/null
-(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-case $- in @%:@ ((((
-  *v*x* | *x*v* ) as_opts=-vx ;;
-  *v* ) as_opts=-v ;;
-  *x* ) as_opts=-x ;;
-  * ) as_opts= ;;
-esac
-exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
-# Admittedly, this is quite paranoid, since all the known shells bail
-# out after a failed `exec'.
-$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
-as_fn_exit 255
-  fi
-  # We don't want this to propagate to other subprocesses.
-          { _as_can_reexec=; unset _as_can_reexec;}
-if test "x$CONFIG_SHELL" = x; then
-  as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '\${1+\"\$@\"}'='\"\$@\"'
-  setopt NO_GLOB_SUBST
-else
-  case \`(set -o) 2>/dev/null\` in @%:@(
-  *posix*) :
-    set -o posix ;; @%:@(
-  *) :
-     ;;
-esac
-fi
-"
-  as_required="as_fn_return () { (exit \$1); }
-as_fn_success () { as_fn_return 0; }
-as_fn_failure () { as_fn_return 1; }
-as_fn_ret_success () { return 0; }
-as_fn_ret_failure () { return 1; }
-
-exitcode=0
-as_fn_success || { exitcode=1; echo as_fn_success failed.; }
-as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
-as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
-as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
-if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
-  
-else
-  exitcode=1; echo positional parameters were not saved.
-fi
-test x\$exitcode = x0 || exit 1
-test -x / || exit 1"
-  as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
-  as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
-  eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
-  test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
-test \$(( 1 + 1 )) = 2 || exit 1"
-  if (eval "$as_required") 2>/dev/null; then :
-  as_have_required=yes
-else
-  as_have_required=no
-fi
-  if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
-  
-else
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-as_found=false
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  as_found=:
-  case $as_dir in @%:@(
-        /*)
-          for as_base in sh bash ksh sh5; do
-            # Try only shells that exist, to save several forks.
-            as_shell=$as_dir/$as_base
-            if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
-                   { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
-  CONFIG_SHELL=$as_shell as_have_required=yes
-                  if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
-  break 2
-fi
-fi
-          done;;
-       esac
-  as_found=false
-done
-$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
-             { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
-  CONFIG_SHELL=$SHELL as_have_required=yes
-fi; }
-IFS=$as_save_IFS
-
-
-      if test "x$CONFIG_SHELL" != x; then :
-  export CONFIG_SHELL
-             # We cannot yet assume a decent shell, so we have to provide a
-# neutralization value for shells without unset; and this also
-# works around shells that cannot unset nonexistent variables.
-# Preserve -v and -x to the replacement shell.
-BASH_ENV=/dev/null
-ENV=/dev/null
-(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-case $- in @%:@ ((((
-  *v*x* | *x*v* ) as_opts=-vx ;;
-  *v* ) as_opts=-v ;;
-  *x* ) as_opts=-x ;;
-  * ) as_opts= ;;
-esac
-exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
-# Admittedly, this is quite paranoid, since all the known shells bail
-# out after a failed `exec'.
-$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
-exit 255
-fi
-
-    if test x$as_have_required = xno; then :
-  $as_echo "$0: This script requires a shell more modern than all"
-  $as_echo "$0: the shells that I found on your system."
-  if test x${ZSH_VERSION+set} = xset ; then
-    $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
-    $as_echo "$0: be upgraded to zsh 4.3.4 or later."
-  else
-    $as_echo "$0: Please tell bug-autoconf@gnu.org about your system,
-$0: including any error possibly output before this
-$0: message. Then install a modern shell, or manually run
-$0: the script under such a shell if you do have one."
-  fi
-  exit 1
-fi
-fi
-fi
-SHELL=${CONFIG_SHELL-/bin/sh}
-export SHELL
-# Unset more variables known to interfere with behavior of common tools.
-CLICOLOR_FORCE= GREP_OPTIONS=
-unset CLICOLOR_FORCE GREP_OPTIONS
-
-## --------------------- ##
-## M4sh Shell Functions. ##
-## --------------------- ##
-@%:@ as_fn_unset VAR
-@%:@ ---------------
-@%:@ Portably unset VAR.
-as_fn_unset ()
-{
-  { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-
-@%:@ as_fn_set_status STATUS
-@%:@ -----------------------
-@%:@ Set @S|@? to STATUS, without forking.
-as_fn_set_status ()
-{
-  return $1
-} @%:@ as_fn_set_status
-
-@%:@ as_fn_exit STATUS
-@%:@ -----------------
-@%:@ Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
-  set +e
-  as_fn_set_status $1
-  exit $1
-} @%:@ as_fn_exit
-
-@%:@ as_fn_mkdir_p
-@%:@ -------------
-@%:@ Create "@S|@as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
-  case $as_dir in #(
-  -*) as_dir=./$as_dir;;
-  esac
-  test -d "$as_dir" || eval $as_mkdir_p || {
-    as_dirs=
-    while :; do
-      case $as_dir in #(
-      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
-      *) as_qdir=$as_dir;;
-      esac
-      as_dirs="'$as_qdir' $as_dirs"
-      as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$as_dir" : 'X\(//\)[^/]' \| \
-        X"$as_dir" : 'X\(//\)$' \| \
-        X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-      test -d "$as_dir" && break
-    done
-    test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} @%:@ as_fn_mkdir_p
-
-@%:@ as_fn_executable_p FILE
-@%:@ -----------------------
-@%:@ Test if FILE is an executable regular file.
-as_fn_executable_p ()
-{
-  test -f "$1" && test -x "$1"
-} @%:@ as_fn_executable_p
-@%:@ as_fn_append VAR VALUE
-@%:@ ----------------------
-@%:@ Append the text in VALUE to the end of the definition contained in VAR. Take
-@%:@ advantage of any shell optimizations that allow amortized linear growth over
-@%:@ repeated appends, instead of the typical quadratic growth present in naive
-@%:@ implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
-  eval 'as_fn_append ()
-  {
-    eval $1+=\$2
-  }'
-else
-  as_fn_append ()
-  {
-    eval $1=\$$1\$2
-  }
-fi # as_fn_append
-
-@%:@ as_fn_arith ARG...
-@%:@ ------------------
-@%:@ Perform arithmetic evaluation on the ARGs, and store the result in the
-@%:@ global @S|@as_val. Take advantage of shells that can avoid forks. The arguments
-@%:@ must be portable across @S|@(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
-  eval 'as_fn_arith ()
-  {
-    as_val=$(( $* ))
-  }'
-else
-  as_fn_arith ()
-  {
-    as_val=`expr "$@" || test $? -eq 1`
-  }
-fi # as_fn_arith
-
-
-@%:@ as_fn_error STATUS ERROR [LINENO LOG_FD]
-@%:@ ----------------------------------------
-@%:@ Output "`basename @S|@0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-@%:@ provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-@%:@ script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
-  as_status=$1; test $as_status -eq 0 && as_status=1
-  if test "$4"; then
-    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
-  fi
-  $as_echo "$as_me: error: $2" >&2
-  as_fn_exit $as_status
-} @%:@ as_fn_error
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
-   test "X`expr 00001 : '.*\(...\)'`" = X001; then
-  as_expr=expr
-else
-  as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
-  as_basename=basename
-else
-  as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
-  as_dirname=dirname
-else
-  as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
-        X"$0" : 'X\(//\)$' \| \
-        X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
-    sed '/^.*\/\([^/][^/]*\)\/*$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-
-  as_lineno_1=$LINENO as_lineno_1a=$LINENO
-  as_lineno_2=$LINENO as_lineno_2a=$LINENO
-  eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
-  test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
-  # Blame Lee E. McMahon (1931-1989) for sed's syntax.  :-)
-  sed -n '
-    p
-    /[$]LINENO/=
-  ' <$as_myself |
-    sed '
-      s/[$]LINENO.*/&-/
-      t lineno
-      b
-      :lineno
-      N
-      :loop
-      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
-      t loop
-      s/-\n.*//
-    ' >$as_me.lineno &&
-  chmod +x "$as_me.lineno" ||
-    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
-
-  # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
-  # already done that, so ensure we don't try to do so again and fall
-  # in an infinite loop.  This has already happened in practice.
-  _as_can_reexec=no; export _as_can_reexec
-  # Don't try to exec as it changes $[0], causing all sort of problems
-  # (the dirname of $[0] is not the place where we might find the
-  # original and so on.  Autoconf is especially sensitive to this).
-  . "./$as_me.lineno"
-  # Exit status is that of the last command.
-  exit
-}
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in @%:@(((((
--n*)
-  case `echo 'xy\c'` in
-  *c*) ECHO_T='        ';;     # ECHO_T is single tab character.
-  xy)  ECHO_C='\c';;
-  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
-       ECHO_T='        ';;
-  esac;;
-*)
-  ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
-  rm -f conf$$.dir/conf$$.file
-else
-  rm -f conf$$.dir
-  mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
-  if ln -s conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s='ln -s'
-    # ... but there are two gotchas:
-    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
-    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -pR'.
-    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -pR'
-  elif ln conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s=ln
-  else
-    as_ln_s='cp -pR'
-  fi
-else
-  as_ln_s='cp -pR'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-if mkdir -p . 2>/dev/null; then
-  as_mkdir_p='mkdir -p "$as_dir"'
-else
-  test -d ./-p && rmdir ./-p
-  as_mkdir_p=false
-fi
-
-as_test_x='test -x'
-as_executable_p=as_fn_executable_p
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-test -n "$DJDIR" || exec 7<&0 </dev/null
-exec 6>&1
-
-# Name of the host.
-# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
-# so uname gets run too.
-ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-
-#
-# Initializations.
-#
-ac_default_prefix=/usr/local
-ac_clean_files=
-ac_config_libobj_dir=.
-LIB@&t@OBJS=
-cross_compiling=no
-subdirs=
-MFLAGS=
-MAKEFLAGS=
-
-# Identity of this package.
-PACKAGE_NAME='tinydtls'
-PACKAGE_TARNAME='tinydtls'
-PACKAGE_VERSION='0.8.2'
-PACKAGE_STRING='tinydtls 0.8.2'
-PACKAGE_BUGREPORT=''
-PACKAGE_URL=''
-
-ac_unique_file="dtls.c"
-# Factoring default headers for most tests.
-ac_includes_default="\
-#include <stdio.h>
-#ifdef HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-# include <sys/stat.h>
-#endif
-#ifdef STDC_HEADERS
-# include <stdlib.h>
-# include <stddef.h>
-#else
-# ifdef HAVE_STDLIB_H
-#  include <stdlib.h>
-# endif
-#endif
-#ifdef HAVE_STRING_H
-# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
-#  include <memory.h>
-# endif
-# include <string.h>
-#endif
-#ifdef HAVE_STRINGS_H
-# include <strings.h>
-#endif
-#ifdef HAVE_INTTYPES_H
-# include <inttypes.h>
-#endif
-#ifdef HAVE_STDINT_H
-# include <stdint.h>
-#endif
-#ifdef HAVE_UNISTD_H
-# include <unistd.h>
-#endif"
-
-ac_subst_vars='LTLIBOBJS
-LIB@&t@OBJS
-DTLS_PSK
-DTLS_ECC
-WITH_CONTIKI
-NDEBUG
-OPT_OBJS
-EGREP
-GREP
-CPP
-RANLIB
-OBJEXT
-EXEEXT
-ac_ct_CC
-CPPFLAGS
-LDFLAGS
-CFLAGS
-CC
-SET_MAKE
-ETAGS
-DOXYGEN
-target_alias
-host_alias
-build_alias
-LIBS
-ECHO_T
-ECHO_N
-ECHO_C
-DEFS
-mandir
-localedir
-libdir
-psdir
-pdfdir
-dvidir
-htmldir
-infodir
-docdir
-oldincludedir
-includedir
-localstatedir
-sharedstatedir
-sysconfdir
-datadir
-datarootdir
-libexecdir
-sbindir
-bindir
-program_transform_name
-prefix
-exec_prefix
-PACKAGE_URL
-PACKAGE_BUGREPORT
-PACKAGE_STRING
-PACKAGE_VERSION
-PACKAGE_TARNAME
-PACKAGE_NAME
-PATH_SEPARATOR
-SHELL'
-ac_subst_files=''
-ac_user_opts='
-enable_option_checking
-with_contiki
-with_debug
-with_ecc
-with_psk
-'
-      ac_precious_vars='build_alias
-host_alias
-target_alias
-CC
-CFLAGS
-LDFLAGS
-LIBS
-CPPFLAGS
-CPP'
-
-
-# Initialize some variables set by options.
-ac_init_help=
-ac_init_version=false
-ac_unrecognized_opts=
-ac_unrecognized_sep=
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-cache_file=/dev/null
-exec_prefix=NONE
-no_create=
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-verbose=
-x_includes=NONE
-x_libraries=NONE
-
-# Installation directory options.
-# These are left unexpanded so users can "make install exec_prefix=/foo"
-# and all the variables that are supposed to be based on exec_prefix
-# by default will actually change.
-# Use braces instead of parens because sh, perl, etc. also accept them.
-# (The list follows the same order as the GNU Coding Standards.)
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datarootdir='${prefix}/share'
-datadir='${datarootdir}'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
-infodir='${datarootdir}/info'
-htmldir='${docdir}'
-dvidir='${docdir}'
-pdfdir='${docdir}'
-psdir='${docdir}'
-libdir='${exec_prefix}/lib'
-localedir='${datarootdir}/locale'
-mandir='${datarootdir}/man'
-
-ac_prev=
-ac_dashdash=
-for ac_option
-do
-  # If the previous option needs an argument, assign it.
-  if test -n "$ac_prev"; then
-    eval $ac_prev=\$ac_option
-    ac_prev=
-    continue
-  fi
-
-  case $ac_option in
-  *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
-  *=)   ac_optarg= ;;
-  *)    ac_optarg=yes ;;
-  esac
-
-  # Accept the important Cygnus configure options, so we can diagnose typos.
-
-  case $ac_dashdash$ac_option in
-  --)
-    ac_dashdash=yes ;;
-
-  -bindir | --bindir | --bindi | --bind | --bin | --bi)
-    ac_prev=bindir ;;
-  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
-    bindir=$ac_optarg ;;
-
-  -build | --build | --buil | --bui | --bu)
-    ac_prev=build_alias ;;
-  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
-    build_alias=$ac_optarg ;;
-
-  -cache-file | --cache-file | --cache-fil | --cache-fi \
-  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
-    ac_prev=cache_file ;;
-  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
-  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
-    cache_file=$ac_optarg ;;
-
-  --config-cache | -C)
-    cache_file=config.cache ;;
-
-  -datadir | --datadir | --datadi | --datad)
-    ac_prev=datadir ;;
-  -datadir=* | --datadir=* | --datadi=* | --datad=*)
-    datadir=$ac_optarg ;;
-
-  -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
-  | --dataroo | --dataro | --datar)
-    ac_prev=datarootdir ;;
-  -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
-  | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
-    datarootdir=$ac_optarg ;;
-
-  -disable-* | --disable-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid feature name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"enable_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval enable_$ac_useropt=no ;;
-
-  -docdir | --docdir | --docdi | --doc | --do)
-    ac_prev=docdir ;;
-  -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
-    docdir=$ac_optarg ;;
-
-  -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
-    ac_prev=dvidir ;;
-  -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
-    dvidir=$ac_optarg ;;
-
-  -enable-* | --enable-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid feature name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"enable_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval enable_$ac_useropt=\$ac_optarg ;;
-
-  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
-  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
-  | --exec | --exe | --ex)
-    ac_prev=exec_prefix ;;
-  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
-  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
-  | --exec=* | --exe=* | --ex=*)
-    exec_prefix=$ac_optarg ;;
-
-  -gas | --gas | --ga | --g)
-    # Obsolete; use --with-gas.
-    with_gas=yes ;;
-
-  -help | --help | --hel | --he | -h)
-    ac_init_help=long ;;
-  -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
-    ac_init_help=recursive ;;
-  -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
-    ac_init_help=short ;;
-
-  -host | --host | --hos | --ho)
-    ac_prev=host_alias ;;
-  -host=* | --host=* | --hos=* | --ho=*)
-    host_alias=$ac_optarg ;;
-
-  -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
-    ac_prev=htmldir ;;
-  -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
-  | --ht=*)
-    htmldir=$ac_optarg ;;
-
-  -includedir | --includedir | --includedi | --included | --include \
-  | --includ | --inclu | --incl | --inc)
-    ac_prev=includedir ;;
-  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
-  | --includ=* | --inclu=* | --incl=* | --inc=*)
-    includedir=$ac_optarg ;;
-
-  -infodir | --infodir | --infodi | --infod | --info | --inf)
-    ac_prev=infodir ;;
-  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
-    infodir=$ac_optarg ;;
-
-  -libdir | --libdir | --libdi | --libd)
-    ac_prev=libdir ;;
-  -libdir=* | --libdir=* | --libdi=* | --libd=*)
-    libdir=$ac_optarg ;;
-
-  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
-  | --libexe | --libex | --libe)
-    ac_prev=libexecdir ;;
-  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
-  | --libexe=* | --libex=* | --libe=*)
-    libexecdir=$ac_optarg ;;
-
-  -localedir | --localedir | --localedi | --localed | --locale)
-    ac_prev=localedir ;;
-  -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
-    localedir=$ac_optarg ;;
-
-  -localstatedir | --localstatedir | --localstatedi | --localstated \
-  | --localstate | --localstat | --localsta | --localst | --locals)
-    ac_prev=localstatedir ;;
-  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
-  | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
-    localstatedir=$ac_optarg ;;
-
-  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
-    ac_prev=mandir ;;
-  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
-    mandir=$ac_optarg ;;
-
-  -nfp | --nfp | --nf)
-    # Obsolete; use --without-fp.
-    with_fp=no ;;
-
-  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
-  | --no-cr | --no-c | -n)
-    no_create=yes ;;
-
-  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
-  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
-    no_recursion=yes ;;
-
-  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
-  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
-  | --oldin | --oldi | --old | --ol | --o)
-    ac_prev=oldincludedir ;;
-  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
-  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
-  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
-    oldincludedir=$ac_optarg ;;
-
-  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
-    ac_prev=prefix ;;
-  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
-    prefix=$ac_optarg ;;
-
-  -program-prefix | --program-prefix | --program-prefi | --program-pref \
-  | --program-pre | --program-pr | --program-p)
-    ac_prev=program_prefix ;;
-  -program-prefix=* | --program-prefix=* | --program-prefi=* \
-  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
-    program_prefix=$ac_optarg ;;
-
-  -program-suffix | --program-suffix | --program-suffi | --program-suff \
-  | --program-suf | --program-su | --program-s)
-    ac_prev=program_suffix ;;
-  -program-suffix=* | --program-suffix=* | --program-suffi=* \
-  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
-    program_suffix=$ac_optarg ;;
-
-  -program-transform-name | --program-transform-name \
-  | --program-transform-nam | --program-transform-na \
-  | --program-transform-n | --program-transform- \
-  | --program-transform | --program-transfor \
-  | --program-transfo | --program-transf \
-  | --program-trans | --program-tran \
-  | --progr-tra | --program-tr | --program-t)
-    ac_prev=program_transform_name ;;
-  -program-transform-name=* | --program-transform-name=* \
-  | --program-transform-nam=* | --program-transform-na=* \
-  | --program-transform-n=* | --program-transform-=* \
-  | --program-transform=* | --program-transfor=* \
-  | --program-transfo=* | --program-transf=* \
-  | --program-trans=* | --program-tran=* \
-  | --progr-tra=* | --program-tr=* | --program-t=*)
-    program_transform_name=$ac_optarg ;;
-
-  -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
-    ac_prev=pdfdir ;;
-  -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
-    pdfdir=$ac_optarg ;;
-
-  -psdir | --psdir | --psdi | --psd | --ps)
-    ac_prev=psdir ;;
-  -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
-    psdir=$ac_optarg ;;
-
-  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-  | -silent | --silent | --silen | --sile | --sil)
-    silent=yes ;;
-
-  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
-    ac_prev=sbindir ;;
-  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
-  | --sbi=* | --sb=*)
-    sbindir=$ac_optarg ;;
-
-  -sharedstatedir | --sharedstatedir | --sharedstatedi \
-  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
-  | --sharedst | --shareds | --shared | --share | --shar \
-  | --sha | --sh)
-    ac_prev=sharedstatedir ;;
-  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
-  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
-  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
-  | --sha=* | --sh=*)
-    sharedstatedir=$ac_optarg ;;
-
-  -site | --site | --sit)
-    ac_prev=site ;;
-  -site=* | --site=* | --sit=*)
-    site=$ac_optarg ;;
-
-  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
-    ac_prev=srcdir ;;
-  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
-    srcdir=$ac_optarg ;;
-
-  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
-  | --syscon | --sysco | --sysc | --sys | --sy)
-    ac_prev=sysconfdir ;;
-  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
-  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
-    sysconfdir=$ac_optarg ;;
-
-  -target | --target | --targe | --targ | --tar | --ta | --t)
-    ac_prev=target_alias ;;
-  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
-    target_alias=$ac_optarg ;;
-
-  -v | -verbose | --verbose | --verbos | --verbo | --verb)
-    verbose=yes ;;
-
-  -version | --version | --versio | --versi | --vers | -V)
-    ac_init_version=: ;;
-
-  -with-* | --with-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid package name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"with_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval with_$ac_useropt=\$ac_optarg ;;
-
-  -without-* | --without-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid package name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"with_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval with_$ac_useropt=no ;;
-
-  --x)
-    # Obsolete; use --with-x.
-    with_x=yes ;;
-
-  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
-  | --x-incl | --x-inc | --x-in | --x-i)
-    ac_prev=x_includes ;;
-  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
-  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
-    x_includes=$ac_optarg ;;
-
-  -x-libraries | --x-libraries | --x-librarie | --x-librari \
-  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
-    ac_prev=x_libraries ;;
-  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
-  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
-    x_libraries=$ac_optarg ;;
-
-  -*) as_fn_error $? "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information"
-    ;;
-
-  *=*)
-    ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
-    # Reject names that are not valid shell variable names.
-    case $ac_envvar in #(
-      '' | [0-9]* | *[!_$as_cr_alnum]* )
-      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
-    esac
-    eval $ac_envvar=\$ac_optarg
-    export $ac_envvar ;;
-
-  *)
-    # FIXME: should be removed in autoconf 3.0.
-    $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
-    expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
-      $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
-    : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
-    ;;
-
-  esac
-done
-
-if test -n "$ac_prev"; then
-  ac_option=--`echo $ac_prev | sed 's/_/-/g'`
-  as_fn_error $? "missing argument to $ac_option"
-fi
-
-if test -n "$ac_unrecognized_opts"; then
-  case $enable_option_checking in
-    no) ;;
-    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
-    *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
-  esac
-fi
-
-# Check all directory arguments for consistency.
-for ac_var in  exec_prefix prefix bindir sbindir libexecdir datarootdir \
-               datadir sysconfdir sharedstatedir localstatedir includedir \
-               oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
-               libdir localedir mandir
-do
-  eval ac_val=\$$ac_var
-  # Remove trailing slashes.
-  case $ac_val in
-    */ )
-      ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
-      eval $ac_var=\$ac_val;;
-  esac
-  # Be sure to have absolute directory names.
-  case $ac_val in
-    [\\/$]* | ?:[\\/]* )  continue;;
-    NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
-  esac
-  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
-done
-
-# There might be people who depend on the old broken behavior: `$host'
-# used to hold the argument of --host etc.
-# FIXME: To remove some day.
-build=$build_alias
-host=$host_alias
-target=$target_alias
-
-# FIXME: To remove some day.
-if test "x$host_alias" != x; then
-  if test "x$build_alias" = x; then
-    cross_compiling=maybe
-  elif test "x$build_alias" != "x$host_alias"; then
-    cross_compiling=yes
-  fi
-fi
-
-ac_tool_prefix=
-test -n "$host_alias" && ac_tool_prefix=$host_alias-
-
-test "$silent" = yes && exec 6>/dev/null
-
-
-ac_pwd=`pwd` && test -n "$ac_pwd" &&
-ac_ls_di=`ls -di .` &&
-ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
-  as_fn_error $? "working directory cannot be determined"
-test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
-  as_fn_error $? "pwd does not report name of working directory"
-
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
-  ac_srcdir_defaulted=yes
-  # Try the directory containing this script, then the parent directory.
-  ac_confdir=`$as_dirname -- "$as_myself" ||
-$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$as_myself" : 'X\(//\)[^/]' \| \
-        X"$as_myself" : 'X\(//\)$' \| \
-        X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_myself" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-  srcdir=$ac_confdir
-  if test ! -r "$srcdir/$ac_unique_file"; then
-    srcdir=..
-  fi
-else
-  ac_srcdir_defaulted=no
-fi
-if test ! -r "$srcdir/$ac_unique_file"; then
-  test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
-  as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
-fi
-ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
-ac_abs_confdir=`(
-       cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
-       pwd)`
-# When building in place, set srcdir=.
-if test "$ac_abs_confdir" = "$ac_pwd"; then
-  srcdir=.
-fi
-# Remove unnecessary trailing slashes from srcdir.
-# Double slashes in file names in object file debugging info
-# mess up M-x gdb in Emacs.
-case $srcdir in
-*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
-esac
-for ac_var in $ac_precious_vars; do
-  eval ac_env_${ac_var}_set=\${${ac_var}+set}
-  eval ac_env_${ac_var}_value=\$${ac_var}
-  eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
-  eval ac_cv_env_${ac_var}_value=\$${ac_var}
-done
-
-#
-# Report the --help message.
-#
-if test "$ac_init_help" = "long"; then
-  # Omit some internal or obsolete options to make the list less imposing.
-  # This message is too long to be a string in the A/UX 3.1 sh.
-  cat <<_ACEOF
-\`configure' configures tinydtls 0.8.2 to adapt to many kinds of systems.
-
-Usage: $0 [OPTION]... [VAR=VALUE]...
-
-To assign environment variables (e.g., CC, CFLAGS...), specify them as
-VAR=VALUE.  See below for descriptions of some of the useful variables.
-
-Defaults for the options are specified in brackets.
-
-Configuration:
-  -h, --help              display this help and exit
-      --help=short        display options specific to this package
-      --help=recursive    display the short help of all the included packages
-  -V, --version           display version information and exit
-  -q, --quiet, --silent   do not print \`checking ...' messages
-      --cache-file=FILE   cache test results in FILE [disabled]
-  -C, --config-cache      alias for \`--cache-file=config.cache'
-  -n, --no-create         do not create output files
-      --srcdir=DIR        find the sources in DIR [configure dir or \`..']
-
-Installation directories:
-  --prefix=PREFIX         install architecture-independent files in PREFIX
-                          @<:@@S|@ac_default_prefix@:>@
-  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
-                          @<:@PREFIX@:>@
-
-By default, \`make install' will install all the files in
-\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
-an installation prefix other than \`$ac_default_prefix' using \`--prefix',
-for instance \`--prefix=\$HOME'.
-
-For better control, use the options below.
-
-Fine tuning of the installation directories:
-  --bindir=DIR            user executables [EPREFIX/bin]
-  --sbindir=DIR           system admin executables [EPREFIX/sbin]
-  --libexecdir=DIR        program executables [EPREFIX/libexec]
-  --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
-  --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
-  --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
-  --libdir=DIR            object code libraries [EPREFIX/lib]
-  --includedir=DIR        C header files [PREFIX/include]
-  --oldincludedir=DIR     C header files for non-gcc [/usr/include]
-  --datarootdir=DIR       read-only arch.-independent data root [PREFIX/share]
-  --datadir=DIR           read-only architecture-independent data [DATAROOTDIR]
-  --infodir=DIR           info documentation [DATAROOTDIR/info]
-  --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
-  --mandir=DIR            man documentation [DATAROOTDIR/man]
-  --docdir=DIR            documentation root @<:@DATAROOTDIR/doc/tinydtls@:>@
-  --htmldir=DIR           html documentation [DOCDIR]
-  --dvidir=DIR            dvi documentation [DOCDIR]
-  --pdfdir=DIR            pdf documentation [DOCDIR]
-  --psdir=DIR             ps documentation [DOCDIR]
-_ACEOF
-
-  cat <<\_ACEOF
-_ACEOF
-fi
-
-if test -n "$ac_init_help"; then
-  case $ac_init_help in
-     short | recursive ) echo "Configuration of tinydtls 0.8.2:";;
-   esac
-  cat <<\_ACEOF
-
-Optional Packages:
-  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
-  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
-  --with-contiki          build libtinydtls for the Contiki OS
-  --without-debug         disable all debug output and assertions
-  --without-ecc           disable support for
-                          TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8
-  --without-psk           disable support for TLS_PSK_WITH_AES_128_CCM_8
-
-Some influential environment variables:
-  CC          C compiler command
-  CFLAGS      C compiler flags
-  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
-              nonstandard directory <lib dir>
-  LIBS        libraries to pass to the linker, e.g. -l<library>
-  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
-              you have headers in a nonstandard directory <include dir>
-  CPP         C preprocessor
-
-Use these variables to override the choices made by `configure' or to help
-it to find libraries and programs with nonstandard names/locations.
-
-Report bugs to the package provider.
-_ACEOF
-ac_status=$?
-fi
-
-if test "$ac_init_help" = "recursive"; then
-  # If there are subdirs, report their specific --help.
-  for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
-    test -d "$ac_dir" ||
-      { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
-      continue
-    ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
-  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
-  # A ".." for each directory in $ac_dir_suffix.
-  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
-  case $ac_top_builddir_sub in
-  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
-  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
-  esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
-  .)  # We are building in place.
-    ac_srcdir=.
-    ac_top_srcdir=$ac_top_builddir_sub
-    ac_abs_top_srcdir=$ac_pwd ;;
-  [\\/]* | ?:[\\/]* )  # Absolute name.
-    ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir
-    ac_abs_top_srcdir=$srcdir ;;
-  *) # Relative name.
-    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_build_prefix$srcdir
-    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-    cd "$ac_dir" || { ac_status=$?; continue; }
-    # Check for guested configure.
-    if test -f "$ac_srcdir/configure.gnu"; then
-      echo &&
-      $SHELL "$ac_srcdir/configure.gnu" --help=recursive
-    elif test -f "$ac_srcdir/configure"; then
-      echo &&
-      $SHELL "$ac_srcdir/configure" --help=recursive
-    else
-      $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
-    fi || ac_status=$?
-    cd "$ac_pwd" || { ac_status=$?; break; }
-  done
-fi
-
-test -n "$ac_init_help" && exit $ac_status
-if $ac_init_version; then
-  cat <<\_ACEOF
-tinydtls configure 0.8.2
-generated by GNU Autoconf 2.69
-
-Copyright (C) 2012 Free Software Foundation, Inc.
-This configure script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it.
-_ACEOF
-  exit
-fi
-
-## ------------------------ ##
-## Autoconf initialization. ##
-## ------------------------ ##
-
-@%:@ ac_fn_c_try_compile LINENO
-@%:@ --------------------------
-@%:@ Try to compile conftest.@S|@ac_ext, and return whether this succeeded.
-ac_fn_c_try_compile ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  rm -f conftest.$ac_objext
-  if { { ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compile") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_retval=1
-fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} @%:@ ac_fn_c_try_compile
-
-@%:@ ac_fn_c_try_run LINENO
-@%:@ ----------------------
-@%:@ Try to link conftest.@S|@ac_ext, and return whether this succeeded. Assumes
-@%:@ that executables *can* be run.
-ac_fn_c_try_run ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-       $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_retval=$ac_status
-fi
-  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} @%:@ ac_fn_c_try_run
-
-@%:@ ac_fn_c_try_cpp LINENO
-@%:@ ----------------------
-@%:@ Try to preprocess conftest.@S|@ac_ext, and return whether this succeeded.
-ac_fn_c_try_cpp ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { { ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } > conftest.i && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-    ac_retval=1
-fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} @%:@ ac_fn_c_try_cpp
-
-@%:@ ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
-@%:@ -------------------------------------------------------
-@%:@ Tests whether HEADER exists and can be compiled using the include files in
-@%:@ INCLUDES, setting the cache variable VAR accordingly.
-ac_fn_c_check_header_compile ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-@%:@include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$3=yes"
-else
-  eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} @%:@ ac_fn_c_check_header_compile
-
-@%:@ ac_fn_c_try_link LINENO
-@%:@ -----------------------
-@%:@ Try to link conftest.@S|@ac_ext, and return whether this succeeded.
-ac_fn_c_try_link ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  rm -f conftest.$ac_objext conftest$ac_exeext
-  if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        test -x conftest$ac_exeext
-       }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_retval=1
-fi
-  # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
-  # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
-  # interfere with the next link command; also delete a directory that is
-  # left behind by Apple's compiler.  We do this before executing the actions.
-  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} @%:@ ac_fn_c_try_link
-
-@%:@ ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
-@%:@ -------------------------------------------------------
-@%:@ Tests whether HEADER exists, giving a warning if it cannot be compiled using
-@%:@ the include files in INCLUDES and setting the cache variable VAR
-@%:@ accordingly.
-ac_fn_c_check_header_mongrel ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if eval \${$3+:} false; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-else
-  # Is the header compilable?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
-$as_echo_n "checking $2 usability... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-@%:@include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_header_compiler=yes
-else
-  ac_header_compiler=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
-$as_echo "$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
-$as_echo_n "checking $2 presence... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-@%:@include <$2>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  ac_header_preproc=yes
-else
-  ac_header_preproc=no
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
-$as_echo "$ac_header_preproc" >&6; }
-
-# So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
-  yes:no: )
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
-$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-    ;;
-  no:yes:* )
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
-$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     check for missing prerequisite headers?" >&5
-$as_echo "$as_me: WARNING: $2:     check for missing prerequisite headers?" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
-$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&5
-$as_echo "$as_me: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-    ;;
-esac
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  eval "$3=\$ac_header_compiler"
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} @%:@ ac_fn_c_check_header_mongrel
-
-@%:@ ac_fn_c_check_type LINENO TYPE VAR INCLUDES
-@%:@ -------------------------------------------
-@%:@ Tests whether TYPE exists after having included INCLUDES, setting cache
-@%:@ variable VAR accordingly.
-ac_fn_c_check_type ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  eval "$3=no"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-if (sizeof ($2))
-        return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-if (sizeof (($2)))
-           return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  
-else
-  eval "$3=yes"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} @%:@ ac_fn_c_check_type
-
-@%:@ ac_fn_c_check_member LINENO AGGR MEMBER VAR INCLUDES
-@%:@ ----------------------------------------------------
-@%:@ Tries to find if the field MEMBER exists in type AGGR, after including
-@%:@ INCLUDES, setting cache variable VAR accordingly.
-ac_fn_c_check_member ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5
-$as_echo_n "checking for $2.$3... " >&6; }
-if eval \${$4+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$5
-int
-main ()
-{
-static $2 ac_aggr;
-if (ac_aggr.$3)
-return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$4=yes"
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$5
-int
-main ()
-{
-static $2 ac_aggr;
-if (sizeof ac_aggr.$3)
-return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$4=yes"
-else
-  eval "$4=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$4
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} @%:@ ac_fn_c_check_member
-
-@%:@ ac_fn_c_check_func LINENO FUNC VAR
-@%:@ ----------------------------------
-@%:@ Tests whether FUNC exists, setting the cache variable VAR accordingly
-ac_fn_c_check_func ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
-   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
-#define $2 innocuous_$2
-
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char $2 (); below.
-    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-    <limits.h> exists even on freestanding compilers.  */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $2
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $2 ();
-/* The GNU C library defines this for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined __stub_$2 || defined __stub___$2
-choke me
-#endif
-
-int
-main ()
-{
-return $2 ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  eval "$3=yes"
-else
-  eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} @%:@ ac_fn_c_check_func
-cat >config.log <<_ACEOF
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-
-It was created by tinydtls $as_me 0.8.2, which was
-generated by GNU Autoconf 2.69.  Invocation command line was
-
-  $ $0 $@
-
-_ACEOF
-exec 5>>config.log
-{
-cat <<_ASUNAME
-## --------- ##
-## Platform. ##
-## --------- ##
-
-hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
-/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`
-
-/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
-/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-/usr/bin/hostinfo      = `(/usr/bin/hostinfo) 2>/dev/null      || echo unknown`
-/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
-/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
-/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
-
-_ASUNAME
-
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    $as_echo "PATH: $as_dir"
-  done
-IFS=$as_save_IFS
-
-} >&5
-
-cat >&5 <<_ACEOF
-
-
-## ----------- ##
-## Core tests. ##
-## ----------- ##
-
-_ACEOF
-
-
-# Keep a trace of the command line.
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Strip out --silent because we don't want to record it for future runs.
-# Also quote any args containing shell meta-characters.
-# Make two passes to allow for proper duplicate-argument suppression.
-ac_configure_args=
-ac_configure_args0=
-ac_configure_args1=
-ac_must_keep_next=false
-for ac_pass in 1 2
-do
-  for ac_arg
-  do
-    case $ac_arg in
-    -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
-    -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-    | -silent | --silent | --silen | --sile | --sil)
-      continue ;;
-    *\'*)
-      ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    esac
-    case $ac_pass in
-    1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
-    2)
-      as_fn_append ac_configure_args1 " '$ac_arg'"
-      if test $ac_must_keep_next = true; then
-       ac_must_keep_next=false # Got value, back to normal.
-      else
-       case $ac_arg in
-         *=* | --config-cache | -C | -disable-* | --disable-* \
-         | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
-         | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
-         | -with-* | --with-* | -without-* | --without-* | --x)
-           case "$ac_configure_args0 " in
-             "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
-           esac
-           ;;
-         -* ) ac_must_keep_next=true ;;
-       esac
-      fi
-      as_fn_append ac_configure_args " '$ac_arg'"
-      ;;
-    esac
-  done
-done
-{ ac_configure_args0=; unset ac_configure_args0;}
-{ ac_configure_args1=; unset ac_configure_args1;}
-
-# When interrupted or exit'd, cleanup temporary files, and complete
-# config.log.  We remove comments because anyway the quotes in there
-# would cause problems or look ugly.
-# WARNING: Use '\'' to represent an apostrophe within the trap.
-# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
-trap 'exit_status=$?
-  # Save into config.log some information that might help in debugging.
-  {
-    echo
-
-    $as_echo "## ---------------- ##
-## Cache variables. ##
-## ---------------- ##"
-    echo
-    # The following way of writing the cache mishandles newlines in values,
-(
-  for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
-    eval ac_val=\$$ac_var
-    case $ac_val in #(
-    *${as_nl}*)
-      case $ac_var in #(
-      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
-      esac
-      case $ac_var in #(
-      _ | IFS | as_nl) ;; #(
-      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
-      *) { eval $ac_var=; unset $ac_var;} ;;
-      esac ;;
-    esac
-  done
-  (set) 2>&1 |
-    case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
-    *${as_nl}ac_space=\ *)
-      sed -n \
-       "s/'\''/'\''\\\\'\'''\''/g;
-         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
-      ;; #(
-    *)
-      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
-      ;;
-    esac |
-    sort
-)
-    echo
-
-    $as_echo "## ----------------- ##
-## Output variables. ##
-## ----------------- ##"
-    echo
-    for ac_var in $ac_subst_vars
-    do
-      eval ac_val=\$$ac_var
-      case $ac_val in
-      *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
-      esac
-      $as_echo "$ac_var='\''$ac_val'\''"
-    done | sort
-    echo
-
-    if test -n "$ac_subst_files"; then
-      $as_echo "## ------------------- ##
-## File substitutions. ##
-## ------------------- ##"
-      echo
-      for ac_var in $ac_subst_files
-      do
-       eval ac_val=\$$ac_var
-       case $ac_val in
-       *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
-       esac
-       $as_echo "$ac_var='\''$ac_val'\''"
-      done | sort
-      echo
-    fi
-
-    if test -s confdefs.h; then
-      $as_echo "## ----------- ##
-## confdefs.h. ##
-## ----------- ##"
-      echo
-      cat confdefs.h
-      echo
-    fi
-    test "$ac_signal" != 0 &&
-      $as_echo "$as_me: caught signal $ac_signal"
-    $as_echo "$as_me: exit $exit_status"
-  } >&5
-  rm -f core *.core core.conftest.* &&
-    rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
-    exit $exit_status
-' 0
-for ac_signal in 1 2 13 15; do
-  trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
-done
-ac_signal=0
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -f -r conftest* confdefs.h
-
-$as_echo "/* confdefs.h */" > confdefs.h
-
-# Predefined preprocessor variables.
-
-cat >>confdefs.h <<_ACEOF
-@%:@define PACKAGE_NAME "$PACKAGE_NAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-@%:@define PACKAGE_TARNAME "$PACKAGE_TARNAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-@%:@define PACKAGE_VERSION "$PACKAGE_VERSION"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-@%:@define PACKAGE_STRING "$PACKAGE_STRING"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-@%:@define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-@%:@define PACKAGE_URL "$PACKAGE_URL"
-_ACEOF
-
-
-# Let the site file select an alternate cache file if it wants to.
-# Prefer an explicitly selected file to automatically selected ones.
-ac_site_file1=NONE
-ac_site_file2=NONE
-if test -n "$CONFIG_SITE"; then
-  # We do not want a PATH search for config.site.
-  case $CONFIG_SITE in @%:@((
-    -*)  ac_site_file1=./$CONFIG_SITE;;
-    */*) ac_site_file1=$CONFIG_SITE;;
-    *)   ac_site_file1=./$CONFIG_SITE;;
-  esac
-elif test "x$prefix" != xNONE; then
-  ac_site_file1=$prefix/share/config.site
-  ac_site_file2=$prefix/etc/config.site
-else
-  ac_site_file1=$ac_default_prefix/share/config.site
-  ac_site_file2=$ac_default_prefix/etc/config.site
-fi
-for ac_site_file in "$ac_site_file1" "$ac_site_file2"
-do
-  test "x$ac_site_file" = xNONE && continue
-  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
-$as_echo "$as_me: loading site script $ac_site_file" >&6;}
-    sed 's/^/| /' "$ac_site_file" >&5
-    . "$ac_site_file" \
-      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "failed to load site script $ac_site_file
-See \`config.log' for more details" "$LINENO" 5; }
-  fi
-done
-
-if test -r "$cache_file"; then
-  # Some versions of bash will fail to source /dev/null (special files
-  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
-  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
-$as_echo "$as_me: loading cache $cache_file" >&6;}
-    case $cache_file in
-      [\\/]* | ?:[\\/]* ) . "$cache_file";;
-      *)                      . "./$cache_file";;
-    esac
-  fi
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
-$as_echo "$as_me: creating cache $cache_file" >&6;}
-  >$cache_file
-fi
-
-# Check that the precious variables saved in the cache have kept the same
-# value.
-ac_cache_corrupted=false
-for ac_var in $ac_precious_vars; do
-  eval ac_old_set=\$ac_cv_env_${ac_var}_set
-  eval ac_new_set=\$ac_env_${ac_var}_set
-  eval ac_old_val=\$ac_cv_env_${ac_var}_value
-  eval ac_new_val=\$ac_env_${ac_var}_value
-  case $ac_old_set,$ac_new_set in
-    set,)
-      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
-      ac_cache_corrupted=: ;;
-    ,set)
-      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
-      ac_cache_corrupted=: ;;
-    ,);;
-    *)
-      if test "x$ac_old_val" != "x$ac_new_val"; then
-       # differences in whitespace do not lead to failure.
-       ac_old_val_w=`echo x $ac_old_val`
-       ac_new_val_w=`echo x $ac_new_val`
-       if test "$ac_old_val_w" != "$ac_new_val_w"; then
-         { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
-$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
-         ac_cache_corrupted=:
-       else
-         { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
-$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
-         eval $ac_var=\$ac_old_val
-       fi
-       { $as_echo "$as_me:${as_lineno-$LINENO}:   former value:  \`$ac_old_val'" >&5
-$as_echo "$as_me:   former value:  \`$ac_old_val'" >&2;}
-       { $as_echo "$as_me:${as_lineno-$LINENO}:   current value: \`$ac_new_val'" >&5
-$as_echo "$as_me:   current value: \`$ac_new_val'" >&2;}
-      fi;;
-  esac
-  # Pass precious variables to config.status.
-  if test "$ac_new_set" = set; then
-    case $ac_new_val in
-    *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
-    *) ac_arg=$ac_var=$ac_new_val ;;
-    esac
-    case " $ac_configure_args " in
-      *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
-      *) as_fn_append ac_configure_args " '$ac_arg'" ;;
-    esac
-  fi
-done
-if $ac_cache_corrupted; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-  { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
-$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
-fi
-## -------------------- ##
-## Main body of script. ##
-## -------------------- ##
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-
-
-
-@%:@ Check whether --with-contiki was given.
-if test "${with_contiki+set}" = set; then :
-  withval=$with_contiki; 
-$as_echo "@%:@define WITH_CONTIKI 1" >>confdefs.h
-
-   WITH_CONTIKI=1
-fi
-
-
-# Extract the first word of "doxygen", so it can be a program name with args.
-set dummy doxygen; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_DOXYGEN+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $DOXYGEN in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_DOXYGEN="$DOXYGEN" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_path_DOXYGEN="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-  test -z "$ac_cv_path_DOXYGEN" && ac_cv_path_DOXYGEN=":"
-  ;;
-esac
-fi
-DOXYGEN=$ac_cv_path_DOXYGEN
-if test -n "$DOXYGEN"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DOXYGEN" >&5
-$as_echo "$DOXYGEN" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-# Extract the first word of "etags", so it can be a program name with args.
-set dummy etags; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_ETAGS+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $ETAGS in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_ETAGS="$ETAGS" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_path_ETAGS="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-  test -z "$ac_cv_path_ETAGS" && ac_cv_path_ETAGS="/bin/false"
-  ;;
-esac
-fi
-ETAGS=$ac_cv_path_ETAGS
-if test -n "$ETAGS"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ETAGS" >&5
-$as_echo "$ETAGS" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-
-if test "${with_contiki}" != "yes" ; then
-# Checks for programs.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
-set x ${MAKE-make}
-ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.make <<\_ACEOF
-SHELL = /bin/sh
-all:
-       @echo '@@@%%%=$(MAKE)=@@@%%%'
-_ACEOF
-# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
-case `${MAKE-make} -f conftest.make 2>/dev/null` in
-  *@@@%%%=?*=@@@%%%*)
-    eval ac_cv_prog_make_${ac_make}_set=yes;;
-  *)
-    eval ac_cv_prog_make_${ac_make}_set=no;;
-esac
-rm -f conftest.make
-fi
-if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-  SET_MAKE=
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-  SET_MAKE="MAKE=${MAKE-make}"
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_CC="${ac_tool_prefix}gcc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_CC"; then
-  ac_ct_CC=$CC
-  # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_CC="gcc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_CC" = x; then
-    CC=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    CC=$ac_ct_CC
-  fi
-else
-  CC="$ac_cv_prog_CC"
-fi
-
-if test -z "$CC"; then
-          if test -n "$ac_tool_prefix"; then
-    # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_CC="${ac_tool_prefix}cc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  fi
-fi
-if test -z "$CC"; then
-  # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-  ac_prog_rejected=no
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
-       ac_prog_rejected=yes
-       continue
-     fi
-    ac_cv_prog_CC="cc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-if test $ac_prog_rejected = yes; then
-  # We found a bogon in the path, so make sure we never use it.
-  set dummy $ac_cv_prog_CC
-  shift
-  if test $@%:@ != 0; then
-    # We chose a different compiler from the bogus one.
-    # However, it has the same basename, so the bogon will be chosen
-    # first if we set CC to just the basename; use the full file name.
-    shift
-    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
-  fi
-fi
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$CC"; then
-  if test -n "$ac_tool_prefix"; then
-  for ac_prog in cl.exe
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-    test -n "$CC" && break
-  done
-fi
-if test -z "$CC"; then
-  ac_ct_CC=$CC
-  for ac_prog in cl.exe
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_CC="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$ac_ct_CC" && break
-done
-
-  if test "x$ac_ct_CC" = x; then
-    CC=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    CC=$ac_ct_CC
-  fi
-fi
-
-fi
-
-
-test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "no acceptable C compiler found in \$PATH
-See \`config.log' for more details" "$LINENO" 5; }
-
-# Provide some information about the compiler.
-$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
-set X $ac_compile
-ac_compiler=$2
-for ac_option in --version -v -V -qversion; do
-  { { ac_try="$ac_compiler $ac_option >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compiler $ac_option >&5") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    sed '10a\
-... rest of stderr output deleted ...
-         10q' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-  fi
-  rm -f conftest.er1 conftest.err
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-done
-
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
-# Try to create an executable without -o first, disregard a.out.
-# It will help us diagnose broken compilers, and finding out an intuition
-# of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-
-# The possible output files:
-ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
-
-ac_rmfiles=
-for ac_file in $ac_files
-do
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
-    * ) ac_rmfiles="$ac_rmfiles $ac_file";;
-  esac
-done
-rm -f $ac_rmfiles
-
-if { { ac_try="$ac_link_default"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link_default") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
-  # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
-# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
-# in a Makefile.  We should not override ac_cv_exeext if it was cached,
-# so that the user can short-circuit this test for compilers unknown to
-# Autoconf.
-for ac_file in $ac_files ''
-do
-  test -f "$ac_file" || continue
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
-       ;;
-    [ab].out )
-       # We found the default executable, but exeext='' is most
-       # certainly right.
-       break;;
-    *.* )
-       if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
-       then :; else
-          ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-       fi
-       # We set ac_cv_exeext here because the later test for it is not
-       # safe: cross compilers may not add the suffix if given an `-o'
-       # argument, so we may need to know it at that point already.
-       # Even if this section looks crufty: it has the advantage of
-       # actually working.
-       break;;
-    * )
-       break;;
-  esac
-done
-test "$ac_cv_exeext" = no && ac_cv_exeext=
-
-else
-  ac_file=''
-fi
-if test -z "$ac_file"; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "C compiler cannot create executables
-See \`config.log' for more details" "$LINENO" 5; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
-ac_exeext=$ac_cv_exeext
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
-$as_echo_n "checking for suffix of executables... " >&6; }
-if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
-  # If both `conftest.exe' and `conftest' are `present' (well, observable)
-# catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will
-# work properly (i.e., refer to `conftest.exe'), while it won't with
-# `rm'.
-for ac_file in conftest.exe conftest conftest.*; do
-  test -f "$ac_file" || continue
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
-    *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-         break;;
-    * ) break;;
-  esac
-done
-else
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest conftest$ac_cv_exeext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
-$as_echo "$ac_cv_exeext" >&6; }
-
-rm -f conftest.$ac_ext
-EXEEXT=$ac_cv_exeext
-ac_exeext=$EXEEXT
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-@%:@include <stdio.h>
-int
-main ()
-{
-FILE *f = fopen ("conftest.out", "w");
- return ferror (f) || fclose (f) != 0;
-
-  ;
-  return 0;
-}
-_ACEOF
-ac_clean_files="$ac_clean_files conftest.out"
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-if test "$cross_compiling" != yes; then
-  { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-  if { ac_try='./conftest$ac_cv_exeext'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-    cross_compiling=no
-  else
-    if test "$cross_compiling" = maybe; then
-       cross_compiling=yes
-    else
-       { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details" "$LINENO" 5; }
-    fi
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
-rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
-$as_echo_n "checking for suffix of object files... " >&6; }
-if ${ac_cv_objext+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.o conftest.obj
-if { { ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compile") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
-  for ac_file in conftest.o conftest.obj conftest.*; do
-  test -f "$ac_file" || continue;
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
-    *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
-       break;;
-  esac
-done
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest.$ac_cv_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
-$as_echo "$ac_cv_objext" >&6; }
-OBJEXT=$ac_cv_objext
-ac_objext=$OBJEXT
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
-$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if ${ac_cv_c_compiler_gnu+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-#ifndef __GNUC__
-       choke me
-#endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_compiler_gnu=yes
-else
-  ac_compiler_gnu=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_c_compiler_gnu=$ac_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
-$as_echo "$ac_cv_c_compiler_gnu" >&6; }
-if test $ac_compiler_gnu = yes; then
-  GCC=yes
-else
-  GCC=
-fi
-ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
-$as_echo_n "checking whether $CC accepts -g... " >&6; }
-if ${ac_cv_prog_cc_g+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_save_c_werror_flag=$ac_c_werror_flag
-   ac_c_werror_flag=yes
-   ac_cv_prog_cc_g=no
-   CFLAGS="-g"
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_g=yes
-else
-  CFLAGS=""
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  
-else
-  ac_c_werror_flag=$ac_save_c_werror_flag
-        CFLAGS="-g"
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_g=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-   ac_c_werror_flag=$ac_save_c_werror_flag
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
-$as_echo "$ac_cv_prog_cc_g" >&6; }
-if test "$ac_test_CFLAGS" = set; then
-  CFLAGS=$ac_save_CFLAGS
-elif test $ac_cv_prog_cc_g = yes; then
-  if test "$GCC" = yes; then
-    CFLAGS="-g -O2"
-  else
-    CFLAGS="-g"
-  fi
-else
-  if test "$GCC" = yes; then
-    CFLAGS="-O2"
-  else
-    CFLAGS=
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
-$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if ${ac_cv_prog_cc_c89+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_prog_cc_c89=no
-ac_save_CC=$CC
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdarg.h>
-#include <stdio.h>
-struct stat;
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
-     char **p;
-     int i;
-{
-  return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
-  char *s;
-  va_list v;
-  va_start (v,p);
-  s = g (p, va_arg (v,int));
-  va_end (v);
-  return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
-   function prototypes and stuff, but not '\xHH' hex character constants.
-   These don't provoke an error unfortunately, instead are silently treated
-   as 'x'.  The following induces an error, until -std is added to get
-   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
-   array size at least.  It's necessary to write '\x00'==0 to get something
-   that's true only with -std.  */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
-   inside strings and character constants.  */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
-
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
-  ;
-  return 0;
-}
-_ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
-       -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
-  CC="$ac_save_CC $ac_arg"
-  if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_c89=$ac_arg
-fi
-rm -f core conftest.err conftest.$ac_objext
-  test "x$ac_cv_prog_cc_c89" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
-
-fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
-  x)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
-  xno)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
-  *)
-    CC="$CC $ac_cv_prog_cc_c89"
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
-$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
-esac
-if test "x$ac_cv_prog_cc_c89" != xno; then :
-  
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_RANLIB+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$RANLIB"; then
-  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
-$as_echo "$RANLIB" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_RANLIB"; then
-  ac_ct_RANLIB=$RANLIB
-  # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_RANLIB"; then
-  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_RANLIB="ranlib"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
-$as_echo "$ac_ct_RANLIB" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_RANLIB" = x; then
-    RANLIB=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    RANLIB=$ac_ct_RANLIB
-  fi
-else
-  RANLIB="$ac_cv_prog_RANLIB"
-fi
-
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
-$as_echo_n "checking how to run the C preprocessor... " >&6; }
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
-  CPP=
-fi
-if test -z "$CPP"; then
-  if ${ac_cv_prog_CPP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-      # Double quotes because CPP needs to be expanded
-    for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
-    do
-      ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-@%:@ifdef __STDC__
-@%:@ include <limits.h>
-@%:@else
-@%:@ include <assert.h>
-@%:@endif
-                    Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  
-else
-  # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-@%:@include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  # Broken: success on invalid input.
-continue
-else
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-  break
-fi
-
-    done
-    ac_cv_prog_CPP=$CPP
-  
-fi
-  CPP=$ac_cv_prog_CPP
-else
-  ac_cv_prog_CPP=$CPP
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
-$as_echo "$CPP" >&6; }
-ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-@%:@ifdef __STDC__
-@%:@ include <limits.h>
-@%:@else
-@%:@ include <assert.h>
-@%:@endif
-                    Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  
-else
-  # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-@%:@include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  # Broken: success on invalid input.
-continue
-else
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-  
-else
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
-$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if ${ac_cv_path_GREP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$GREP"; then
-  ac_path_GREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in grep ggrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-      as_fn_executable_p "$ac_path_GREP" || continue
-# Check for GNU ac_path_GREP and select it if it is found.
-  # Check for GNU $ac_path_GREP
-case `"$ac_path_GREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'GREP' >> "conftest.nl"
-    "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_GREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_GREP="$ac_path_GREP"
-      ac_path_GREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_GREP_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_GREP"; then
-    as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-  fi
-else
-  ac_cv_path_GREP=$GREP
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
-$as_echo "$ac_cv_path_GREP" >&6; }
- GREP="$ac_cv_path_GREP"
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
-$as_echo_n "checking for egrep... " >&6; }
-if ${ac_cv_path_EGREP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
-   then ac_cv_path_EGREP="$GREP -E"
-   else
-     if test -z "$EGREP"; then
-  ac_path_EGREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in egrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-      as_fn_executable_p "$ac_path_EGREP" || continue
-# Check for GNU ac_path_EGREP and select it if it is found.
-  # Check for GNU $ac_path_EGREP
-case `"$ac_path_EGREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'EGREP' >> "conftest.nl"
-    "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_EGREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_EGREP="$ac_path_EGREP"
-      ac_path_EGREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_EGREP_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_EGREP"; then
-    as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-  fi
-else
-  ac_cv_path_EGREP=$EGREP
-fi
-
-   fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
-$as_echo "$ac_cv_path_EGREP" >&6; }
- EGREP="$ac_cv_path_EGREP"
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if ${ac_cv_header_stdc+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_header_stdc=yes
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
-  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "memchr" >/dev/null 2>&1; then :
-  
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "free" >/dev/null 2>&1; then :
-  
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
-  if test "$cross_compiling" = yes; then :
-  :
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
-                  (('a' <= (c) && (c) <= 'i') \
-                    || ('j' <= (c) && (c) <= 'r') \
-                    || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
-  int i;
-  for (i = 0; i < 256; i++)
-    if (XOR (islower (i), ISLOWER (i))
-       || toupper (i) != TOUPPER (i))
-      return 2;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-  
-$as_echo "@%:@define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
-                 inttypes.h stdint.h unistd.h
-do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
-"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-@%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-fi
-
-done
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
-$as_echo_n "checking whether byte ordering is bigendian... " >&6; }
-if ${ac_cv_c_bigendian+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_c_bigendian=unknown
-    # See if we're dealing with a universal compiler.
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifndef __APPLE_CC__
-              not a universal capable compiler
-            #endif
-            typedef int dummy;
-           
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  
-       # Check for potential -arch flags.  It is not universal unless
-       # there are at least two -arch flags with different values.
-       ac_arch=
-       ac_prev=
-       for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do
-        if test -n "$ac_prev"; then
-          case $ac_word in
-            i?86 | x86_64 | ppc | ppc64)
-              if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then
-                ac_arch=$ac_word
-              else
-                ac_cv_c_bigendian=universal
-                break
-              fi
-              ;;
-          esac
-          ac_prev=
-        elif test "x$ac_word" = "x-arch"; then
-          ac_prev=arch
-        fi
-       done
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-    if test $ac_cv_c_bigendian = unknown; then
-      # See if sys/param.h defines the BYTE_ORDER macro.
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
-            #include <sys/param.h>
-          
-int
-main ()
-{
-#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \
-                    && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \
-                    && LITTLE_ENDIAN)
-             bogus endian macros
-            #endif
-          
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  # It does; now see whether it defined to BIG_ENDIAN or not.
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
-               #include <sys/param.h>
-             
-int
-main ()
-{
-#if BYTE_ORDER != BIG_ENDIAN
-                not big endian
-               #endif
-             
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_c_bigendian=yes
-else
-  ac_cv_c_bigendian=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-    fi
-    if test $ac_cv_c_bigendian = unknown; then
-      # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris).
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <limits.h>
-          
-int
-main ()
-{
-#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN)
-             bogus endian macros
-            #endif
-          
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  # It does; now see whether it defined to _BIG_ENDIAN or not.
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <limits.h>
-             
-int
-main ()
-{
-#ifndef _BIG_ENDIAN
-                not big endian
-               #endif
-             
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_c_bigendian=yes
-else
-  ac_cv_c_bigendian=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-    fi
-    if test $ac_cv_c_bigendian = unknown; then
-      # Compile a test program.
-      if test "$cross_compiling" = yes; then :
-  # Try to guess by grepping values from an object file.
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-short int ascii_mm[] =
-                 { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
-               short int ascii_ii[] =
-                 { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
-               int use_ascii (int i) {
-                 return ascii_mm[i] + ascii_ii[i];
-               }
-               short int ebcdic_ii[] =
-                 { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
-               short int ebcdic_mm[] =
-                 { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
-               int use_ebcdic (int i) {
-                 return ebcdic_mm[i] + ebcdic_ii[i];
-               }
-               extern int foo;
-             
-int
-main ()
-{
-return use_ascii (foo) == use_ebcdic (foo);
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then
-             ac_cv_c_bigendian=yes
-           fi
-           if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
-             if test "$ac_cv_c_bigendian" = unknown; then
-               ac_cv_c_bigendian=no
-             else
-               # finding both strings is unlikely to happen, but who knows?
-               ac_cv_c_bigendian=unknown
-             fi
-           fi
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-
-            /* Are we little or big endian?  From Harbison&Steele.  */
-            union
-            {
-              long int l;
-              char c[sizeof (long int)];
-            } u;
-            u.l = 1;
-            return u.c[sizeof (long int) - 1] == 1;
-          
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  ac_cv_c_bigendian=no
-else
-  ac_cv_c_bigendian=yes
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-    fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5
-$as_echo "$ac_cv_c_bigendian" >&6; }
- case $ac_cv_c_bigendian in #(
-   yes)
-     $as_echo "@%:@define WORDS_BIGENDIAN 1" >>confdefs.h
-;; #(
-   no)
-      ;; #(
-   universal)
-       
-$as_echo "@%:@define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
-
-     ;; #(
-   *)
-     as_fn_error $? "unknown endianness
- presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
- esac
-
-
-# Checks for libraries.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing gethostbyname" >&5
-$as_echo_n "checking for library containing gethostbyname... " >&6; }
-if ${ac_cv_search_gethostbyname+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_func_search_save_LIBS=$LIBS
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char gethostbyname ();
-int
-main ()
-{
-return gethostbyname ();
-  ;
-  return 0;
-}
-_ACEOF
-for ac_lib in '' nsl; do
-  if test -z "$ac_lib"; then
-    ac_res="none required"
-  else
-    ac_res=-l$ac_lib
-    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
-  fi
-  if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_search_gethostbyname=$ac_res
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext
-  if ${ac_cv_search_gethostbyname+:} false; then :
-  break
-fi
-done
-if ${ac_cv_search_gethostbyname+:} false; then :
-  
-else
-  ac_cv_search_gethostbyname=no
-fi
-rm conftest.$ac_ext
-LIBS=$ac_func_search_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_gethostbyname" >&5
-$as_echo "$ac_cv_search_gethostbyname" >&6; }
-ac_res=$ac_cv_search_gethostbyname
-if test "$ac_res" != no; then :
-  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
-  
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing socket" >&5
-$as_echo_n "checking for library containing socket... " >&6; }
-if ${ac_cv_search_socket+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_func_search_save_LIBS=$LIBS
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char socket ();
-int
-main ()
-{
-return socket ();
-  ;
-  return 0;
-}
-_ACEOF
-for ac_lib in '' socket; do
-  if test -z "$ac_lib"; then
-    ac_res="none required"
-  else
-    ac_res=-l$ac_lib
-    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
-  fi
-  if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_search_socket=$ac_res
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext
-  if ${ac_cv_search_socket+:} false; then :
-  break
-fi
-done
-if ${ac_cv_search_socket+:} false; then :
-  
-else
-  ac_cv_search_socket=no
-fi
-rm conftest.$ac_ext
-LIBS=$ac_func_search_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_socket" >&5
-$as_echo "$ac_cv_search_socket" >&6; }
-ac_res=$ac_cv_search_socket
-if test "$ac_res" != no; then :
-  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
-  
-fi
-
-fi
-
-
-@%:@ Check whether --with-debug was given.
-if test "${with_debug+set}" = set; then :
-  withval=$with_debug; CPPFLAGS="${CPPFLAGS} -DNDEBUG"
-   NDEBUG=1
-fi
-
-
-
-@%:@ Check whether --with-ecc was given.
-if test "${with_ecc+set}" = set; then :
-  withval=$with_ecc; 
-else
-  
-$as_echo "@%:@define DTLS_ECC 1" >>confdefs.h
-
-   OPT_OBJS="${OPT_OBJS} ecc/ecc.o"
-   DTLS_ECC=1
-fi
-
-
-
-@%:@ Check whether --with-psk was given.
-if test "${with_psk+set}" = set; then :
-  withval=$with_psk; 
-else
-  
-$as_echo "@%:@define DTLS_PSK 1" >>confdefs.h
-
-   DTLS_PSK=1
-fi
-
-
-CPPFLAGS="${CPPFLAGS} -DDTLSv12 -DWITH_SHA256"
-OPT_OBJS="${OPT_OBJS} sha2/sha2.o"
-
-
-
-
-
-
-
-if test "${with_contiki}" = "yes" ; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: skipping header checks for Contiki" >&5
-$as_echo "$as_me: skipping header checks for Contiki" >&6;}
-else
-  # Checks for header files.
-  for ac_header in assert.h arpa/inet.h fcntl.h inttypes.h netdb.h netinet/in.h stddef.h stdint.h stdlib.h string.h strings.h sys/param.h sys/socket.h unistd.h
-do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-@%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-fi
-
-done
-
-
-  for ac_header in sys/time.h time.h
-do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-@%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-fi
-
-done
-
-  for ac_header in sys/types.h sys/stat.h
-do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-@%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-fi
-
-done
-
-
-# Checks for typedefs, structures, and compiler characteristics.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5
-$as_echo_n "checking for inline... " >&6; }
-if ${ac_cv_c_inline+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_c_inline=no
-for ac_kw in inline __inline__ __inline; do
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifndef __cplusplus
-typedef int foo_t;
-static $ac_kw foo_t static_foo () {return 0; }
-$ac_kw foo_t foo () {return 0; }
-#endif
-
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_c_inline=$ac_kw
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  test "$ac_cv_c_inline" != no && break
-done
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5
-$as_echo "$ac_cv_c_inline" >&6; }
-
-case $ac_cv_c_inline in
-  inline | yes) ;;
-  *)
-    case $ac_cv_c_inline in
-      no) ac_val=;;
-      *) ac_val=$ac_cv_c_inline;;
-    esac
-    cat >>confdefs.h <<_ACEOF
-#ifndef __cplusplus
-#define inline $ac_val
-#endif
-_ACEOF
-    ;;
-esac
-
-ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
-if test "x$ac_cv_type_size_t" = xyes; then :
-  
-else
-  
-cat >>confdefs.h <<_ACEOF
-@%:@define size_t unsigned int
-_ACEOF
-
-fi
-
-
-ac_fn_c_check_member "$LINENO" "struct sockaddr_in6" "sin6_len" "ac_cv_member_struct_sockaddr_in6_sin6_len" "#include <netinet/in.h>
-"
-if test "x$ac_cv_member_struct_sockaddr_in6_sin6_len" = xyes; then :
-  
-$as_echo "@%:@define HAVE_SOCKADDR_IN6_SIN6_LEN 1" >>confdefs.h
-
-fi
-
-
-# Checks for library functions.
-for ac_header in stdlib.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "stdlib.h" "ac_cv_header_stdlib_h" "$ac_includes_default"
-if test "x$ac_cv_header_stdlib_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-@%:@define HAVE_STDLIB_H 1
-_ACEOF
-fi
-
-done
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU libc compatible malloc" >&5
-$as_echo_n "checking for GNU libc compatible malloc... " >&6; }
-if ${ac_cv_func_malloc_0_nonnull+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "$cross_compiling" = yes; then :
-  ac_cv_func_malloc_0_nonnull=no
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#if defined STDC_HEADERS || defined HAVE_STDLIB_H
-# include <stdlib.h>
-#else
-char *malloc ();
-#endif
-
-int
-main ()
-{
-return ! malloc (0);
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  ac_cv_func_malloc_0_nonnull=yes
-else
-  ac_cv_func_malloc_0_nonnull=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_malloc_0_nonnull" >&5
-$as_echo "$ac_cv_func_malloc_0_nonnull" >&6; }
-if test $ac_cv_func_malloc_0_nonnull = yes; then :
-  
-$as_echo "@%:@define HAVE_MALLOC 1" >>confdefs.h
-
-else
-  $as_echo "@%:@define HAVE_MALLOC 0" >>confdefs.h
-
-   case " $LIB@&t@OBJS " in
-  *" malloc.$ac_objext "* ) ;;
-  *) LIB@&t@OBJS="$LIB@&t@OBJS malloc.$ac_objext"
- ;;
-esac
-
-   
-$as_echo "@%:@define malloc rpl_malloc" >>confdefs.h
-
-fi
-
-
-for ac_func in memset select socket strdup strerror strnlen fls vprintf
-do :
-  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-@%:@define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-fi
-done
-
-fi
-
-ac_config_headers="$ac_config_headers dtls_config.h tinydtls.h"
-
-
-# Adds Contiki-specific definitions to the end of dtls_config.h
-
-
-ac_config_files="$ac_config_files Makefile doc/Makefile doc/Doxyfile tests/Makefile examples/contiki/Makefile platform-specific/Makefile sha2/Makefile aes/Makefile ecc/Makefile"
-
-cat >confcache <<\_ACEOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs, see configure's option --config-cache.
-# It is not useful on other systems.  If it contains results you don't
-# want to keep, you may remove or edit it.
-#
-# config.status only pays attention to the cache file if you give it
-# the --recheck option to rerun configure.
-#
-# `ac_cv_env_foo' variables (set or unset) will be overridden when
-# loading this file, other *unset* `ac_cv_foo' will be assigned the
-# following values.
-
-_ACEOF
-
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, we kill variables containing newlines.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(
-  for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
-    eval ac_val=\$$ac_var
-    case $ac_val in #(
-    *${as_nl}*)
-      case $ac_var in #(
-      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
-      esac
-      case $ac_var in #(
-      _ | IFS | as_nl) ;; #(
-      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
-      *) { eval $ac_var=; unset $ac_var;} ;;
-      esac ;;
-    esac
-  done
-
-  (set) 2>&1 |
-    case $as_nl`(ac_space=' '; set) 2>&1` in #(
-    *${as_nl}ac_space=\ *)
-      # `set' does not quote correctly, so add quotes: double-quote
-      # substitution turns \\\\ into \\, and sed turns \\ into \.
-      sed -n \
-       "s/'/'\\\\''/g;
-         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
-      ;; #(
-    *)
-      # `set' quotes correctly as required by POSIX, so do not add quotes.
-      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
-      ;;
-    esac |
-    sort
-) |
-  sed '
-     /^ac_cv_env_/b end
-     t clear
-     :clear
-     s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
-     t end
-     s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
-     :end' >>confcache
-if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
-  if test -w "$cache_file"; then
-    if test "x$cache_file" != "x/dev/null"; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
-$as_echo "$as_me: updating cache $cache_file" >&6;}
-      if test ! -f "$cache_file" || test -h "$cache_file"; then
-       cat confcache >"$cache_file"
-      else
-        case $cache_file in #(
-        */* | ?:*)
-         mv -f confcache "$cache_file"$$ &&
-         mv -f "$cache_file"$$ "$cache_file" ;; #(
-        *)
-         mv -f confcache "$cache_file" ;;
-       esac
-      fi
-    fi
-  else
-    { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
-$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
-  fi
-fi
-rm -f confcache
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-DEFS=-DHAVE_CONFIG_H
-
-ac_libobjs=
-ac_ltlibobjs=
-U=
-for ac_i in : $LIB@&t@OBJS; do test "x$ac_i" = x: && continue
-  # 1. Remove the extension, and $U if already installed.
-  ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
-  ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
-  # 2. Prepend LIBOBJDIR.  When used with automake>=1.10 LIBOBJDIR
-  #    will be set to the directory where LIBOBJS objects are built.
-  as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
-  as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
-done
-LIB@&t@OBJS=$ac_libobjs
-
-LTLIBOBJS=$ac_ltlibobjs
-
-
-
-
-: "${CONFIG_STATUS=./config.status}"
-ac_write_fail=0
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
-$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
-as_write_fail=0
-cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
-#! $SHELL
-# Generated by $as_me.
-# Run this file to recreate the current configuration.
-# Compiler output produced by configure, useful for debugging
-# configure, is in config.log if it exists.
-
-debug=false
-ac_cs_recheck=false
-ac_cs_silent=false
-
-SHELL=\${CONFIG_SHELL-$SHELL}
-export SHELL
-_ASEOF
-cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in @%:@(
-  *posix*) :
-    set -o posix ;; @%:@(
-  *) :
-     ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
-    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='print -r --'
-  as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='printf %s\n'
-  as_echo_n='printf %s'
-else
-  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
-    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
-    as_echo_n='/usr/ucb/echo -n'
-  else
-    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
-    as_echo_n_body='eval
-      arg=$1;
-      case $arg in @%:@(
-      *"$as_nl"*)
-       expr "X$arg" : "X\\(.*\\)$as_nl";
-       arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
-      esac;
-      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
-    '
-    export as_echo_n_body
-    as_echo_n='sh -c $as_echo_n_body as_echo'
-  fi
-  export as_echo_body
-  as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  PATH_SEPARATOR=:
-  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
-    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
-      PATH_SEPARATOR=';'
-  }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.  Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" ""       $as_nl"
-
-# Find who we are.  Look in the path if we contain no directory separator.
-as_myself=
-case $0 in @%:@((
-  *[\\/]* ) as_myself=$0 ;;
-  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-  done
-IFS=$as_save_IFS
-
-     ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
-  as_myself=$0
-fi
-if test ! -f "$as_myself"; then
-  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
-  exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there.  '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
-  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-
-@%:@ as_fn_error STATUS ERROR [LINENO LOG_FD]
-@%:@ ----------------------------------------
-@%:@ Output "`basename @S|@0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-@%:@ provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-@%:@ script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
-  as_status=$1; test $as_status -eq 0 && as_status=1
-  if test "$4"; then
-    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
-  fi
-  $as_echo "$as_me: error: $2" >&2
-  as_fn_exit $as_status
-} @%:@ as_fn_error
-
-
-@%:@ as_fn_set_status STATUS
-@%:@ -----------------------
-@%:@ Set @S|@? to STATUS, without forking.
-as_fn_set_status ()
-{
-  return $1
-} @%:@ as_fn_set_status
-
-@%:@ as_fn_exit STATUS
-@%:@ -----------------
-@%:@ Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
-  set +e
-  as_fn_set_status $1
-  exit $1
-} @%:@ as_fn_exit
-
-@%:@ as_fn_unset VAR
-@%:@ ---------------
-@%:@ Portably unset VAR.
-as_fn_unset ()
-{
-  { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-@%:@ as_fn_append VAR VALUE
-@%:@ ----------------------
-@%:@ Append the text in VALUE to the end of the definition contained in VAR. Take
-@%:@ advantage of any shell optimizations that allow amortized linear growth over
-@%:@ repeated appends, instead of the typical quadratic growth present in naive
-@%:@ implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
-  eval 'as_fn_append ()
-  {
-    eval $1+=\$2
-  }'
-else
-  as_fn_append ()
-  {
-    eval $1=\$$1\$2
-  }
-fi # as_fn_append
-
-@%:@ as_fn_arith ARG...
-@%:@ ------------------
-@%:@ Perform arithmetic evaluation on the ARGs, and store the result in the
-@%:@ global @S|@as_val. Take advantage of shells that can avoid forks. The arguments
-@%:@ must be portable across @S|@(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
-  eval 'as_fn_arith ()
-  {
-    as_val=$(( $* ))
-  }'
-else
-  as_fn_arith ()
-  {
-    as_val=`expr "$@" || test $? -eq 1`
-  }
-fi # as_fn_arith
-
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
-   test "X`expr 00001 : '.*\(...\)'`" = X001; then
-  as_expr=expr
-else
-  as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
-  as_basename=basename
-else
-  as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
-  as_dirname=dirname
-else
-  as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
-        X"$0" : 'X\(//\)$' \| \
-        X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
-    sed '/^.*\/\([^/][^/]*\)\/*$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in @%:@(((((
--n*)
-  case `echo 'xy\c'` in
-  *c*) ECHO_T='        ';;     # ECHO_T is single tab character.
-  xy)  ECHO_C='\c';;
-  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
-       ECHO_T='        ';;
-  esac;;
-*)
-  ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
-  rm -f conf$$.dir/conf$$.file
-else
-  rm -f conf$$.dir
-  mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
-  if ln -s conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s='ln -s'
-    # ... but there are two gotchas:
-    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
-    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -pR'.
-    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -pR'
-  elif ln conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s=ln
-  else
-    as_ln_s='cp -pR'
-  fi
-else
-  as_ln_s='cp -pR'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-
-@%:@ as_fn_mkdir_p
-@%:@ -------------
-@%:@ Create "@S|@as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
-  case $as_dir in #(
-  -*) as_dir=./$as_dir;;
-  esac
-  test -d "$as_dir" || eval $as_mkdir_p || {
-    as_dirs=
-    while :; do
-      case $as_dir in #(
-      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
-      *) as_qdir=$as_dir;;
-      esac
-      as_dirs="'$as_qdir' $as_dirs"
-      as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$as_dir" : 'X\(//\)[^/]' \| \
-        X"$as_dir" : 'X\(//\)$' \| \
-        X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-      test -d "$as_dir" && break
-    done
-    test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} @%:@ as_fn_mkdir_p
-if mkdir -p . 2>/dev/null; then
-  as_mkdir_p='mkdir -p "$as_dir"'
-else
-  test -d ./-p && rmdir ./-p
-  as_mkdir_p=false
-fi
-
-
-@%:@ as_fn_executable_p FILE
-@%:@ -----------------------
-@%:@ Test if FILE is an executable regular file.
-as_fn_executable_p ()
-{
-  test -f "$1" && test -x "$1"
-} @%:@ as_fn_executable_p
-as_test_x='test -x'
-as_executable_p=as_fn_executable_p
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-exec 6>&1
-## ----------------------------------- ##
-## Main body of $CONFIG_STATUS script. ##
-## ----------------------------------- ##
-_ASEOF
-test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# Save the log message, to keep $0 and so on meaningful, and to
-# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling.
-ac_log="
-This file was extended by tinydtls $as_me 0.8.2, which was
-generated by GNU Autoconf 2.69.  Invocation command line was
-
-  CONFIG_FILES    = $CONFIG_FILES
-  CONFIG_HEADERS  = $CONFIG_HEADERS
-  CONFIG_LINKS    = $CONFIG_LINKS
-  CONFIG_COMMANDS = $CONFIG_COMMANDS
-  $ $0 $@
-
-on `(hostname || uname -n) 2>/dev/null | sed 1q`
-"
-
-_ACEOF
-
-case $ac_config_files in *"
-"*) set x $ac_config_files; shift; ac_config_files=$*;;
-esac
-
-case $ac_config_headers in *"
-"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
-esac
-
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-# Files that config.status was made for.
-config_files="$ac_config_files"
-config_headers="$ac_config_headers"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-ac_cs_usage="\
-\`$as_me' instantiates files and other configuration actions
-from templates according to the current configuration.  Unless the files
-and actions are specified as TAGs, all are instantiated by default.
-
-Usage: $0 [OPTION]... [TAG]...
-
-  -h, --help       print this help, then exit
-  -V, --version    print version number and configuration settings, then exit
-      --config     print configuration, then exit
-  -q, --quiet, --silent
-                   do not print progress messages
-  -d, --debug      don't remove temporary files
-      --recheck    update $as_me by reconfiguring in the same conditions
-      --file=FILE[:TEMPLATE] 
-                   instantiate the configuration file FILE
-      --header=FILE[:TEMPLATE] 
-                   instantiate the configuration header FILE
-
-Configuration files:
-$config_files
-
-Configuration headers:
-$config_headers
-
-Report bugs to the package provider."
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
-ac_cs_version="\\
-tinydtls config.status 0.8.2
-configured by $0, generated by GNU Autoconf 2.69,
-  with options \\"\$ac_cs_config\\"
-
-Copyright (C) 2012 Free Software Foundation, Inc.
-This config.status script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it."
-
-ac_pwd='$ac_pwd'
-srcdir='$srcdir'
-test -n "\$AWK" || AWK=awk
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# The default lists apply if the user does not specify any file.
-ac_need_defaults=:
-while test $# != 0
-do
-  case $1 in
-  --*=?*)
-    ac_option=`expr "X$1" : 'X\([^=]*\)='`
-    ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
-    ac_shift=:
-    ;;
-  --*=)
-    ac_option=`expr "X$1" : 'X\([^=]*\)='`
-    ac_optarg=
-    ac_shift=:
-    ;;
-  *)
-    ac_option=$1
-    ac_optarg=$2
-    ac_shift=shift
-    ;;
-  esac
-
-  case $ac_option in
-  # Handling of the options.
-  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
-    ac_cs_recheck=: ;;
-  --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
-    $as_echo "$ac_cs_version"; exit ;;
-  --config | --confi | --conf | --con | --co | --c )
-    $as_echo "$ac_cs_config"; exit ;;
-  --debug | --debu | --deb | --de | --d | -d )
-    debug=: ;;
-  --file | --fil | --fi | --f )
-    $ac_shift
-    case $ac_optarg in
-    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    '') as_fn_error $? "missing file argument" ;;
-    esac
-    as_fn_append CONFIG_FILES " '$ac_optarg'"
-    ac_need_defaults=false;;
-  --header | --heade | --head | --hea )
-    $ac_shift
-    case $ac_optarg in
-    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    esac
-    as_fn_append CONFIG_HEADERS " '$ac_optarg'"
-    ac_need_defaults=false;;
-  --he | --h)
-    # Conflict between --help and --header
-    as_fn_error $? "ambiguous option: \`$1'
-Try \`$0 --help' for more information.";;
-  --help | --hel | -h )
-    $as_echo "$ac_cs_usage"; exit ;;
-  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-  | -silent | --silent | --silen | --sile | --sil | --si | --s)
-    ac_cs_silent=: ;;
-
-  # This is an error.
-  -*) as_fn_error $? "unrecognized option: \`$1'
-Try \`$0 --help' for more information." ;;
-
-  *) as_fn_append ac_config_targets " $1"
-     ac_need_defaults=false ;;
-
-  esac
-  shift
-done
-
-ac_configure_extra_args=
-
-if $ac_cs_silent; then
-  exec 6>/dev/null
-  ac_configure_extra_args="$ac_configure_extra_args --silent"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-if \$ac_cs_recheck; then
-  set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
-  shift
-  \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
-  CONFIG_SHELL='$SHELL'
-  export CONFIG_SHELL
-  exec "\$@"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-exec 5>>config.log
-{
-  echo
-  sed 'h;s/./-/g;s/^.../@%:@@%:@ /;s/...$/ @%:@@%:@/;p;x;p;x' <<_ASBOX
-@%:@@%:@ Running $as_me. @%:@@%:@
-_ASBOX
-  $as_echo "$ac_log"
-} >&5
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-
-# Handling of arguments.
-for ac_config_target in $ac_config_targets
-do
-  case $ac_config_target in
-    "dtls_config.h") CONFIG_HEADERS="$CONFIG_HEADERS dtls_config.h" ;;
-    "tinydtls.h") CONFIG_HEADERS="$CONFIG_HEADERS tinydtls.h" ;;
-    "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
-    "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
-    "doc/Doxyfile") CONFIG_FILES="$CONFIG_FILES doc/Doxyfile" ;;
-    "tests/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;;
-    "examples/contiki/Makefile") CONFIG_FILES="$CONFIG_FILES examples/contiki/Makefile" ;;
-    "platform-specific/Makefile") CONFIG_FILES="$CONFIG_FILES platform-specific/Makefile" ;;
-    "sha2/Makefile") CONFIG_FILES="$CONFIG_FILES sha2/Makefile" ;;
-    "aes/Makefile") CONFIG_FILES="$CONFIG_FILES aes/Makefile" ;;
-    "ecc/Makefile") CONFIG_FILES="$CONFIG_FILES ecc/Makefile" ;;
-
-  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
-  esac
-done
-
-
-# If the user did not use the arguments to specify the items to instantiate,
-# then the envvar interface is used.  Set only those that are not.
-# We use the long form for the default assignment because of an extremely
-# bizarre bug on SunOS 4.1.3.
-if $ac_need_defaults; then
-  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
-  test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
-fi
-
-# Have a temporary directory for convenience.  Make it in the build tree
-# simply because there is no reason against having it here, and in addition,
-# creating and moving files from /tmp can sometimes cause problems.
-# Hook for its removal unless debugging.
-# Note that there is a small window in which the directory will not be cleaned:
-# after its creation but before its name has been assigned to `$tmp'.
-$debug ||
-{
-  tmp= ac_tmp=
-  trap 'exit_status=$?
-  : "${ac_tmp:=$tmp}"
-  { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
-' 0
-  trap 'as_fn_exit 1' 1 2 13 15
-}
-# Create a (secure) tmp directory for tmp files.
-
-{
-  tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
-  test -d "$tmp"
-}  ||
-{
-  tmp=./conf$$-$RANDOM
-  (umask 077 && mkdir "$tmp")
-} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
-ac_tmp=$tmp
-
-# Set up the scripts for CONFIG_FILES section.
-# No need to generate them if there are no CONFIG_FILES.
-# This happens for instance with `./config.status config.h'.
-if test -n "$CONFIG_FILES"; then
-
-
-ac_cr=`echo X | tr X '\015'`
-# On cygwin, bash can eat \r inside `` if the user requested igncr.
-# But we know of no other shell where ac_cr would be empty at this
-# point, so we can use a bashism as a fallback.
-if test "x$ac_cr" = x; then
-  eval ac_cr=\$\'\\r\'
-fi
-ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
-if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
-  ac_cs_awk_cr='\\r'
-else
-  ac_cs_awk_cr=$ac_cr
-fi
-
-echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
-_ACEOF
-
-
-{
-  echo "cat >conf$$subs.awk <<_ACEOF" &&
-  echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
-  echo "_ACEOF"
-} >conf$$subs.sh ||
-  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
-ac_delim='%!_!# '
-for ac_last_try in false false false false false :; do
-  . ./conf$$subs.sh ||
-    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-
-  ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
-  if test $ac_delim_n = $ac_delim_num; then
-    break
-  elif $ac_last_try; then
-    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-  else
-    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
-  fi
-done
-rm -f conf$$subs.sh
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
-_ACEOF
-sed -n '
-h
-s/^/S["/; s/!.*/"]=/
-p
-g
-s/^[^!]*!//
-:repl
-t repl
-s/'"$ac_delim"'$//
-t delim
-:nl
-h
-s/\(.\{148\}\)..*/\1/
-t more1
-s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
-p
-n
-b repl
-:more1
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t nl
-:delim
-h
-s/\(.\{148\}\)..*/\1/
-t more2
-s/["\\]/\\&/g; s/^/"/; s/$/"/
-p
-b
-:more2
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t delim
-' <conf$$subs.awk | sed '
-/^[^""]/{
-  N
-  s/\n//
-}
-' >>$CONFIG_STATUS || ac_write_fail=1
-rm -f conf$$subs.awk
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-_ACAWK
-cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
-  for (key in S) S_is_set[key] = 1
-  FS = "\a"
-
-}
-{
-  line = $ 0
-  nfields = split(line, field, "@")
-  substed = 0
-  len = length(field[1])
-  for (i = 2; i < nfields; i++) {
-    key = field[i]
-    keylen = length(key)
-    if (S_is_set[key]) {
-      value = S[key]
-      line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
-      len += length(value) + length(field[++i])
-      substed = 1
-    } else
-      len += 1 + keylen
-  }
-
-  print line
-}
-
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
-  sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
-else
-  cat
-fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
-  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
-_ACEOF
-
-# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
-# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
-# trailing colons and then remove the whole line if VPATH becomes empty
-# (actually we leave an empty line to preserve line numbers).
-if test "x$srcdir" = x.; then
-  ac_vpsub='/^[         ]*VPATH[        ]*=[    ]*/{
-h
-s///
-s/^/:/
-s/[     ]*$/:/
-s/:\$(srcdir):/:/g
-s/:\${srcdir}:/:/g
-s/:@srcdir@:/:/g
-s/^:*//
-s/:*$//
-x
-s/\(=[  ]*\).*/\1/
-G
-s/\n//
-s/^[^=]*=[      ]*$//
-}'
-fi
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-fi # test -n "$CONFIG_FILES"
-
-# Set up the scripts for CONFIG_HEADERS section.
-# No need to generate them if there are no CONFIG_HEADERS.
-# This happens for instance with `./config.status Makefile'.
-if test -n "$CONFIG_HEADERS"; then
-cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
-BEGIN {
-_ACEOF
-
-# Transform confdefs.h into an awk script `defines.awk', embedded as
-# here-document in config.status, that substitutes the proper values into
-# config.h.in to produce config.h.
-
-# Create a delimiter string that does not exist in confdefs.h, to ease
-# handling of long lines.
-ac_delim='%!_!# '
-for ac_last_try in false false :; do
-  ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
-  if test -z "$ac_tt"; then
-    break
-  elif $ac_last_try; then
-    as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
-  else
-    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
-  fi
-done
-
-# For the awk script, D is an array of macro values keyed by name,
-# likewise P contains macro parameters if any.  Preserve backslash
-# newline sequences.
-
-ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
-sed -n '
-s/.\{148\}/&'"$ac_delim"'/g
-t rset
-:rset
-s/^[    ]*#[    ]*define[       ][      ]*/ /
-t def
-d
-:def
-s/\\$//
-t bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[    ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3"/p
-s/^ \('"$ac_word_re"'\)[        ]*\(.*\)/D["\1"]=" \2"/p
-d
-:bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[    ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3\\\\\\n"\\/p
-t cont
-s/^ \('"$ac_word_re"'\)[        ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
-t cont
-d
-:cont
-n
-s/.\{148\}/&'"$ac_delim"'/g
-t clear
-:clear
-s/\\$//
-t bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/"/p
-d
-:bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
-b cont
-' <confdefs.h | sed '
-s/'"$ac_delim"'/"\\\
-"/g' >>$CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-  for (key in D) D_is_set[key] = 1
-  FS = "\a"
-}
-/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
-  line = \$ 0
-  split(line, arg, " ")
-  if (arg[1] == "#") {
-    defundef = arg[2]
-    mac1 = arg[3]
-  } else {
-    defundef = substr(arg[1], 2)
-    mac1 = arg[2]
-  }
-  split(mac1, mac2, "(") #)
-  macro = mac2[1]
-  prefix = substr(line, 1, index(line, defundef) - 1)
-  if (D_is_set[macro]) {
-    # Preserve the white space surrounding the "#".
-    print prefix "define", macro P[macro] D[macro]
-    next
-  } else {
-    # Replace #undef with comments.  This is necessary, for example,
-    # in the case of _POSIX_SOURCE, which is predefined and required
-    # on some systems where configure will not decide to define it.
-    if (defundef == "undef") {
-      print "/*", prefix defundef, macro, "*/"
-      next
-    }
-  }
-}
-{ print }
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-  as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
-fi # test -n "$CONFIG_HEADERS"
-
-
-eval set X "  :F $CONFIG_FILES  :H $CONFIG_HEADERS    "
-shift
-for ac_tag
-do
-  case $ac_tag in
-  :[FHLC]) ac_mode=$ac_tag; continue;;
-  esac
-  case $ac_mode$ac_tag in
-  :[FHL]*:*);;
-  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
-  :[FH]-) ac_tag=-:-;;
-  :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
-  esac
-  ac_save_IFS=$IFS
-  IFS=:
-  set x $ac_tag
-  IFS=$ac_save_IFS
-  shift
-  ac_file=$1
-  shift
-
-  case $ac_mode in
-  :L) ac_source=$1;;
-  :[FH])
-    ac_file_inputs=
-    for ac_f
-    do
-      case $ac_f in
-      -) ac_f="$ac_tmp/stdin";;
-      *) # Look for the file first in the build tree, then in the source tree
-        # (if the path is not absolute).  The absolute path cannot be DOS-style,
-        # because $ac_f cannot contain `:'.
-        test -f "$ac_f" ||
-          case $ac_f in
-          [\\/$]*) false;;
-          *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
-          esac ||
-          as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
-      esac
-      case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
-      as_fn_append ac_file_inputs " '$ac_f'"
-    done
-
-    # Let's still pretend it is `configure' which instantiates (i.e., don't
-    # use $as_me), people would be surprised to read:
-    #    /* config.h.  Generated by config.status.  */
-    configure_input='Generated from '`
-         $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
-       `' by configure.'
-    if test x"$ac_file" != x-; then
-      configure_input="$ac_file.  $configure_input"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
-$as_echo "$as_me: creating $ac_file" >&6;}
-    fi
-    # Neutralize special characters interpreted by sed in replacement strings.
-    case $configure_input in #(
-    *\&* | *\|* | *\\* )
-       ac_sed_conf_input=`$as_echo "$configure_input" |
-       sed 's/[\\\\&|]/\\\\&/g'`;; #(
-    *) ac_sed_conf_input=$configure_input;;
-    esac
-
-    case $ac_tag in
-    *:-:* | *:-) cat >"$ac_tmp/stdin" \
-      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
-    esac
-    ;;
-  esac
-
-  ac_dir=`$as_dirname -- "$ac_file" ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$ac_file" : 'X\(//\)[^/]' \| \
-        X"$ac_file" : 'X\(//\)$' \| \
-        X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$ac_file" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-  as_dir="$ac_dir"; as_fn_mkdir_p
-  ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
-  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
-  # A ".." for each directory in $ac_dir_suffix.
-  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
-  case $ac_top_builddir_sub in
-  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
-  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
-  esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
-  .)  # We are building in place.
-    ac_srcdir=.
-    ac_top_srcdir=$ac_top_builddir_sub
-    ac_abs_top_srcdir=$ac_pwd ;;
-  [\\/]* | ?:[\\/]* )  # Absolute name.
-    ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir
-    ac_abs_top_srcdir=$srcdir ;;
-  *) # Relative name.
-    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_build_prefix$srcdir
-    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-
-  case $ac_mode in
-  :F)
-  #
-  # CONFIG_FILE
-  #
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# If the template does not know about datarootdir, expand it.
-# FIXME: This hack should be removed a few years after 2.60.
-ac_datarootdir_hack=; ac_datarootdir_seen=
-ac_sed_dataroot='
-/datarootdir/ {
-  p
-  q
-}
-/@datadir@/p
-/@docdir@/p
-/@infodir@/p
-/@localedir@/p
-/@mandir@/p'
-case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
-*datarootdir*) ac_datarootdir_seen=yes;;
-*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
-$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-  ac_datarootdir_hack='
-  s&@datadir@&$datadir&g
-  s&@docdir@&$docdir&g
-  s&@infodir@&$infodir&g
-  s&@localedir@&$localedir&g
-  s&@mandir@&$mandir&g
-  s&\\\${datarootdir}&$datarootdir&g' ;;
-esac
-_ACEOF
-
-# Neutralize VPATH when `$srcdir' = `.'.
-# Shell code in configure.ac might set extrasub.
-# FIXME: do we really want to maintain this feature?
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_sed_extra="$ac_vpsub
-$extrasub
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-:t
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s|@configure_input@|$ac_sed_conf_input|;t t
-s&@top_builddir@&$ac_top_builddir_sub&;t t
-s&@top_build_prefix@&$ac_top_build_prefix&;t t
-s&@srcdir@&$ac_srcdir&;t t
-s&@abs_srcdir@&$ac_abs_srcdir&;t t
-s&@top_srcdir@&$ac_top_srcdir&;t t
-s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
-s&@builddir@&$ac_builddir&;t t
-s&@abs_builddir@&$ac_abs_builddir&;t t
-s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
-$ac_datarootdir_hack
-"
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
-  >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-
-test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
-  { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
-  { ac_out=`sed -n '/^[         ]*datarootdir[  ]*:*=/p' \
-      "$ac_tmp/out"`; test -z "$ac_out"; } &&
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined" >&5
-$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined" >&2;}
-
-  rm -f "$ac_tmp/stdin"
-  case $ac_file in
-  -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
-  *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
-  esac \
-  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- ;;
-  :H)
-  #
-  # CONFIG_HEADER
-  #
-  if test x"$ac_file" != x-; then
-    {
-      $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
-    } >"$ac_tmp/config.h" \
-      || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-    if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
-$as_echo "$as_me: $ac_file is unchanged" >&6;}
-    else
-      rm -f "$ac_file"
-      mv "$ac_tmp/config.h" "$ac_file" \
-       || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-    fi
-  else
-    $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
-      || as_fn_error $? "could not create -" "$LINENO" 5
-  fi
- ;;
-  
-  
-  esac
-
-done # for ac_tag
-
-
-as_fn_exit 0
-_ACEOF
-ac_clean_files=$ac_clean_files_save
-
-test $ac_write_fail = 0 ||
-  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
-
-
-# configure is writing to config.log, and then calls config.status.
-# config.status does its own redirection, appending to config.log.
-# Unfortunately, on DOS this fails, as config.log is still kept open
-# by configure, so config.status won't be able to write to it; its
-# output is simply discarded.  So we exec the FD to /dev/null,
-# effectively closing config.log, so it can be properly (re)opened and
-# appended to by config.status.  When coming back to configure, we
-# need to make the FD available again.
-if test "$no_create" != yes; then
-  ac_cs_success=:
-  ac_config_status_args=
-  test "$silent" = yes &&
-    ac_config_status_args="$ac_config_status_args --quiet"
-  exec 5>/dev/null
-  $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
-  exec 5>>config.log
-  # Use ||, not &&, to avoid exiting from the if with $? = 1, which
-  # would make configure fail if this is the last instruction.
-  $ac_cs_success || as_fn_exit 1
-fi
-if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
-$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
-fi
-
diff --git a/external/wakaama/examples/shared/tinydtls/autom4te.cache/requests b/external/wakaama/examples/shared/tinydtls/autom4te.cache/requests
deleted file mode 100644 (file)
index 2fbb359..0000000
+++ /dev/null
@@ -1,201 +0,0 @@
-# This file was generated by Autom4te Thu Apr 10 10:06:43 UTC 2014.
-# It contains the lists of macros which have been traced.
-# It can be safely removed.
-
-@request = (
-             bless( [
-                      '0',
-                      1,
-                      [
-                        '/usr/share/autoconf'
-                      ],
-                      [
-                        '/usr/share/autoconf/autoconf/autoconf.m4f',
-                        '-',
-                        '/usr/share/aclocal-1.14/internal/ac-config-macro-dirs.m4',
-                        'configure.in'
-                      ],
-                      {
-                        'm4_pattern_forbid' => 1,
-                        'AU_DEFUN' => 1,
-                        '_m4_warn' => 1,
-                        '_AM_AUTOCONF_VERSION' => 1,
-                        'AC_CONFIG_MACRO_DIR' => 1,
-                        'AC_CONFIG_MACRO_DIR_TRACE' => 1,
-                        'm4_include' => 1,
-                        '_AM_CONFIG_MACRO_DIRS' => 1,
-                        'include' => 1,
-                        'AC_DEFUN_ONCE' => 1,
-                        'm4_pattern_allow' => 1,
-                        'AC_DEFUN' => 1
-                      }
-                    ], 'Autom4te::Request' ),
-             bless( [
-                      '1',
-                      1,
-                      [
-                        '/usr/share/autoconf'
-                      ],
-                      [
-                        '/usr/share/autoconf/autoconf/autoconf.m4f',
-                        'configure.in'
-                      ],
-                      {
-                        'AM_POT_TOOLS' => 1,
-                        '_AM_SUBST_NOTMAKE' => 1,
-                        'AM_GNU_GETTEXT' => 1,
-                        '_LT_AC_TAGCONFIG' => 1,
-                        'm4_sinclude' => 1,
-                        'LT_SUPPORTED_TAG' => 1,
-                        'AC_FC_FREEFORM' => 1,
-                        'LT_INIT' => 1,
-                        'AM_PROG_CC_C_O' => 1,
-                        'AC_SUBST' => 1,
-                        'AC_CANONICAL_TARGET' => 1,
-                        '_AM_MAKEFILE_INCLUDE' => 1,
-                        'AC_REQUIRE_AUX_FILE' => 1,
-                        'LT_CONFIG_LTDL_DIR' => 1,
-                        'AM_MAINTAINER_MODE' => 1,
-                        'AC_PROG_LIBTOOL' => 1,
-                        'AM_CONDITIONAL' => 1,
-                        'AC_CANONICAL_SYSTEM' => 1,
-                        'AM_PROG_MOC' => 1,
-                        'AM_INIT_AUTOMAKE' => 1,
-                        '_m4_warn' => 1,
-                        '_AM_COND_ELSE' => 1,
-                        'AC_FC_PP_DEFINE' => 1,
-                        'AM_PROG_CXX_C_O' => 1,
-                        'AM_NLS' => 1,
-                        'AM_ENABLE_MULTILIB' => 1,
-                        'AM_XGETTEXT_OPTION' => 1,
-                        'AM_SILENT_RULES' => 1,
-                        'AM_PROG_AR' => 1,
-                        'AC_CONFIG_SUBDIRS' => 1,
-                        'include' => 1,
-                        'AM_PROG_FC_C_O' => 1,
-                        'm4_include' => 1,
-                        'AM_AUTOMAKE_VERSION' => 1,
-                        'AH_OUTPUT' => 1,
-                        'AM_PROG_F77_C_O' => 1,
-                        'AC_DEFINE_TRACE_LITERAL' => 1,
-                        'AC_CANONICAL_HOST' => 1,
-                        'AM_MAKEFILE_INCLUDE' => 1,
-                        '_AM_COND_IF' => 1,
-                        'AC_CONFIG_HEADERS' => 1,
-                        'AC_FC_PP_SRCEXT' => 1,
-                        'AC_CONFIG_LIBOBJ_DIR' => 1,
-                        'AC_CONFIG_FILES' => 1,
-                        'AM_GNU_GETTEXT_INTL_SUBDIR' => 1,
-                        'AC_INIT' => 1,
-                        'm4_pattern_forbid' => 1,
-                        'sinclude' => 1,
-                        'AC_SUBST_TRACE' => 1,
-                        'AC_CANONICAL_BUILD' => 1,
-                        'm4_pattern_allow' => 1,
-                        'AM_PATH_GUILE' => 1,
-                        '_AM_COND_ENDIF' => 1,
-                        'AC_CONFIG_AUX_DIR' => 1,
-                        'AC_CONFIG_LINKS' => 1,
-                        'AC_FC_SRCEXT' => 1,
-                        'AC_LIBSOURCE' => 1
-                      }
-                    ], 'Autom4te::Request' ),
-             bless( [
-                      '2',
-                      1,
-                      [
-                        '/usr/share/autoconf'
-                      ],
-                      [
-                        '/usr/share/autoconf/autoconf/autoconf.m4f',
-                        '-',
-                        '/usr/share/aclocal-1.14/internal/ac-config-macro-dirs.m4',
-                        'configure.ac'
-                      ],
-                      {
-                        'm4_pattern_forbid' => 1,
-                        'AU_DEFUN' => 1,
-                        '_m4_warn' => 1,
-                        '_AM_AUTOCONF_VERSION' => 1,
-                        'AC_CONFIG_MACRO_DIR' => 1,
-                        'AC_CONFIG_MACRO_DIR_TRACE' => 1,
-                        'm4_include' => 1,
-                        '_AM_CONFIG_MACRO_DIRS' => 1,
-                        'include' => 1,
-                        'AC_DEFUN_ONCE' => 1,
-                        'm4_pattern_allow' => 1,
-                        'AC_DEFUN' => 1
-                      }
-                    ], 'Autom4te::Request' ),
-             bless( [
-                      '3',
-                      1,
-                      [
-                        '/usr/share/autoconf'
-                      ],
-                      [
-                        '/usr/share/autoconf/autoconf/autoconf.m4f',
-                        'configure.ac'
-                      ],
-                      {
-                        'AC_CONFIG_FILES' => 1,
-                        'AC_CONFIG_LIBOBJ_DIR' => 1,
-                        'AC_CONFIG_HEADERS' => 1,
-                        'AC_FC_PP_SRCEXT' => 1,
-                        '_AM_COND_IF' => 1,
-                        'sinclude' => 1,
-                        'm4_pattern_forbid' => 1,
-                        'AC_INIT' => 1,
-                        'AM_GNU_GETTEXT_INTL_SUBDIR' => 1,
-                        'AM_PATH_GUILE' => 1,
-                        'm4_pattern_allow' => 1,
-                        'AC_CANONICAL_BUILD' => 1,
-                        'AC_SUBST_TRACE' => 1,
-                        'AC_CONFIG_LINKS' => 1,
-                        'AC_FC_SRCEXT' => 1,
-                        'AC_LIBSOURCE' => 1,
-                        'AC_CONFIG_AUX_DIR' => 1,
-                        '_AM_COND_ENDIF' => 1,
-                        'm4_include' => 1,
-                        'AM_PROG_FC_C_O' => 1,
-                        'include' => 1,
-                        'AC_CONFIG_SUBDIRS' => 1,
-                        'AM_PROG_AR' => 1,
-                        'AM_AUTOMAKE_VERSION' => 1,
-                        'AM_MAKEFILE_INCLUDE' => 1,
-                        'AC_CANONICAL_HOST' => 1,
-                        'AC_DEFINE_TRACE_LITERAL' => 1,
-                        'AM_PROG_F77_C_O' => 1,
-                        'AH_OUTPUT' => 1,
-                        'AM_INIT_AUTOMAKE' => 1,
-                        'AM_PROG_MOC' => 1,
-                        'AC_CANONICAL_SYSTEM' => 1,
-                        'AM_CONDITIONAL' => 1,
-                        '_AM_COND_ELSE' => 1,
-                        '_m4_warn' => 1,
-                        'AC_FC_PP_DEFINE' => 1,
-                        'AM_XGETTEXT_OPTION' => 1,
-                        'AM_SILENT_RULES' => 1,
-                        'AM_ENABLE_MULTILIB' => 1,
-                        'AM_NLS' => 1,
-                        'AM_PROG_CXX_C_O' => 1,
-                        'AM_GNU_GETTEXT' => 1,
-                        'AM_POT_TOOLS' => 1,
-                        '_AM_SUBST_NOTMAKE' => 1,
-                        'LT_SUPPORTED_TAG' => 1,
-                        'm4_sinclude' => 1,
-                        '_LT_AC_TAGCONFIG' => 1,
-                        'AC_SUBST' => 1,
-                        'LT_INIT' => 1,
-                        'AM_PROG_CC_C_O' => 1,
-                        'AC_FC_FREEFORM' => 1,
-                        'AC_PROG_LIBTOOL' => 1,
-                        'LT_CONFIG_LTDL_DIR' => 1,
-                        'AM_MAINTAINER_MODE' => 1,
-                        'AC_REQUIRE_AUX_FILE' => 1,
-                        '_AM_MAKEFILE_INCLUDE' => 1,
-                        'AC_CANONICAL_TARGET' => 1
-                      }
-                    ], 'Autom4te::Request' )
-           );
-
diff --git a/external/wakaama/examples/shared/tinydtls/autom4te.cache/traces.0 b/external/wakaama/examples/shared/tinydtls/autom4te.cache/traces.0
deleted file mode 100644 (file)
index 9593349..0000000
+++ /dev/null
@@ -1,92 +0,0 @@
-m4trace:configure.in:27: -1- m4_pattern_forbid([^_?A[CHUM]_])
-m4trace:configure.in:27: -1- m4_pattern_forbid([_AC_])
-m4trace:configure.in:27: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS'])
-m4trace:configure.in:27: -1- m4_pattern_allow([^AS_FLAGS$])
-m4trace:configure.in:27: -1- m4_pattern_forbid([^_?m4_])
-m4trace:configure.in:27: -1- m4_pattern_forbid([^dnl$])
-m4trace:configure.in:27: -1- m4_pattern_forbid([^_?AS_])
-m4trace:configure.in:27: -1- m4_pattern_allow([^SHELL$])
-m4trace:configure.in:27: -1- m4_pattern_allow([^PATH_SEPARATOR$])
-m4trace:configure.in:27: -1- m4_pattern_allow([^PACKAGE_NAME$])
-m4trace:configure.in:27: -1- m4_pattern_allow([^PACKAGE_TARNAME$])
-m4trace:configure.in:27: -1- m4_pattern_allow([^PACKAGE_VERSION$])
-m4trace:configure.in:27: -1- m4_pattern_allow([^PACKAGE_STRING$])
-m4trace:configure.in:27: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$])
-m4trace:configure.in:27: -1- m4_pattern_allow([^PACKAGE_URL$])
-m4trace:configure.in:27: -1- m4_pattern_allow([^exec_prefix$])
-m4trace:configure.in:27: -1- m4_pattern_allow([^prefix$])
-m4trace:configure.in:27: -1- m4_pattern_allow([^program_transform_name$])
-m4trace:configure.in:27: -1- m4_pattern_allow([^bindir$])
-m4trace:configure.in:27: -1- m4_pattern_allow([^sbindir$])
-m4trace:configure.in:27: -1- m4_pattern_allow([^libexecdir$])
-m4trace:configure.in:27: -1- m4_pattern_allow([^datarootdir$])
-m4trace:configure.in:27: -1- m4_pattern_allow([^datadir$])
-m4trace:configure.in:27: -1- m4_pattern_allow([^sysconfdir$])
-m4trace:configure.in:27: -1- m4_pattern_allow([^sharedstatedir$])
-m4trace:configure.in:27: -1- m4_pattern_allow([^localstatedir$])
-m4trace:configure.in:27: -1- m4_pattern_allow([^includedir$])
-m4trace:configure.in:27: -1- m4_pattern_allow([^oldincludedir$])
-m4trace:configure.in:27: -1- m4_pattern_allow([^docdir$])
-m4trace:configure.in:27: -1- m4_pattern_allow([^infodir$])
-m4trace:configure.in:27: -1- m4_pattern_allow([^htmldir$])
-m4trace:configure.in:27: -1- m4_pattern_allow([^dvidir$])
-m4trace:configure.in:27: -1- m4_pattern_allow([^pdfdir$])
-m4trace:configure.in:27: -1- m4_pattern_allow([^psdir$])
-m4trace:configure.in:27: -1- m4_pattern_allow([^libdir$])
-m4trace:configure.in:27: -1- m4_pattern_allow([^localedir$])
-m4trace:configure.in:27: -1- m4_pattern_allow([^mandir$])
-m4trace:configure.in:27: -1- m4_pattern_allow([^PACKAGE_NAME$])
-m4trace:configure.in:27: -1- m4_pattern_allow([^PACKAGE_TARNAME$])
-m4trace:configure.in:27: -1- m4_pattern_allow([^PACKAGE_VERSION$])
-m4trace:configure.in:27: -1- m4_pattern_allow([^PACKAGE_STRING$])
-m4trace:configure.in:27: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$])
-m4trace:configure.in:27: -1- m4_pattern_allow([^PACKAGE_URL$])
-m4trace:configure.in:27: -1- m4_pattern_allow([^DEFS$])
-m4trace:configure.in:27: -1- m4_pattern_allow([^ECHO_C$])
-m4trace:configure.in:27: -1- m4_pattern_allow([^ECHO_N$])
-m4trace:configure.in:27: -1- m4_pattern_allow([^ECHO_T$])
-m4trace:configure.in:27: -1- m4_pattern_allow([^LIBS$])
-m4trace:configure.in:27: -1- m4_pattern_allow([^build_alias$])
-m4trace:configure.in:27: -1- m4_pattern_allow([^host_alias$])
-m4trace:configure.in:27: -1- m4_pattern_allow([^target_alias$])
-m4trace:configure.in:31: -1- m4_pattern_allow([^WITH_CONTIKI$])
-m4trace:configure.in:37: -1- m4_pattern_allow([^DOXYGEN$])
-m4trace:configure.in:38: -1- m4_pattern_allow([^ETAGS$])
-m4trace:configure.in:42: -1- m4_pattern_allow([^SET_MAKE$])
-m4trace:configure.in:43: -1- m4_pattern_allow([^CC$])
-m4trace:configure.in:43: -1- m4_pattern_allow([^CFLAGS$])
-m4trace:configure.in:43: -1- m4_pattern_allow([^LDFLAGS$])
-m4trace:configure.in:43: -1- m4_pattern_allow([^LIBS$])
-m4trace:configure.in:43: -1- m4_pattern_allow([^CPPFLAGS$])
-m4trace:configure.in:43: -1- m4_pattern_allow([^CC$])
-m4trace:configure.in:43: -1- m4_pattern_allow([^CC$])
-m4trace:configure.in:43: -1- m4_pattern_allow([^CC$])
-m4trace:configure.in:43: -1- m4_pattern_allow([^CC$])
-m4trace:configure.in:43: -1- m4_pattern_allow([^ac_ct_CC$])
-m4trace:configure.in:43: -1- m4_pattern_allow([^EXEEXT$])
-m4trace:configure.in:43: -1- m4_pattern_allow([^OBJEXT$])
-m4trace:configure.in:44: -1- m4_pattern_allow([^RANLIB$])
-m4trace:configure.in:46: -1- m4_pattern_allow([^CPP$])
-m4trace:configure.in:46: -1- m4_pattern_allow([^CPPFLAGS$])
-m4trace:configure.in:46: -1- m4_pattern_allow([^CPP$])
-m4trace:configure.in:46: -1- m4_pattern_allow([^GREP$])
-m4trace:configure.in:46: -1- m4_pattern_allow([^EGREP$])
-m4trace:configure.in:46: -1- m4_pattern_allow([^STDC_HEADERS$])
-m4trace:configure.in:46: -1- m4_pattern_allow([^WORDS_BIGENDIAN$])
-m4trace:configure.in:46: -1- m4_pattern_allow([^AC_APPLE_UNIVERSAL_BUILD$])
-m4trace:configure.in:59: -1- m4_pattern_allow([^DTLS_ECC$])
-m4trace:configure.in:66: -1- m4_pattern_allow([^DTLS_PSK$])
-m4trace:configure.in:75: -1- m4_pattern_allow([^OPT_OBJS$])
-m4trace:configure.in:76: -1- m4_pattern_allow([^NDEBUG$])
-m4trace:configure.in:77: -1- m4_pattern_allow([^WITH_CONTIKI$])
-m4trace:configure.in:78: -1- m4_pattern_allow([^DTLS_ECC$])
-m4trace:configure.in:79: -1- m4_pattern_allow([^DTLS_PSK$])
-m4trace:configure.in:92: -1- m4_pattern_allow([^size_t$])
-m4trace:configure.in:94: -1- m4_pattern_allow([^HAVE_SOCKADDR_IN6_SIN6_LEN$])
-m4trace:configure.in:100: -1- m4_pattern_allow([^HAVE_STDLIB_H$])
-m4trace:configure.in:100: -1- m4_pattern_allow([^HAVE_MALLOC$])
-m4trace:configure.in:100: -1- m4_pattern_allow([^HAVE_MALLOC$])
-m4trace:configure.in:100: -1- m4_pattern_allow([^LIB@&t@OBJS$])
-m4trace:configure.in:100: -1- m4_pattern_allow([^malloc$])
-m4trace:configure.in:121: -1- m4_pattern_allow([^LIB@&t@OBJS$])
-m4trace:configure.in:121: -1- m4_pattern_allow([^LTLIBOBJS$])
diff --git a/external/wakaama/examples/shared/tinydtls/autom4te.cache/traces.1 b/external/wakaama/examples/shared/tinydtls/autom4te.cache/traces.1
deleted file mode 100644 (file)
index 017b954..0000000
+++ /dev/null
@@ -1,390 +0,0 @@
-m4trace:configure.in:27: -1- AC_INIT([tinydtls], [0.8.2])
-m4trace:configure.in:27: -1- m4_pattern_forbid([^_?A[CHUM]_])
-m4trace:configure.in:27: -1- m4_pattern_forbid([_AC_])
-m4trace:configure.in:27: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS'])
-m4trace:configure.in:27: -1- m4_pattern_allow([^AS_FLAGS$])
-m4trace:configure.in:27: -1- m4_pattern_forbid([^_?m4_])
-m4trace:configure.in:27: -1- m4_pattern_forbid([^dnl$])
-m4trace:configure.in:27: -1- m4_pattern_forbid([^_?AS_])
-m4trace:configure.in:27: -1- AC_SUBST([SHELL])
-m4trace:configure.in:27: -1- AC_SUBST_TRACE([SHELL])
-m4trace:configure.in:27: -1- m4_pattern_allow([^SHELL$])
-m4trace:configure.in:27: -1- AC_SUBST([PATH_SEPARATOR])
-m4trace:configure.in:27: -1- AC_SUBST_TRACE([PATH_SEPARATOR])
-m4trace:configure.in:27: -1- m4_pattern_allow([^PATH_SEPARATOR$])
-m4trace:configure.in:27: -1- AC_SUBST([PACKAGE_NAME], [m4_ifdef([AC_PACKAGE_NAME],      ['AC_PACKAGE_NAME'])])
-m4trace:configure.in:27: -1- AC_SUBST_TRACE([PACKAGE_NAME])
-m4trace:configure.in:27: -1- m4_pattern_allow([^PACKAGE_NAME$])
-m4trace:configure.in:27: -1- AC_SUBST([PACKAGE_TARNAME], [m4_ifdef([AC_PACKAGE_TARNAME],   ['AC_PACKAGE_TARNAME'])])
-m4trace:configure.in:27: -1- AC_SUBST_TRACE([PACKAGE_TARNAME])
-m4trace:configure.in:27: -1- m4_pattern_allow([^PACKAGE_TARNAME$])
-m4trace:configure.in:27: -1- AC_SUBST([PACKAGE_VERSION], [m4_ifdef([AC_PACKAGE_VERSION],   ['AC_PACKAGE_VERSION'])])
-m4trace:configure.in:27: -1- AC_SUBST_TRACE([PACKAGE_VERSION])
-m4trace:configure.in:27: -1- m4_pattern_allow([^PACKAGE_VERSION$])
-m4trace:configure.in:27: -1- AC_SUBST([PACKAGE_STRING], [m4_ifdef([AC_PACKAGE_STRING],    ['AC_PACKAGE_STRING'])])
-m4trace:configure.in:27: -1- AC_SUBST_TRACE([PACKAGE_STRING])
-m4trace:configure.in:27: -1- m4_pattern_allow([^PACKAGE_STRING$])
-m4trace:configure.in:27: -1- AC_SUBST([PACKAGE_BUGREPORT], [m4_ifdef([AC_PACKAGE_BUGREPORT], ['AC_PACKAGE_BUGREPORT'])])
-m4trace:configure.in:27: -1- AC_SUBST_TRACE([PACKAGE_BUGREPORT])
-m4trace:configure.in:27: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$])
-m4trace:configure.in:27: -1- AC_SUBST([PACKAGE_URL], [m4_ifdef([AC_PACKAGE_URL],       ['AC_PACKAGE_URL'])])
-m4trace:configure.in:27: -1- AC_SUBST_TRACE([PACKAGE_URL])
-m4trace:configure.in:27: -1- m4_pattern_allow([^PACKAGE_URL$])
-m4trace:configure.in:27: -1- AC_SUBST([exec_prefix], [NONE])
-m4trace:configure.in:27: -1- AC_SUBST_TRACE([exec_prefix])
-m4trace:configure.in:27: -1- m4_pattern_allow([^exec_prefix$])
-m4trace:configure.in:27: -1- AC_SUBST([prefix], [NONE])
-m4trace:configure.in:27: -1- AC_SUBST_TRACE([prefix])
-m4trace:configure.in:27: -1- m4_pattern_allow([^prefix$])
-m4trace:configure.in:27: -1- AC_SUBST([program_transform_name], [s,x,x,])
-m4trace:configure.in:27: -1- AC_SUBST_TRACE([program_transform_name])
-m4trace:configure.in:27: -1- m4_pattern_allow([^program_transform_name$])
-m4trace:configure.in:27: -1- AC_SUBST([bindir], ['${exec_prefix}/bin'])
-m4trace:configure.in:27: -1- AC_SUBST_TRACE([bindir])
-m4trace:configure.in:27: -1- m4_pattern_allow([^bindir$])
-m4trace:configure.in:27: -1- AC_SUBST([sbindir], ['${exec_prefix}/sbin'])
-m4trace:configure.in:27: -1- AC_SUBST_TRACE([sbindir])
-m4trace:configure.in:27: -1- m4_pattern_allow([^sbindir$])
-m4trace:configure.in:27: -1- AC_SUBST([libexecdir], ['${exec_prefix}/libexec'])
-m4trace:configure.in:27: -1- AC_SUBST_TRACE([libexecdir])
-m4trace:configure.in:27: -1- m4_pattern_allow([^libexecdir$])
-m4trace:configure.in:27: -1- AC_SUBST([datarootdir], ['${prefix}/share'])
-m4trace:configure.in:27: -1- AC_SUBST_TRACE([datarootdir])
-m4trace:configure.in:27: -1- m4_pattern_allow([^datarootdir$])
-m4trace:configure.in:27: -1- AC_SUBST([datadir], ['${datarootdir}'])
-m4trace:configure.in:27: -1- AC_SUBST_TRACE([datadir])
-m4trace:configure.in:27: -1- m4_pattern_allow([^datadir$])
-m4trace:configure.in:27: -1- AC_SUBST([sysconfdir], ['${prefix}/etc'])
-m4trace:configure.in:27: -1- AC_SUBST_TRACE([sysconfdir])
-m4trace:configure.in:27: -1- m4_pattern_allow([^sysconfdir$])
-m4trace:configure.in:27: -1- AC_SUBST([sharedstatedir], ['${prefix}/com'])
-m4trace:configure.in:27: -1- AC_SUBST_TRACE([sharedstatedir])
-m4trace:configure.in:27: -1- m4_pattern_allow([^sharedstatedir$])
-m4trace:configure.in:27: -1- AC_SUBST([localstatedir], ['${prefix}/var'])
-m4trace:configure.in:27: -1- AC_SUBST_TRACE([localstatedir])
-m4trace:configure.in:27: -1- m4_pattern_allow([^localstatedir$])
-m4trace:configure.in:27: -1- AC_SUBST([includedir], ['${prefix}/include'])
-m4trace:configure.in:27: -1- AC_SUBST_TRACE([includedir])
-m4trace:configure.in:27: -1- m4_pattern_allow([^includedir$])
-m4trace:configure.in:27: -1- AC_SUBST([oldincludedir], ['/usr/include'])
-m4trace:configure.in:27: -1- AC_SUBST_TRACE([oldincludedir])
-m4trace:configure.in:27: -1- m4_pattern_allow([^oldincludedir$])
-m4trace:configure.in:27: -1- AC_SUBST([docdir], [m4_ifset([AC_PACKAGE_TARNAME],
-                                    ['${datarootdir}/doc/${PACKAGE_TARNAME}'],
-                                    ['${datarootdir}/doc/${PACKAGE}'])])
-m4trace:configure.in:27: -1- AC_SUBST_TRACE([docdir])
-m4trace:configure.in:27: -1- m4_pattern_allow([^docdir$])
-m4trace:configure.in:27: -1- AC_SUBST([infodir], ['${datarootdir}/info'])
-m4trace:configure.in:27: -1- AC_SUBST_TRACE([infodir])
-m4trace:configure.in:27: -1- m4_pattern_allow([^infodir$])
-m4trace:configure.in:27: -1- AC_SUBST([htmldir], ['${docdir}'])
-m4trace:configure.in:27: -1- AC_SUBST_TRACE([htmldir])
-m4trace:configure.in:27: -1- m4_pattern_allow([^htmldir$])
-m4trace:configure.in:27: -1- AC_SUBST([dvidir], ['${docdir}'])
-m4trace:configure.in:27: -1- AC_SUBST_TRACE([dvidir])
-m4trace:configure.in:27: -1- m4_pattern_allow([^dvidir$])
-m4trace:configure.in:27: -1- AC_SUBST([pdfdir], ['${docdir}'])
-m4trace:configure.in:27: -1- AC_SUBST_TRACE([pdfdir])
-m4trace:configure.in:27: -1- m4_pattern_allow([^pdfdir$])
-m4trace:configure.in:27: -1- AC_SUBST([psdir], ['${docdir}'])
-m4trace:configure.in:27: -1- AC_SUBST_TRACE([psdir])
-m4trace:configure.in:27: -1- m4_pattern_allow([^psdir$])
-m4trace:configure.in:27: -1- AC_SUBST([libdir], ['${exec_prefix}/lib'])
-m4trace:configure.in:27: -1- AC_SUBST_TRACE([libdir])
-m4trace:configure.in:27: -1- m4_pattern_allow([^libdir$])
-m4trace:configure.in:27: -1- AC_SUBST([localedir], ['${datarootdir}/locale'])
-m4trace:configure.in:27: -1- AC_SUBST_TRACE([localedir])
-m4trace:configure.in:27: -1- m4_pattern_allow([^localedir$])
-m4trace:configure.in:27: -1- AC_SUBST([mandir], ['${datarootdir}/man'])
-m4trace:configure.in:27: -1- AC_SUBST_TRACE([mandir])
-m4trace:configure.in:27: -1- m4_pattern_allow([^mandir$])
-m4trace:configure.in:27: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_NAME])
-m4trace:configure.in:27: -1- m4_pattern_allow([^PACKAGE_NAME$])
-m4trace:configure.in:27: -1- AH_OUTPUT([PACKAGE_NAME], [/* Define to the full name of this package. */
-@%:@undef PACKAGE_NAME])
-m4trace:configure.in:27: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_TARNAME])
-m4trace:configure.in:27: -1- m4_pattern_allow([^PACKAGE_TARNAME$])
-m4trace:configure.in:27: -1- AH_OUTPUT([PACKAGE_TARNAME], [/* Define to the one symbol short name of this package. */
-@%:@undef PACKAGE_TARNAME])
-m4trace:configure.in:27: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_VERSION])
-m4trace:configure.in:27: -1- m4_pattern_allow([^PACKAGE_VERSION$])
-m4trace:configure.in:27: -1- AH_OUTPUT([PACKAGE_VERSION], [/* Define to the version of this package. */
-@%:@undef PACKAGE_VERSION])
-m4trace:configure.in:27: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_STRING])
-m4trace:configure.in:27: -1- m4_pattern_allow([^PACKAGE_STRING$])
-m4trace:configure.in:27: -1- AH_OUTPUT([PACKAGE_STRING], [/* Define to the full name and version of this package. */
-@%:@undef PACKAGE_STRING])
-m4trace:configure.in:27: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_BUGREPORT])
-m4trace:configure.in:27: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$])
-m4trace:configure.in:27: -1- AH_OUTPUT([PACKAGE_BUGREPORT], [/* Define to the address where bug reports for this package should be sent. */
-@%:@undef PACKAGE_BUGREPORT])
-m4trace:configure.in:27: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_URL])
-m4trace:configure.in:27: -1- m4_pattern_allow([^PACKAGE_URL$])
-m4trace:configure.in:27: -1- AH_OUTPUT([PACKAGE_URL], [/* Define to the home page for this package. */
-@%:@undef PACKAGE_URL])
-m4trace:configure.in:27: -1- AC_SUBST([DEFS])
-m4trace:configure.in:27: -1- AC_SUBST_TRACE([DEFS])
-m4trace:configure.in:27: -1- m4_pattern_allow([^DEFS$])
-m4trace:configure.in:27: -1- AC_SUBST([ECHO_C])
-m4trace:configure.in:27: -1- AC_SUBST_TRACE([ECHO_C])
-m4trace:configure.in:27: -1- m4_pattern_allow([^ECHO_C$])
-m4trace:configure.in:27: -1- AC_SUBST([ECHO_N])
-m4trace:configure.in:27: -1- AC_SUBST_TRACE([ECHO_N])
-m4trace:configure.in:27: -1- m4_pattern_allow([^ECHO_N$])
-m4trace:configure.in:27: -1- AC_SUBST([ECHO_T])
-m4trace:configure.in:27: -1- AC_SUBST_TRACE([ECHO_T])
-m4trace:configure.in:27: -1- m4_pattern_allow([^ECHO_T$])
-m4trace:configure.in:27: -1- AC_SUBST([LIBS])
-m4trace:configure.in:27: -1- AC_SUBST_TRACE([LIBS])
-m4trace:configure.in:27: -1- m4_pattern_allow([^LIBS$])
-m4trace:configure.in:27: -1- AC_SUBST([build_alias])
-m4trace:configure.in:27: -1- AC_SUBST_TRACE([build_alias])
-m4trace:configure.in:27: -1- m4_pattern_allow([^build_alias$])
-m4trace:configure.in:27: -1- AC_SUBST([host_alias])
-m4trace:configure.in:27: -1- AC_SUBST_TRACE([host_alias])
-m4trace:configure.in:27: -1- m4_pattern_allow([^host_alias$])
-m4trace:configure.in:27: -1- AC_SUBST([target_alias])
-m4trace:configure.in:27: -1- AC_SUBST_TRACE([target_alias])
-m4trace:configure.in:27: -1- m4_pattern_allow([^target_alias$])
-m4trace:configure.in:31: -1- AC_DEFINE_TRACE_LITERAL([WITH_CONTIKI])
-m4trace:configure.in:31: -1- m4_pattern_allow([^WITH_CONTIKI$])
-m4trace:configure.in:31: -1- AH_OUTPUT([WITH_CONTIKI], [/* Define to 1 if building for Contiki. */
-@%:@undef WITH_CONTIKI])
-m4trace:configure.in:37: -1- AC_SUBST([DOXYGEN])
-m4trace:configure.in:37: -1- AC_SUBST_TRACE([DOXYGEN])
-m4trace:configure.in:37: -1- m4_pattern_allow([^DOXYGEN$])
-m4trace:configure.in:38: -1- AC_SUBST([ETAGS])
-m4trace:configure.in:38: -1- AC_SUBST_TRACE([ETAGS])
-m4trace:configure.in:38: -1- m4_pattern_allow([^ETAGS$])
-m4trace:configure.in:42: -1- AC_SUBST([SET_MAKE])
-m4trace:configure.in:42: -1- AC_SUBST_TRACE([SET_MAKE])
-m4trace:configure.in:42: -1- m4_pattern_allow([^SET_MAKE$])
-m4trace:configure.in:43: -1- AC_SUBST([CC])
-m4trace:configure.in:43: -1- AC_SUBST_TRACE([CC])
-m4trace:configure.in:43: -1- m4_pattern_allow([^CC$])
-m4trace:configure.in:43: -1- AC_SUBST([CFLAGS])
-m4trace:configure.in:43: -1- AC_SUBST_TRACE([CFLAGS])
-m4trace:configure.in:43: -1- m4_pattern_allow([^CFLAGS$])
-m4trace:configure.in:43: -1- AC_SUBST([LDFLAGS])
-m4trace:configure.in:43: -1- AC_SUBST_TRACE([LDFLAGS])
-m4trace:configure.in:43: -1- m4_pattern_allow([^LDFLAGS$])
-m4trace:configure.in:43: -1- AC_SUBST([LIBS])
-m4trace:configure.in:43: -1- AC_SUBST_TRACE([LIBS])
-m4trace:configure.in:43: -1- m4_pattern_allow([^LIBS$])
-m4trace:configure.in:43: -1- AC_SUBST([CPPFLAGS])
-m4trace:configure.in:43: -1- AC_SUBST_TRACE([CPPFLAGS])
-m4trace:configure.in:43: -1- m4_pattern_allow([^CPPFLAGS$])
-m4trace:configure.in:43: -1- AC_SUBST([CC])
-m4trace:configure.in:43: -1- AC_SUBST_TRACE([CC])
-m4trace:configure.in:43: -1- m4_pattern_allow([^CC$])
-m4trace:configure.in:43: -1- AC_SUBST([CC])
-m4trace:configure.in:43: -1- AC_SUBST_TRACE([CC])
-m4trace:configure.in:43: -1- m4_pattern_allow([^CC$])
-m4trace:configure.in:43: -1- AC_SUBST([CC])
-m4trace:configure.in:43: -1- AC_SUBST_TRACE([CC])
-m4trace:configure.in:43: -1- m4_pattern_allow([^CC$])
-m4trace:configure.in:43: -1- AC_SUBST([CC])
-m4trace:configure.in:43: -1- AC_SUBST_TRACE([CC])
-m4trace:configure.in:43: -1- m4_pattern_allow([^CC$])
-m4trace:configure.in:43: -1- AC_SUBST([ac_ct_CC])
-m4trace:configure.in:43: -1- AC_SUBST_TRACE([ac_ct_CC])
-m4trace:configure.in:43: -1- m4_pattern_allow([^ac_ct_CC$])
-m4trace:configure.in:43: -1- AC_SUBST([EXEEXT], [$ac_cv_exeext])
-m4trace:configure.in:43: -1- AC_SUBST_TRACE([EXEEXT])
-m4trace:configure.in:43: -1- m4_pattern_allow([^EXEEXT$])
-m4trace:configure.in:43: -1- AC_SUBST([OBJEXT], [$ac_cv_objext])
-m4trace:configure.in:43: -1- AC_SUBST_TRACE([OBJEXT])
-m4trace:configure.in:43: -1- m4_pattern_allow([^OBJEXT$])
-m4trace:configure.in:44: -1- AC_SUBST([RANLIB])
-m4trace:configure.in:44: -1- AC_SUBST_TRACE([RANLIB])
-m4trace:configure.in:44: -1- m4_pattern_allow([^RANLIB$])
-m4trace:configure.in:46: -1- AH_OUTPUT([WORDS_BIGENDIAN], [/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
-   significant byte first (like Motorola and SPARC, unlike Intel). */
-#if defined AC_APPLE_UNIVERSAL_BUILD
-# if defined __BIG_ENDIAN__
-#  define WORDS_BIGENDIAN 1
-# endif
-#else
-# ifndef WORDS_BIGENDIAN
-#  undef WORDS_BIGENDIAN
-# endif
-#endif])
-m4trace:configure.in:46: -1- AC_SUBST([CPP])
-m4trace:configure.in:46: -1- AC_SUBST_TRACE([CPP])
-m4trace:configure.in:46: -1- m4_pattern_allow([^CPP$])
-m4trace:configure.in:46: -1- AC_SUBST([CPPFLAGS])
-m4trace:configure.in:46: -1- AC_SUBST_TRACE([CPPFLAGS])
-m4trace:configure.in:46: -1- m4_pattern_allow([^CPPFLAGS$])
-m4trace:configure.in:46: -1- AC_SUBST([CPP])
-m4trace:configure.in:46: -1- AC_SUBST_TRACE([CPP])
-m4trace:configure.in:46: -1- m4_pattern_allow([^CPP$])
-m4trace:configure.in:46: -1- AC_SUBST([GREP])
-m4trace:configure.in:46: -1- AC_SUBST_TRACE([GREP])
-m4trace:configure.in:46: -1- m4_pattern_allow([^GREP$])
-m4trace:configure.in:46: -1- AC_SUBST([EGREP])
-m4trace:configure.in:46: -1- AC_SUBST_TRACE([EGREP])
-m4trace:configure.in:46: -1- m4_pattern_allow([^EGREP$])
-m4trace:configure.in:46: -1- AC_DEFINE_TRACE_LITERAL([STDC_HEADERS])
-m4trace:configure.in:46: -1- m4_pattern_allow([^STDC_HEADERS$])
-m4trace:configure.in:46: -1- AH_OUTPUT([STDC_HEADERS], [/* Define to 1 if you have the ANSI C header files. */
-@%:@undef STDC_HEADERS])
-m4trace:configure.in:46: -1- AH_OUTPUT([HAVE_SYS_TYPES_H], [/* Define to 1 if you have the <sys/types.h> header file. */
-@%:@undef HAVE_SYS_TYPES_H])
-m4trace:configure.in:46: -1- AH_OUTPUT([HAVE_SYS_STAT_H], [/* Define to 1 if you have the <sys/stat.h> header file. */
-@%:@undef HAVE_SYS_STAT_H])
-m4trace:configure.in:46: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
-@%:@undef HAVE_STDLIB_H])
-m4trace:configure.in:46: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the <string.h> header file. */
-@%:@undef HAVE_STRING_H])
-m4trace:configure.in:46: -1- AH_OUTPUT([HAVE_MEMORY_H], [/* Define to 1 if you have the <memory.h> header file. */
-@%:@undef HAVE_MEMORY_H])
-m4trace:configure.in:46: -1- AH_OUTPUT([HAVE_STRINGS_H], [/* Define to 1 if you have the <strings.h> header file. */
-@%:@undef HAVE_STRINGS_H])
-m4trace:configure.in:46: -1- AH_OUTPUT([HAVE_INTTYPES_H], [/* Define to 1 if you have the <inttypes.h> header file. */
-@%:@undef HAVE_INTTYPES_H])
-m4trace:configure.in:46: -1- AH_OUTPUT([HAVE_STDINT_H], [/* Define to 1 if you have the <stdint.h> header file. */
-@%:@undef HAVE_STDINT_H])
-m4trace:configure.in:46: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
-@%:@undef HAVE_UNISTD_H])
-m4trace:configure.in:46: -1- AC_DEFINE_TRACE_LITERAL([WORDS_BIGENDIAN])
-m4trace:configure.in:46: -1- m4_pattern_allow([^WORDS_BIGENDIAN$])
-m4trace:configure.in:46: -1- AC_DEFINE_TRACE_LITERAL([AC_APPLE_UNIVERSAL_BUILD])
-m4trace:configure.in:46: -1- m4_pattern_allow([^AC_APPLE_UNIVERSAL_BUILD$])
-m4trace:configure.in:46: -1- AH_OUTPUT([AC_APPLE_UNIVERSAL_BUILD], [/* Define if building universal (internal helper macro) */
-@%:@undef AC_APPLE_UNIVERSAL_BUILD])
-m4trace:configure.in:59: -1- AC_DEFINE_TRACE_LITERAL([DTLS_ECC])
-m4trace:configure.in:59: -1- m4_pattern_allow([^DTLS_ECC$])
-m4trace:configure.in:59: -1- AH_OUTPUT([DTLS_ECC], [/* Define to 1 if building with ECC support. */
-@%:@undef DTLS_ECC])
-m4trace:configure.in:66: -1- AC_DEFINE_TRACE_LITERAL([DTLS_PSK])
-m4trace:configure.in:66: -1- m4_pattern_allow([^DTLS_PSK$])
-m4trace:configure.in:66: -1- AH_OUTPUT([DTLS_PSK], [/* Define to 1 if building with PSK support */
-@%:@undef DTLS_PSK])
-m4trace:configure.in:75: -1- AC_SUBST([OPT_OBJS])
-m4trace:configure.in:75: -1- AC_SUBST_TRACE([OPT_OBJS])
-m4trace:configure.in:75: -1- m4_pattern_allow([^OPT_OBJS$])
-m4trace:configure.in:76: -1- AC_SUBST([NDEBUG])
-m4trace:configure.in:76: -1- AC_SUBST_TRACE([NDEBUG])
-m4trace:configure.in:76: -1- m4_pattern_allow([^NDEBUG$])
-m4trace:configure.in:77: -1- AC_SUBST([WITH_CONTIKI])
-m4trace:configure.in:77: -1- AC_SUBST_TRACE([WITH_CONTIKI])
-m4trace:configure.in:77: -1- m4_pattern_allow([^WITH_CONTIKI$])
-m4trace:configure.in:78: -1- AC_SUBST([DTLS_ECC])
-m4trace:configure.in:78: -1- AC_SUBST_TRACE([DTLS_ECC])
-m4trace:configure.in:78: -1- m4_pattern_allow([^DTLS_ECC$])
-m4trace:configure.in:79: -1- AC_SUBST([DTLS_PSK])
-m4trace:configure.in:79: -1- AC_SUBST_TRACE([DTLS_PSK])
-m4trace:configure.in:79: -1- m4_pattern_allow([^DTLS_PSK$])
-m4trace:configure.in:85: -1- AH_OUTPUT([HAVE_ASSERT_H], [/* Define to 1 if you have the <assert.h> header file. */
-@%:@undef HAVE_ASSERT_H])
-m4trace:configure.in:85: -1- AH_OUTPUT([HAVE_ARPA_INET_H], [/* Define to 1 if you have the <arpa/inet.h> header file. */
-@%:@undef HAVE_ARPA_INET_H])
-m4trace:configure.in:85: -1- AH_OUTPUT([HAVE_FCNTL_H], [/* Define to 1 if you have the <fcntl.h> header file. */
-@%:@undef HAVE_FCNTL_H])
-m4trace:configure.in:85: -1- AH_OUTPUT([HAVE_INTTYPES_H], [/* Define to 1 if you have the <inttypes.h> header file. */
-@%:@undef HAVE_INTTYPES_H])
-m4trace:configure.in:85: -1- AH_OUTPUT([HAVE_NETDB_H], [/* Define to 1 if you have the <netdb.h> header file. */
-@%:@undef HAVE_NETDB_H])
-m4trace:configure.in:85: -1- AH_OUTPUT([HAVE_NETINET_IN_H], [/* Define to 1 if you have the <netinet/in.h> header file. */
-@%:@undef HAVE_NETINET_IN_H])
-m4trace:configure.in:85: -1- AH_OUTPUT([HAVE_STDDEF_H], [/* Define to 1 if you have the <stddef.h> header file. */
-@%:@undef HAVE_STDDEF_H])
-m4trace:configure.in:85: -1- AH_OUTPUT([HAVE_STDINT_H], [/* Define to 1 if you have the <stdint.h> header file. */
-@%:@undef HAVE_STDINT_H])
-m4trace:configure.in:85: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
-@%:@undef HAVE_STDLIB_H])
-m4trace:configure.in:85: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the <string.h> header file. */
-@%:@undef HAVE_STRING_H])
-m4trace:configure.in:85: -1- AH_OUTPUT([HAVE_STRINGS_H], [/* Define to 1 if you have the <strings.h> header file. */
-@%:@undef HAVE_STRINGS_H])
-m4trace:configure.in:85: -1- AH_OUTPUT([HAVE_SYS_PARAM_H], [/* Define to 1 if you have the <sys/param.h> header file. */
-@%:@undef HAVE_SYS_PARAM_H])
-m4trace:configure.in:85: -1- AH_OUTPUT([HAVE_SYS_SOCKET_H], [/* Define to 1 if you have the <sys/socket.h> header file. */
-@%:@undef HAVE_SYS_SOCKET_H])
-m4trace:configure.in:85: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
-@%:@undef HAVE_UNISTD_H])
-m4trace:configure.in:87: -1- AH_OUTPUT([HAVE_SYS_TIME_H], [/* Define to 1 if you have the <sys/time.h> header file. */
-@%:@undef HAVE_SYS_TIME_H])
-m4trace:configure.in:87: -1- AH_OUTPUT([HAVE_TIME_H], [/* Define to 1 if you have the <time.h> header file. */
-@%:@undef HAVE_TIME_H])
-m4trace:configure.in:88: -1- AH_OUTPUT([HAVE_SYS_TYPES_H], [/* Define to 1 if you have the <sys/types.h> header file. */
-@%:@undef HAVE_SYS_TYPES_H])
-m4trace:configure.in:88: -1- AH_OUTPUT([HAVE_SYS_STAT_H], [/* Define to 1 if you have the <sys/stat.h> header file. */
-@%:@undef HAVE_SYS_STAT_H])
-m4trace:configure.in:91: -1- AH_OUTPUT([inline], [/* Define to `__inline__\' or `__inline\' if that\'s what the C compiler
-   calls it, or to nothing if \'inline\' is not supported under any name.  */
-#ifndef __cplusplus
-#undef inline
-#endif])
-m4trace:configure.in:92: -1- AC_DEFINE_TRACE_LITERAL([size_t])
-m4trace:configure.in:92: -1- m4_pattern_allow([^size_t$])
-m4trace:configure.in:92: -1- AH_OUTPUT([size_t], [/* Define to `unsigned int\' if <sys/types.h> does not define. */
-@%:@undef size_t])
-m4trace:configure.in:94: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SOCKADDR_IN6_SIN6_LEN])
-m4trace:configure.in:94: -1- m4_pattern_allow([^HAVE_SOCKADDR_IN6_SIN6_LEN$])
-m4trace:configure.in:94: -1- AH_OUTPUT([HAVE_SOCKADDR_IN6_SIN6_LEN], [/* Define to 1 if struct sockaddr_in6 has a member sin6_len. */
-@%:@undef HAVE_SOCKADDR_IN6_SIN6_LEN])
-m4trace:configure.in:100: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
-@%:@undef HAVE_STDLIB_H])
-m4trace:configure.in:100: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STDLIB_H])
-m4trace:configure.in:100: -1- m4_pattern_allow([^HAVE_STDLIB_H$])
-m4trace:configure.in:100: -1- AC_DEFINE_TRACE_LITERAL([HAVE_MALLOC])
-m4trace:configure.in:100: -1- m4_pattern_allow([^HAVE_MALLOC$])
-m4trace:configure.in:100: -1- AH_OUTPUT([HAVE_MALLOC], [/* Define to 1 if your system has a GNU libc compatible `malloc\' function, and
-   to 0 otherwise. */
-@%:@undef HAVE_MALLOC])
-m4trace:configure.in:100: -1- AC_DEFINE_TRACE_LITERAL([HAVE_MALLOC])
-m4trace:configure.in:100: -1- m4_pattern_allow([^HAVE_MALLOC$])
-m4trace:configure.in:100: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS malloc.$ac_objext"])
-m4trace:configure.in:100: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
-m4trace:configure.in:100: -1- m4_pattern_allow([^LIB@&t@OBJS$])
-m4trace:configure.in:100: -1- AC_LIBSOURCE([malloc.c])
-m4trace:configure.in:100: -1- AC_DEFINE_TRACE_LITERAL([malloc])
-m4trace:configure.in:100: -1- m4_pattern_allow([^malloc$])
-m4trace:configure.in:100: -1- AH_OUTPUT([malloc], [/* Define to rpl_malloc if the replacement function should be used. */
-@%:@undef malloc])
-m4trace:configure.in:101: -1- AH_OUTPUT([HAVE_MEMSET], [/* Define to 1 if you have the `memset\' function. */
-@%:@undef HAVE_MEMSET])
-m4trace:configure.in:101: -1- AH_OUTPUT([HAVE_SELECT], [/* Define to 1 if you have the `select\' function. */
-@%:@undef HAVE_SELECT])
-m4trace:configure.in:101: -1- AH_OUTPUT([HAVE_SOCKET], [/* Define to 1 if you have the `socket\' function. */
-@%:@undef HAVE_SOCKET])
-m4trace:configure.in:101: -1- AH_OUTPUT([HAVE_STRDUP], [/* Define to 1 if you have the `strdup\' function. */
-@%:@undef HAVE_STRDUP])
-m4trace:configure.in:101: -1- AH_OUTPUT([HAVE_STRERROR], [/* Define to 1 if you have the `strerror\' function. */
-@%:@undef HAVE_STRERROR])
-m4trace:configure.in:101: -1- AH_OUTPUT([HAVE_STRNLEN], [/* Define to 1 if you have the `strnlen\' function. */
-@%:@undef HAVE_STRNLEN])
-m4trace:configure.in:101: -1- AH_OUTPUT([HAVE_FLS], [/* Define to 1 if you have the `fls\' function. */
-@%:@undef HAVE_FLS])
-m4trace:configure.in:101: -1- AH_OUTPUT([HAVE_VPRINTF], [/* Define to 1 if you have the `vprintf\' function. */
-@%:@undef HAVE_VPRINTF])
-m4trace:configure.in:104: -1- AC_CONFIG_HEADERS([dtls_config.h tinydtls.h])
-m4trace:configure.in:107: -1- AH_OUTPUT([zzzz1], [
-#ifdef WITH_CONTIKI
-#include "platform-specific/platform.h"
-#endif])
-m4trace:configure.in:112: -1- AC_CONFIG_FILES([Makefile
-                 doc/Makefile
-                 doc/Doxyfile
-                 tests/Makefile
-                 examples/contiki/Makefile
-                 platform-specific/Makefile
-                sha2/Makefile
-                aes/Makefile
-                ecc/Makefile])
-m4trace:configure.in:121: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs])
-m4trace:configure.in:121: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
-m4trace:configure.in:121: -1- m4_pattern_allow([^LIB@&t@OBJS$])
-m4trace:configure.in:121: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs])
-m4trace:configure.in:121: -1- AC_SUBST_TRACE([LTLIBOBJS])
-m4trace:configure.in:121: -1- m4_pattern_allow([^LTLIBOBJS$])
-m4trace:configure.in:121: -1- AC_SUBST_TRACE([top_builddir])
-m4trace:configure.in:121: -1- AC_SUBST_TRACE([top_build_prefix])
-m4trace:configure.in:121: -1- AC_SUBST_TRACE([srcdir])
-m4trace:configure.in:121: -1- AC_SUBST_TRACE([abs_srcdir])
-m4trace:configure.in:121: -1- AC_SUBST_TRACE([top_srcdir])
-m4trace:configure.in:121: -1- AC_SUBST_TRACE([abs_top_srcdir])
-m4trace:configure.in:121: -1- AC_SUBST_TRACE([builddir])
-m4trace:configure.in:121: -1- AC_SUBST_TRACE([abs_builddir])
-m4trace:configure.in:121: -1- AC_SUBST_TRACE([abs_top_builddir])
diff --git a/external/wakaama/examples/shared/tinydtls/autom4te.cache/traces.2 b/external/wakaama/examples/shared/tinydtls/autom4te.cache/traces.2
deleted file mode 100644 (file)
index d2d4152..0000000
+++ /dev/null
@@ -1,92 +0,0 @@
-m4trace:configure.ac:27: -1- m4_pattern_forbid([^_?A[CHUM]_])
-m4trace:configure.ac:27: -1- m4_pattern_forbid([_AC_])
-m4trace:configure.ac:27: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS'])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^AS_FLAGS$])
-m4trace:configure.ac:27: -1- m4_pattern_forbid([^_?m4_])
-m4trace:configure.ac:27: -1- m4_pattern_forbid([^dnl$])
-m4trace:configure.ac:27: -1- m4_pattern_forbid([^_?AS_])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^SHELL$])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^PATH_SEPARATOR$])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^PACKAGE_NAME$])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^PACKAGE_TARNAME$])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^PACKAGE_VERSION$])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^PACKAGE_STRING$])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^PACKAGE_URL$])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^exec_prefix$])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^prefix$])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^program_transform_name$])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^bindir$])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^sbindir$])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^libexecdir$])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^datarootdir$])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^datadir$])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^sysconfdir$])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^sharedstatedir$])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^localstatedir$])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^includedir$])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^oldincludedir$])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^docdir$])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^infodir$])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^htmldir$])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^dvidir$])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^pdfdir$])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^psdir$])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^libdir$])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^localedir$])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^mandir$])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^PACKAGE_NAME$])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^PACKAGE_TARNAME$])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^PACKAGE_VERSION$])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^PACKAGE_STRING$])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^PACKAGE_URL$])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^DEFS$])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^ECHO_C$])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^ECHO_N$])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^ECHO_T$])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^LIBS$])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^build_alias$])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^host_alias$])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^target_alias$])
-m4trace:configure.ac:31: -1- m4_pattern_allow([^WITH_CONTIKI$])
-m4trace:configure.ac:37: -1- m4_pattern_allow([^DOXYGEN$])
-m4trace:configure.ac:38: -1- m4_pattern_allow([^ETAGS$])
-m4trace:configure.ac:42: -1- m4_pattern_allow([^SET_MAKE$])
-m4trace:configure.ac:43: -1- m4_pattern_allow([^CC$])
-m4trace:configure.ac:43: -1- m4_pattern_allow([^CFLAGS$])
-m4trace:configure.ac:43: -1- m4_pattern_allow([^LDFLAGS$])
-m4trace:configure.ac:43: -1- m4_pattern_allow([^LIBS$])
-m4trace:configure.ac:43: -1- m4_pattern_allow([^CPPFLAGS$])
-m4trace:configure.ac:43: -1- m4_pattern_allow([^CC$])
-m4trace:configure.ac:43: -1- m4_pattern_allow([^CC$])
-m4trace:configure.ac:43: -1- m4_pattern_allow([^CC$])
-m4trace:configure.ac:43: -1- m4_pattern_allow([^CC$])
-m4trace:configure.ac:43: -1- m4_pattern_allow([^ac_ct_CC$])
-m4trace:configure.ac:43: -1- m4_pattern_allow([^EXEEXT$])
-m4trace:configure.ac:43: -1- m4_pattern_allow([^OBJEXT$])
-m4trace:configure.ac:44: -1- m4_pattern_allow([^RANLIB$])
-m4trace:configure.ac:46: -1- m4_pattern_allow([^CPP$])
-m4trace:configure.ac:46: -1- m4_pattern_allow([^CPPFLAGS$])
-m4trace:configure.ac:46: -1- m4_pattern_allow([^CPP$])
-m4trace:configure.ac:46: -1- m4_pattern_allow([^GREP$])
-m4trace:configure.ac:46: -1- m4_pattern_allow([^EGREP$])
-m4trace:configure.ac:46: -1- m4_pattern_allow([^STDC_HEADERS$])
-m4trace:configure.ac:46: -1- m4_pattern_allow([^WORDS_BIGENDIAN$])
-m4trace:configure.ac:46: -1- m4_pattern_allow([^AC_APPLE_UNIVERSAL_BUILD$])
-m4trace:configure.ac:59: -1- m4_pattern_allow([^DTLS_ECC$])
-m4trace:configure.ac:66: -1- m4_pattern_allow([^DTLS_PSK$])
-m4trace:configure.ac:75: -1- m4_pattern_allow([^OPT_OBJS$])
-m4trace:configure.ac:76: -1- m4_pattern_allow([^NDEBUG$])
-m4trace:configure.ac:77: -1- m4_pattern_allow([^WITH_CONTIKI$])
-m4trace:configure.ac:78: -1- m4_pattern_allow([^DTLS_ECC$])
-m4trace:configure.ac:79: -1- m4_pattern_allow([^DTLS_PSK$])
-m4trace:configure.ac:92: -1- m4_pattern_allow([^size_t$])
-m4trace:configure.ac:94: -1- m4_pattern_allow([^HAVE_SOCKADDR_IN6_SIN6_LEN$])
-m4trace:configure.ac:100: -1- m4_pattern_allow([^HAVE_STDLIB_H$])
-m4trace:configure.ac:100: -1- m4_pattern_allow([^HAVE_MALLOC$])
-m4trace:configure.ac:100: -1- m4_pattern_allow([^HAVE_MALLOC$])
-m4trace:configure.ac:100: -1- m4_pattern_allow([^LIB@&t@OBJS$])
-m4trace:configure.ac:100: -1- m4_pattern_allow([^malloc$])
-m4trace:configure.ac:121: -1- m4_pattern_allow([^LIB@&t@OBJS$])
-m4trace:configure.ac:121: -1- m4_pattern_allow([^LTLIBOBJS$])
diff --git a/external/wakaama/examples/shared/tinydtls/autom4te.cache/traces.3 b/external/wakaama/examples/shared/tinydtls/autom4te.cache/traces.3
deleted file mode 100644 (file)
index d40ba31..0000000
+++ /dev/null
@@ -1,390 +0,0 @@
-m4trace:configure.ac:27: -1- AC_INIT([tinydtls], [0.8.2])
-m4trace:configure.ac:27: -1- m4_pattern_forbid([^_?A[CHUM]_])
-m4trace:configure.ac:27: -1- m4_pattern_forbid([_AC_])
-m4trace:configure.ac:27: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS'])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^AS_FLAGS$])
-m4trace:configure.ac:27: -1- m4_pattern_forbid([^_?m4_])
-m4trace:configure.ac:27: -1- m4_pattern_forbid([^dnl$])
-m4trace:configure.ac:27: -1- m4_pattern_forbid([^_?AS_])
-m4trace:configure.ac:27: -1- AC_SUBST([SHELL])
-m4trace:configure.ac:27: -1- AC_SUBST_TRACE([SHELL])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^SHELL$])
-m4trace:configure.ac:27: -1- AC_SUBST([PATH_SEPARATOR])
-m4trace:configure.ac:27: -1- AC_SUBST_TRACE([PATH_SEPARATOR])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^PATH_SEPARATOR$])
-m4trace:configure.ac:27: -1- AC_SUBST([PACKAGE_NAME], [m4_ifdef([AC_PACKAGE_NAME],      ['AC_PACKAGE_NAME'])])
-m4trace:configure.ac:27: -1- AC_SUBST_TRACE([PACKAGE_NAME])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^PACKAGE_NAME$])
-m4trace:configure.ac:27: -1- AC_SUBST([PACKAGE_TARNAME], [m4_ifdef([AC_PACKAGE_TARNAME],   ['AC_PACKAGE_TARNAME'])])
-m4trace:configure.ac:27: -1- AC_SUBST_TRACE([PACKAGE_TARNAME])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^PACKAGE_TARNAME$])
-m4trace:configure.ac:27: -1- AC_SUBST([PACKAGE_VERSION], [m4_ifdef([AC_PACKAGE_VERSION],   ['AC_PACKAGE_VERSION'])])
-m4trace:configure.ac:27: -1- AC_SUBST_TRACE([PACKAGE_VERSION])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^PACKAGE_VERSION$])
-m4trace:configure.ac:27: -1- AC_SUBST([PACKAGE_STRING], [m4_ifdef([AC_PACKAGE_STRING],    ['AC_PACKAGE_STRING'])])
-m4trace:configure.ac:27: -1- AC_SUBST_TRACE([PACKAGE_STRING])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^PACKAGE_STRING$])
-m4trace:configure.ac:27: -1- AC_SUBST([PACKAGE_BUGREPORT], [m4_ifdef([AC_PACKAGE_BUGREPORT], ['AC_PACKAGE_BUGREPORT'])])
-m4trace:configure.ac:27: -1- AC_SUBST_TRACE([PACKAGE_BUGREPORT])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$])
-m4trace:configure.ac:27: -1- AC_SUBST([PACKAGE_URL], [m4_ifdef([AC_PACKAGE_URL],       ['AC_PACKAGE_URL'])])
-m4trace:configure.ac:27: -1- AC_SUBST_TRACE([PACKAGE_URL])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^PACKAGE_URL$])
-m4trace:configure.ac:27: -1- AC_SUBST([exec_prefix], [NONE])
-m4trace:configure.ac:27: -1- AC_SUBST_TRACE([exec_prefix])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^exec_prefix$])
-m4trace:configure.ac:27: -1- AC_SUBST([prefix], [NONE])
-m4trace:configure.ac:27: -1- AC_SUBST_TRACE([prefix])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^prefix$])
-m4trace:configure.ac:27: -1- AC_SUBST([program_transform_name], [s,x,x,])
-m4trace:configure.ac:27: -1- AC_SUBST_TRACE([program_transform_name])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^program_transform_name$])
-m4trace:configure.ac:27: -1- AC_SUBST([bindir], ['${exec_prefix}/bin'])
-m4trace:configure.ac:27: -1- AC_SUBST_TRACE([bindir])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^bindir$])
-m4trace:configure.ac:27: -1- AC_SUBST([sbindir], ['${exec_prefix}/sbin'])
-m4trace:configure.ac:27: -1- AC_SUBST_TRACE([sbindir])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^sbindir$])
-m4trace:configure.ac:27: -1- AC_SUBST([libexecdir], ['${exec_prefix}/libexec'])
-m4trace:configure.ac:27: -1- AC_SUBST_TRACE([libexecdir])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^libexecdir$])
-m4trace:configure.ac:27: -1- AC_SUBST([datarootdir], ['${prefix}/share'])
-m4trace:configure.ac:27: -1- AC_SUBST_TRACE([datarootdir])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^datarootdir$])
-m4trace:configure.ac:27: -1- AC_SUBST([datadir], ['${datarootdir}'])
-m4trace:configure.ac:27: -1- AC_SUBST_TRACE([datadir])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^datadir$])
-m4trace:configure.ac:27: -1- AC_SUBST([sysconfdir], ['${prefix}/etc'])
-m4trace:configure.ac:27: -1- AC_SUBST_TRACE([sysconfdir])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^sysconfdir$])
-m4trace:configure.ac:27: -1- AC_SUBST([sharedstatedir], ['${prefix}/com'])
-m4trace:configure.ac:27: -1- AC_SUBST_TRACE([sharedstatedir])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^sharedstatedir$])
-m4trace:configure.ac:27: -1- AC_SUBST([localstatedir], ['${prefix}/var'])
-m4trace:configure.ac:27: -1- AC_SUBST_TRACE([localstatedir])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^localstatedir$])
-m4trace:configure.ac:27: -1- AC_SUBST([includedir], ['${prefix}/include'])
-m4trace:configure.ac:27: -1- AC_SUBST_TRACE([includedir])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^includedir$])
-m4trace:configure.ac:27: -1- AC_SUBST([oldincludedir], ['/usr/include'])
-m4trace:configure.ac:27: -1- AC_SUBST_TRACE([oldincludedir])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^oldincludedir$])
-m4trace:configure.ac:27: -1- AC_SUBST([docdir], [m4_ifset([AC_PACKAGE_TARNAME],
-                                    ['${datarootdir}/doc/${PACKAGE_TARNAME}'],
-                                    ['${datarootdir}/doc/${PACKAGE}'])])
-m4trace:configure.ac:27: -1- AC_SUBST_TRACE([docdir])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^docdir$])
-m4trace:configure.ac:27: -1- AC_SUBST([infodir], ['${datarootdir}/info'])
-m4trace:configure.ac:27: -1- AC_SUBST_TRACE([infodir])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^infodir$])
-m4trace:configure.ac:27: -1- AC_SUBST([htmldir], ['${docdir}'])
-m4trace:configure.ac:27: -1- AC_SUBST_TRACE([htmldir])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^htmldir$])
-m4trace:configure.ac:27: -1- AC_SUBST([dvidir], ['${docdir}'])
-m4trace:configure.ac:27: -1- AC_SUBST_TRACE([dvidir])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^dvidir$])
-m4trace:configure.ac:27: -1- AC_SUBST([pdfdir], ['${docdir}'])
-m4trace:configure.ac:27: -1- AC_SUBST_TRACE([pdfdir])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^pdfdir$])
-m4trace:configure.ac:27: -1- AC_SUBST([psdir], ['${docdir}'])
-m4trace:configure.ac:27: -1- AC_SUBST_TRACE([psdir])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^psdir$])
-m4trace:configure.ac:27: -1- AC_SUBST([libdir], ['${exec_prefix}/lib'])
-m4trace:configure.ac:27: -1- AC_SUBST_TRACE([libdir])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^libdir$])
-m4trace:configure.ac:27: -1- AC_SUBST([localedir], ['${datarootdir}/locale'])
-m4trace:configure.ac:27: -1- AC_SUBST_TRACE([localedir])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^localedir$])
-m4trace:configure.ac:27: -1- AC_SUBST([mandir], ['${datarootdir}/man'])
-m4trace:configure.ac:27: -1- AC_SUBST_TRACE([mandir])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^mandir$])
-m4trace:configure.ac:27: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_NAME])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^PACKAGE_NAME$])
-m4trace:configure.ac:27: -1- AH_OUTPUT([PACKAGE_NAME], [/* Define to the full name of this package. */
-@%:@undef PACKAGE_NAME])
-m4trace:configure.ac:27: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_TARNAME])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^PACKAGE_TARNAME$])
-m4trace:configure.ac:27: -1- AH_OUTPUT([PACKAGE_TARNAME], [/* Define to the one symbol short name of this package. */
-@%:@undef PACKAGE_TARNAME])
-m4trace:configure.ac:27: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_VERSION])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^PACKAGE_VERSION$])
-m4trace:configure.ac:27: -1- AH_OUTPUT([PACKAGE_VERSION], [/* Define to the version of this package. */
-@%:@undef PACKAGE_VERSION])
-m4trace:configure.ac:27: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_STRING])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^PACKAGE_STRING$])
-m4trace:configure.ac:27: -1- AH_OUTPUT([PACKAGE_STRING], [/* Define to the full name and version of this package. */
-@%:@undef PACKAGE_STRING])
-m4trace:configure.ac:27: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_BUGREPORT])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$])
-m4trace:configure.ac:27: -1- AH_OUTPUT([PACKAGE_BUGREPORT], [/* Define to the address where bug reports for this package should be sent. */
-@%:@undef PACKAGE_BUGREPORT])
-m4trace:configure.ac:27: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_URL])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^PACKAGE_URL$])
-m4trace:configure.ac:27: -1- AH_OUTPUT([PACKAGE_URL], [/* Define to the home page for this package. */
-@%:@undef PACKAGE_URL])
-m4trace:configure.ac:27: -1- AC_SUBST([DEFS])
-m4trace:configure.ac:27: -1- AC_SUBST_TRACE([DEFS])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^DEFS$])
-m4trace:configure.ac:27: -1- AC_SUBST([ECHO_C])
-m4trace:configure.ac:27: -1- AC_SUBST_TRACE([ECHO_C])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^ECHO_C$])
-m4trace:configure.ac:27: -1- AC_SUBST([ECHO_N])
-m4trace:configure.ac:27: -1- AC_SUBST_TRACE([ECHO_N])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^ECHO_N$])
-m4trace:configure.ac:27: -1- AC_SUBST([ECHO_T])
-m4trace:configure.ac:27: -1- AC_SUBST_TRACE([ECHO_T])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^ECHO_T$])
-m4trace:configure.ac:27: -1- AC_SUBST([LIBS])
-m4trace:configure.ac:27: -1- AC_SUBST_TRACE([LIBS])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^LIBS$])
-m4trace:configure.ac:27: -1- AC_SUBST([build_alias])
-m4trace:configure.ac:27: -1- AC_SUBST_TRACE([build_alias])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^build_alias$])
-m4trace:configure.ac:27: -1- AC_SUBST([host_alias])
-m4trace:configure.ac:27: -1- AC_SUBST_TRACE([host_alias])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^host_alias$])
-m4trace:configure.ac:27: -1- AC_SUBST([target_alias])
-m4trace:configure.ac:27: -1- AC_SUBST_TRACE([target_alias])
-m4trace:configure.ac:27: -1- m4_pattern_allow([^target_alias$])
-m4trace:configure.ac:31: -1- AC_DEFINE_TRACE_LITERAL([WITH_CONTIKI])
-m4trace:configure.ac:31: -1- m4_pattern_allow([^WITH_CONTIKI$])
-m4trace:configure.ac:31: -1- AH_OUTPUT([WITH_CONTIKI], [/* Define to 1 if building for Contiki. */
-@%:@undef WITH_CONTIKI])
-m4trace:configure.ac:37: -1- AC_SUBST([DOXYGEN])
-m4trace:configure.ac:37: -1- AC_SUBST_TRACE([DOXYGEN])
-m4trace:configure.ac:37: -1- m4_pattern_allow([^DOXYGEN$])
-m4trace:configure.ac:38: -1- AC_SUBST([ETAGS])
-m4trace:configure.ac:38: -1- AC_SUBST_TRACE([ETAGS])
-m4trace:configure.ac:38: -1- m4_pattern_allow([^ETAGS$])
-m4trace:configure.ac:42: -1- AC_SUBST([SET_MAKE])
-m4trace:configure.ac:42: -1- AC_SUBST_TRACE([SET_MAKE])
-m4trace:configure.ac:42: -1- m4_pattern_allow([^SET_MAKE$])
-m4trace:configure.ac:43: -1- AC_SUBST([CC])
-m4trace:configure.ac:43: -1- AC_SUBST_TRACE([CC])
-m4trace:configure.ac:43: -1- m4_pattern_allow([^CC$])
-m4trace:configure.ac:43: -1- AC_SUBST([CFLAGS])
-m4trace:configure.ac:43: -1- AC_SUBST_TRACE([CFLAGS])
-m4trace:configure.ac:43: -1- m4_pattern_allow([^CFLAGS$])
-m4trace:configure.ac:43: -1- AC_SUBST([LDFLAGS])
-m4trace:configure.ac:43: -1- AC_SUBST_TRACE([LDFLAGS])
-m4trace:configure.ac:43: -1- m4_pattern_allow([^LDFLAGS$])
-m4trace:configure.ac:43: -1- AC_SUBST([LIBS])
-m4trace:configure.ac:43: -1- AC_SUBST_TRACE([LIBS])
-m4trace:configure.ac:43: -1- m4_pattern_allow([^LIBS$])
-m4trace:configure.ac:43: -1- AC_SUBST([CPPFLAGS])
-m4trace:configure.ac:43: -1- AC_SUBST_TRACE([CPPFLAGS])
-m4trace:configure.ac:43: -1- m4_pattern_allow([^CPPFLAGS$])
-m4trace:configure.ac:43: -1- AC_SUBST([CC])
-m4trace:configure.ac:43: -1- AC_SUBST_TRACE([CC])
-m4trace:configure.ac:43: -1- m4_pattern_allow([^CC$])
-m4trace:configure.ac:43: -1- AC_SUBST([CC])
-m4trace:configure.ac:43: -1- AC_SUBST_TRACE([CC])
-m4trace:configure.ac:43: -1- m4_pattern_allow([^CC$])
-m4trace:configure.ac:43: -1- AC_SUBST([CC])
-m4trace:configure.ac:43: -1- AC_SUBST_TRACE([CC])
-m4trace:configure.ac:43: -1- m4_pattern_allow([^CC$])
-m4trace:configure.ac:43: -1- AC_SUBST([CC])
-m4trace:configure.ac:43: -1- AC_SUBST_TRACE([CC])
-m4trace:configure.ac:43: -1- m4_pattern_allow([^CC$])
-m4trace:configure.ac:43: -1- AC_SUBST([ac_ct_CC])
-m4trace:configure.ac:43: -1- AC_SUBST_TRACE([ac_ct_CC])
-m4trace:configure.ac:43: -1- m4_pattern_allow([^ac_ct_CC$])
-m4trace:configure.ac:43: -1- AC_SUBST([EXEEXT], [$ac_cv_exeext])
-m4trace:configure.ac:43: -1- AC_SUBST_TRACE([EXEEXT])
-m4trace:configure.ac:43: -1- m4_pattern_allow([^EXEEXT$])
-m4trace:configure.ac:43: -1- AC_SUBST([OBJEXT], [$ac_cv_objext])
-m4trace:configure.ac:43: -1- AC_SUBST_TRACE([OBJEXT])
-m4trace:configure.ac:43: -1- m4_pattern_allow([^OBJEXT$])
-m4trace:configure.ac:44: -1- AC_SUBST([RANLIB])
-m4trace:configure.ac:44: -1- AC_SUBST_TRACE([RANLIB])
-m4trace:configure.ac:44: -1- m4_pattern_allow([^RANLIB$])
-m4trace:configure.ac:46: -1- AH_OUTPUT([WORDS_BIGENDIAN], [/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
-   significant byte first (like Motorola and SPARC, unlike Intel). */
-#if defined AC_APPLE_UNIVERSAL_BUILD
-# if defined __BIG_ENDIAN__
-#  define WORDS_BIGENDIAN 1
-# endif
-#else
-# ifndef WORDS_BIGENDIAN
-#  undef WORDS_BIGENDIAN
-# endif
-#endif])
-m4trace:configure.ac:46: -1- AC_SUBST([CPP])
-m4trace:configure.ac:46: -1- AC_SUBST_TRACE([CPP])
-m4trace:configure.ac:46: -1- m4_pattern_allow([^CPP$])
-m4trace:configure.ac:46: -1- AC_SUBST([CPPFLAGS])
-m4trace:configure.ac:46: -1- AC_SUBST_TRACE([CPPFLAGS])
-m4trace:configure.ac:46: -1- m4_pattern_allow([^CPPFLAGS$])
-m4trace:configure.ac:46: -1- AC_SUBST([CPP])
-m4trace:configure.ac:46: -1- AC_SUBST_TRACE([CPP])
-m4trace:configure.ac:46: -1- m4_pattern_allow([^CPP$])
-m4trace:configure.ac:46: -1- AC_SUBST([GREP])
-m4trace:configure.ac:46: -1- AC_SUBST_TRACE([GREP])
-m4trace:configure.ac:46: -1- m4_pattern_allow([^GREP$])
-m4trace:configure.ac:46: -1- AC_SUBST([EGREP])
-m4trace:configure.ac:46: -1- AC_SUBST_TRACE([EGREP])
-m4trace:configure.ac:46: -1- m4_pattern_allow([^EGREP$])
-m4trace:configure.ac:46: -1- AC_DEFINE_TRACE_LITERAL([STDC_HEADERS])
-m4trace:configure.ac:46: -1- m4_pattern_allow([^STDC_HEADERS$])
-m4trace:configure.ac:46: -1- AH_OUTPUT([STDC_HEADERS], [/* Define to 1 if you have the ANSI C header files. */
-@%:@undef STDC_HEADERS])
-m4trace:configure.ac:46: -1- AH_OUTPUT([HAVE_SYS_TYPES_H], [/* Define to 1 if you have the <sys/types.h> header file. */
-@%:@undef HAVE_SYS_TYPES_H])
-m4trace:configure.ac:46: -1- AH_OUTPUT([HAVE_SYS_STAT_H], [/* Define to 1 if you have the <sys/stat.h> header file. */
-@%:@undef HAVE_SYS_STAT_H])
-m4trace:configure.ac:46: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
-@%:@undef HAVE_STDLIB_H])
-m4trace:configure.ac:46: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the <string.h> header file. */
-@%:@undef HAVE_STRING_H])
-m4trace:configure.ac:46: -1- AH_OUTPUT([HAVE_MEMORY_H], [/* Define to 1 if you have the <memory.h> header file. */
-@%:@undef HAVE_MEMORY_H])
-m4trace:configure.ac:46: -1- AH_OUTPUT([HAVE_STRINGS_H], [/* Define to 1 if you have the <strings.h> header file. */
-@%:@undef HAVE_STRINGS_H])
-m4trace:configure.ac:46: -1- AH_OUTPUT([HAVE_INTTYPES_H], [/* Define to 1 if you have the <inttypes.h> header file. */
-@%:@undef HAVE_INTTYPES_H])
-m4trace:configure.ac:46: -1- AH_OUTPUT([HAVE_STDINT_H], [/* Define to 1 if you have the <stdint.h> header file. */
-@%:@undef HAVE_STDINT_H])
-m4trace:configure.ac:46: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
-@%:@undef HAVE_UNISTD_H])
-m4trace:configure.ac:46: -1- AC_DEFINE_TRACE_LITERAL([WORDS_BIGENDIAN])
-m4trace:configure.ac:46: -1- m4_pattern_allow([^WORDS_BIGENDIAN$])
-m4trace:configure.ac:46: -1- AC_DEFINE_TRACE_LITERAL([AC_APPLE_UNIVERSAL_BUILD])
-m4trace:configure.ac:46: -1- m4_pattern_allow([^AC_APPLE_UNIVERSAL_BUILD$])
-m4trace:configure.ac:46: -1- AH_OUTPUT([AC_APPLE_UNIVERSAL_BUILD], [/* Define if building universal (internal helper macro) */
-@%:@undef AC_APPLE_UNIVERSAL_BUILD])
-m4trace:configure.ac:59: -1- AC_DEFINE_TRACE_LITERAL([DTLS_ECC])
-m4trace:configure.ac:59: -1- m4_pattern_allow([^DTLS_ECC$])
-m4trace:configure.ac:59: -1- AH_OUTPUT([DTLS_ECC], [/* Define to 1 if building with ECC support. */
-@%:@undef DTLS_ECC])
-m4trace:configure.ac:66: -1- AC_DEFINE_TRACE_LITERAL([DTLS_PSK])
-m4trace:configure.ac:66: -1- m4_pattern_allow([^DTLS_PSK$])
-m4trace:configure.ac:66: -1- AH_OUTPUT([DTLS_PSK], [/* Define to 1 if building with PSK support */
-@%:@undef DTLS_PSK])
-m4trace:configure.ac:75: -1- AC_SUBST([OPT_OBJS])
-m4trace:configure.ac:75: -1- AC_SUBST_TRACE([OPT_OBJS])
-m4trace:configure.ac:75: -1- m4_pattern_allow([^OPT_OBJS$])
-m4trace:configure.ac:76: -1- AC_SUBST([NDEBUG])
-m4trace:configure.ac:76: -1- AC_SUBST_TRACE([NDEBUG])
-m4trace:configure.ac:76: -1- m4_pattern_allow([^NDEBUG$])
-m4trace:configure.ac:77: -1- AC_SUBST([WITH_CONTIKI])
-m4trace:configure.ac:77: -1- AC_SUBST_TRACE([WITH_CONTIKI])
-m4trace:configure.ac:77: -1- m4_pattern_allow([^WITH_CONTIKI$])
-m4trace:configure.ac:78: -1- AC_SUBST([DTLS_ECC])
-m4trace:configure.ac:78: -1- AC_SUBST_TRACE([DTLS_ECC])
-m4trace:configure.ac:78: -1- m4_pattern_allow([^DTLS_ECC$])
-m4trace:configure.ac:79: -1- AC_SUBST([DTLS_PSK])
-m4trace:configure.ac:79: -1- AC_SUBST_TRACE([DTLS_PSK])
-m4trace:configure.ac:79: -1- m4_pattern_allow([^DTLS_PSK$])
-m4trace:configure.ac:85: -1- AH_OUTPUT([HAVE_ASSERT_H], [/* Define to 1 if you have the <assert.h> header file. */
-@%:@undef HAVE_ASSERT_H])
-m4trace:configure.ac:85: -1- AH_OUTPUT([HAVE_ARPA_INET_H], [/* Define to 1 if you have the <arpa/inet.h> header file. */
-@%:@undef HAVE_ARPA_INET_H])
-m4trace:configure.ac:85: -1- AH_OUTPUT([HAVE_FCNTL_H], [/* Define to 1 if you have the <fcntl.h> header file. */
-@%:@undef HAVE_FCNTL_H])
-m4trace:configure.ac:85: -1- AH_OUTPUT([HAVE_INTTYPES_H], [/* Define to 1 if you have the <inttypes.h> header file. */
-@%:@undef HAVE_INTTYPES_H])
-m4trace:configure.ac:85: -1- AH_OUTPUT([HAVE_NETDB_H], [/* Define to 1 if you have the <netdb.h> header file. */
-@%:@undef HAVE_NETDB_H])
-m4trace:configure.ac:85: -1- AH_OUTPUT([HAVE_NETINET_IN_H], [/* Define to 1 if you have the <netinet/in.h> header file. */
-@%:@undef HAVE_NETINET_IN_H])
-m4trace:configure.ac:85: -1- AH_OUTPUT([HAVE_STDDEF_H], [/* Define to 1 if you have the <stddef.h> header file. */
-@%:@undef HAVE_STDDEF_H])
-m4trace:configure.ac:85: -1- AH_OUTPUT([HAVE_STDINT_H], [/* Define to 1 if you have the <stdint.h> header file. */
-@%:@undef HAVE_STDINT_H])
-m4trace:configure.ac:85: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
-@%:@undef HAVE_STDLIB_H])
-m4trace:configure.ac:85: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the <string.h> header file. */
-@%:@undef HAVE_STRING_H])
-m4trace:configure.ac:85: -1- AH_OUTPUT([HAVE_STRINGS_H], [/* Define to 1 if you have the <strings.h> header file. */
-@%:@undef HAVE_STRINGS_H])
-m4trace:configure.ac:85: -1- AH_OUTPUT([HAVE_SYS_PARAM_H], [/* Define to 1 if you have the <sys/param.h> header file. */
-@%:@undef HAVE_SYS_PARAM_H])
-m4trace:configure.ac:85: -1- AH_OUTPUT([HAVE_SYS_SOCKET_H], [/* Define to 1 if you have the <sys/socket.h> header file. */
-@%:@undef HAVE_SYS_SOCKET_H])
-m4trace:configure.ac:85: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
-@%:@undef HAVE_UNISTD_H])
-m4trace:configure.ac:87: -1- AH_OUTPUT([HAVE_SYS_TIME_H], [/* Define to 1 if you have the <sys/time.h> header file. */
-@%:@undef HAVE_SYS_TIME_H])
-m4trace:configure.ac:87: -1- AH_OUTPUT([HAVE_TIME_H], [/* Define to 1 if you have the <time.h> header file. */
-@%:@undef HAVE_TIME_H])
-m4trace:configure.ac:88: -1- AH_OUTPUT([HAVE_SYS_TYPES_H], [/* Define to 1 if you have the <sys/types.h> header file. */
-@%:@undef HAVE_SYS_TYPES_H])
-m4trace:configure.ac:88: -1- AH_OUTPUT([HAVE_SYS_STAT_H], [/* Define to 1 if you have the <sys/stat.h> header file. */
-@%:@undef HAVE_SYS_STAT_H])
-m4trace:configure.ac:91: -1- AH_OUTPUT([inline], [/* Define to `__inline__\' or `__inline\' if that\'s what the C compiler
-   calls it, or to nothing if \'inline\' is not supported under any name.  */
-#ifndef __cplusplus
-#undef inline
-#endif])
-m4trace:configure.ac:92: -1- AC_DEFINE_TRACE_LITERAL([size_t])
-m4trace:configure.ac:92: -1- m4_pattern_allow([^size_t$])
-m4trace:configure.ac:92: -1- AH_OUTPUT([size_t], [/* Define to `unsigned int\' if <sys/types.h> does not define. */
-@%:@undef size_t])
-m4trace:configure.ac:94: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SOCKADDR_IN6_SIN6_LEN])
-m4trace:configure.ac:94: -1- m4_pattern_allow([^HAVE_SOCKADDR_IN6_SIN6_LEN$])
-m4trace:configure.ac:94: -1- AH_OUTPUT([HAVE_SOCKADDR_IN6_SIN6_LEN], [/* Define to 1 if struct sockaddr_in6 has a member sin6_len. */
-@%:@undef HAVE_SOCKADDR_IN6_SIN6_LEN])
-m4trace:configure.ac:100: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
-@%:@undef HAVE_STDLIB_H])
-m4trace:configure.ac:100: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STDLIB_H])
-m4trace:configure.ac:100: -1- m4_pattern_allow([^HAVE_STDLIB_H$])
-m4trace:configure.ac:100: -1- AC_DEFINE_TRACE_LITERAL([HAVE_MALLOC])
-m4trace:configure.ac:100: -1- m4_pattern_allow([^HAVE_MALLOC$])
-m4trace:configure.ac:100: -1- AH_OUTPUT([HAVE_MALLOC], [/* Define to 1 if your system has a GNU libc compatible `malloc\' function, and
-   to 0 otherwise. */
-@%:@undef HAVE_MALLOC])
-m4trace:configure.ac:100: -1- AC_DEFINE_TRACE_LITERAL([HAVE_MALLOC])
-m4trace:configure.ac:100: -1- m4_pattern_allow([^HAVE_MALLOC$])
-m4trace:configure.ac:100: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS malloc.$ac_objext"])
-m4trace:configure.ac:100: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
-m4trace:configure.ac:100: -1- m4_pattern_allow([^LIB@&t@OBJS$])
-m4trace:configure.ac:100: -1- AC_LIBSOURCE([malloc.c])
-m4trace:configure.ac:100: -1- AC_DEFINE_TRACE_LITERAL([malloc])
-m4trace:configure.ac:100: -1- m4_pattern_allow([^malloc$])
-m4trace:configure.ac:100: -1- AH_OUTPUT([malloc], [/* Define to rpl_malloc if the replacement function should be used. */
-@%:@undef malloc])
-m4trace:configure.ac:101: -1- AH_OUTPUT([HAVE_MEMSET], [/* Define to 1 if you have the `memset\' function. */
-@%:@undef HAVE_MEMSET])
-m4trace:configure.ac:101: -1- AH_OUTPUT([HAVE_SELECT], [/* Define to 1 if you have the `select\' function. */
-@%:@undef HAVE_SELECT])
-m4trace:configure.ac:101: -1- AH_OUTPUT([HAVE_SOCKET], [/* Define to 1 if you have the `socket\' function. */
-@%:@undef HAVE_SOCKET])
-m4trace:configure.ac:101: -1- AH_OUTPUT([HAVE_STRDUP], [/* Define to 1 if you have the `strdup\' function. */
-@%:@undef HAVE_STRDUP])
-m4trace:configure.ac:101: -1- AH_OUTPUT([HAVE_STRERROR], [/* Define to 1 if you have the `strerror\' function. */
-@%:@undef HAVE_STRERROR])
-m4trace:configure.ac:101: -1- AH_OUTPUT([HAVE_STRNLEN], [/* Define to 1 if you have the `strnlen\' function. */
-@%:@undef HAVE_STRNLEN])
-m4trace:configure.ac:101: -1- AH_OUTPUT([HAVE_FLS], [/* Define to 1 if you have the `fls\' function. */
-@%:@undef HAVE_FLS])
-m4trace:configure.ac:101: -1- AH_OUTPUT([HAVE_VPRINTF], [/* Define to 1 if you have the `vprintf\' function. */
-@%:@undef HAVE_VPRINTF])
-m4trace:configure.ac:104: -1- AC_CONFIG_HEADERS([dtls_config.h tinydtls.h])
-m4trace:configure.ac:107: -1- AH_OUTPUT([zzzz1], [
-#ifdef WITH_CONTIKI
-#include "platform-specific/platform.h"
-#endif])
-m4trace:configure.ac:112: -1- AC_CONFIG_FILES([Makefile
-                 doc/Makefile
-                 doc/Doxyfile
-                 tests/Makefile
-                 examples/contiki/Makefile
-                 platform-specific/Makefile
-                sha2/Makefile
-                aes/Makefile
-                ecc/Makefile])
-m4trace:configure.ac:121: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs])
-m4trace:configure.ac:121: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
-m4trace:configure.ac:121: -1- m4_pattern_allow([^LIB@&t@OBJS$])
-m4trace:configure.ac:121: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs])
-m4trace:configure.ac:121: -1- AC_SUBST_TRACE([LTLIBOBJS])
-m4trace:configure.ac:121: -1- m4_pattern_allow([^LTLIBOBJS$])
-m4trace:configure.ac:121: -1- AC_SUBST_TRACE([top_builddir])
-m4trace:configure.ac:121: -1- AC_SUBST_TRACE([top_build_prefix])
-m4trace:configure.ac:121: -1- AC_SUBST_TRACE([srcdir])
-m4trace:configure.ac:121: -1- AC_SUBST_TRACE([abs_srcdir])
-m4trace:configure.ac:121: -1- AC_SUBST_TRACE([top_srcdir])
-m4trace:configure.ac:121: -1- AC_SUBST_TRACE([abs_top_srcdir])
-m4trace:configure.ac:121: -1- AC_SUBST_TRACE([builddir])
-m4trace:configure.ac:121: -1- AC_SUBST_TRACE([abs_builddir])
-m4trace:configure.ac:121: -1- AC_SUBST_TRACE([abs_top_builddir])
diff --git a/external/wakaama/examples/shared/tinydtls/ccm.c b/external/wakaama/examples/shared/tinydtls/ccm.c
deleted file mode 100644 (file)
index 7563db8..0000000
+++ /dev/null
@@ -1,311 +0,0 @@
-/* dtls -- a very basic DTLS implementation
- *
- * Copyright (C) 2011--2014 Olaf Bergmann <bergmann@tzi.org>
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-#include <string.h>
-
-#include "dtls_config.h"
-#include "global.h"
-#include "numeric.h"
-#include "ccm.h"
-
-#ifdef HAVE_ASSERT_H
-# include <assert.h>
-#endif
-
-#define CCM_FLAGS(A,M,L) (((A > 0) << 6) | (((M - 2)/2) << 3) | (L - 1))
-
-#define MASK_L(_L) ((1 << 8 * _L) - 1)
-
-#define SET_COUNTER(A,L,cnt,C) {                                       \
-    int i;                                                             \
-    memset((A) + DTLS_CCM_BLOCKSIZE - (L), 0, (L));                    \
-    (C) = (cnt) & MASK_L(L);                                           \
-    for (i = DTLS_CCM_BLOCKSIZE - 1; (C) && (i > (L)); --i, (C) >>= 8) \
-      (A)[i] |= (C) & 0xFF;                                            \
-  }
-
-static inline void 
-block0(size_t M,       /* number of auth bytes */
-       size_t L,       /* number of bytes to encode message length */
-       size_t la,      /* l(a) octets additional authenticated data */
-       size_t lm,      /* l(m) message length */
-       unsigned char nonce[DTLS_CCM_BLOCKSIZE],
-       unsigned char *result) {
-  int i;
-
-  result[0] = CCM_FLAGS(la, M, L);
-
-  /* copy the nonce */
-  memcpy(result + 1, nonce, DTLS_CCM_BLOCKSIZE - L);
-  
-  for (i=0; i < L; i++) {
-    result[15-i] = lm & 0xff;
-    lm >>= 8;
-  }
-}
-
-/** 
- * Creates the CBC-MAC for the additional authentication data that
- * is sent in cleartext. 
- *
- * \param ctx  The crypto context for the AES encryption.
- * \param msg  The message starting with the additional authentication data.
- * \param la   The number of additional authentication bytes in \p msg.
- * \param B    The input buffer for crypto operations. When this function
- *             is called, \p B must be initialized with \c B0 (the first
- *             authentication block.
- * \param X    The output buffer where the result of the CBC calculation
- *             is placed.
- * \return     The result is written to \p X.
- */
-static void
-add_auth_data(rijndael_ctx *ctx, const unsigned char *msg, size_t la,
-             unsigned char B[DTLS_CCM_BLOCKSIZE], 
-             unsigned char X[DTLS_CCM_BLOCKSIZE]) {
-  size_t i,j; 
-
-  rijndael_encrypt(ctx, B, X);
-
-  memset(B, 0, DTLS_CCM_BLOCKSIZE);
-
-  if (!la)
-    return;
-
-#ifndef WITH_CONTIKI
-    if (la < 0xFF00) {         /* 2^16 - 2^8 */
-      j = 2;
-      dtls_int_to_uint16(B, la);
-  } else if (la <= UINT32_MAX) {
-      j = 6;
-      dtls_int_to_uint16(B, 0xFFFE);
-      dtls_int_to_uint32(B+2, la);
-    } else {
-      j = 10;
-      dtls_int_to_uint16(B, 0xFFFF);
-      dtls_int_to_uint64(B+2, la);
-    }
-#else /* WITH_CONTIKI */
-  /* With Contiki, we are building for small devices and thus
-   * anticipate that the number of additional authentication bytes
-   * will not exceed 65280 bytes (0xFF00) and we can skip the
-   * workarounds required for j=6 and j=10 on devices with a word size
-   * of 32 bits or 64 bits, respectively.
-   */
-
-  assert(la < 0xFF00);
-  j = 2;
-  dtls_int_to_uint16(B, la);
-#endif /* WITH_CONTIKI */
-
-    i = min(DTLS_CCM_BLOCKSIZE - j, la);
-    memcpy(B + j, msg, i);
-    la -= i;
-    msg += i;
-    
-    memxor(B, X, DTLS_CCM_BLOCKSIZE);
-  
-  rijndael_encrypt(ctx, B, X);
-  
-  while (la > DTLS_CCM_BLOCKSIZE) {
-    for (i = 0; i < DTLS_CCM_BLOCKSIZE; ++i)
-      B[i] = X[i] ^ *msg++;
-    la -= DTLS_CCM_BLOCKSIZE;
-
-    rijndael_encrypt(ctx, B, X);
-  }
-  
-  if (la) {
-    memset(B, 0, DTLS_CCM_BLOCKSIZE);
-    memcpy(B, msg, la);
-    memxor(B, X, DTLS_CCM_BLOCKSIZE);
-
-    rijndael_encrypt(ctx, B, X);  
-  } 
-}
-
-static inline void
-encrypt(rijndael_ctx *ctx, size_t L, unsigned long counter,
-       unsigned char *msg, size_t len,
-       unsigned char A[DTLS_CCM_BLOCKSIZE],
-       unsigned char S[DTLS_CCM_BLOCKSIZE]) {
-
-  static unsigned long counter_tmp;
-
-  SET_COUNTER(A, L, counter, counter_tmp);    
-  rijndael_encrypt(ctx, A, S);
-  memxor(msg, S, len);
-}
-
-static inline void
-mac(rijndael_ctx *ctx, 
-    unsigned char *msg, size_t len,
-    unsigned char B[DTLS_CCM_BLOCKSIZE],
-    unsigned char X[DTLS_CCM_BLOCKSIZE]) {
-  size_t i;
-
-  for (i = 0; i < len; ++i)
-    B[i] = X[i] ^ msg[i];
-
-  rijndael_encrypt(ctx, B, X);
-
-}
-
-long int
-dtls_ccm_encrypt_message(rijndael_ctx *ctx, size_t M, size_t L, 
-                        unsigned char nonce[DTLS_CCM_BLOCKSIZE], 
-                        unsigned char *msg, size_t lm, 
-                        const unsigned char *aad, size_t la) {
-  size_t i, len;
-  unsigned long counter_tmp;
-  unsigned long counter = 1; /* \bug does not work correctly on ia32 when
-                                    lm >= 2^16 */
-  unsigned char A[DTLS_CCM_BLOCKSIZE]; /* A_i blocks for encryption input */
-  unsigned char B[DTLS_CCM_BLOCKSIZE]; /* B_i blocks for CBC-MAC input */
-  unsigned char S[DTLS_CCM_BLOCKSIZE]; /* S_i = encrypted A_i blocks */
-  unsigned char X[DTLS_CCM_BLOCKSIZE]; /* X_i = encrypted B_i blocks */
-
-  len = lm;                    /* save original length */
-  /* create the initial authentication block B0 */
-  block0(M, L, la, lm, nonce, B);
-  add_auth_data(ctx, aad, la, B, X);
-
-  /* initialize block template */
-  A[0] = L-1;
-
-  /* copy the nonce */
-  memcpy(A + 1, nonce, DTLS_CCM_BLOCKSIZE - L);
-  
-  while (lm >= DTLS_CCM_BLOCKSIZE) {
-    /* calculate MAC */
-    mac(ctx, msg, DTLS_CCM_BLOCKSIZE, B, X);
-
-    /* encrypt */
-    encrypt(ctx, L, counter, msg, DTLS_CCM_BLOCKSIZE, A, S);
-
-    /* update local pointers */
-    lm -= DTLS_CCM_BLOCKSIZE;
-    msg += DTLS_CCM_BLOCKSIZE;
-    counter++;
-  }
-
-  if (lm) {
-    /* Calculate MAC. The remainder of B must be padded with zeroes, so
-     * B is constructed to contain X ^ msg for the first lm bytes (done in
-     * mac() and X ^ 0 for the remaining DTLS_CCM_BLOCKSIZE - lm bytes
-     * (i.e., we can use memcpy() here).
-     */
-    memcpy(B + lm, X + lm, DTLS_CCM_BLOCKSIZE - lm);
-    mac(ctx, msg, lm, B, X);
-
-    /* encrypt */
-    encrypt(ctx, L, counter, msg, lm, A, S);
-
-    /* update local pointers */
-    msg += lm;
-  }
-  
-  /* calculate S_0 */  
-  SET_COUNTER(A, L, 0, counter_tmp);
-  rijndael_encrypt(ctx, A, S);
-
-  for (i = 0; i < M; ++i)
-    *msg++ = X[i] ^ S[i];
-
-  return len + M;
-}
-
-long int
-dtls_ccm_decrypt_message(rijndael_ctx *ctx, size_t M, size_t L,
-                        unsigned char nonce[DTLS_CCM_BLOCKSIZE], 
-                        unsigned char *msg, size_t lm, 
-                        const unsigned char *aad, size_t la) {
-  
-  size_t len;
-  unsigned long counter_tmp;
-  unsigned long counter = 1; /* \bug does not work correctly on ia32 when
-                                    lm >= 2^16 */
-  unsigned char A[DTLS_CCM_BLOCKSIZE]; /* A_i blocks for encryption input */
-  unsigned char B[DTLS_CCM_BLOCKSIZE]; /* B_i blocks for CBC-MAC input */
-  unsigned char S[DTLS_CCM_BLOCKSIZE]; /* S_i = encrypted A_i blocks */
-  unsigned char X[DTLS_CCM_BLOCKSIZE]; /* X_i = encrypted B_i blocks */
-
-  if (lm < M)
-    goto error;
-
-  len = lm;          /* save original length */
-  lm -= M;           /* detract MAC size*/
-
-  /* create the initial authentication block B0 */
-  block0(M, L, la, lm, nonce, B);
-  add_auth_data(ctx, aad, la, B, X);
-
-  /* initialize block template */
-  A[0] = L-1;
-
-  /* copy the nonce */
-  memcpy(A + 1, nonce, DTLS_CCM_BLOCKSIZE - L);
-  
-  while (lm >= DTLS_CCM_BLOCKSIZE) {
-    /* decrypt */
-    encrypt(ctx, L, counter, msg, DTLS_CCM_BLOCKSIZE, A, S);
-    
-    /* calculate MAC */
-    mac(ctx, msg, DTLS_CCM_BLOCKSIZE, B, X);
-
-    /* update local pointers */
-    lm -= DTLS_CCM_BLOCKSIZE;
-    msg += DTLS_CCM_BLOCKSIZE;
-    counter++;
-  }
-
-  if (lm) {
-    /* decrypt */
-    encrypt(ctx, L, counter, msg, lm, A, S);
-
-    /* Calculate MAC. Note that msg ends in the MAC so we must
-     * construct B to contain X ^ msg for the first lm bytes (done in
-     * mac() and X ^ 0 for the remaining DTLS_CCM_BLOCKSIZE - lm bytes
-     * (i.e., we can use memcpy() here).
-     */
-    memcpy(B + lm, X + lm, DTLS_CCM_BLOCKSIZE - lm);
-    mac(ctx, msg, lm, B, X); 
-
-    /* update local pointers */
-    msg += lm;
-  }
-  
-  /* calculate S_0 */  
-  SET_COUNTER(A, L, 0, counter_tmp);
-  rijndael_encrypt(ctx, A, S);
-
-  memxor(msg, S, M);
-
-  /* return length if MAC is valid, otherwise continue with error handling */
-  if (equals(X, msg, M))
-    return len - M;
-  
- error:
-  return -1;
-}
diff --git a/external/wakaama/examples/shared/tinydtls/ccm.h b/external/wakaama/examples/shared/tinydtls/ccm.h
deleted file mode 100644 (file)
index c3949d2..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-/* dtls -- a very basic DTLS implementation
- *
- * Copyright (C) 2011--2012 Olaf Bergmann <bergmann@tzi.org>
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-#ifndef _DTLS_CCM_H_
-#define _DTLS_CCM_H_
-
-#include "aes/rijndael.h"
-
-/* implementation of Counter Mode CBC-MAC, RFC 3610 */
-
-#define DTLS_CCM_BLOCKSIZE  16 /**< size of hmac blocks */
-#define DTLS_CCM_MAX        16 /**< max number of bytes in digest */
-#define DTLS_CCM_NONCE_SIZE 12 /**< size of nonce */
-
-/** 
- * Authenticates and encrypts a message using AES in CCM mode. Please
- * see also RFC 3610 for the meaning of \p M, \p L, \p lm and \p la.
- * 
- * \param ctx The initialized rijndael_ctx object to be used for AES operations.
- * \param M   The number of authentication octets.
- * \param L   The number of bytes used to encode the message length.
- * \param N   The nonce value to use. You must provide \c DTLS_CCM_BLOCKSIZE 
- *            nonce octets, although only the first \c 16 - \p L are used.
- * \param msg The message to encrypt. The first \p la octets are additional
- *            authentication data that will be cleartext. Note that the 
- *            encryption operation modifies the contents of \p msg and adds 
- *            \p M bytes MAC. Therefore, the buffer must be at least
- *            \p lm + \p M bytes large.
- * \param lm  The actual length of \p msg.
- * \param aad A pointer to the additional authentication data (can be \c NULL if
- *            \p la is zero).
- * \param la  The number of additional authentication octets (may be zero).
- * \return FIXME
- */
-long int
-dtls_ccm_encrypt_message(rijndael_ctx *ctx, size_t M, size_t L, 
-                        unsigned char nonce[DTLS_CCM_BLOCKSIZE], 
-                        unsigned char *msg, size_t lm, 
-                        const unsigned char *aad, size_t la);
-
-long int
-dtls_ccm_decrypt_message(rijndael_ctx *ctx, size_t M, size_t L, 
-                        unsigned char nonce[DTLS_CCM_BLOCKSIZE], 
-                        unsigned char *msg, size_t lm, 
-                        const unsigned char *aad, size_t la);
-
-#endif /* _DTLS_CCM_H_ */
diff --git a/external/wakaama/examples/shared/tinydtls/config.log b/external/wakaama/examples/shared/tinydtls/config.log
deleted file mode 100644 (file)
index 93b3209..0000000
+++ /dev/null
@@ -1,965 +0,0 @@
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-
-It was created by tinydtls configure 0.8.2, which was
-generated by GNU Autoconf 2.69.  Invocation command line was
-
-  $ ./configure 
-
-## --------- ##
-## Platform. ##
-## --------- ##
-
-hostname = ubuntu
-uname -m = x86_64
-uname -r = 3.13.0-96-generic
-uname -s = Linux
-uname -v = #143-Ubuntu SMP Mon Aug 29 20:15:20 UTC 2016
-
-/usr/bin/uname -p = unknown
-/bin/uname -X     = unknown
-
-/bin/arch              = unknown
-/usr/bin/arch -k       = unknown
-/usr/convex/getsysinfo = unknown
-/usr/bin/hostinfo      = unknown
-/bin/machine           = unknown
-/usr/bin/oslevel       = unknown
-/bin/universe          = unknown
-
-PATH: /home/hj/MentorGraphics/Sourcery_CodeBench_Lite_for_MIPS_ELF/bin
-PATH: /usr/local/sbin
-PATH: /usr/local/bin
-PATH: /usr/sbin
-PATH: /usr/bin
-PATH: /sbin
-PATH: /bin
-PATH: /usr/games
-PATH: /usr/local/games
-
-
-## ----------- ##
-## Core tests. ##
-## ----------- ##
-
-configure:2226: checking for doxygen
-configure:2257: result: :
-configure:2267: checking for etags
-configure:2298: result: /bin/false
-configure:2309: checking whether make sets $(MAKE)
-configure:2331: result: yes
-configure:2388: checking for gcc
-configure:2404: found /usr/bin/gcc
-configure:2415: result: gcc
-configure:2644: checking for C compiler version
-configure:2653: gcc --version >&5
-gcc (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4
-Copyright (C) 2013 Free Software Foundation, Inc.
-This is free software; see the source for copying conditions.  There is NO
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-configure:2664: $? = 0
-configure:2653: gcc -v >&5
-Using built-in specs.
-COLLECT_GCC=gcc
-COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.8/lto-wrapper
-Target: x86_64-linux-gnu
-Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.8.4-2ubuntu1~14.04.3' --with-bugurl=file:///usr/share/doc/gcc-4.8/README.Bugs --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.8 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.8 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-libmudflap --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.8-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
-Thread model: posix
-gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.3) 
-configure:2664: $? = 0
-configure:2653: gcc -V >&5
-gcc: error: unrecognized command line option '-V'
-gcc: fatal error: no input files
-compilation terminated.
-configure:2664: $? = 4
-configure:2653: gcc -qversion >&5
-gcc: error: unrecognized command line option '-qversion'
-gcc: fatal error: no input files
-compilation terminated.
-configure:2664: $? = 4
-configure:2684: checking whether the C compiler works
-configure:2706: gcc    conftest.c  >&5
-configure:2710: $? = 0
-configure:2758: result: yes
-configure:2761: checking for C compiler default output file name
-configure:2763: result: a.out
-configure:2769: checking for suffix of executables
-configure:2776: gcc -o conftest    conftest.c  >&5
-configure:2780: $? = 0
-configure:2802: result: 
-configure:2824: checking whether we are cross compiling
-configure:2832: gcc -o conftest    conftest.c  >&5
-configure:2836: $? = 0
-configure:2843: ./conftest
-configure:2847: $? = 0
-configure:2862: result: no
-configure:2867: checking for suffix of object files
-configure:2889: gcc -c   conftest.c >&5
-configure:2893: $? = 0
-configure:2914: result: o
-configure:2918: checking whether we are using the GNU C compiler
-configure:2937: gcc -c   conftest.c >&5
-configure:2937: $? = 0
-configure:2946: result: yes
-configure:2955: checking whether gcc accepts -g
-configure:2975: gcc -c -g  conftest.c >&5
-configure:2975: $? = 0
-configure:3016: result: yes
-configure:3033: checking for gcc option to accept ISO C89
-configure:3096: gcc  -c -g -O2  conftest.c >&5
-configure:3096: $? = 0
-configure:3109: result: none needed
-configure:3172: checking for ranlib
-configure:3188: found /usr/bin/ranlib
-configure:3199: result: ranlib
-configure:3228: checking how to run the C preprocessor
-configure:3259: gcc -E  conftest.c
-configure:3259: $? = 0
-configure:3273: gcc -E  conftest.c
-conftest.c:9:28: fatal error: ac_nonexistent.h: No such file or directory
- #include <ac_nonexistent.h>
-                            ^
-compilation terminated.
-configure:3273: $? = 1
-configure: failed program was:
-| /* confdefs.h */
-| #define PACKAGE_NAME "tinydtls"
-| #define PACKAGE_TARNAME "tinydtls"
-| #define PACKAGE_VERSION "0.8.2"
-| #define PACKAGE_STRING "tinydtls 0.8.2"
-| #define PACKAGE_BUGREPORT ""
-| #define PACKAGE_URL ""
-| /* end confdefs.h.  */
-| #include <ac_nonexistent.h>
-configure:3298: result: gcc -E
-configure:3318: gcc -E  conftest.c
-configure:3318: $? = 0
-configure:3332: gcc -E  conftest.c
-conftest.c:9:28: fatal error: ac_nonexistent.h: No such file or directory
- #include <ac_nonexistent.h>
-                            ^
-compilation terminated.
-configure:3332: $? = 1
-configure: failed program was:
-| /* confdefs.h */
-| #define PACKAGE_NAME "tinydtls"
-| #define PACKAGE_TARNAME "tinydtls"
-| #define PACKAGE_VERSION "0.8.2"
-| #define PACKAGE_STRING "tinydtls 0.8.2"
-| #define PACKAGE_BUGREPORT ""
-| #define PACKAGE_URL ""
-| /* end confdefs.h.  */
-| #include <ac_nonexistent.h>
-configure:3361: checking for grep that handles long lines and -e
-configure:3419: result: /bin/grep
-configure:3424: checking for egrep
-configure:3486: result: /bin/grep -E
-configure:3491: checking for ANSI C header files
-configure:3511: gcc -c -g -O2  conftest.c >&5
-configure:3511: $? = 0
-configure:3584: gcc -o conftest -g -O2   conftest.c  >&5
-configure:3584: $? = 0
-configure:3584: ./conftest
-configure:3584: $? = 0
-configure:3595: result: yes
-configure:3608: checking for sys/types.h
-configure:3608: gcc -c -g -O2  conftest.c >&5
-configure:3608: $? = 0
-configure:3608: result: yes
-configure:3608: checking for sys/stat.h
-configure:3608: gcc -c -g -O2  conftest.c >&5
-configure:3608: $? = 0
-configure:3608: result: yes
-configure:3608: checking for stdlib.h
-configure:3608: gcc -c -g -O2  conftest.c >&5
-configure:3608: $? = 0
-configure:3608: result: yes
-configure:3608: checking for string.h
-configure:3608: gcc -c -g -O2  conftest.c >&5
-configure:3608: $? = 0
-configure:3608: result: yes
-configure:3608: checking for memory.h
-configure:3608: gcc -c -g -O2  conftest.c >&5
-configure:3608: $? = 0
-configure:3608: result: yes
-configure:3608: checking for strings.h
-configure:3608: gcc -c -g -O2  conftest.c >&5
-configure:3608: $? = 0
-configure:3608: result: yes
-configure:3608: checking for inttypes.h
-configure:3608: gcc -c -g -O2  conftest.c >&5
-configure:3608: $? = 0
-configure:3608: result: yes
-configure:3608: checking for stdint.h
-configure:3608: gcc -c -g -O2  conftest.c >&5
-configure:3608: $? = 0
-configure:3608: result: yes
-configure:3608: checking for unistd.h
-configure:3608: gcc -c -g -O2  conftest.c >&5
-configure:3608: $? = 0
-configure:3608: result: yes
-configure:3620: checking whether byte ordering is bigendian
-configure:3635: gcc -c -g -O2  conftest.c >&5
-conftest.c:20:9: error: unknown type name 'not'
-         not a universal capable compiler
-         ^
-conftest.c:20:15: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'universal'
-         not a universal capable compiler
-               ^
-conftest.c:20:15: error: unknown type name 'universal'
-configure:3635: $? = 1
-configure: failed program was:
-| /* confdefs.h */
-| #define PACKAGE_NAME "tinydtls"
-| #define PACKAGE_TARNAME "tinydtls"
-| #define PACKAGE_VERSION "0.8.2"
-| #define PACKAGE_STRING "tinydtls 0.8.2"
-| #define PACKAGE_BUGREPORT ""
-| #define PACKAGE_URL ""
-| #define STDC_HEADERS 1
-| #define HAVE_SYS_TYPES_H 1
-| #define HAVE_SYS_STAT_H 1
-| #define HAVE_STDLIB_H 1
-| #define HAVE_STRING_H 1
-| #define HAVE_MEMORY_H 1
-| #define HAVE_STRINGS_H 1
-| #define HAVE_INTTYPES_H 1
-| #define HAVE_STDINT_H 1
-| #define HAVE_UNISTD_H 1
-| /* end confdefs.h.  */
-| #ifndef __APPLE_CC__
-|             not a universal capable compiler
-|           #endif
-|           typedef int dummy;
-| 
-configure:3680: gcc -c -g -O2  conftest.c >&5
-configure:3680: $? = 0
-configure:3698: gcc -c -g -O2  conftest.c >&5
-conftest.c: In function 'main':
-conftest.c:26:4: error: unknown type name 'not'
-    not big endian
-    ^
-conftest.c:26:12: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'endian'
-    not big endian
-            ^
-configure:3698: $? = 1
-configure: failed program was:
-| /* confdefs.h */
-| #define PACKAGE_NAME "tinydtls"
-| #define PACKAGE_TARNAME "tinydtls"
-| #define PACKAGE_VERSION "0.8.2"
-| #define PACKAGE_STRING "tinydtls 0.8.2"
-| #define PACKAGE_BUGREPORT ""
-| #define PACKAGE_URL ""
-| #define STDC_HEADERS 1
-| #define HAVE_SYS_TYPES_H 1
-| #define HAVE_SYS_STAT_H 1
-| #define HAVE_STDLIB_H 1
-| #define HAVE_STRING_H 1
-| #define HAVE_MEMORY_H 1
-| #define HAVE_STRINGS_H 1
-| #define HAVE_INTTYPES_H 1
-| #define HAVE_STDINT_H 1
-| #define HAVE_UNISTD_H 1
-| /* end confdefs.h.  */
-| #include <sys/types.h>
-|              #include <sys/param.h>
-| 
-| int
-| main ()
-| {
-| #if BYTE_ORDER != BIG_ENDIAN
-|               not big endian
-|              #endif
-| 
-|   ;
-|   return 0;
-| }
-configure:3826: result: no
-configure:3846: checking for library containing gethostbyname
-configure:3877: gcc -o conftest -g -O2   conftest.c  >&5
-configure:3877: $? = 0
-configure:3894: result: none required
-configure:3902: checking for library containing socket
-configure:3933: gcc -o conftest -g -O2   conftest.c  >&5
-configure:3933: $? = 0
-configure:3950: result: none required
-configure:4010: checking assert.h usability
-configure:4010: gcc -c -g -O2  -DDTLSv12 -DWITH_SHA256 conftest.c >&5
-configure:4010: $? = 0
-configure:4010: result: yes
-configure:4010: checking assert.h presence
-configure:4010: gcc -E  -DDTLSv12 -DWITH_SHA256 conftest.c
-configure:4010: $? = 0
-configure:4010: result: yes
-configure:4010: checking for assert.h
-configure:4010: result: yes
-configure:4010: checking arpa/inet.h usability
-configure:4010: gcc -c -g -O2  -DDTLSv12 -DWITH_SHA256 conftest.c >&5
-configure:4010: $? = 0
-configure:4010: result: yes
-configure:4010: checking arpa/inet.h presence
-configure:4010: gcc -E  -DDTLSv12 -DWITH_SHA256 conftest.c
-configure:4010: $? = 0
-configure:4010: result: yes
-configure:4010: checking for arpa/inet.h
-configure:4010: result: yes
-configure:4010: checking fcntl.h usability
-configure:4010: gcc -c -g -O2  -DDTLSv12 -DWITH_SHA256 conftest.c >&5
-configure:4010: $? = 0
-configure:4010: result: yes
-configure:4010: checking fcntl.h presence
-configure:4010: gcc -E  -DDTLSv12 -DWITH_SHA256 conftest.c
-configure:4010: $? = 0
-configure:4010: result: yes
-configure:4010: checking for fcntl.h
-configure:4010: result: yes
-configure:4010: checking for inttypes.h
-configure:4010: result: yes
-configure:4010: checking netdb.h usability
-configure:4010: gcc -c -g -O2  -DDTLSv12 -DWITH_SHA256 conftest.c >&5
-configure:4010: $? = 0
-configure:4010: result: yes
-configure:4010: checking netdb.h presence
-configure:4010: gcc -E  -DDTLSv12 -DWITH_SHA256 conftest.c
-configure:4010: $? = 0
-configure:4010: result: yes
-configure:4010: checking for netdb.h
-configure:4010: result: yes
-configure:4010: checking netinet/in.h usability
-configure:4010: gcc -c -g -O2  -DDTLSv12 -DWITH_SHA256 conftest.c >&5
-configure:4010: $? = 0
-configure:4010: result: yes
-configure:4010: checking netinet/in.h presence
-configure:4010: gcc -E  -DDTLSv12 -DWITH_SHA256 conftest.c
-configure:4010: $? = 0
-configure:4010: result: yes
-configure:4010: checking for netinet/in.h
-configure:4010: result: yes
-configure:4010: checking stddef.h usability
-configure:4010: gcc -c -g -O2  -DDTLSv12 -DWITH_SHA256 conftest.c >&5
-configure:4010: $? = 0
-configure:4010: result: yes
-configure:4010: checking stddef.h presence
-configure:4010: gcc -E  -DDTLSv12 -DWITH_SHA256 conftest.c
-configure:4010: $? = 0
-configure:4010: result: yes
-configure:4010: checking for stddef.h
-configure:4010: result: yes
-configure:4010: checking for stdint.h
-configure:4010: result: yes
-configure:4010: checking for stdlib.h
-configure:4010: result: yes
-configure:4010: checking for string.h
-configure:4010: result: yes
-configure:4010: checking for strings.h
-configure:4010: result: yes
-configure:4010: checking sys/param.h usability
-configure:4010: gcc -c -g -O2  -DDTLSv12 -DWITH_SHA256 conftest.c >&5
-configure:4010: $? = 0
-configure:4010: result: yes
-configure:4010: checking sys/param.h presence
-configure:4010: gcc -E  -DDTLSv12 -DWITH_SHA256 conftest.c
-configure:4010: $? = 0
-configure:4010: result: yes
-configure:4010: checking for sys/param.h
-configure:4010: result: yes
-configure:4010: checking sys/socket.h usability
-configure:4010: gcc -c -g -O2  -DDTLSv12 -DWITH_SHA256 conftest.c >&5
-configure:4010: $? = 0
-configure:4010: result: yes
-configure:4010: checking sys/socket.h presence
-configure:4010: gcc -E  -DDTLSv12 -DWITH_SHA256 conftest.c
-configure:4010: $? = 0
-configure:4010: result: yes
-configure:4010: checking for sys/socket.h
-configure:4010: result: yes
-configure:4010: checking for unistd.h
-configure:4010: result: yes
-configure:4024: checking sys/time.h usability
-configure:4024: gcc -c -g -O2  -DDTLSv12 -DWITH_SHA256 conftest.c >&5
-configure:4024: $? = 0
-configure:4024: result: yes
-configure:4024: checking sys/time.h presence
-configure:4024: gcc -E  -DDTLSv12 -DWITH_SHA256 conftest.c
-configure:4024: $? = 0
-configure:4024: result: yes
-configure:4024: checking for sys/time.h
-configure:4024: result: yes
-configure:4024: checking time.h usability
-configure:4024: gcc -c -g -O2  -DDTLSv12 -DWITH_SHA256 conftest.c >&5
-configure:4024: $? = 0
-configure:4024: result: yes
-configure:4024: checking time.h presence
-configure:4024: gcc -E  -DDTLSv12 -DWITH_SHA256 conftest.c
-configure:4024: $? = 0
-configure:4024: result: yes
-configure:4024: checking for time.h
-configure:4024: result: yes
-configure:4037: checking for sys/types.h
-configure:4037: result: yes
-configure:4037: checking for sys/stat.h
-configure:4037: result: yes
-configure:4049: checking for inline
-configure:4065: gcc -c -g -O2  -DDTLSv12 -DWITH_SHA256 conftest.c >&5
-configure:4065: $? = 0
-configure:4073: result: inline
-configure:4091: checking for size_t
-configure:4091: gcc -c -g -O2  -DDTLSv12 -DWITH_SHA256 conftest.c >&5
-configure:4091: $? = 0
-configure:4091: gcc -c -g -O2  -DDTLSv12 -DWITH_SHA256 conftest.c >&5
-conftest.c: In function 'main':
-conftest.c:75:21: error: expected expression before ')' token
- if (sizeof ((size_t)))
-                     ^
-configure:4091: $? = 1
-configure: failed program was:
-| /* confdefs.h */
-| #define PACKAGE_NAME "tinydtls"
-| #define PACKAGE_TARNAME "tinydtls"
-| #define PACKAGE_VERSION "0.8.2"
-| #define PACKAGE_STRING "tinydtls 0.8.2"
-| #define PACKAGE_BUGREPORT ""
-| #define PACKAGE_URL ""
-| #define STDC_HEADERS 1
-| #define HAVE_SYS_TYPES_H 1
-| #define HAVE_SYS_STAT_H 1
-| #define HAVE_STDLIB_H 1
-| #define HAVE_STRING_H 1
-| #define HAVE_MEMORY_H 1
-| #define HAVE_STRINGS_H 1
-| #define HAVE_INTTYPES_H 1
-| #define HAVE_STDINT_H 1
-| #define HAVE_UNISTD_H 1
-| #define DTLS_ECC 1
-| #define DTLS_PSK 1
-| #define HAVE_ASSERT_H 1
-| #define HAVE_ARPA_INET_H 1
-| #define HAVE_FCNTL_H 1
-| #define HAVE_INTTYPES_H 1
-| #define HAVE_NETDB_H 1
-| #define HAVE_NETINET_IN_H 1
-| #define HAVE_STDDEF_H 1
-| #define HAVE_STDINT_H 1
-| #define HAVE_STDLIB_H 1
-| #define HAVE_STRING_H 1
-| #define HAVE_STRINGS_H 1
-| #define HAVE_SYS_PARAM_H 1
-| #define HAVE_SYS_SOCKET_H 1
-| #define HAVE_UNISTD_H 1
-| #define HAVE_SYS_TIME_H 1
-| #define HAVE_TIME_H 1
-| #define HAVE_SYS_TYPES_H 1
-| #define HAVE_SYS_STAT_H 1
-| /* end confdefs.h.  */
-| #include <stdio.h>
-| #ifdef HAVE_SYS_TYPES_H
-| # include <sys/types.h>
-| #endif
-| #ifdef HAVE_SYS_STAT_H
-| # include <sys/stat.h>
-| #endif
-| #ifdef STDC_HEADERS
-| # include <stdlib.h>
-| # include <stddef.h>
-| #else
-| # ifdef HAVE_STDLIB_H
-| #  include <stdlib.h>
-| # endif
-| #endif
-| #ifdef HAVE_STRING_H
-| # if !defined STDC_HEADERS && defined HAVE_MEMORY_H
-| #  include <memory.h>
-| # endif
-| # include <string.h>
-| #endif
-| #ifdef HAVE_STRINGS_H
-| # include <strings.h>
-| #endif
-| #ifdef HAVE_INTTYPES_H
-| # include <inttypes.h>
-| #endif
-| #ifdef HAVE_STDINT_H
-| # include <stdint.h>
-| #endif
-| #ifdef HAVE_UNISTD_H
-| # include <unistd.h>
-| #endif
-| int
-| main ()
-| {
-| if (sizeof ((size_t)))
-|          return 0;
-|   ;
-|   return 0;
-| }
-configure:4091: result: yes
-configure:4103: checking for struct sockaddr_in6.sin6_len
-configure:4103: gcc -c -g -O2  -DDTLSv12 -DWITH_SHA256 conftest.c >&5
-conftest.c: In function 'main':
-conftest.c:45:12: error: 'struct sockaddr_in6' has no member named 'sin6_len'
- if (ac_aggr.sin6_len)
-            ^
-configure:4103: $? = 1
-configure: failed program was:
-| /* confdefs.h */
-| #define PACKAGE_NAME "tinydtls"
-| #define PACKAGE_TARNAME "tinydtls"
-| #define PACKAGE_VERSION "0.8.2"
-| #define PACKAGE_STRING "tinydtls 0.8.2"
-| #define PACKAGE_BUGREPORT ""
-| #define PACKAGE_URL ""
-| #define STDC_HEADERS 1
-| #define HAVE_SYS_TYPES_H 1
-| #define HAVE_SYS_STAT_H 1
-| #define HAVE_STDLIB_H 1
-| #define HAVE_STRING_H 1
-| #define HAVE_MEMORY_H 1
-| #define HAVE_STRINGS_H 1
-| #define HAVE_INTTYPES_H 1
-| #define HAVE_STDINT_H 1
-| #define HAVE_UNISTD_H 1
-| #define DTLS_ECC 1
-| #define DTLS_PSK 1
-| #define HAVE_ASSERT_H 1
-| #define HAVE_ARPA_INET_H 1
-| #define HAVE_FCNTL_H 1
-| #define HAVE_INTTYPES_H 1
-| #define HAVE_NETDB_H 1
-| #define HAVE_NETINET_IN_H 1
-| #define HAVE_STDDEF_H 1
-| #define HAVE_STDINT_H 1
-| #define HAVE_STDLIB_H 1
-| #define HAVE_STRING_H 1
-| #define HAVE_STRINGS_H 1
-| #define HAVE_SYS_PARAM_H 1
-| #define HAVE_SYS_SOCKET_H 1
-| #define HAVE_UNISTD_H 1
-| #define HAVE_SYS_TIME_H 1
-| #define HAVE_TIME_H 1
-| #define HAVE_SYS_TYPES_H 1
-| #define HAVE_SYS_STAT_H 1
-| /* end confdefs.h.  */
-| #include <netinet/in.h>
-| 
-| int
-| main ()
-| {
-| static struct sockaddr_in6 ac_aggr;
-| if (ac_aggr.sin6_len)
-| return 0;
-|   ;
-|   return 0;
-| }
-configure:4103: gcc -c -g -O2  -DDTLSv12 -DWITH_SHA256 conftest.c >&5
-conftest.c: In function 'main':
-conftest.c:45:19: error: 'struct sockaddr_in6' has no member named 'sin6_len'
- if (sizeof ac_aggr.sin6_len)
-                   ^
-configure:4103: $? = 1
-configure: failed program was:
-| /* confdefs.h */
-| #define PACKAGE_NAME "tinydtls"
-| #define PACKAGE_TARNAME "tinydtls"
-| #define PACKAGE_VERSION "0.8.2"
-| #define PACKAGE_STRING "tinydtls 0.8.2"
-| #define PACKAGE_BUGREPORT ""
-| #define PACKAGE_URL ""
-| #define STDC_HEADERS 1
-| #define HAVE_SYS_TYPES_H 1
-| #define HAVE_SYS_STAT_H 1
-| #define HAVE_STDLIB_H 1
-| #define HAVE_STRING_H 1
-| #define HAVE_MEMORY_H 1
-| #define HAVE_STRINGS_H 1
-| #define HAVE_INTTYPES_H 1
-| #define HAVE_STDINT_H 1
-| #define HAVE_UNISTD_H 1
-| #define DTLS_ECC 1
-| #define DTLS_PSK 1
-| #define HAVE_ASSERT_H 1
-| #define HAVE_ARPA_INET_H 1
-| #define HAVE_FCNTL_H 1
-| #define HAVE_INTTYPES_H 1
-| #define HAVE_NETDB_H 1
-| #define HAVE_NETINET_IN_H 1
-| #define HAVE_STDDEF_H 1
-| #define HAVE_STDINT_H 1
-| #define HAVE_STDLIB_H 1
-| #define HAVE_STRING_H 1
-| #define HAVE_STRINGS_H 1
-| #define HAVE_SYS_PARAM_H 1
-| #define HAVE_SYS_SOCKET_H 1
-| #define HAVE_UNISTD_H 1
-| #define HAVE_SYS_TIME_H 1
-| #define HAVE_TIME_H 1
-| #define HAVE_SYS_TYPES_H 1
-| #define HAVE_SYS_STAT_H 1
-| /* end confdefs.h.  */
-| #include <netinet/in.h>
-| 
-| int
-| main ()
-| {
-| static struct sockaddr_in6 ac_aggr;
-| if (sizeof ac_aggr.sin6_len)
-| return 0;
-|   ;
-|   return 0;
-| }
-configure:4103: result: no
-configure:4115: checking for stdlib.h
-configure:4115: result: yes
-configure:4125: checking for GNU libc compatible malloc
-configure:4149: gcc -o conftest -g -O2  -DDTLSv12 -DWITH_SHA256  conftest.c  >&5
-configure:4149: $? = 0
-configure:4149: ./conftest
-configure:4149: $? = 0
-configure:4159: result: yes
-configure:4183: checking for memset
-configure:4183: gcc -o conftest -g -O2  -DDTLSv12 -DWITH_SHA256  conftest.c  >&5
-conftest.c:64:6: warning: conflicting types for built-in function 'memset' [enabled by default]
- char memset ();
-      ^
-configure:4183: $? = 0
-configure:4183: result: yes
-configure:4183: checking for select
-configure:4183: gcc -o conftest -g -O2  -DDTLSv12 -DWITH_SHA256  conftest.c  >&5
-configure:4183: $? = 0
-configure:4183: result: yes
-configure:4183: checking for socket
-configure:4183: gcc -o conftest -g -O2  -DDTLSv12 -DWITH_SHA256  conftest.c  >&5
-configure:4183: $? = 0
-configure:4183: result: yes
-configure:4183: checking for strdup
-configure:4183: gcc -o conftest -g -O2  -DDTLSv12 -DWITH_SHA256  conftest.c  >&5
-conftest.c:67:6: warning: conflicting types for built-in function 'strdup' [enabled by default]
- char strdup ();
-      ^
-configure:4183: $? = 0
-configure:4183: result: yes
-configure:4183: checking for strerror
-configure:4183: gcc -o conftest -g -O2  -DDTLSv12 -DWITH_SHA256  conftest.c  >&5
-configure:4183: $? = 0
-configure:4183: result: yes
-configure:4183: checking for strnlen
-configure:4183: gcc -o conftest -g -O2  -DDTLSv12 -DWITH_SHA256  conftest.c  >&5
-configure:4183: $? = 0
-configure:4183: result: yes
-configure:4183: checking for fls
-configure:4183: gcc -o conftest -g -O2  -DDTLSv12 -DWITH_SHA256  conftest.c  >&5
-/tmp/ccyLc4C5.o: In function `main':
-/home/hj/tinyara/external/wakaama/examples/shared/tinydtls/conftest.c:81: undefined reference to `fls'
-collect2: error: ld returned 1 exit status
-configure:4183: $? = 1
-configure: failed program was:
-| /* confdefs.h */
-| #define PACKAGE_NAME "tinydtls"
-| #define PACKAGE_TARNAME "tinydtls"
-| #define PACKAGE_VERSION "0.8.2"
-| #define PACKAGE_STRING "tinydtls 0.8.2"
-| #define PACKAGE_BUGREPORT ""
-| #define PACKAGE_URL ""
-| #define STDC_HEADERS 1
-| #define HAVE_SYS_TYPES_H 1
-| #define HAVE_SYS_STAT_H 1
-| #define HAVE_STDLIB_H 1
-| #define HAVE_STRING_H 1
-| #define HAVE_MEMORY_H 1
-| #define HAVE_STRINGS_H 1
-| #define HAVE_INTTYPES_H 1
-| #define HAVE_STDINT_H 1
-| #define HAVE_UNISTD_H 1
-| #define DTLS_ECC 1
-| #define DTLS_PSK 1
-| #define HAVE_ASSERT_H 1
-| #define HAVE_ARPA_INET_H 1
-| #define HAVE_FCNTL_H 1
-| #define HAVE_INTTYPES_H 1
-| #define HAVE_NETDB_H 1
-| #define HAVE_NETINET_IN_H 1
-| #define HAVE_STDDEF_H 1
-| #define HAVE_STDINT_H 1
-| #define HAVE_STDLIB_H 1
-| #define HAVE_STRING_H 1
-| #define HAVE_STRINGS_H 1
-| #define HAVE_SYS_PARAM_H 1
-| #define HAVE_SYS_SOCKET_H 1
-| #define HAVE_UNISTD_H 1
-| #define HAVE_SYS_TIME_H 1
-| #define HAVE_TIME_H 1
-| #define HAVE_SYS_TYPES_H 1
-| #define HAVE_SYS_STAT_H 1
-| #define HAVE_STDLIB_H 1
-| #define HAVE_MALLOC 1
-| #define HAVE_MEMSET 1
-| #define HAVE_SELECT 1
-| #define HAVE_SOCKET 1
-| #define HAVE_STRDUP 1
-| #define HAVE_STRERROR 1
-| #define HAVE_STRNLEN 1
-| /* end confdefs.h.  */
-| /* Define fls to an innocuous variant, in case <limits.h> declares fls.
-|    For example, HP-UX 11i <limits.h> declares gettimeofday.  */
-| #define fls innocuous_fls
-| 
-| /* System header to define __stub macros and hopefully few prototypes,
-|     which can conflict with char fls (); below.
-|     Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-|     <limits.h> exists even on freestanding compilers.  */
-| 
-| #ifdef __STDC__
-| # include <limits.h>
-| #else
-| # include <assert.h>
-| #endif
-| 
-| #undef fls
-| 
-| /* Override any GCC internal prototype to avoid an error.
-|    Use char because int might match the return type of a GCC
-|    builtin and then its argument prototype would still apply.  */
-| #ifdef __cplusplus
-| extern "C"
-| #endif
-| char fls ();
-| /* The GNU C library defines this for functions which it implements
-|     to always fail with ENOSYS.  Some functions are actually named
-|     something starting with __ and the normal name is an alias.  */
-| #if defined __stub_fls || defined __stub___fls
-| choke me
-| #endif
-| 
-| int
-| main ()
-| {
-| return fls ();
-|   ;
-|   return 0;
-| }
-configure:4183: result: no
-configure:4183: checking for vprintf
-configure:4183: gcc -o conftest -g -O2  -DDTLSv12 -DWITH_SHA256  conftest.c  >&5
-conftest.c:70:6: warning: conflicting types for built-in function 'vprintf' [enabled by default]
- char vprintf ();
-      ^
-configure:4183: $? = 0
-configure:4183: result: yes
-configure:4317: creating ./config.status
-
-## ---------------------- ##
-## Running config.status. ##
-## ---------------------- ##
-
-This file was extended by tinydtls config.status 0.8.2, which was
-generated by GNU Autoconf 2.69.  Invocation command line was
-
-  CONFIG_FILES    = 
-  CONFIG_HEADERS  = 
-  CONFIG_LINKS    = 
-  CONFIG_COMMANDS = 
-  $ ./config.status 
-
-on ubuntu
-
-config.status:844: creating Makefile
-config.status:844: creating doc/Makefile
-config.status:844: creating doc/Doxyfile
-config.status:844: creating tests/Makefile
-config.status:844: creating examples/contiki/Makefile
-config.status:844: creating platform-specific/Makefile
-config.status:844: creating sha2/Makefile
-config.status:844: creating aes/Makefile
-config.status:844: creating ecc/Makefile
-config.status:844: creating dtls_config.h
-config.status:1014: dtls_config.h is unchanged
-config.status:844: creating tinydtls.h
-config.status:1014: tinydtls.h is unchanged
-
-## ---------------- ##
-## Cache variables. ##
-## ---------------- ##
-
-ac_cv_c_bigendian=no
-ac_cv_c_compiler_gnu=yes
-ac_cv_c_inline=inline
-ac_cv_env_CC_set=
-ac_cv_env_CC_value=
-ac_cv_env_CFLAGS_set=
-ac_cv_env_CFLAGS_value=
-ac_cv_env_CPPFLAGS_set=
-ac_cv_env_CPPFLAGS_value=
-ac_cv_env_CPP_set=
-ac_cv_env_CPP_value=
-ac_cv_env_LDFLAGS_set=
-ac_cv_env_LDFLAGS_value=
-ac_cv_env_LIBS_set=
-ac_cv_env_LIBS_value=
-ac_cv_env_build_alias_set=
-ac_cv_env_build_alias_value=
-ac_cv_env_host_alias_set=
-ac_cv_env_host_alias_value=
-ac_cv_env_target_alias_set=
-ac_cv_env_target_alias_value=
-ac_cv_func_fls=no
-ac_cv_func_malloc_0_nonnull=yes
-ac_cv_func_memset=yes
-ac_cv_func_select=yes
-ac_cv_func_socket=yes
-ac_cv_func_strdup=yes
-ac_cv_func_strerror=yes
-ac_cv_func_strnlen=yes
-ac_cv_func_vprintf=yes
-ac_cv_header_arpa_inet_h=yes
-ac_cv_header_assert_h=yes
-ac_cv_header_fcntl_h=yes
-ac_cv_header_inttypes_h=yes
-ac_cv_header_memory_h=yes
-ac_cv_header_netdb_h=yes
-ac_cv_header_netinet_in_h=yes
-ac_cv_header_stdc=yes
-ac_cv_header_stddef_h=yes
-ac_cv_header_stdint_h=yes
-ac_cv_header_stdlib_h=yes
-ac_cv_header_string_h=yes
-ac_cv_header_strings_h=yes
-ac_cv_header_sys_param_h=yes
-ac_cv_header_sys_socket_h=yes
-ac_cv_header_sys_stat_h=yes
-ac_cv_header_sys_time_h=yes
-ac_cv_header_sys_types_h=yes
-ac_cv_header_time_h=yes
-ac_cv_header_unistd_h=yes
-ac_cv_member_struct_sockaddr_in6_sin6_len=no
-ac_cv_objext=o
-ac_cv_path_DOXYGEN=:
-ac_cv_path_EGREP='/bin/grep -E'
-ac_cv_path_ETAGS=/bin/false
-ac_cv_path_GREP=/bin/grep
-ac_cv_prog_CPP='gcc -E'
-ac_cv_prog_ac_ct_CC=gcc
-ac_cv_prog_ac_ct_RANLIB=ranlib
-ac_cv_prog_cc_c89=
-ac_cv_prog_cc_g=yes
-ac_cv_prog_make_make_set=yes
-ac_cv_search_gethostbyname='none required'
-ac_cv_search_socket='none required'
-ac_cv_type_size_t=yes
-
-## ----------------- ##
-## Output variables. ##
-## ----------------- ##
-
-CC='gcc'
-CFLAGS='-g -O2'
-CPP='gcc -E'
-CPPFLAGS=' -DDTLSv12 -DWITH_SHA256'
-DEFS='-DHAVE_CONFIG_H'
-DOXYGEN=':'
-DTLS_ECC='1'
-DTLS_PSK='1'
-ECHO_C=''
-ECHO_N='-n'
-ECHO_T=''
-EGREP='/bin/grep -E'
-ETAGS='/bin/false'
-EXEEXT=''
-GREP='/bin/grep'
-LDFLAGS=''
-LIBOBJS=''
-LIBS=''
-LTLIBOBJS=''
-NDEBUG=''
-OBJEXT='o'
-OPT_OBJS=' ecc/ecc.o sha2/sha2.o'
-PACKAGE_BUGREPORT=''
-PACKAGE_NAME='tinydtls'
-PACKAGE_STRING='tinydtls 0.8.2'
-PACKAGE_TARNAME='tinydtls'
-PACKAGE_URL=''
-PACKAGE_VERSION='0.8.2'
-PATH_SEPARATOR=':'
-RANLIB='ranlib'
-SET_MAKE=''
-SHELL='/bin/bash'
-WITH_CONTIKI=''
-ac_ct_CC='gcc'
-bindir='${exec_prefix}/bin'
-build_alias=''
-datadir='${datarootdir}'
-datarootdir='${prefix}/share'
-docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
-dvidir='${docdir}'
-exec_prefix='${prefix}'
-host_alias=''
-htmldir='${docdir}'
-includedir='${prefix}/include'
-infodir='${datarootdir}/info'
-libdir='${exec_prefix}/lib'
-libexecdir='${exec_prefix}/libexec'
-localedir='${datarootdir}/locale'
-localstatedir='${prefix}/var'
-mandir='${datarootdir}/man'
-oldincludedir='/usr/include'
-pdfdir='${docdir}'
-prefix='/usr/local'
-program_transform_name='s,x,x,'
-psdir='${docdir}'
-sbindir='${exec_prefix}/sbin'
-sharedstatedir='${prefix}/com'
-sysconfdir='${prefix}/etc'
-target_alias=''
-
-## ----------- ##
-## confdefs.h. ##
-## ----------- ##
-
-/* confdefs.h */
-#define PACKAGE_NAME "tinydtls"
-#define PACKAGE_TARNAME "tinydtls"
-#define PACKAGE_VERSION "0.8.2"
-#define PACKAGE_STRING "tinydtls 0.8.2"
-#define PACKAGE_BUGREPORT ""
-#define PACKAGE_URL ""
-#define STDC_HEADERS 1
-#define HAVE_SYS_TYPES_H 1
-#define HAVE_SYS_STAT_H 1
-#define HAVE_STDLIB_H 1
-#define HAVE_STRING_H 1
-#define HAVE_MEMORY_H 1
-#define HAVE_STRINGS_H 1
-#define HAVE_INTTYPES_H 1
-#define HAVE_STDINT_H 1
-#define HAVE_UNISTD_H 1
-#define DTLS_ECC 1
-#define DTLS_PSK 1
-#define HAVE_ASSERT_H 1
-#define HAVE_ARPA_INET_H 1
-#define HAVE_FCNTL_H 1
-#define HAVE_INTTYPES_H 1
-#define HAVE_NETDB_H 1
-#define HAVE_NETINET_IN_H 1
-#define HAVE_STDDEF_H 1
-#define HAVE_STDINT_H 1
-#define HAVE_STDLIB_H 1
-#define HAVE_STRING_H 1
-#define HAVE_STRINGS_H 1
-#define HAVE_SYS_PARAM_H 1
-#define HAVE_SYS_SOCKET_H 1
-#define HAVE_UNISTD_H 1
-#define HAVE_SYS_TIME_H 1
-#define HAVE_TIME_H 1
-#define HAVE_SYS_TYPES_H 1
-#define HAVE_SYS_STAT_H 1
-#define HAVE_STDLIB_H 1
-#define HAVE_MALLOC 1
-#define HAVE_MEMSET 1
-#define HAVE_SELECT 1
-#define HAVE_SOCKET 1
-#define HAVE_STRDUP 1
-#define HAVE_STRERROR 1
-#define HAVE_STRNLEN 1
-#define HAVE_VPRINTF 1
-
-configure: exit 0
diff --git a/external/wakaama/examples/shared/tinydtls/config.status b/external/wakaama/examples/shared/tinydtls/config.status
deleted file mode 100644 (file)
index 111adb1..0000000
+++ /dev/null
@@ -1,1034 +0,0 @@
-#! /bin/bash
-# Generated by configure.
-# Run this file to recreate the current configuration.
-# Compiler output produced by configure, useful for debugging
-# configure, is in config.log if it exists.
-
-debug=false
-ac_cs_recheck=false
-ac_cs_silent=false
-
-SHELL=${CONFIG_SHELL-/bin/bash}
-export SHELL
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in #(
-  *posix*) :
-    set -o posix ;; #(
-  *) :
-     ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
-    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='print -r --'
-  as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='printf %s\n'
-  as_echo_n='printf %s'
-else
-  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
-    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
-    as_echo_n='/usr/ucb/echo -n'
-  else
-    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
-    as_echo_n_body='eval
-      arg=$1;
-      case $arg in #(
-      *"$as_nl"*)
-       expr "X$arg" : "X\\(.*\\)$as_nl";
-       arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
-      esac;
-      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
-    '
-    export as_echo_n_body
-    as_echo_n='sh -c $as_echo_n_body as_echo'
-  fi
-  export as_echo_body
-  as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  PATH_SEPARATOR=:
-  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
-    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
-      PATH_SEPARATOR=';'
-  }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.  Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" ""       $as_nl"
-
-# Find who we are.  Look in the path if we contain no directory separator.
-as_myself=
-case $0 in #((
-  *[\\/]* ) as_myself=$0 ;;
-  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-  done
-IFS=$as_save_IFS
-
-     ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
-  as_myself=$0
-fi
-if test ! -f "$as_myself"; then
-  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
-  exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there.  '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
-  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
-  as_status=$1; test $as_status -eq 0 && as_status=1
-  if test "$4"; then
-    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
-  fi
-  $as_echo "$as_me: error: $2" >&2
-  as_fn_exit $as_status
-} # as_fn_error
-
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
-  return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
-  set +e
-  as_fn_set_status $1
-  exit $1
-} # as_fn_exit
-
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
-  { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
-  eval 'as_fn_append ()
-  {
-    eval $1+=\$2
-  }'
-else
-  as_fn_append ()
-  {
-    eval $1=\$$1\$2
-  }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
-  eval 'as_fn_arith ()
-  {
-    as_val=$(( $* ))
-  }'
-else
-  as_fn_arith ()
-  {
-    as_val=`expr "$@" || test $? -eq 1`
-  }
-fi # as_fn_arith
-
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
-   test "X`expr 00001 : '.*\(...\)'`" = X001; then
-  as_expr=expr
-else
-  as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
-  as_basename=basename
-else
-  as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
-  as_dirname=dirname
-else
-  as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
-        X"$0" : 'X\(//\)$' \| \
-        X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
-    sed '/^.*\/\([^/][^/]*\)\/*$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
-  case `echo 'xy\c'` in
-  *c*) ECHO_T='        ';;     # ECHO_T is single tab character.
-  xy)  ECHO_C='\c';;
-  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
-       ECHO_T='        ';;
-  esac;;
-*)
-  ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
-  rm -f conf$$.dir/conf$$.file
-else
-  rm -f conf$$.dir
-  mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
-  if ln -s conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s='ln -s'
-    # ... but there are two gotchas:
-    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
-    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -pR'.
-    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -pR'
-  elif ln conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s=ln
-  else
-    as_ln_s='cp -pR'
-  fi
-else
-  as_ln_s='cp -pR'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
-  case $as_dir in #(
-  -*) as_dir=./$as_dir;;
-  esac
-  test -d "$as_dir" || eval $as_mkdir_p || {
-    as_dirs=
-    while :; do
-      case $as_dir in #(
-      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
-      *) as_qdir=$as_dir;;
-      esac
-      as_dirs="'$as_qdir' $as_dirs"
-      as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$as_dir" : 'X\(//\)[^/]' \| \
-        X"$as_dir" : 'X\(//\)$' \| \
-        X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-      test -d "$as_dir" && break
-    done
-    test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-if mkdir -p . 2>/dev/null; then
-  as_mkdir_p='mkdir -p "$as_dir"'
-else
-  test -d ./-p && rmdir ./-p
-  as_mkdir_p=false
-fi
-
-
-# as_fn_executable_p FILE
-# -----------------------
-# Test if FILE is an executable regular file.
-as_fn_executable_p ()
-{
-  test -f "$1" && test -x "$1"
-} # as_fn_executable_p
-as_test_x='test -x'
-as_executable_p=as_fn_executable_p
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-exec 6>&1
-## ----------------------------------- ##
-## Main body of $CONFIG_STATUS script. ##
-## ----------------------------------- ##
-# Save the log message, to keep $0 and so on meaningful, and to
-# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling.
-ac_log="
-This file was extended by tinydtls $as_me 0.8.2, which was
-generated by GNU Autoconf 2.69.  Invocation command line was
-
-  CONFIG_FILES    = $CONFIG_FILES
-  CONFIG_HEADERS  = $CONFIG_HEADERS
-  CONFIG_LINKS    = $CONFIG_LINKS
-  CONFIG_COMMANDS = $CONFIG_COMMANDS
-  $ $0 $@
-
-on `(hostname || uname -n) 2>/dev/null | sed 1q`
-"
-
-# Files that config.status was made for.
-config_files=" Makefile doc/Makefile doc/Doxyfile tests/Makefile examples/contiki/Makefile platform-specific/Makefile sha2/Makefile aes/Makefile ecc/Makefile"
-config_headers=" dtls_config.h tinydtls.h"
-
-ac_cs_usage="\
-\`$as_me' instantiates files and other configuration actions
-from templates according to the current configuration.  Unless the files
-and actions are specified as TAGs, all are instantiated by default.
-
-Usage: $0 [OPTION]... [TAG]...
-
-  -h, --help       print this help, then exit
-  -V, --version    print version number and configuration settings, then exit
-      --config     print configuration, then exit
-  -q, --quiet, --silent
-                   do not print progress messages
-  -d, --debug      don't remove temporary files
-      --recheck    update $as_me by reconfiguring in the same conditions
-      --file=FILE[:TEMPLATE]
-                   instantiate the configuration file FILE
-      --header=FILE[:TEMPLATE]
-                   instantiate the configuration header FILE
-
-Configuration files:
-$config_files
-
-Configuration headers:
-$config_headers
-
-Report bugs to the package provider."
-
-ac_cs_config=""
-ac_cs_version="\
-tinydtls config.status 0.8.2
-configured by ./configure, generated by GNU Autoconf 2.69,
-  with options \"$ac_cs_config\"
-
-Copyright (C) 2012 Free Software Foundation, Inc.
-This config.status script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it."
-
-ac_pwd='/home/hj/tinyara/external/wakaama/examples/shared/tinydtls'
-srcdir='.'
-test -n "$AWK" || AWK=awk
-# The default lists apply if the user does not specify any file.
-ac_need_defaults=:
-while test $# != 0
-do
-  case $1 in
-  --*=?*)
-    ac_option=`expr "X$1" : 'X\([^=]*\)='`
-    ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
-    ac_shift=:
-    ;;
-  --*=)
-    ac_option=`expr "X$1" : 'X\([^=]*\)='`
-    ac_optarg=
-    ac_shift=:
-    ;;
-  *)
-    ac_option=$1
-    ac_optarg=$2
-    ac_shift=shift
-    ;;
-  esac
-
-  case $ac_option in
-  # Handling of the options.
-  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
-    ac_cs_recheck=: ;;
-  --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
-    $as_echo "$ac_cs_version"; exit ;;
-  --config | --confi | --conf | --con | --co | --c )
-    $as_echo "$ac_cs_config"; exit ;;
-  --debug | --debu | --deb | --de | --d | -d )
-    debug=: ;;
-  --file | --fil | --fi | --f )
-    $ac_shift
-    case $ac_optarg in
-    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    '') as_fn_error $? "missing file argument" ;;
-    esac
-    as_fn_append CONFIG_FILES " '$ac_optarg'"
-    ac_need_defaults=false;;
-  --header | --heade | --head | --hea )
-    $ac_shift
-    case $ac_optarg in
-    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    esac
-    as_fn_append CONFIG_HEADERS " '$ac_optarg'"
-    ac_need_defaults=false;;
-  --he | --h)
-    # Conflict between --help and --header
-    as_fn_error $? "ambiguous option: \`$1'
-Try \`$0 --help' for more information.";;
-  --help | --hel | -h )
-    $as_echo "$ac_cs_usage"; exit ;;
-  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-  | -silent | --silent | --silen | --sile | --sil | --si | --s)
-    ac_cs_silent=: ;;
-
-  # This is an error.
-  -*) as_fn_error $? "unrecognized option: \`$1'
-Try \`$0 --help' for more information." ;;
-
-  *) as_fn_append ac_config_targets " $1"
-     ac_need_defaults=false ;;
-
-  esac
-  shift
-done
-
-ac_configure_extra_args=
-
-if $ac_cs_silent; then
-  exec 6>/dev/null
-  ac_configure_extra_args="$ac_configure_extra_args --silent"
-fi
-
-if $ac_cs_recheck; then
-  set X /bin/bash './configure'  $ac_configure_extra_args --no-create --no-recursion
-  shift
-  $as_echo "running CONFIG_SHELL=/bin/bash $*" >&6
-  CONFIG_SHELL='/bin/bash'
-  export CONFIG_SHELL
-  exec "$@"
-fi
-
-exec 5>>config.log
-{
-  echo
-  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
-  $as_echo "$ac_log"
-} >&5
-
-
-# Handling of arguments.
-for ac_config_target in $ac_config_targets
-do
-  case $ac_config_target in
-    "dtls_config.h") CONFIG_HEADERS="$CONFIG_HEADERS dtls_config.h" ;;
-    "tinydtls.h") CONFIG_HEADERS="$CONFIG_HEADERS tinydtls.h" ;;
-    "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
-    "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
-    "doc/Doxyfile") CONFIG_FILES="$CONFIG_FILES doc/Doxyfile" ;;
-    "tests/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;;
-    "examples/contiki/Makefile") CONFIG_FILES="$CONFIG_FILES examples/contiki/Makefile" ;;
-    "platform-specific/Makefile") CONFIG_FILES="$CONFIG_FILES platform-specific/Makefile" ;;
-    "sha2/Makefile") CONFIG_FILES="$CONFIG_FILES sha2/Makefile" ;;
-    "aes/Makefile") CONFIG_FILES="$CONFIG_FILES aes/Makefile" ;;
-    "ecc/Makefile") CONFIG_FILES="$CONFIG_FILES ecc/Makefile" ;;
-
-  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
-  esac
-done
-
-
-# If the user did not use the arguments to specify the items to instantiate,
-# then the envvar interface is used.  Set only those that are not.
-# We use the long form for the default assignment because of an extremely
-# bizarre bug on SunOS 4.1.3.
-if $ac_need_defaults; then
-  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
-  test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
-fi
-
-# Have a temporary directory for convenience.  Make it in the build tree
-# simply because there is no reason against having it here, and in addition,
-# creating and moving files from /tmp can sometimes cause problems.
-# Hook for its removal unless debugging.
-# Note that there is a small window in which the directory will not be cleaned:
-# after its creation but before its name has been assigned to `$tmp'.
-$debug ||
-{
-  tmp= ac_tmp=
-  trap 'exit_status=$?
-  : "${ac_tmp:=$tmp}"
-  { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
-' 0
-  trap 'as_fn_exit 1' 1 2 13 15
-}
-# Create a (secure) tmp directory for tmp files.
-
-{
-  tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
-  test -d "$tmp"
-}  ||
-{
-  tmp=./conf$$-$RANDOM
-  (umask 077 && mkdir "$tmp")
-} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
-ac_tmp=$tmp
-
-# Set up the scripts for CONFIG_FILES section.
-# No need to generate them if there are no CONFIG_FILES.
-# This happens for instance with `./config.status config.h'.
-if test -n "$CONFIG_FILES"; then
-
-
-ac_cr=`echo X | tr X '\015'`
-# On cygwin, bash can eat \r inside `` if the user requested igncr.
-# But we know of no other shell where ac_cr would be empty at this
-# point, so we can use a bashism as a fallback.
-if test "x$ac_cr" = x; then
-  eval ac_cr=\$\'\\r\'
-fi
-ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
-if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
-  ac_cs_awk_cr='\\r'
-else
-  ac_cs_awk_cr=$ac_cr
-fi
-
-echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
-cat >>"$ac_tmp/subs1.awk" <<\_ACAWK &&
-S["LTLIBOBJS"]=""
-S["LIBOBJS"]=""
-S["DTLS_PSK"]="1"
-S["DTLS_ECC"]="1"
-S["WITH_CONTIKI"]=""
-S["NDEBUG"]=""
-S["OPT_OBJS"]=" ecc/ecc.o sha2/sha2.o"
-S["EGREP"]="/bin/grep -E"
-S["GREP"]="/bin/grep"
-S["CPP"]="gcc -E"
-S["RANLIB"]="ranlib"
-S["OBJEXT"]="o"
-S["EXEEXT"]=""
-S["ac_ct_CC"]="gcc"
-S["CPPFLAGS"]=" -DDTLSv12 -DWITH_SHA256"
-S["LDFLAGS"]=""
-S["CFLAGS"]="-g -O2"
-S["CC"]="gcc"
-S["SET_MAKE"]=""
-S["ETAGS"]="/bin/false"
-S["DOXYGEN"]=":"
-S["target_alias"]=""
-S["host_alias"]=""
-S["build_alias"]=""
-S["LIBS"]=""
-S["ECHO_T"]=""
-S["ECHO_N"]="-n"
-S["ECHO_C"]=""
-S["DEFS"]="-DHAVE_CONFIG_H"
-S["mandir"]="${datarootdir}/man"
-S["localedir"]="${datarootdir}/locale"
-S["libdir"]="${exec_prefix}/lib"
-S["psdir"]="${docdir}"
-S["pdfdir"]="${docdir}"
-S["dvidir"]="${docdir}"
-S["htmldir"]="${docdir}"
-S["infodir"]="${datarootdir}/info"
-S["docdir"]="${datarootdir}/doc/${PACKAGE_TARNAME}"
-S["oldincludedir"]="/usr/include"
-S["includedir"]="${prefix}/include"
-S["localstatedir"]="${prefix}/var"
-S["sharedstatedir"]="${prefix}/com"
-S["sysconfdir"]="${prefix}/etc"
-S["datadir"]="${datarootdir}"
-S["datarootdir"]="${prefix}/share"
-S["libexecdir"]="${exec_prefix}/libexec"
-S["sbindir"]="${exec_prefix}/sbin"
-S["bindir"]="${exec_prefix}/bin"
-S["program_transform_name"]="s,x,x,"
-S["prefix"]="/usr/local"
-S["exec_prefix"]="${prefix}"
-S["PACKAGE_URL"]=""
-S["PACKAGE_BUGREPORT"]=""
-S["PACKAGE_STRING"]="tinydtls 0.8.2"
-S["PACKAGE_VERSION"]="0.8.2"
-S["PACKAGE_TARNAME"]="tinydtls"
-S["PACKAGE_NAME"]="tinydtls"
-S["PATH_SEPARATOR"]=":"
-S["SHELL"]="/bin/bash"
-_ACAWK
-cat >>"$ac_tmp/subs1.awk" <<_ACAWK &&
-  for (key in S) S_is_set[key] = 1
-  FS = "\a"
-
-}
-{
-  line = $ 0
-  nfields = split(line, field, "@")
-  substed = 0
-  len = length(field[1])
-  for (i = 2; i < nfields; i++) {
-    key = field[i]
-    keylen = length(key)
-    if (S_is_set[key]) {
-      value = S[key]
-      line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
-      len += length(value) + length(field[++i])
-      substed = 1
-    } else
-      len += 1 + keylen
-  }
-
-  print line
-}
-
-_ACAWK
-if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
-  sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
-else
-  cat
-fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
-  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
-fi # test -n "$CONFIG_FILES"
-
-# Set up the scripts for CONFIG_HEADERS section.
-# No need to generate them if there are no CONFIG_HEADERS.
-# This happens for instance with `./config.status Makefile'.
-if test -n "$CONFIG_HEADERS"; then
-cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
-BEGIN {
-D["PACKAGE_NAME"]=" \"tinydtls\""
-D["PACKAGE_TARNAME"]=" \"tinydtls\""
-D["PACKAGE_VERSION"]=" \"0.8.2\""
-D["PACKAGE_STRING"]=" \"tinydtls 0.8.2\""
-D["PACKAGE_BUGREPORT"]=" \"\""
-D["PACKAGE_URL"]=" \"\""
-D["STDC_HEADERS"]=" 1"
-D["HAVE_SYS_TYPES_H"]=" 1"
-D["HAVE_SYS_STAT_H"]=" 1"
-D["HAVE_STDLIB_H"]=" 1"
-D["HAVE_STRING_H"]=" 1"
-D["HAVE_MEMORY_H"]=" 1"
-D["HAVE_STRINGS_H"]=" 1"
-D["HAVE_INTTYPES_H"]=" 1"
-D["HAVE_STDINT_H"]=" 1"
-D["HAVE_UNISTD_H"]=" 1"
-D["DTLS_ECC"]=" 1"
-D["DTLS_PSK"]=" 1"
-D["HAVE_ASSERT_H"]=" 1"
-D["HAVE_ARPA_INET_H"]=" 1"
-D["HAVE_FCNTL_H"]=" 1"
-D["HAVE_INTTYPES_H"]=" 1"
-D["HAVE_NETDB_H"]=" 1"
-D["HAVE_NETINET_IN_H"]=" 1"
-D["HAVE_STDDEF_H"]=" 1"
-D["HAVE_STDINT_H"]=" 1"
-D["HAVE_STDLIB_H"]=" 1"
-D["HAVE_STRING_H"]=" 1"
-D["HAVE_STRINGS_H"]=" 1"
-D["HAVE_SYS_PARAM_H"]=" 1"
-D["HAVE_SYS_SOCKET_H"]=" 1"
-D["HAVE_UNISTD_H"]=" 1"
-D["HAVE_SYS_TIME_H"]=" 1"
-D["HAVE_TIME_H"]=" 1"
-D["HAVE_SYS_TYPES_H"]=" 1"
-D["HAVE_SYS_STAT_H"]=" 1"
-D["HAVE_STDLIB_H"]=" 1"
-D["HAVE_MALLOC"]=" 1"
-D["HAVE_MEMSET"]=" 1"
-D["HAVE_SELECT"]=" 1"
-D["HAVE_SOCKET"]=" 1"
-D["HAVE_STRDUP"]=" 1"
-D["HAVE_STRERROR"]=" 1"
-D["HAVE_STRNLEN"]=" 1"
-D["HAVE_VPRINTF"]=" 1"
-  for (key in D) D_is_set[key] = 1
-  FS = "\a"
-}
-/^[\t ]*#[\t ]*(define|undef)[\t ]+[_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ][_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789]*([\t (]|$)/ {
-  line = $ 0
-  split(line, arg, " ")
-  if (arg[1] == "#") {
-    defundef = arg[2]
-    mac1 = arg[3]
-  } else {
-    defundef = substr(arg[1], 2)
-    mac1 = arg[2]
-  }
-  split(mac1, mac2, "(") #)
-  macro = mac2[1]
-  prefix = substr(line, 1, index(line, defundef) - 1)
-  if (D_is_set[macro]) {
-    # Preserve the white space surrounding the "#".
-    print prefix "define", macro P[macro] D[macro]
-    next
-  } else {
-    # Replace #undef with comments.  This is necessary, for example,
-    # in the case of _POSIX_SOURCE, which is predefined and required
-    # on some systems where configure will not decide to define it.
-    if (defundef == "undef") {
-      print "/*", prefix defundef, macro, "*/"
-      next
-    }
-  }
-}
-{ print }
-_ACAWK
-  as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
-fi # test -n "$CONFIG_HEADERS"
-
-
-eval set X "  :F $CONFIG_FILES  :H $CONFIG_HEADERS    "
-shift
-for ac_tag
-do
-  case $ac_tag in
-  :[FHLC]) ac_mode=$ac_tag; continue;;
-  esac
-  case $ac_mode$ac_tag in
-  :[FHL]*:*);;
-  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
-  :[FH]-) ac_tag=-:-;;
-  :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
-  esac
-  ac_save_IFS=$IFS
-  IFS=:
-  set x $ac_tag
-  IFS=$ac_save_IFS
-  shift
-  ac_file=$1
-  shift
-
-  case $ac_mode in
-  :L) ac_source=$1;;
-  :[FH])
-    ac_file_inputs=
-    for ac_f
-    do
-      case $ac_f in
-      -) ac_f="$ac_tmp/stdin";;
-      *) # Look for the file first in the build tree, then in the source tree
-        # (if the path is not absolute).  The absolute path cannot be DOS-style,
-        # because $ac_f cannot contain `:'.
-        test -f "$ac_f" ||
-          case $ac_f in
-          [\\/$]*) false;;
-          *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
-          esac ||
-          as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
-      esac
-      case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
-      as_fn_append ac_file_inputs " '$ac_f'"
-    done
-
-    # Let's still pretend it is `configure' which instantiates (i.e., don't
-    # use $as_me), people would be surprised to read:
-    #    /* config.h.  Generated by config.status.  */
-    configure_input='Generated from '`
-         $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
-       `' by configure.'
-    if test x"$ac_file" != x-; then
-      configure_input="$ac_file.  $configure_input"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
-$as_echo "$as_me: creating $ac_file" >&6;}
-    fi
-    # Neutralize special characters interpreted by sed in replacement strings.
-    case $configure_input in #(
-    *\&* | *\|* | *\\* )
-       ac_sed_conf_input=`$as_echo "$configure_input" |
-       sed 's/[\\\\&|]/\\\\&/g'`;; #(
-    *) ac_sed_conf_input=$configure_input;;
-    esac
-
-    case $ac_tag in
-    *:-:* | *:-) cat >"$ac_tmp/stdin" \
-      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
-    esac
-    ;;
-  esac
-
-  ac_dir=`$as_dirname -- "$ac_file" ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$ac_file" : 'X\(//\)[^/]' \| \
-        X"$ac_file" : 'X\(//\)$' \| \
-        X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$ac_file" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-  as_dir="$ac_dir"; as_fn_mkdir_p
-  ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
-  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
-  # A ".." for each directory in $ac_dir_suffix.
-  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
-  case $ac_top_builddir_sub in
-  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
-  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
-  esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
-  .)  # We are building in place.
-    ac_srcdir=.
-    ac_top_srcdir=$ac_top_builddir_sub
-    ac_abs_top_srcdir=$ac_pwd ;;
-  [\\/]* | ?:[\\/]* )  # Absolute name.
-    ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir
-    ac_abs_top_srcdir=$srcdir ;;
-  *) # Relative name.
-    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_build_prefix$srcdir
-    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-
-  case $ac_mode in
-  :F)
-  #
-  # CONFIG_FILE
-  #
-
-# If the template does not know about datarootdir, expand it.
-# FIXME: This hack should be removed a few years after 2.60.
-ac_datarootdir_hack=; ac_datarootdir_seen=
-ac_sed_dataroot='
-/datarootdir/ {
-  p
-  q
-}
-/@datadir@/p
-/@docdir@/p
-/@infodir@/p
-/@localedir@/p
-/@mandir@/p'
-case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
-*datarootdir*) ac_datarootdir_seen=yes;;
-*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
-$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
-  ac_datarootdir_hack='
-  s&@datadir@&${datarootdir}&g
-  s&@docdir@&${datarootdir}/doc/${PACKAGE_TARNAME}&g
-  s&@infodir@&${datarootdir}/info&g
-  s&@localedir@&${datarootdir}/locale&g
-  s&@mandir@&${datarootdir}/man&g
-  s&\${datarootdir}&${prefix}/share&g' ;;
-esac
-ac_sed_extra="/^[       ]*VPATH[        ]*=[    ]*/{
-h
-s///
-s/^/:/
-s/[     ]*$/:/
-s/:\$(srcdir):/:/g
-s/:\${srcdir}:/:/g
-s/:@srcdir@:/:/g
-s/^:*//
-s/:*$//
-x
-s/\(=[  ]*\).*/\1/
-G
-s/\n//
-s/^[^=]*=[      ]*$//
-}
-
-:t
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s|@configure_input@|$ac_sed_conf_input|;t t
-s&@top_builddir@&$ac_top_builddir_sub&;t t
-s&@top_build_prefix@&$ac_top_build_prefix&;t t
-s&@srcdir@&$ac_srcdir&;t t
-s&@abs_srcdir@&$ac_abs_srcdir&;t t
-s&@top_srcdir@&$ac_top_srcdir&;t t
-s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
-s&@builddir@&$ac_builddir&;t t
-s&@abs_builddir@&$ac_abs_builddir&;t t
-s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
-$ac_datarootdir_hack
-"
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
-  >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-
-test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
-  { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
-  { ac_out=`sed -n '/^[         ]*datarootdir[  ]*:*=/p' \
-      "$ac_tmp/out"`; test -z "$ac_out"; } &&
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined" >&5
-$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined" >&2;}
-
-  rm -f "$ac_tmp/stdin"
-  case $ac_file in
-  -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
-  *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
-  esac \
-  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- ;;
-  :H)
-  #
-  # CONFIG_HEADER
-  #
-  if test x"$ac_file" != x-; then
-    {
-      $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
-    } >"$ac_tmp/config.h" \
-      || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-    if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
-$as_echo "$as_me: $ac_file is unchanged" >&6;}
-    else
-      rm -f "$ac_file"
-      mv "$ac_tmp/config.h" "$ac_file" \
-       || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-    fi
-  else
-    $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
-      || as_fn_error $? "could not create -" "$LINENO" 5
-  fi
- ;;
-
-
-  esac
-
-done # for ac_tag
-
-
-as_fn_exit 0
diff --git a/external/wakaama/examples/shared/tinydtls/configure b/external/wakaama/examples/shared/tinydtls/configure
deleted file mode 100644 (file)
index 60e77df..0000000
+++ /dev/null
@@ -1,5483 +0,0 @@
-#! /bin/sh
-# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for tinydtls 0.8.2.
-#
-#
-# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
-#
-#
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in #(
-  *posix*) :
-    set -o posix ;; #(
-  *) :
-     ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
-    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='print -r --'
-  as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='printf %s\n'
-  as_echo_n='printf %s'
-else
-  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
-    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
-    as_echo_n='/usr/ucb/echo -n'
-  else
-    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
-    as_echo_n_body='eval
-      arg=$1;
-      case $arg in #(
-      *"$as_nl"*)
-       expr "X$arg" : "X\\(.*\\)$as_nl";
-       arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
-      esac;
-      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
-    '
-    export as_echo_n_body
-    as_echo_n='sh -c $as_echo_n_body as_echo'
-  fi
-  export as_echo_body
-  as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  PATH_SEPARATOR=:
-  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
-    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
-      PATH_SEPARATOR=';'
-  }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.  Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" ""       $as_nl"
-
-# Find who we are.  Look in the path if we contain no directory separator.
-as_myself=
-case $0 in #((
-  *[\\/]* ) as_myself=$0 ;;
-  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-  done
-IFS=$as_save_IFS
-
-     ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
-  as_myself=$0
-fi
-if test ! -f "$as_myself"; then
-  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
-  exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there.  '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
-  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-# Use a proper internal environment variable to ensure we don't fall
-  # into an infinite loop, continuously re-executing ourselves.
-  if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
-    _as_can_reexec=no; export _as_can_reexec;
-    # We cannot yet assume a decent shell, so we have to provide a
-# neutralization value for shells without unset; and this also
-# works around shells that cannot unset nonexistent variables.
-# Preserve -v and -x to the replacement shell.
-BASH_ENV=/dev/null
-ENV=/dev/null
-(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-case $- in # ((((
-  *v*x* | *x*v* ) as_opts=-vx ;;
-  *v* ) as_opts=-v ;;
-  *x* ) as_opts=-x ;;
-  * ) as_opts= ;;
-esac
-exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
-# Admittedly, this is quite paranoid, since all the known shells bail
-# out after a failed `exec'.
-$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
-as_fn_exit 255
-  fi
-  # We don't want this to propagate to other subprocesses.
-          { _as_can_reexec=; unset _as_can_reexec;}
-if test "x$CONFIG_SHELL" = x; then
-  as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '\${1+\"\$@\"}'='\"\$@\"'
-  setopt NO_GLOB_SUBST
-else
-  case \`(set -o) 2>/dev/null\` in #(
-  *posix*) :
-    set -o posix ;; #(
-  *) :
-     ;;
-esac
-fi
-"
-  as_required="as_fn_return () { (exit \$1); }
-as_fn_success () { as_fn_return 0; }
-as_fn_failure () { as_fn_return 1; }
-as_fn_ret_success () { return 0; }
-as_fn_ret_failure () { return 1; }
-
-exitcode=0
-as_fn_success || { exitcode=1; echo as_fn_success failed.; }
-as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
-as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
-as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
-if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
-
-else
-  exitcode=1; echo positional parameters were not saved.
-fi
-test x\$exitcode = x0 || exit 1
-test -x / || exit 1"
-  as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
-  as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
-  eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
-  test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
-test \$(( 1 + 1 )) = 2 || exit 1"
-  if (eval "$as_required") 2>/dev/null; then :
-  as_have_required=yes
-else
-  as_have_required=no
-fi
-  if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
-
-else
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-as_found=false
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  as_found=:
-  case $as_dir in #(
-        /*)
-          for as_base in sh bash ksh sh5; do
-            # Try only shells that exist, to save several forks.
-            as_shell=$as_dir/$as_base
-            if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
-                   { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
-  CONFIG_SHELL=$as_shell as_have_required=yes
-                  if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
-  break 2
-fi
-fi
-          done;;
-       esac
-  as_found=false
-done
-$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
-             { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
-  CONFIG_SHELL=$SHELL as_have_required=yes
-fi; }
-IFS=$as_save_IFS
-
-
-      if test "x$CONFIG_SHELL" != x; then :
-  export CONFIG_SHELL
-             # We cannot yet assume a decent shell, so we have to provide a
-# neutralization value for shells without unset; and this also
-# works around shells that cannot unset nonexistent variables.
-# Preserve -v and -x to the replacement shell.
-BASH_ENV=/dev/null
-ENV=/dev/null
-(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-case $- in # ((((
-  *v*x* | *x*v* ) as_opts=-vx ;;
-  *v* ) as_opts=-v ;;
-  *x* ) as_opts=-x ;;
-  * ) as_opts= ;;
-esac
-exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
-# Admittedly, this is quite paranoid, since all the known shells bail
-# out after a failed `exec'.
-$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
-exit 255
-fi
-
-    if test x$as_have_required = xno; then :
-  $as_echo "$0: This script requires a shell more modern than all"
-  $as_echo "$0: the shells that I found on your system."
-  if test x${ZSH_VERSION+set} = xset ; then
-    $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
-    $as_echo "$0: be upgraded to zsh 4.3.4 or later."
-  else
-    $as_echo "$0: Please tell bug-autoconf@gnu.org about your system,
-$0: including any error possibly output before this
-$0: message. Then install a modern shell, or manually run
-$0: the script under such a shell if you do have one."
-  fi
-  exit 1
-fi
-fi
-fi
-SHELL=${CONFIG_SHELL-/bin/sh}
-export SHELL
-# Unset more variables known to interfere with behavior of common tools.
-CLICOLOR_FORCE= GREP_OPTIONS=
-unset CLICOLOR_FORCE GREP_OPTIONS
-
-## --------------------- ##
-## M4sh Shell Functions. ##
-## --------------------- ##
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
-  { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
-  return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
-  set +e
-  as_fn_set_status $1
-  exit $1
-} # as_fn_exit
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
-  case $as_dir in #(
-  -*) as_dir=./$as_dir;;
-  esac
-  test -d "$as_dir" || eval $as_mkdir_p || {
-    as_dirs=
-    while :; do
-      case $as_dir in #(
-      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
-      *) as_qdir=$as_dir;;
-      esac
-      as_dirs="'$as_qdir' $as_dirs"
-      as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$as_dir" : 'X\(//\)[^/]' \| \
-        X"$as_dir" : 'X\(//\)$' \| \
-        X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-      test -d "$as_dir" && break
-    done
-    test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-
-# as_fn_executable_p FILE
-# -----------------------
-# Test if FILE is an executable regular file.
-as_fn_executable_p ()
-{
-  test -f "$1" && test -x "$1"
-} # as_fn_executable_p
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
-  eval 'as_fn_append ()
-  {
-    eval $1+=\$2
-  }'
-else
-  as_fn_append ()
-  {
-    eval $1=\$$1\$2
-  }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
-  eval 'as_fn_arith ()
-  {
-    as_val=$(( $* ))
-  }'
-else
-  as_fn_arith ()
-  {
-    as_val=`expr "$@" || test $? -eq 1`
-  }
-fi # as_fn_arith
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
-  as_status=$1; test $as_status -eq 0 && as_status=1
-  if test "$4"; then
-    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
-  fi
-  $as_echo "$as_me: error: $2" >&2
-  as_fn_exit $as_status
-} # as_fn_error
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
-   test "X`expr 00001 : '.*\(...\)'`" = X001; then
-  as_expr=expr
-else
-  as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
-  as_basename=basename
-else
-  as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
-  as_dirname=dirname
-else
-  as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
-        X"$0" : 'X\(//\)$' \| \
-        X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
-    sed '/^.*\/\([^/][^/]*\)\/*$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-
-  as_lineno_1=$LINENO as_lineno_1a=$LINENO
-  as_lineno_2=$LINENO as_lineno_2a=$LINENO
-  eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
-  test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
-  # Blame Lee E. McMahon (1931-1989) for sed's syntax.  :-)
-  sed -n '
-    p
-    /[$]LINENO/=
-  ' <$as_myself |
-    sed '
-      s/[$]LINENO.*/&-/
-      t lineno
-      b
-      :lineno
-      N
-      :loop
-      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
-      t loop
-      s/-\n.*//
-    ' >$as_me.lineno &&
-  chmod +x "$as_me.lineno" ||
-    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
-
-  # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
-  # already done that, so ensure we don't try to do so again and fall
-  # in an infinite loop.  This has already happened in practice.
-  _as_can_reexec=no; export _as_can_reexec
-  # Don't try to exec as it changes $[0], causing all sort of problems
-  # (the dirname of $[0] is not the place where we might find the
-  # original and so on.  Autoconf is especially sensitive to this).
-  . "./$as_me.lineno"
-  # Exit status is that of the last command.
-  exit
-}
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
-  case `echo 'xy\c'` in
-  *c*) ECHO_T='        ';;     # ECHO_T is single tab character.
-  xy)  ECHO_C='\c';;
-  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
-       ECHO_T='        ';;
-  esac;;
-*)
-  ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
-  rm -f conf$$.dir/conf$$.file
-else
-  rm -f conf$$.dir
-  mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
-  if ln -s conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s='ln -s'
-    # ... but there are two gotchas:
-    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
-    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -pR'.
-    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -pR'
-  elif ln conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s=ln
-  else
-    as_ln_s='cp -pR'
-  fi
-else
-  as_ln_s='cp -pR'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-if mkdir -p . 2>/dev/null; then
-  as_mkdir_p='mkdir -p "$as_dir"'
-else
-  test -d ./-p && rmdir ./-p
-  as_mkdir_p=false
-fi
-
-as_test_x='test -x'
-as_executable_p=as_fn_executable_p
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-test -n "$DJDIR" || exec 7<&0 </dev/null
-exec 6>&1
-
-# Name of the host.
-# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
-# so uname gets run too.
-ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-
-#
-# Initializations.
-#
-ac_default_prefix=/usr/local
-ac_clean_files=
-ac_config_libobj_dir=.
-LIBOBJS=
-cross_compiling=no
-subdirs=
-MFLAGS=
-MAKEFLAGS=
-
-# Identity of this package.
-PACKAGE_NAME='tinydtls'
-PACKAGE_TARNAME='tinydtls'
-PACKAGE_VERSION='0.8.2'
-PACKAGE_STRING='tinydtls 0.8.2'
-PACKAGE_BUGREPORT=''
-PACKAGE_URL=''
-
-ac_unique_file="dtls.c"
-# Factoring default headers for most tests.
-ac_includes_default="\
-#include <stdio.h>
-#ifdef HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-# include <sys/stat.h>
-#endif
-#ifdef STDC_HEADERS
-# include <stdlib.h>
-# include <stddef.h>
-#else
-# ifdef HAVE_STDLIB_H
-#  include <stdlib.h>
-# endif
-#endif
-#ifdef HAVE_STRING_H
-# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
-#  include <memory.h>
-# endif
-# include <string.h>
-#endif
-#ifdef HAVE_STRINGS_H
-# include <strings.h>
-#endif
-#ifdef HAVE_INTTYPES_H
-# include <inttypes.h>
-#endif
-#ifdef HAVE_STDINT_H
-# include <stdint.h>
-#endif
-#ifdef HAVE_UNISTD_H
-# include <unistd.h>
-#endif"
-
-ac_subst_vars='LTLIBOBJS
-LIBOBJS
-DTLS_PSK
-DTLS_ECC
-WITH_CONTIKI
-NDEBUG
-OPT_OBJS
-EGREP
-GREP
-CPP
-RANLIB
-OBJEXT
-EXEEXT
-ac_ct_CC
-CPPFLAGS
-LDFLAGS
-CFLAGS
-CC
-SET_MAKE
-ETAGS
-DOXYGEN
-target_alias
-host_alias
-build_alias
-LIBS
-ECHO_T
-ECHO_N
-ECHO_C
-DEFS
-mandir
-localedir
-libdir
-psdir
-pdfdir
-dvidir
-htmldir
-infodir
-docdir
-oldincludedir
-includedir
-localstatedir
-sharedstatedir
-sysconfdir
-datadir
-datarootdir
-libexecdir
-sbindir
-bindir
-program_transform_name
-prefix
-exec_prefix
-PACKAGE_URL
-PACKAGE_BUGREPORT
-PACKAGE_STRING
-PACKAGE_VERSION
-PACKAGE_TARNAME
-PACKAGE_NAME
-PATH_SEPARATOR
-SHELL'
-ac_subst_files=''
-ac_user_opts='
-enable_option_checking
-with_contiki
-with_debug
-with_ecc
-with_psk
-'
-      ac_precious_vars='build_alias
-host_alias
-target_alias
-CC
-CFLAGS
-LDFLAGS
-LIBS
-CPPFLAGS
-CPP'
-
-
-# Initialize some variables set by options.
-ac_init_help=
-ac_init_version=false
-ac_unrecognized_opts=
-ac_unrecognized_sep=
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-cache_file=/dev/null
-exec_prefix=NONE
-no_create=
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-verbose=
-x_includes=NONE
-x_libraries=NONE
-
-# Installation directory options.
-# These are left unexpanded so users can "make install exec_prefix=/foo"
-# and all the variables that are supposed to be based on exec_prefix
-# by default will actually change.
-# Use braces instead of parens because sh, perl, etc. also accept them.
-# (The list follows the same order as the GNU Coding Standards.)
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datarootdir='${prefix}/share'
-datadir='${datarootdir}'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
-infodir='${datarootdir}/info'
-htmldir='${docdir}'
-dvidir='${docdir}'
-pdfdir='${docdir}'
-psdir='${docdir}'
-libdir='${exec_prefix}/lib'
-localedir='${datarootdir}/locale'
-mandir='${datarootdir}/man'
-
-ac_prev=
-ac_dashdash=
-for ac_option
-do
-  # If the previous option needs an argument, assign it.
-  if test -n "$ac_prev"; then
-    eval $ac_prev=\$ac_option
-    ac_prev=
-    continue
-  fi
-
-  case $ac_option in
-  *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
-  *=)   ac_optarg= ;;
-  *)    ac_optarg=yes ;;
-  esac
-
-  # Accept the important Cygnus configure options, so we can diagnose typos.
-
-  case $ac_dashdash$ac_option in
-  --)
-    ac_dashdash=yes ;;
-
-  -bindir | --bindir | --bindi | --bind | --bin | --bi)
-    ac_prev=bindir ;;
-  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
-    bindir=$ac_optarg ;;
-
-  -build | --build | --buil | --bui | --bu)
-    ac_prev=build_alias ;;
-  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
-    build_alias=$ac_optarg ;;
-
-  -cache-file | --cache-file | --cache-fil | --cache-fi \
-  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
-    ac_prev=cache_file ;;
-  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
-  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
-    cache_file=$ac_optarg ;;
-
-  --config-cache | -C)
-    cache_file=config.cache ;;
-
-  -datadir | --datadir | --datadi | --datad)
-    ac_prev=datadir ;;
-  -datadir=* | --datadir=* | --datadi=* | --datad=*)
-    datadir=$ac_optarg ;;
-
-  -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
-  | --dataroo | --dataro | --datar)
-    ac_prev=datarootdir ;;
-  -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
-  | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
-    datarootdir=$ac_optarg ;;
-
-  -disable-* | --disable-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid feature name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"enable_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval enable_$ac_useropt=no ;;
-
-  -docdir | --docdir | --docdi | --doc | --do)
-    ac_prev=docdir ;;
-  -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
-    docdir=$ac_optarg ;;
-
-  -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
-    ac_prev=dvidir ;;
-  -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
-    dvidir=$ac_optarg ;;
-
-  -enable-* | --enable-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid feature name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"enable_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval enable_$ac_useropt=\$ac_optarg ;;
-
-  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
-  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
-  | --exec | --exe | --ex)
-    ac_prev=exec_prefix ;;
-  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
-  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
-  | --exec=* | --exe=* | --ex=*)
-    exec_prefix=$ac_optarg ;;
-
-  -gas | --gas | --ga | --g)
-    # Obsolete; use --with-gas.
-    with_gas=yes ;;
-
-  -help | --help | --hel | --he | -h)
-    ac_init_help=long ;;
-  -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
-    ac_init_help=recursive ;;
-  -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
-    ac_init_help=short ;;
-
-  -host | --host | --hos | --ho)
-    ac_prev=host_alias ;;
-  -host=* | --host=* | --hos=* | --ho=*)
-    host_alias=$ac_optarg ;;
-
-  -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
-    ac_prev=htmldir ;;
-  -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
-  | --ht=*)
-    htmldir=$ac_optarg ;;
-
-  -includedir | --includedir | --includedi | --included | --include \
-  | --includ | --inclu | --incl | --inc)
-    ac_prev=includedir ;;
-  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
-  | --includ=* | --inclu=* | --incl=* | --inc=*)
-    includedir=$ac_optarg ;;
-
-  -infodir | --infodir | --infodi | --infod | --info | --inf)
-    ac_prev=infodir ;;
-  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
-    infodir=$ac_optarg ;;
-
-  -libdir | --libdir | --libdi | --libd)
-    ac_prev=libdir ;;
-  -libdir=* | --libdir=* | --libdi=* | --libd=*)
-    libdir=$ac_optarg ;;
-
-  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
-  | --libexe | --libex | --libe)
-    ac_prev=libexecdir ;;
-  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
-  | --libexe=* | --libex=* | --libe=*)
-    libexecdir=$ac_optarg ;;
-
-  -localedir | --localedir | --localedi | --localed | --locale)
-    ac_prev=localedir ;;
-  -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
-    localedir=$ac_optarg ;;
-
-  -localstatedir | --localstatedir | --localstatedi | --localstated \
-  | --localstate | --localstat | --localsta | --localst | --locals)
-    ac_prev=localstatedir ;;
-  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
-  | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
-    localstatedir=$ac_optarg ;;
-
-  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
-    ac_prev=mandir ;;
-  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
-    mandir=$ac_optarg ;;
-
-  -nfp | --nfp | --nf)
-    # Obsolete; use --without-fp.
-    with_fp=no ;;
-
-  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
-  | --no-cr | --no-c | -n)
-    no_create=yes ;;
-
-  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
-  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
-    no_recursion=yes ;;
-
-  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
-  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
-  | --oldin | --oldi | --old | --ol | --o)
-    ac_prev=oldincludedir ;;
-  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
-  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
-  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
-    oldincludedir=$ac_optarg ;;
-
-  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
-    ac_prev=prefix ;;
-  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
-    prefix=$ac_optarg ;;
-
-  -program-prefix | --program-prefix | --program-prefi | --program-pref \
-  | --program-pre | --program-pr | --program-p)
-    ac_prev=program_prefix ;;
-  -program-prefix=* | --program-prefix=* | --program-prefi=* \
-  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
-    program_prefix=$ac_optarg ;;
-
-  -program-suffix | --program-suffix | --program-suffi | --program-suff \
-  | --program-suf | --program-su | --program-s)
-    ac_prev=program_suffix ;;
-  -program-suffix=* | --program-suffix=* | --program-suffi=* \
-  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
-    program_suffix=$ac_optarg ;;
-
-  -program-transform-name | --program-transform-name \
-  | --program-transform-nam | --program-transform-na \
-  | --program-transform-n | --program-transform- \
-  | --program-transform | --program-transfor \
-  | --program-transfo | --program-transf \
-  | --program-trans | --program-tran \
-  | --progr-tra | --program-tr | --program-t)
-    ac_prev=program_transform_name ;;
-  -program-transform-name=* | --program-transform-name=* \
-  | --program-transform-nam=* | --program-transform-na=* \
-  | --program-transform-n=* | --program-transform-=* \
-  | --program-transform=* | --program-transfor=* \
-  | --program-transfo=* | --program-transf=* \
-  | --program-trans=* | --program-tran=* \
-  | --progr-tra=* | --program-tr=* | --program-t=*)
-    program_transform_name=$ac_optarg ;;
-
-  -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
-    ac_prev=pdfdir ;;
-  -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
-    pdfdir=$ac_optarg ;;
-
-  -psdir | --psdir | --psdi | --psd | --ps)
-    ac_prev=psdir ;;
-  -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
-    psdir=$ac_optarg ;;
-
-  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-  | -silent | --silent | --silen | --sile | --sil)
-    silent=yes ;;
-
-  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
-    ac_prev=sbindir ;;
-  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
-  | --sbi=* | --sb=*)
-    sbindir=$ac_optarg ;;
-
-  -sharedstatedir | --sharedstatedir | --sharedstatedi \
-  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
-  | --sharedst | --shareds | --shared | --share | --shar \
-  | --sha | --sh)
-    ac_prev=sharedstatedir ;;
-  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
-  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
-  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
-  | --sha=* | --sh=*)
-    sharedstatedir=$ac_optarg ;;
-
-  -site | --site | --sit)
-    ac_prev=site ;;
-  -site=* | --site=* | --sit=*)
-    site=$ac_optarg ;;
-
-  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
-    ac_prev=srcdir ;;
-  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
-    srcdir=$ac_optarg ;;
-
-  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
-  | --syscon | --sysco | --sysc | --sys | --sy)
-    ac_prev=sysconfdir ;;
-  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
-  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
-    sysconfdir=$ac_optarg ;;
-
-  -target | --target | --targe | --targ | --tar | --ta | --t)
-    ac_prev=target_alias ;;
-  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
-    target_alias=$ac_optarg ;;
-
-  -v | -verbose | --verbose | --verbos | --verbo | --verb)
-    verbose=yes ;;
-
-  -version | --version | --versio | --versi | --vers | -V)
-    ac_init_version=: ;;
-
-  -with-* | --with-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid package name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"with_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval with_$ac_useropt=\$ac_optarg ;;
-
-  -without-* | --without-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid package name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"with_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval with_$ac_useropt=no ;;
-
-  --x)
-    # Obsolete; use --with-x.
-    with_x=yes ;;
-
-  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
-  | --x-incl | --x-inc | --x-in | --x-i)
-    ac_prev=x_includes ;;
-  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
-  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
-    x_includes=$ac_optarg ;;
-
-  -x-libraries | --x-libraries | --x-librarie | --x-librari \
-  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
-    ac_prev=x_libraries ;;
-  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
-  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
-    x_libraries=$ac_optarg ;;
-
-  -*) as_fn_error $? "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information"
-    ;;
-
-  *=*)
-    ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
-    # Reject names that are not valid shell variable names.
-    case $ac_envvar in #(
-      '' | [0-9]* | *[!_$as_cr_alnum]* )
-      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
-    esac
-    eval $ac_envvar=\$ac_optarg
-    export $ac_envvar ;;
-
-  *)
-    # FIXME: should be removed in autoconf 3.0.
-    $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
-    expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
-      $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
-    : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
-    ;;
-
-  esac
-done
-
-if test -n "$ac_prev"; then
-  ac_option=--`echo $ac_prev | sed 's/_/-/g'`
-  as_fn_error $? "missing argument to $ac_option"
-fi
-
-if test -n "$ac_unrecognized_opts"; then
-  case $enable_option_checking in
-    no) ;;
-    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
-    *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
-  esac
-fi
-
-# Check all directory arguments for consistency.
-for ac_var in  exec_prefix prefix bindir sbindir libexecdir datarootdir \
-               datadir sysconfdir sharedstatedir localstatedir includedir \
-               oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
-               libdir localedir mandir
-do
-  eval ac_val=\$$ac_var
-  # Remove trailing slashes.
-  case $ac_val in
-    */ )
-      ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
-      eval $ac_var=\$ac_val;;
-  esac
-  # Be sure to have absolute directory names.
-  case $ac_val in
-    [\\/$]* | ?:[\\/]* )  continue;;
-    NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
-  esac
-  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
-done
-
-# There might be people who depend on the old broken behavior: `$host'
-# used to hold the argument of --host etc.
-# FIXME: To remove some day.
-build=$build_alias
-host=$host_alias
-target=$target_alias
-
-# FIXME: To remove some day.
-if test "x$host_alias" != x; then
-  if test "x$build_alias" = x; then
-    cross_compiling=maybe
-  elif test "x$build_alias" != "x$host_alias"; then
-    cross_compiling=yes
-  fi
-fi
-
-ac_tool_prefix=
-test -n "$host_alias" && ac_tool_prefix=$host_alias-
-
-test "$silent" = yes && exec 6>/dev/null
-
-
-ac_pwd=`pwd` && test -n "$ac_pwd" &&
-ac_ls_di=`ls -di .` &&
-ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
-  as_fn_error $? "working directory cannot be determined"
-test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
-  as_fn_error $? "pwd does not report name of working directory"
-
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
-  ac_srcdir_defaulted=yes
-  # Try the directory containing this script, then the parent directory.
-  ac_confdir=`$as_dirname -- "$as_myself" ||
-$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$as_myself" : 'X\(//\)[^/]' \| \
-        X"$as_myself" : 'X\(//\)$' \| \
-        X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_myself" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-  srcdir=$ac_confdir
-  if test ! -r "$srcdir/$ac_unique_file"; then
-    srcdir=..
-  fi
-else
-  ac_srcdir_defaulted=no
-fi
-if test ! -r "$srcdir/$ac_unique_file"; then
-  test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
-  as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
-fi
-ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
-ac_abs_confdir=`(
-       cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
-       pwd)`
-# When building in place, set srcdir=.
-if test "$ac_abs_confdir" = "$ac_pwd"; then
-  srcdir=.
-fi
-# Remove unnecessary trailing slashes from srcdir.
-# Double slashes in file names in object file debugging info
-# mess up M-x gdb in Emacs.
-case $srcdir in
-*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
-esac
-for ac_var in $ac_precious_vars; do
-  eval ac_env_${ac_var}_set=\${${ac_var}+set}
-  eval ac_env_${ac_var}_value=\$${ac_var}
-  eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
-  eval ac_cv_env_${ac_var}_value=\$${ac_var}
-done
-
-#
-# Report the --help message.
-#
-if test "$ac_init_help" = "long"; then
-  # Omit some internal or obsolete options to make the list less imposing.
-  # This message is too long to be a string in the A/UX 3.1 sh.
-  cat <<_ACEOF
-\`configure' configures tinydtls 0.8.2 to adapt to many kinds of systems.
-
-Usage: $0 [OPTION]... [VAR=VALUE]...
-
-To assign environment variables (e.g., CC, CFLAGS...), specify them as
-VAR=VALUE.  See below for descriptions of some of the useful variables.
-
-Defaults for the options are specified in brackets.
-
-Configuration:
-  -h, --help              display this help and exit
-      --help=short        display options specific to this package
-      --help=recursive    display the short help of all the included packages
-  -V, --version           display version information and exit
-  -q, --quiet, --silent   do not print \`checking ...' messages
-      --cache-file=FILE   cache test results in FILE [disabled]
-  -C, --config-cache      alias for \`--cache-file=config.cache'
-  -n, --no-create         do not create output files
-      --srcdir=DIR        find the sources in DIR [configure dir or \`..']
-
-Installation directories:
-  --prefix=PREFIX         install architecture-independent files in PREFIX
-                          [$ac_default_prefix]
-  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
-                          [PREFIX]
-
-By default, \`make install' will install all the files in
-\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
-an installation prefix other than \`$ac_default_prefix' using \`--prefix',
-for instance \`--prefix=\$HOME'.
-
-For better control, use the options below.
-
-Fine tuning of the installation directories:
-  --bindir=DIR            user executables [EPREFIX/bin]
-  --sbindir=DIR           system admin executables [EPREFIX/sbin]
-  --libexecdir=DIR        program executables [EPREFIX/libexec]
-  --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
-  --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
-  --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
-  --libdir=DIR            object code libraries [EPREFIX/lib]
-  --includedir=DIR        C header files [PREFIX/include]
-  --oldincludedir=DIR     C header files for non-gcc [/usr/include]
-  --datarootdir=DIR       read-only arch.-independent data root [PREFIX/share]
-  --datadir=DIR           read-only architecture-independent data [DATAROOTDIR]
-  --infodir=DIR           info documentation [DATAROOTDIR/info]
-  --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
-  --mandir=DIR            man documentation [DATAROOTDIR/man]
-  --docdir=DIR            documentation root [DATAROOTDIR/doc/tinydtls]
-  --htmldir=DIR           html documentation [DOCDIR]
-  --dvidir=DIR            dvi documentation [DOCDIR]
-  --pdfdir=DIR            pdf documentation [DOCDIR]
-  --psdir=DIR             ps documentation [DOCDIR]
-_ACEOF
-
-  cat <<\_ACEOF
-_ACEOF
-fi
-
-if test -n "$ac_init_help"; then
-  case $ac_init_help in
-     short | recursive ) echo "Configuration of tinydtls 0.8.2:";;
-   esac
-  cat <<\_ACEOF
-
-Optional Packages:
-  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
-  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
-  --with-contiki          build libtinydtls for the Contiki OS
-  --without-debug         disable all debug output and assertions
-  --without-ecc           disable support for
-                          TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8
-  --without-psk           disable support for TLS_PSK_WITH_AES_128_CCM_8
-
-Some influential environment variables:
-  CC          C compiler command
-  CFLAGS      C compiler flags
-  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
-              nonstandard directory <lib dir>
-  LIBS        libraries to pass to the linker, e.g. -l<library>
-  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
-              you have headers in a nonstandard directory <include dir>
-  CPP         C preprocessor
-
-Use these variables to override the choices made by `configure' or to help
-it to find libraries and programs with nonstandard names/locations.
-
-Report bugs to the package provider.
-_ACEOF
-ac_status=$?
-fi
-
-if test "$ac_init_help" = "recursive"; then
-  # If there are subdirs, report their specific --help.
-  for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
-    test -d "$ac_dir" ||
-      { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
-      continue
-    ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
-  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
-  # A ".." for each directory in $ac_dir_suffix.
-  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
-  case $ac_top_builddir_sub in
-  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
-  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
-  esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
-  .)  # We are building in place.
-    ac_srcdir=.
-    ac_top_srcdir=$ac_top_builddir_sub
-    ac_abs_top_srcdir=$ac_pwd ;;
-  [\\/]* | ?:[\\/]* )  # Absolute name.
-    ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir
-    ac_abs_top_srcdir=$srcdir ;;
-  *) # Relative name.
-    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_build_prefix$srcdir
-    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-    cd "$ac_dir" || { ac_status=$?; continue; }
-    # Check for guested configure.
-    if test -f "$ac_srcdir/configure.gnu"; then
-      echo &&
-      $SHELL "$ac_srcdir/configure.gnu" --help=recursive
-    elif test -f "$ac_srcdir/configure"; then
-      echo &&
-      $SHELL "$ac_srcdir/configure" --help=recursive
-    else
-      $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
-    fi || ac_status=$?
-    cd "$ac_pwd" || { ac_status=$?; break; }
-  done
-fi
-
-test -n "$ac_init_help" && exit $ac_status
-if $ac_init_version; then
-  cat <<\_ACEOF
-tinydtls configure 0.8.2
-generated by GNU Autoconf 2.69
-
-Copyright (C) 2012 Free Software Foundation, Inc.
-This configure script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it.
-_ACEOF
-  exit
-fi
-
-## ------------------------ ##
-## Autoconf initialization. ##
-## ------------------------ ##
-
-# ac_fn_c_try_compile LINENO
-# --------------------------
-# Try to compile conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_compile ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  rm -f conftest.$ac_objext
-  if { { ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compile") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_retval=1
-fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_compile
-
-# ac_fn_c_try_run LINENO
-# ----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
-# that executables *can* be run.
-ac_fn_c_try_run ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-       $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_retval=$ac_status
-fi
-  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_run
-
-# ac_fn_c_try_cpp LINENO
-# ----------------------
-# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_cpp ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { { ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } > conftest.i && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-    ac_retval=1
-fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_cpp
-
-# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists and can be compiled using the include files in
-# INCLUDES, setting the cache variable VAR accordingly.
-ac_fn_c_check_header_compile ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$3=yes"
-else
-  eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_header_compile
-
-# ac_fn_c_try_link LINENO
-# -----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_link ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  rm -f conftest.$ac_objext conftest$ac_exeext
-  if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        test -x conftest$ac_exeext
-       }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_retval=1
-fi
-  # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
-  # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
-  # interfere with the next link command; also delete a directory that is
-  # left behind by Apple's compiler.  We do this before executing the actions.
-  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_link
-
-# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists, giving a warning if it cannot be compiled using
-# the include files in INCLUDES and setting the cache variable VAR
-# accordingly.
-ac_fn_c_check_header_mongrel ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if eval \${$3+:} false; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-else
-  # Is the header compilable?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
-$as_echo_n "checking $2 usability... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_header_compiler=yes
-else
-  ac_header_compiler=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
-$as_echo "$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
-$as_echo_n "checking $2 presence... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <$2>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  ac_header_preproc=yes
-else
-  ac_header_preproc=no
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
-$as_echo "$ac_header_preproc" >&6; }
-
-# So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
-  yes:no: )
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
-$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-    ;;
-  no:yes:* )
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
-$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     check for missing prerequisite headers?" >&5
-$as_echo "$as_me: WARNING: $2:     check for missing prerequisite headers?" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
-$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&5
-$as_echo "$as_me: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-    ;;
-esac
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  eval "$3=\$ac_header_compiler"
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_header_mongrel
-
-# ac_fn_c_check_type LINENO TYPE VAR INCLUDES
-# -------------------------------------------
-# Tests whether TYPE exists after having included INCLUDES, setting cache
-# variable VAR accordingly.
-ac_fn_c_check_type ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  eval "$3=no"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-if (sizeof ($2))
-        return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-if (sizeof (($2)))
-           return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
-  eval "$3=yes"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_type
-
-# ac_fn_c_check_member LINENO AGGR MEMBER VAR INCLUDES
-# ----------------------------------------------------
-# Tries to find if the field MEMBER exists in type AGGR, after including
-# INCLUDES, setting cache variable VAR accordingly.
-ac_fn_c_check_member ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5
-$as_echo_n "checking for $2.$3... " >&6; }
-if eval \${$4+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$5
-int
-main ()
-{
-static $2 ac_aggr;
-if (ac_aggr.$3)
-return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$4=yes"
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$5
-int
-main ()
-{
-static $2 ac_aggr;
-if (sizeof ac_aggr.$3)
-return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$4=yes"
-else
-  eval "$4=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$4
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_member
-
-# ac_fn_c_check_func LINENO FUNC VAR
-# ----------------------------------
-# Tests whether FUNC exists, setting the cache variable VAR accordingly
-ac_fn_c_check_func ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
-   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
-#define $2 innocuous_$2
-
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char $2 (); below.
-    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-    <limits.h> exists even on freestanding compilers.  */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $2
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $2 ();
-/* The GNU C library defines this for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined __stub_$2 || defined __stub___$2
-choke me
-#endif
-
-int
-main ()
-{
-return $2 ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  eval "$3=yes"
-else
-  eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_func
-cat >config.log <<_ACEOF
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-
-It was created by tinydtls $as_me 0.8.2, which was
-generated by GNU Autoconf 2.69.  Invocation command line was
-
-  $ $0 $@
-
-_ACEOF
-exec 5>>config.log
-{
-cat <<_ASUNAME
-## --------- ##
-## Platform. ##
-## --------- ##
-
-hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
-/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`
-
-/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
-/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-/usr/bin/hostinfo      = `(/usr/bin/hostinfo) 2>/dev/null      || echo unknown`
-/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
-/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
-/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
-
-_ASUNAME
-
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    $as_echo "PATH: $as_dir"
-  done
-IFS=$as_save_IFS
-
-} >&5
-
-cat >&5 <<_ACEOF
-
-
-## ----------- ##
-## Core tests. ##
-## ----------- ##
-
-_ACEOF
-
-
-# Keep a trace of the command line.
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Strip out --silent because we don't want to record it for future runs.
-# Also quote any args containing shell meta-characters.
-# Make two passes to allow for proper duplicate-argument suppression.
-ac_configure_args=
-ac_configure_args0=
-ac_configure_args1=
-ac_must_keep_next=false
-for ac_pass in 1 2
-do
-  for ac_arg
-  do
-    case $ac_arg in
-    -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
-    -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-    | -silent | --silent | --silen | --sile | --sil)
-      continue ;;
-    *\'*)
-      ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    esac
-    case $ac_pass in
-    1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
-    2)
-      as_fn_append ac_configure_args1 " '$ac_arg'"
-      if test $ac_must_keep_next = true; then
-       ac_must_keep_next=false # Got value, back to normal.
-      else
-       case $ac_arg in
-         *=* | --config-cache | -C | -disable-* | --disable-* \
-         | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
-         | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
-         | -with-* | --with-* | -without-* | --without-* | --x)
-           case "$ac_configure_args0 " in
-             "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
-           esac
-           ;;
-         -* ) ac_must_keep_next=true ;;
-       esac
-      fi
-      as_fn_append ac_configure_args " '$ac_arg'"
-      ;;
-    esac
-  done
-done
-{ ac_configure_args0=; unset ac_configure_args0;}
-{ ac_configure_args1=; unset ac_configure_args1;}
-
-# When interrupted or exit'd, cleanup temporary files, and complete
-# config.log.  We remove comments because anyway the quotes in there
-# would cause problems or look ugly.
-# WARNING: Use '\'' to represent an apostrophe within the trap.
-# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
-trap 'exit_status=$?
-  # Save into config.log some information that might help in debugging.
-  {
-    echo
-
-    $as_echo "## ---------------- ##
-## Cache variables. ##
-## ---------------- ##"
-    echo
-    # The following way of writing the cache mishandles newlines in values,
-(
-  for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
-    eval ac_val=\$$ac_var
-    case $ac_val in #(
-    *${as_nl}*)
-      case $ac_var in #(
-      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
-      esac
-      case $ac_var in #(
-      _ | IFS | as_nl) ;; #(
-      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
-      *) { eval $ac_var=; unset $ac_var;} ;;
-      esac ;;
-    esac
-  done
-  (set) 2>&1 |
-    case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
-    *${as_nl}ac_space=\ *)
-      sed -n \
-       "s/'\''/'\''\\\\'\'''\''/g;
-         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
-      ;; #(
-    *)
-      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
-      ;;
-    esac |
-    sort
-)
-    echo
-
-    $as_echo "## ----------------- ##
-## Output variables. ##
-## ----------------- ##"
-    echo
-    for ac_var in $ac_subst_vars
-    do
-      eval ac_val=\$$ac_var
-      case $ac_val in
-      *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
-      esac
-      $as_echo "$ac_var='\''$ac_val'\''"
-    done | sort
-    echo
-
-    if test -n "$ac_subst_files"; then
-      $as_echo "## ------------------- ##
-## File substitutions. ##
-## ------------------- ##"
-      echo
-      for ac_var in $ac_subst_files
-      do
-       eval ac_val=\$$ac_var
-       case $ac_val in
-       *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
-       esac
-       $as_echo "$ac_var='\''$ac_val'\''"
-      done | sort
-      echo
-    fi
-
-    if test -s confdefs.h; then
-      $as_echo "## ----------- ##
-## confdefs.h. ##
-## ----------- ##"
-      echo
-      cat confdefs.h
-      echo
-    fi
-    test "$ac_signal" != 0 &&
-      $as_echo "$as_me: caught signal $ac_signal"
-    $as_echo "$as_me: exit $exit_status"
-  } >&5
-  rm -f core *.core core.conftest.* &&
-    rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
-    exit $exit_status
-' 0
-for ac_signal in 1 2 13 15; do
-  trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
-done
-ac_signal=0
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -f -r conftest* confdefs.h
-
-$as_echo "/* confdefs.h */" > confdefs.h
-
-# Predefined preprocessor variables.
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_NAME "$PACKAGE_NAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_VERSION "$PACKAGE_VERSION"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_STRING "$PACKAGE_STRING"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_URL "$PACKAGE_URL"
-_ACEOF
-
-
-# Let the site file select an alternate cache file if it wants to.
-# Prefer an explicitly selected file to automatically selected ones.
-ac_site_file1=NONE
-ac_site_file2=NONE
-if test -n "$CONFIG_SITE"; then
-  # We do not want a PATH search for config.site.
-  case $CONFIG_SITE in #((
-    -*)  ac_site_file1=./$CONFIG_SITE;;
-    */*) ac_site_file1=$CONFIG_SITE;;
-    *)   ac_site_file1=./$CONFIG_SITE;;
-  esac
-elif test "x$prefix" != xNONE; then
-  ac_site_file1=$prefix/share/config.site
-  ac_site_file2=$prefix/etc/config.site
-else
-  ac_site_file1=$ac_default_prefix/share/config.site
-  ac_site_file2=$ac_default_prefix/etc/config.site
-fi
-for ac_site_file in "$ac_site_file1" "$ac_site_file2"
-do
-  test "x$ac_site_file" = xNONE && continue
-  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
-$as_echo "$as_me: loading site script $ac_site_file" >&6;}
-    sed 's/^/| /' "$ac_site_file" >&5
-    . "$ac_site_file" \
-      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "failed to load site script $ac_site_file
-See \`config.log' for more details" "$LINENO" 5; }
-  fi
-done
-
-if test -r "$cache_file"; then
-  # Some versions of bash will fail to source /dev/null (special files
-  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
-  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
-$as_echo "$as_me: loading cache $cache_file" >&6;}
-    case $cache_file in
-      [\\/]* | ?:[\\/]* ) . "$cache_file";;
-      *)                      . "./$cache_file";;
-    esac
-  fi
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
-$as_echo "$as_me: creating cache $cache_file" >&6;}
-  >$cache_file
-fi
-
-# Check that the precious variables saved in the cache have kept the same
-# value.
-ac_cache_corrupted=false
-for ac_var in $ac_precious_vars; do
-  eval ac_old_set=\$ac_cv_env_${ac_var}_set
-  eval ac_new_set=\$ac_env_${ac_var}_set
-  eval ac_old_val=\$ac_cv_env_${ac_var}_value
-  eval ac_new_val=\$ac_env_${ac_var}_value
-  case $ac_old_set,$ac_new_set in
-    set,)
-      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
-      ac_cache_corrupted=: ;;
-    ,set)
-      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
-      ac_cache_corrupted=: ;;
-    ,);;
-    *)
-      if test "x$ac_old_val" != "x$ac_new_val"; then
-       # differences in whitespace do not lead to failure.
-       ac_old_val_w=`echo x $ac_old_val`
-       ac_new_val_w=`echo x $ac_new_val`
-       if test "$ac_old_val_w" != "$ac_new_val_w"; then
-         { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
-$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
-         ac_cache_corrupted=:
-       else
-         { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
-$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
-         eval $ac_var=\$ac_old_val
-       fi
-       { $as_echo "$as_me:${as_lineno-$LINENO}:   former value:  \`$ac_old_val'" >&5
-$as_echo "$as_me:   former value:  \`$ac_old_val'" >&2;}
-       { $as_echo "$as_me:${as_lineno-$LINENO}:   current value: \`$ac_new_val'" >&5
-$as_echo "$as_me:   current value: \`$ac_new_val'" >&2;}
-      fi;;
-  esac
-  # Pass precious variables to config.status.
-  if test "$ac_new_set" = set; then
-    case $ac_new_val in
-    *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
-    *) ac_arg=$ac_var=$ac_new_val ;;
-    esac
-    case " $ac_configure_args " in
-      *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
-      *) as_fn_append ac_configure_args " '$ac_arg'" ;;
-    esac
-  fi
-done
-if $ac_cache_corrupted; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-  { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
-$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
-fi
-## -------------------- ##
-## Main body of script. ##
-## -------------------- ##
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-
-
-
-# Check whether --with-contiki was given.
-if test "${with_contiki+set}" = set; then :
-  withval=$with_contiki;
-$as_echo "#define WITH_CONTIKI 1" >>confdefs.h
-
-   WITH_CONTIKI=1
-fi
-
-
-# Extract the first word of "doxygen", so it can be a program name with args.
-set dummy doxygen; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_DOXYGEN+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $DOXYGEN in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_DOXYGEN="$DOXYGEN" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_path_DOXYGEN="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-  test -z "$ac_cv_path_DOXYGEN" && ac_cv_path_DOXYGEN=":"
-  ;;
-esac
-fi
-DOXYGEN=$ac_cv_path_DOXYGEN
-if test -n "$DOXYGEN"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DOXYGEN" >&5
-$as_echo "$DOXYGEN" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-# Extract the first word of "etags", so it can be a program name with args.
-set dummy etags; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_ETAGS+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $ETAGS in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_ETAGS="$ETAGS" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_path_ETAGS="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-  test -z "$ac_cv_path_ETAGS" && ac_cv_path_ETAGS="/bin/false"
-  ;;
-esac
-fi
-ETAGS=$ac_cv_path_ETAGS
-if test -n "$ETAGS"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ETAGS" >&5
-$as_echo "$ETAGS" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-
-if test "${with_contiki}" != "yes" ; then
-# Checks for programs.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
-set x ${MAKE-make}
-ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.make <<\_ACEOF
-SHELL = /bin/sh
-all:
-       @echo '@@@%%%=$(MAKE)=@@@%%%'
-_ACEOF
-# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
-case `${MAKE-make} -f conftest.make 2>/dev/null` in
-  *@@@%%%=?*=@@@%%%*)
-    eval ac_cv_prog_make_${ac_make}_set=yes;;
-  *)
-    eval ac_cv_prog_make_${ac_make}_set=no;;
-esac
-rm -f conftest.make
-fi
-if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-  SET_MAKE=
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-  SET_MAKE="MAKE=${MAKE-make}"
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_CC="${ac_tool_prefix}gcc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_CC"; then
-  ac_ct_CC=$CC
-  # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_CC="gcc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_CC" = x; then
-    CC=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    CC=$ac_ct_CC
-  fi
-else
-  CC="$ac_cv_prog_CC"
-fi
-
-if test -z "$CC"; then
-          if test -n "$ac_tool_prefix"; then
-    # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_CC="${ac_tool_prefix}cc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  fi
-fi
-if test -z "$CC"; then
-  # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-  ac_prog_rejected=no
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
-       ac_prog_rejected=yes
-       continue
-     fi
-    ac_cv_prog_CC="cc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-if test $ac_prog_rejected = yes; then
-  # We found a bogon in the path, so make sure we never use it.
-  set dummy $ac_cv_prog_CC
-  shift
-  if test $# != 0; then
-    # We chose a different compiler from the bogus one.
-    # However, it has the same basename, so the bogon will be chosen
-    # first if we set CC to just the basename; use the full file name.
-    shift
-    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
-  fi
-fi
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$CC"; then
-  if test -n "$ac_tool_prefix"; then
-  for ac_prog in cl.exe
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-    test -n "$CC" && break
-  done
-fi
-if test -z "$CC"; then
-  ac_ct_CC=$CC
-  for ac_prog in cl.exe
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_CC="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$ac_ct_CC" && break
-done
-
-  if test "x$ac_ct_CC" = x; then
-    CC=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    CC=$ac_ct_CC
-  fi
-fi
-
-fi
-
-
-test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "no acceptable C compiler found in \$PATH
-See \`config.log' for more details" "$LINENO" 5; }
-
-# Provide some information about the compiler.
-$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
-set X $ac_compile
-ac_compiler=$2
-for ac_option in --version -v -V -qversion; do
-  { { ac_try="$ac_compiler $ac_option >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compiler $ac_option >&5") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    sed '10a\
-... rest of stderr output deleted ...
-         10q' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-  fi
-  rm -f conftest.er1 conftest.err
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-done
-
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
-# Try to create an executable without -o first, disregard a.out.
-# It will help us diagnose broken compilers, and finding out an intuition
-# of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-
-# The possible output files:
-ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
-
-ac_rmfiles=
-for ac_file in $ac_files
-do
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
-    * ) ac_rmfiles="$ac_rmfiles $ac_file";;
-  esac
-done
-rm -f $ac_rmfiles
-
-if { { ac_try="$ac_link_default"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link_default") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
-  # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
-# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
-# in a Makefile.  We should not override ac_cv_exeext if it was cached,
-# so that the user can short-circuit this test for compilers unknown to
-# Autoconf.
-for ac_file in $ac_files ''
-do
-  test -f "$ac_file" || continue
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
-       ;;
-    [ab].out )
-       # We found the default executable, but exeext='' is most
-       # certainly right.
-       break;;
-    *.* )
-       if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
-       then :; else
-          ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-       fi
-       # We set ac_cv_exeext here because the later test for it is not
-       # safe: cross compilers may not add the suffix if given an `-o'
-       # argument, so we may need to know it at that point already.
-       # Even if this section looks crufty: it has the advantage of
-       # actually working.
-       break;;
-    * )
-       break;;
-  esac
-done
-test "$ac_cv_exeext" = no && ac_cv_exeext=
-
-else
-  ac_file=''
-fi
-if test -z "$ac_file"; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "C compiler cannot create executables
-See \`config.log' for more details" "$LINENO" 5; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
-ac_exeext=$ac_cv_exeext
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
-$as_echo_n "checking for suffix of executables... " >&6; }
-if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
-  # If both `conftest.exe' and `conftest' are `present' (well, observable)
-# catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will
-# work properly (i.e., refer to `conftest.exe'), while it won't with
-# `rm'.
-for ac_file in conftest.exe conftest conftest.*; do
-  test -f "$ac_file" || continue
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
-    *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-         break;;
-    * ) break;;
-  esac
-done
-else
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest conftest$ac_cv_exeext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
-$as_echo "$ac_cv_exeext" >&6; }
-
-rm -f conftest.$ac_ext
-EXEEXT=$ac_cv_exeext
-ac_exeext=$EXEEXT
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdio.h>
-int
-main ()
-{
-FILE *f = fopen ("conftest.out", "w");
- return ferror (f) || fclose (f) != 0;
-
-  ;
-  return 0;
-}
-_ACEOF
-ac_clean_files="$ac_clean_files conftest.out"
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-if test "$cross_compiling" != yes; then
-  { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-  if { ac_try='./conftest$ac_cv_exeext'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-    cross_compiling=no
-  else
-    if test "$cross_compiling" = maybe; then
-       cross_compiling=yes
-    else
-       { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details" "$LINENO" 5; }
-    fi
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
-rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
-$as_echo_n "checking for suffix of object files... " >&6; }
-if ${ac_cv_objext+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.o conftest.obj
-if { { ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compile") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
-  for ac_file in conftest.o conftest.obj conftest.*; do
-  test -f "$ac_file" || continue;
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
-    *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
-       break;;
-  esac
-done
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest.$ac_cv_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
-$as_echo "$ac_cv_objext" >&6; }
-OBJEXT=$ac_cv_objext
-ac_objext=$OBJEXT
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
-$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if ${ac_cv_c_compiler_gnu+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-#ifndef __GNUC__
-       choke me
-#endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_compiler_gnu=yes
-else
-  ac_compiler_gnu=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_c_compiler_gnu=$ac_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
-$as_echo "$ac_cv_c_compiler_gnu" >&6; }
-if test $ac_compiler_gnu = yes; then
-  GCC=yes
-else
-  GCC=
-fi
-ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
-$as_echo_n "checking whether $CC accepts -g... " >&6; }
-if ${ac_cv_prog_cc_g+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_save_c_werror_flag=$ac_c_werror_flag
-   ac_c_werror_flag=yes
-   ac_cv_prog_cc_g=no
-   CFLAGS="-g"
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_g=yes
-else
-  CFLAGS=""
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
-  ac_c_werror_flag=$ac_save_c_werror_flag
-        CFLAGS="-g"
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_g=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-   ac_c_werror_flag=$ac_save_c_werror_flag
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
-$as_echo "$ac_cv_prog_cc_g" >&6; }
-if test "$ac_test_CFLAGS" = set; then
-  CFLAGS=$ac_save_CFLAGS
-elif test $ac_cv_prog_cc_g = yes; then
-  if test "$GCC" = yes; then
-    CFLAGS="-g -O2"
-  else
-    CFLAGS="-g"
-  fi
-else
-  if test "$GCC" = yes; then
-    CFLAGS="-O2"
-  else
-    CFLAGS=
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
-$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if ${ac_cv_prog_cc_c89+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_prog_cc_c89=no
-ac_save_CC=$CC
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdarg.h>
-#include <stdio.h>
-struct stat;
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
-     char **p;
-     int i;
-{
-  return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
-  char *s;
-  va_list v;
-  va_start (v,p);
-  s = g (p, va_arg (v,int));
-  va_end (v);
-  return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
-   function prototypes and stuff, but not '\xHH' hex character constants.
-   These don't provoke an error unfortunately, instead are silently treated
-   as 'x'.  The following induces an error, until -std is added to get
-   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
-   array size at least.  It's necessary to write '\x00'==0 to get something
-   that's true only with -std.  */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
-   inside strings and character constants.  */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
-
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
-  ;
-  return 0;
-}
-_ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
-       -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
-  CC="$ac_save_CC $ac_arg"
-  if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_c89=$ac_arg
-fi
-rm -f core conftest.err conftest.$ac_objext
-  test "x$ac_cv_prog_cc_c89" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
-
-fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
-  x)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
-  xno)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
-  *)
-    CC="$CC $ac_cv_prog_cc_c89"
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
-$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
-esac
-if test "x$ac_cv_prog_cc_c89" != xno; then :
-
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_RANLIB+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$RANLIB"; then
-  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
-$as_echo "$RANLIB" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_RANLIB"; then
-  ac_ct_RANLIB=$RANLIB
-  # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_RANLIB"; then
-  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_RANLIB="ranlib"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
-$as_echo "$ac_ct_RANLIB" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_RANLIB" = x; then
-    RANLIB=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    RANLIB=$ac_ct_RANLIB
-  fi
-else
-  RANLIB="$ac_cv_prog_RANLIB"
-fi
-
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
-$as_echo_n "checking how to run the C preprocessor... " >&6; }
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
-  CPP=
-fi
-if test -z "$CPP"; then
-  if ${ac_cv_prog_CPP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-      # Double quotes because CPP needs to be expanded
-    for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
-    do
-      ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-                    Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
-  # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  # Broken: success on invalid input.
-continue
-else
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-  break
-fi
-
-    done
-    ac_cv_prog_CPP=$CPP
-
-fi
-  CPP=$ac_cv_prog_CPP
-else
-  ac_cv_prog_CPP=$CPP
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
-$as_echo "$CPP" >&6; }
-ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-                    Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
-  # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  # Broken: success on invalid input.
-continue
-else
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-
-else
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
-$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if ${ac_cv_path_GREP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$GREP"; then
-  ac_path_GREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in grep ggrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-      as_fn_executable_p "$ac_path_GREP" || continue
-# Check for GNU ac_path_GREP and select it if it is found.
-  # Check for GNU $ac_path_GREP
-case `"$ac_path_GREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'GREP' >> "conftest.nl"
-    "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_GREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_GREP="$ac_path_GREP"
-      ac_path_GREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_GREP_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_GREP"; then
-    as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-  fi
-else
-  ac_cv_path_GREP=$GREP
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
-$as_echo "$ac_cv_path_GREP" >&6; }
- GREP="$ac_cv_path_GREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
-$as_echo_n "checking for egrep... " >&6; }
-if ${ac_cv_path_EGREP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
-   then ac_cv_path_EGREP="$GREP -E"
-   else
-     if test -z "$EGREP"; then
-  ac_path_EGREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in egrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-      as_fn_executable_p "$ac_path_EGREP" || continue
-# Check for GNU ac_path_EGREP and select it if it is found.
-  # Check for GNU $ac_path_EGREP
-case `"$ac_path_EGREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'EGREP' >> "conftest.nl"
-    "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_EGREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_EGREP="$ac_path_EGREP"
-      ac_path_EGREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_EGREP_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_EGREP"; then
-    as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-  fi
-else
-  ac_cv_path_EGREP=$EGREP
-fi
-
-   fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
-$as_echo "$ac_cv_path_EGREP" >&6; }
- EGREP="$ac_cv_path_EGREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if ${ac_cv_header_stdc+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_header_stdc=yes
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
-  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "memchr" >/dev/null 2>&1; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "free" >/dev/null 2>&1; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
-  if test "$cross_compiling" = yes; then :
-  :
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
-                  (('a' <= (c) && (c) <= 'i') \
-                    || ('j' <= (c) && (c) <= 'r') \
-                    || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
-  int i;
-  for (i = 0; i < 256; i++)
-    if (XOR (islower (i), ISLOWER (i))
-       || toupper (i) != TOUPPER (i))
-      return 2;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
-                 inttypes.h stdint.h unistd.h
-do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
-"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
-$as_echo_n "checking whether byte ordering is bigendian... " >&6; }
-if ${ac_cv_c_bigendian+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_c_bigendian=unknown
-    # See if we're dealing with a universal compiler.
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifndef __APPLE_CC__
-              not a universal capable compiler
-            #endif
-            typedef int dummy;
-
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-       # Check for potential -arch flags.  It is not universal unless
-       # there are at least two -arch flags with different values.
-       ac_arch=
-       ac_prev=
-       for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do
-        if test -n "$ac_prev"; then
-          case $ac_word in
-            i?86 | x86_64 | ppc | ppc64)
-              if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then
-                ac_arch=$ac_word
-              else
-                ac_cv_c_bigendian=universal
-                break
-              fi
-              ;;
-          esac
-          ac_prev=
-        elif test "x$ac_word" = "x-arch"; then
-          ac_prev=arch
-        fi
-       done
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-    if test $ac_cv_c_bigendian = unknown; then
-      # See if sys/param.h defines the BYTE_ORDER macro.
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
-            #include <sys/param.h>
-
-int
-main ()
-{
-#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \
-                    && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \
-                    && LITTLE_ENDIAN)
-             bogus endian macros
-            #endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  # It does; now see whether it defined to BIG_ENDIAN or not.
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
-               #include <sys/param.h>
-
-int
-main ()
-{
-#if BYTE_ORDER != BIG_ENDIAN
-                not big endian
-               #endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_c_bigendian=yes
-else
-  ac_cv_c_bigendian=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-    fi
-    if test $ac_cv_c_bigendian = unknown; then
-      # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris).
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <limits.h>
-
-int
-main ()
-{
-#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN)
-             bogus endian macros
-            #endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  # It does; now see whether it defined to _BIG_ENDIAN or not.
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <limits.h>
-
-int
-main ()
-{
-#ifndef _BIG_ENDIAN
-                not big endian
-               #endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_c_bigendian=yes
-else
-  ac_cv_c_bigendian=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-    fi
-    if test $ac_cv_c_bigendian = unknown; then
-      # Compile a test program.
-      if test "$cross_compiling" = yes; then :
-  # Try to guess by grepping values from an object file.
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-short int ascii_mm[] =
-                 { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
-               short int ascii_ii[] =
-                 { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
-               int use_ascii (int i) {
-                 return ascii_mm[i] + ascii_ii[i];
-               }
-               short int ebcdic_ii[] =
-                 { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
-               short int ebcdic_mm[] =
-                 { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
-               int use_ebcdic (int i) {
-                 return ebcdic_mm[i] + ebcdic_ii[i];
-               }
-               extern int foo;
-
-int
-main ()
-{
-return use_ascii (foo) == use_ebcdic (foo);
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then
-             ac_cv_c_bigendian=yes
-           fi
-           if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
-             if test "$ac_cv_c_bigendian" = unknown; then
-               ac_cv_c_bigendian=no
-             else
-               # finding both strings is unlikely to happen, but who knows?
-               ac_cv_c_bigendian=unknown
-             fi
-           fi
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-
-            /* Are we little or big endian?  From Harbison&Steele.  */
-            union
-            {
-              long int l;
-              char c[sizeof (long int)];
-            } u;
-            u.l = 1;
-            return u.c[sizeof (long int) - 1] == 1;
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  ac_cv_c_bigendian=no
-else
-  ac_cv_c_bigendian=yes
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-    fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5
-$as_echo "$ac_cv_c_bigendian" >&6; }
- case $ac_cv_c_bigendian in #(
-   yes)
-     $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h
-;; #(
-   no)
-      ;; #(
-   universal)
-
-$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
-
-     ;; #(
-   *)
-     as_fn_error $? "unknown endianness
- presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
- esac
-
-
-# Checks for libraries.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing gethostbyname" >&5
-$as_echo_n "checking for library containing gethostbyname... " >&6; }
-if ${ac_cv_search_gethostbyname+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_func_search_save_LIBS=$LIBS
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char gethostbyname ();
-int
-main ()
-{
-return gethostbyname ();
-  ;
-  return 0;
-}
-_ACEOF
-for ac_lib in '' nsl; do
-  if test -z "$ac_lib"; then
-    ac_res="none required"
-  else
-    ac_res=-l$ac_lib
-    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
-  fi
-  if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_search_gethostbyname=$ac_res
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext
-  if ${ac_cv_search_gethostbyname+:} false; then :
-  break
-fi
-done
-if ${ac_cv_search_gethostbyname+:} false; then :
-
-else
-  ac_cv_search_gethostbyname=no
-fi
-rm conftest.$ac_ext
-LIBS=$ac_func_search_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_gethostbyname" >&5
-$as_echo "$ac_cv_search_gethostbyname" >&6; }
-ac_res=$ac_cv_search_gethostbyname
-if test "$ac_res" != no; then :
-  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
-
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing socket" >&5
-$as_echo_n "checking for library containing socket... " >&6; }
-if ${ac_cv_search_socket+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_func_search_save_LIBS=$LIBS
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char socket ();
-int
-main ()
-{
-return socket ();
-  ;
-  return 0;
-}
-_ACEOF
-for ac_lib in '' socket; do
-  if test -z "$ac_lib"; then
-    ac_res="none required"
-  else
-    ac_res=-l$ac_lib
-    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
-  fi
-  if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_search_socket=$ac_res
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext
-  if ${ac_cv_search_socket+:} false; then :
-  break
-fi
-done
-if ${ac_cv_search_socket+:} false; then :
-
-else
-  ac_cv_search_socket=no
-fi
-rm conftest.$ac_ext
-LIBS=$ac_func_search_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_socket" >&5
-$as_echo "$ac_cv_search_socket" >&6; }
-ac_res=$ac_cv_search_socket
-if test "$ac_res" != no; then :
-  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
-
-fi
-
-fi
-
-
-# Check whether --with-debug was given.
-if test "${with_debug+set}" = set; then :
-  withval=$with_debug; CPPFLAGS="${CPPFLAGS} -DNDEBUG"
-   NDEBUG=1
-fi
-
-
-
-# Check whether --with-ecc was given.
-if test "${with_ecc+set}" = set; then :
-  withval=$with_ecc;
-else
-
-$as_echo "#define DTLS_ECC 1" >>confdefs.h
-
-   OPT_OBJS="${OPT_OBJS} ecc/ecc.o"
-   DTLS_ECC=1
-fi
-
-
-
-# Check whether --with-psk was given.
-if test "${with_psk+set}" = set; then :
-  withval=$with_psk;
-else
-
-$as_echo "#define DTLS_PSK 1" >>confdefs.h
-
-   DTLS_PSK=1
-fi
-
-
-CPPFLAGS="${CPPFLAGS} -DDTLSv12 -DWITH_SHA256"
-OPT_OBJS="${OPT_OBJS} sha2/sha2.o"
-
-
-
-
-
-
-
-if test "${with_contiki}" = "yes" ; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: skipping header checks for Contiki" >&5
-$as_echo "$as_me: skipping header checks for Contiki" >&6;}
-else
-  # Checks for header files.
-  for ac_header in assert.h arpa/inet.h fcntl.h inttypes.h netdb.h netinet/in.h stddef.h stdint.h stdlib.h string.h strings.h sys/param.h sys/socket.h unistd.h
-do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-  for ac_header in sys/time.h time.h
-do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-  for ac_header in sys/types.h sys/stat.h
-do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-# Checks for typedefs, structures, and compiler characteristics.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5
-$as_echo_n "checking for inline... " >&6; }
-if ${ac_cv_c_inline+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_c_inline=no
-for ac_kw in inline __inline__ __inline; do
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifndef __cplusplus
-typedef int foo_t;
-static $ac_kw foo_t static_foo () {return 0; }
-$ac_kw foo_t foo () {return 0; }
-#endif
-
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_c_inline=$ac_kw
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  test "$ac_cv_c_inline" != no && break
-done
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5
-$as_echo "$ac_cv_c_inline" >&6; }
-
-case $ac_cv_c_inline in
-  inline | yes) ;;
-  *)
-    case $ac_cv_c_inline in
-      no) ac_val=;;
-      *) ac_val=$ac_cv_c_inline;;
-    esac
-    cat >>confdefs.h <<_ACEOF
-#ifndef __cplusplus
-#define inline $ac_val
-#endif
-_ACEOF
-    ;;
-esac
-
-ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
-if test "x$ac_cv_type_size_t" = xyes; then :
-
-else
-
-cat >>confdefs.h <<_ACEOF
-#define size_t unsigned int
-_ACEOF
-
-fi
-
-
-ac_fn_c_check_member "$LINENO" "struct sockaddr_in6" "sin6_len" "ac_cv_member_struct_sockaddr_in6_sin6_len" "#include <netinet/in.h>
-"
-if test "x$ac_cv_member_struct_sockaddr_in6_sin6_len" = xyes; then :
-
-$as_echo "#define HAVE_SOCKADDR_IN6_SIN6_LEN 1" >>confdefs.h
-
-fi
-
-
-# Checks for library functions.
-for ac_header in stdlib.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "stdlib.h" "ac_cv_header_stdlib_h" "$ac_includes_default"
-if test "x$ac_cv_header_stdlib_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_STDLIB_H 1
-_ACEOF
-
-fi
-
-done
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU libc compatible malloc" >&5
-$as_echo_n "checking for GNU libc compatible malloc... " >&6; }
-if ${ac_cv_func_malloc_0_nonnull+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "$cross_compiling" = yes; then :
-  ac_cv_func_malloc_0_nonnull=no
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#if defined STDC_HEADERS || defined HAVE_STDLIB_H
-# include <stdlib.h>
-#else
-char *malloc ();
-#endif
-
-int
-main ()
-{
-return ! malloc (0);
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  ac_cv_func_malloc_0_nonnull=yes
-else
-  ac_cv_func_malloc_0_nonnull=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_malloc_0_nonnull" >&5
-$as_echo "$ac_cv_func_malloc_0_nonnull" >&6; }
-if test $ac_cv_func_malloc_0_nonnull = yes; then :
-
-$as_echo "#define HAVE_MALLOC 1" >>confdefs.h
-
-else
-  $as_echo "#define HAVE_MALLOC 0" >>confdefs.h
-
-   case " $LIBOBJS " in
-  *" malloc.$ac_objext "* ) ;;
-  *) LIBOBJS="$LIBOBJS malloc.$ac_objext"
- ;;
-esac
-
-
-$as_echo "#define malloc rpl_malloc" >>confdefs.h
-
-fi
-
-
-for ac_func in memset select socket strdup strerror strnlen fls vprintf
-do :
-  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-fi
-
-ac_config_headers="$ac_config_headers dtls_config.h tinydtls.h"
-
-
-# Adds Contiki-specific definitions to the end of dtls_config.h
-
-
-ac_config_files="$ac_config_files Makefile doc/Makefile doc/Doxyfile tests/Makefile examples/contiki/Makefile platform-specific/Makefile sha2/Makefile aes/Makefile ecc/Makefile"
-
-cat >confcache <<\_ACEOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs, see configure's option --config-cache.
-# It is not useful on other systems.  If it contains results you don't
-# want to keep, you may remove or edit it.
-#
-# config.status only pays attention to the cache file if you give it
-# the --recheck option to rerun configure.
-#
-# `ac_cv_env_foo' variables (set or unset) will be overridden when
-# loading this file, other *unset* `ac_cv_foo' will be assigned the
-# following values.
-
-_ACEOF
-
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, we kill variables containing newlines.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(
-  for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
-    eval ac_val=\$$ac_var
-    case $ac_val in #(
-    *${as_nl}*)
-      case $ac_var in #(
-      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
-      esac
-      case $ac_var in #(
-      _ | IFS | as_nl) ;; #(
-      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
-      *) { eval $ac_var=; unset $ac_var;} ;;
-      esac ;;
-    esac
-  done
-
-  (set) 2>&1 |
-    case $as_nl`(ac_space=' '; set) 2>&1` in #(
-    *${as_nl}ac_space=\ *)
-      # `set' does not quote correctly, so add quotes: double-quote
-      # substitution turns \\\\ into \\, and sed turns \\ into \.
-      sed -n \
-       "s/'/'\\\\''/g;
-         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
-      ;; #(
-    *)
-      # `set' quotes correctly as required by POSIX, so do not add quotes.
-      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
-      ;;
-    esac |
-    sort
-) |
-  sed '
-     /^ac_cv_env_/b end
-     t clear
-     :clear
-     s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
-     t end
-     s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
-     :end' >>confcache
-if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
-  if test -w "$cache_file"; then
-    if test "x$cache_file" != "x/dev/null"; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
-$as_echo "$as_me: updating cache $cache_file" >&6;}
-      if test ! -f "$cache_file" || test -h "$cache_file"; then
-       cat confcache >"$cache_file"
-      else
-        case $cache_file in #(
-        */* | ?:*)
-         mv -f confcache "$cache_file"$$ &&
-         mv -f "$cache_file"$$ "$cache_file" ;; #(
-        *)
-         mv -f confcache "$cache_file" ;;
-       esac
-      fi
-    fi
-  else
-    { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
-$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
-  fi
-fi
-rm -f confcache
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-DEFS=-DHAVE_CONFIG_H
-
-ac_libobjs=
-ac_ltlibobjs=
-U=
-for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
-  # 1. Remove the extension, and $U if already installed.
-  ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
-  ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
-  # 2. Prepend LIBOBJDIR.  When used with automake>=1.10 LIBOBJDIR
-  #    will be set to the directory where LIBOBJS objects are built.
-  as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
-  as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
-done
-LIBOBJS=$ac_libobjs
-
-LTLIBOBJS=$ac_ltlibobjs
-
-
-
-
-: "${CONFIG_STATUS=./config.status}"
-ac_write_fail=0
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
-$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
-as_write_fail=0
-cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
-#! $SHELL
-# Generated by $as_me.
-# Run this file to recreate the current configuration.
-# Compiler output produced by configure, useful for debugging
-# configure, is in config.log if it exists.
-
-debug=false
-ac_cs_recheck=false
-ac_cs_silent=false
-
-SHELL=\${CONFIG_SHELL-$SHELL}
-export SHELL
-_ASEOF
-cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in #(
-  *posix*) :
-    set -o posix ;; #(
-  *) :
-     ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
-    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='print -r --'
-  as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='printf %s\n'
-  as_echo_n='printf %s'
-else
-  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
-    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
-    as_echo_n='/usr/ucb/echo -n'
-  else
-    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
-    as_echo_n_body='eval
-      arg=$1;
-      case $arg in #(
-      *"$as_nl"*)
-       expr "X$arg" : "X\\(.*\\)$as_nl";
-       arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
-      esac;
-      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
-    '
-    export as_echo_n_body
-    as_echo_n='sh -c $as_echo_n_body as_echo'
-  fi
-  export as_echo_body
-  as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  PATH_SEPARATOR=:
-  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
-    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
-      PATH_SEPARATOR=';'
-  }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.  Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" ""       $as_nl"
-
-# Find who we are.  Look in the path if we contain no directory separator.
-as_myself=
-case $0 in #((
-  *[\\/]* ) as_myself=$0 ;;
-  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-  done
-IFS=$as_save_IFS
-
-     ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
-  as_myself=$0
-fi
-if test ! -f "$as_myself"; then
-  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
-  exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there.  '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
-  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
-  as_status=$1; test $as_status -eq 0 && as_status=1
-  if test "$4"; then
-    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
-  fi
-  $as_echo "$as_me: error: $2" >&2
-  as_fn_exit $as_status
-} # as_fn_error
-
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
-  return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
-  set +e
-  as_fn_set_status $1
-  exit $1
-} # as_fn_exit
-
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
-  { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
-  eval 'as_fn_append ()
-  {
-    eval $1+=\$2
-  }'
-else
-  as_fn_append ()
-  {
-    eval $1=\$$1\$2
-  }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
-  eval 'as_fn_arith ()
-  {
-    as_val=$(( $* ))
-  }'
-else
-  as_fn_arith ()
-  {
-    as_val=`expr "$@" || test $? -eq 1`
-  }
-fi # as_fn_arith
-
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
-   test "X`expr 00001 : '.*\(...\)'`" = X001; then
-  as_expr=expr
-else
-  as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
-  as_basename=basename
-else
-  as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
-  as_dirname=dirname
-else
-  as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
-        X"$0" : 'X\(//\)$' \| \
-        X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
-    sed '/^.*\/\([^/][^/]*\)\/*$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
-  case `echo 'xy\c'` in
-  *c*) ECHO_T='        ';;     # ECHO_T is single tab character.
-  xy)  ECHO_C='\c';;
-  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
-       ECHO_T='        ';;
-  esac;;
-*)
-  ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
-  rm -f conf$$.dir/conf$$.file
-else
-  rm -f conf$$.dir
-  mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
-  if ln -s conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s='ln -s'
-    # ... but there are two gotchas:
-    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
-    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -pR'.
-    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -pR'
-  elif ln conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s=ln
-  else
-    as_ln_s='cp -pR'
-  fi
-else
-  as_ln_s='cp -pR'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
-  case $as_dir in #(
-  -*) as_dir=./$as_dir;;
-  esac
-  test -d "$as_dir" || eval $as_mkdir_p || {
-    as_dirs=
-    while :; do
-      case $as_dir in #(
-      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
-      *) as_qdir=$as_dir;;
-      esac
-      as_dirs="'$as_qdir' $as_dirs"
-      as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$as_dir" : 'X\(//\)[^/]' \| \
-        X"$as_dir" : 'X\(//\)$' \| \
-        X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-      test -d "$as_dir" && break
-    done
-    test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-if mkdir -p . 2>/dev/null; then
-  as_mkdir_p='mkdir -p "$as_dir"'
-else
-  test -d ./-p && rmdir ./-p
-  as_mkdir_p=false
-fi
-
-
-# as_fn_executable_p FILE
-# -----------------------
-# Test if FILE is an executable regular file.
-as_fn_executable_p ()
-{
-  test -f "$1" && test -x "$1"
-} # as_fn_executable_p
-as_test_x='test -x'
-as_executable_p=as_fn_executable_p
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-exec 6>&1
-## ----------------------------------- ##
-## Main body of $CONFIG_STATUS script. ##
-## ----------------------------------- ##
-_ASEOF
-test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# Save the log message, to keep $0 and so on meaningful, and to
-# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling.
-ac_log="
-This file was extended by tinydtls $as_me 0.8.2, which was
-generated by GNU Autoconf 2.69.  Invocation command line was
-
-  CONFIG_FILES    = $CONFIG_FILES
-  CONFIG_HEADERS  = $CONFIG_HEADERS
-  CONFIG_LINKS    = $CONFIG_LINKS
-  CONFIG_COMMANDS = $CONFIG_COMMANDS
-  $ $0 $@
-
-on `(hostname || uname -n) 2>/dev/null | sed 1q`
-"
-
-_ACEOF
-
-case $ac_config_files in *"
-"*) set x $ac_config_files; shift; ac_config_files=$*;;
-esac
-
-case $ac_config_headers in *"
-"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
-esac
-
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-# Files that config.status was made for.
-config_files="$ac_config_files"
-config_headers="$ac_config_headers"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-ac_cs_usage="\
-\`$as_me' instantiates files and other configuration actions
-from templates according to the current configuration.  Unless the files
-and actions are specified as TAGs, all are instantiated by default.
-
-Usage: $0 [OPTION]... [TAG]...
-
-  -h, --help       print this help, then exit
-  -V, --version    print version number and configuration settings, then exit
-      --config     print configuration, then exit
-  -q, --quiet, --silent
-                   do not print progress messages
-  -d, --debug      don't remove temporary files
-      --recheck    update $as_me by reconfiguring in the same conditions
-      --file=FILE[:TEMPLATE]
-                   instantiate the configuration file FILE
-      --header=FILE[:TEMPLATE]
-                   instantiate the configuration header FILE
-
-Configuration files:
-$config_files
-
-Configuration headers:
-$config_headers
-
-Report bugs to the package provider."
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
-ac_cs_version="\\
-tinydtls config.status 0.8.2
-configured by $0, generated by GNU Autoconf 2.69,
-  with options \\"\$ac_cs_config\\"
-
-Copyright (C) 2012 Free Software Foundation, Inc.
-This config.status script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it."
-
-ac_pwd='$ac_pwd'
-srcdir='$srcdir'
-test -n "\$AWK" || AWK=awk
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# The default lists apply if the user does not specify any file.
-ac_need_defaults=:
-while test $# != 0
-do
-  case $1 in
-  --*=?*)
-    ac_option=`expr "X$1" : 'X\([^=]*\)='`
-    ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
-    ac_shift=:
-    ;;
-  --*=)
-    ac_option=`expr "X$1" : 'X\([^=]*\)='`
-    ac_optarg=
-    ac_shift=:
-    ;;
-  *)
-    ac_option=$1
-    ac_optarg=$2
-    ac_shift=shift
-    ;;
-  esac
-
-  case $ac_option in
-  # Handling of the options.
-  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
-    ac_cs_recheck=: ;;
-  --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
-    $as_echo "$ac_cs_version"; exit ;;
-  --config | --confi | --conf | --con | --co | --c )
-    $as_echo "$ac_cs_config"; exit ;;
-  --debug | --debu | --deb | --de | --d | -d )
-    debug=: ;;
-  --file | --fil | --fi | --f )
-    $ac_shift
-    case $ac_optarg in
-    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    '') as_fn_error $? "missing file argument" ;;
-    esac
-    as_fn_append CONFIG_FILES " '$ac_optarg'"
-    ac_need_defaults=false;;
-  --header | --heade | --head | --hea )
-    $ac_shift
-    case $ac_optarg in
-    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    esac
-    as_fn_append CONFIG_HEADERS " '$ac_optarg'"
-    ac_need_defaults=false;;
-  --he | --h)
-    # Conflict between --help and --header
-    as_fn_error $? "ambiguous option: \`$1'
-Try \`$0 --help' for more information.";;
-  --help | --hel | -h )
-    $as_echo "$ac_cs_usage"; exit ;;
-  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-  | -silent | --silent | --silen | --sile | --sil | --si | --s)
-    ac_cs_silent=: ;;
-
-  # This is an error.
-  -*) as_fn_error $? "unrecognized option: \`$1'
-Try \`$0 --help' for more information." ;;
-
-  *) as_fn_append ac_config_targets " $1"
-     ac_need_defaults=false ;;
-
-  esac
-  shift
-done
-
-ac_configure_extra_args=
-
-if $ac_cs_silent; then
-  exec 6>/dev/null
-  ac_configure_extra_args="$ac_configure_extra_args --silent"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-if \$ac_cs_recheck; then
-  set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
-  shift
-  \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
-  CONFIG_SHELL='$SHELL'
-  export CONFIG_SHELL
-  exec "\$@"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-exec 5>>config.log
-{
-  echo
-  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
-  $as_echo "$ac_log"
-} >&5
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-
-# Handling of arguments.
-for ac_config_target in $ac_config_targets
-do
-  case $ac_config_target in
-    "dtls_config.h") CONFIG_HEADERS="$CONFIG_HEADERS dtls_config.h" ;;
-    "tinydtls.h") CONFIG_HEADERS="$CONFIG_HEADERS tinydtls.h" ;;
-    "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
-    "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
-    "doc/Doxyfile") CONFIG_FILES="$CONFIG_FILES doc/Doxyfile" ;;
-    "tests/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;;
-    "examples/contiki/Makefile") CONFIG_FILES="$CONFIG_FILES examples/contiki/Makefile" ;;
-    "platform-specific/Makefile") CONFIG_FILES="$CONFIG_FILES platform-specific/Makefile" ;;
-    "sha2/Makefile") CONFIG_FILES="$CONFIG_FILES sha2/Makefile" ;;
-    "aes/Makefile") CONFIG_FILES="$CONFIG_FILES aes/Makefile" ;;
-    "ecc/Makefile") CONFIG_FILES="$CONFIG_FILES ecc/Makefile" ;;
-
-  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
-  esac
-done
-
-
-# If the user did not use the arguments to specify the items to instantiate,
-# then the envvar interface is used.  Set only those that are not.
-# We use the long form for the default assignment because of an extremely
-# bizarre bug on SunOS 4.1.3.
-if $ac_need_defaults; then
-  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
-  test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
-fi
-
-# Have a temporary directory for convenience.  Make it in the build tree
-# simply because there is no reason against having it here, and in addition,
-# creating and moving files from /tmp can sometimes cause problems.
-# Hook for its removal unless debugging.
-# Note that there is a small window in which the directory will not be cleaned:
-# after its creation but before its name has been assigned to `$tmp'.
-$debug ||
-{
-  tmp= ac_tmp=
-  trap 'exit_status=$?
-  : "${ac_tmp:=$tmp}"
-  { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
-' 0
-  trap 'as_fn_exit 1' 1 2 13 15
-}
-# Create a (secure) tmp directory for tmp files.
-
-{
-  tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
-  test -d "$tmp"
-}  ||
-{
-  tmp=./conf$$-$RANDOM
-  (umask 077 && mkdir "$tmp")
-} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
-ac_tmp=$tmp
-
-# Set up the scripts for CONFIG_FILES section.
-# No need to generate them if there are no CONFIG_FILES.
-# This happens for instance with `./config.status config.h'.
-if test -n "$CONFIG_FILES"; then
-
-
-ac_cr=`echo X | tr X '\015'`
-# On cygwin, bash can eat \r inside `` if the user requested igncr.
-# But we know of no other shell where ac_cr would be empty at this
-# point, so we can use a bashism as a fallback.
-if test "x$ac_cr" = x; then
-  eval ac_cr=\$\'\\r\'
-fi
-ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
-if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
-  ac_cs_awk_cr='\\r'
-else
-  ac_cs_awk_cr=$ac_cr
-fi
-
-echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
-_ACEOF
-
-
-{
-  echo "cat >conf$$subs.awk <<_ACEOF" &&
-  echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
-  echo "_ACEOF"
-} >conf$$subs.sh ||
-  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
-ac_delim='%!_!# '
-for ac_last_try in false false false false false :; do
-  . ./conf$$subs.sh ||
-    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-
-  ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
-  if test $ac_delim_n = $ac_delim_num; then
-    break
-  elif $ac_last_try; then
-    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-  else
-    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
-  fi
-done
-rm -f conf$$subs.sh
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
-_ACEOF
-sed -n '
-h
-s/^/S["/; s/!.*/"]=/
-p
-g
-s/^[^!]*!//
-:repl
-t repl
-s/'"$ac_delim"'$//
-t delim
-:nl
-h
-s/\(.\{148\}\)..*/\1/
-t more1
-s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
-p
-n
-b repl
-:more1
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t nl
-:delim
-h
-s/\(.\{148\}\)..*/\1/
-t more2
-s/["\\]/\\&/g; s/^/"/; s/$/"/
-p
-b
-:more2
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t delim
-' <conf$$subs.awk | sed '
-/^[^""]/{
-  N
-  s/\n//
-}
-' >>$CONFIG_STATUS || ac_write_fail=1
-rm -f conf$$subs.awk
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-_ACAWK
-cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
-  for (key in S) S_is_set[key] = 1
-  FS = "\a"
-
-}
-{
-  line = $ 0
-  nfields = split(line, field, "@")
-  substed = 0
-  len = length(field[1])
-  for (i = 2; i < nfields; i++) {
-    key = field[i]
-    keylen = length(key)
-    if (S_is_set[key]) {
-      value = S[key]
-      line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
-      len += length(value) + length(field[++i])
-      substed = 1
-    } else
-      len += 1 + keylen
-  }
-
-  print line
-}
-
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
-  sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
-else
-  cat
-fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
-  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
-_ACEOF
-
-# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
-# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
-# trailing colons and then remove the whole line if VPATH becomes empty
-# (actually we leave an empty line to preserve line numbers).
-if test "x$srcdir" = x.; then
-  ac_vpsub='/^[         ]*VPATH[        ]*=[    ]*/{
-h
-s///
-s/^/:/
-s/[     ]*$/:/
-s/:\$(srcdir):/:/g
-s/:\${srcdir}:/:/g
-s/:@srcdir@:/:/g
-s/^:*//
-s/:*$//
-x
-s/\(=[  ]*\).*/\1/
-G
-s/\n//
-s/^[^=]*=[      ]*$//
-}'
-fi
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-fi # test -n "$CONFIG_FILES"
-
-# Set up the scripts for CONFIG_HEADERS section.
-# No need to generate them if there are no CONFIG_HEADERS.
-# This happens for instance with `./config.status Makefile'.
-if test -n "$CONFIG_HEADERS"; then
-cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
-BEGIN {
-_ACEOF
-
-# Transform confdefs.h into an awk script `defines.awk', embedded as
-# here-document in config.status, that substitutes the proper values into
-# config.h.in to produce config.h.
-
-# Create a delimiter string that does not exist in confdefs.h, to ease
-# handling of long lines.
-ac_delim='%!_!# '
-for ac_last_try in false false :; do
-  ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
-  if test -z "$ac_tt"; then
-    break
-  elif $ac_last_try; then
-    as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
-  else
-    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
-  fi
-done
-
-# For the awk script, D is an array of macro values keyed by name,
-# likewise P contains macro parameters if any.  Preserve backslash
-# newline sequences.
-
-ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
-sed -n '
-s/.\{148\}/&'"$ac_delim"'/g
-t rset
-:rset
-s/^[    ]*#[    ]*define[       ][      ]*/ /
-t def
-d
-:def
-s/\\$//
-t bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[    ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3"/p
-s/^ \('"$ac_word_re"'\)[        ]*\(.*\)/D["\1"]=" \2"/p
-d
-:bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[    ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3\\\\\\n"\\/p
-t cont
-s/^ \('"$ac_word_re"'\)[        ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
-t cont
-d
-:cont
-n
-s/.\{148\}/&'"$ac_delim"'/g
-t clear
-:clear
-s/\\$//
-t bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/"/p
-d
-:bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
-b cont
-' <confdefs.h | sed '
-s/'"$ac_delim"'/"\\\
-"/g' >>$CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-  for (key in D) D_is_set[key] = 1
-  FS = "\a"
-}
-/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
-  line = \$ 0
-  split(line, arg, " ")
-  if (arg[1] == "#") {
-    defundef = arg[2]
-    mac1 = arg[3]
-  } else {
-    defundef = substr(arg[1], 2)
-    mac1 = arg[2]
-  }
-  split(mac1, mac2, "(") #)
-  macro = mac2[1]
-  prefix = substr(line, 1, index(line, defundef) - 1)
-  if (D_is_set[macro]) {
-    # Preserve the white space surrounding the "#".
-    print prefix "define", macro P[macro] D[macro]
-    next
-  } else {
-    # Replace #undef with comments.  This is necessary, for example,
-    # in the case of _POSIX_SOURCE, which is predefined and required
-    # on some systems where configure will not decide to define it.
-    if (defundef == "undef") {
-      print "/*", prefix defundef, macro, "*/"
-      next
-    }
-  }
-}
-{ print }
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-  as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
-fi # test -n "$CONFIG_HEADERS"
-
-
-eval set X "  :F $CONFIG_FILES  :H $CONFIG_HEADERS    "
-shift
-for ac_tag
-do
-  case $ac_tag in
-  :[FHLC]) ac_mode=$ac_tag; continue;;
-  esac
-  case $ac_mode$ac_tag in
-  :[FHL]*:*);;
-  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
-  :[FH]-) ac_tag=-:-;;
-  :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
-  esac
-  ac_save_IFS=$IFS
-  IFS=:
-  set x $ac_tag
-  IFS=$ac_save_IFS
-  shift
-  ac_file=$1
-  shift
-
-  case $ac_mode in
-  :L) ac_source=$1;;
-  :[FH])
-    ac_file_inputs=
-    for ac_f
-    do
-      case $ac_f in
-      -) ac_f="$ac_tmp/stdin";;
-      *) # Look for the file first in the build tree, then in the source tree
-        # (if the path is not absolute).  The absolute path cannot be DOS-style,
-        # because $ac_f cannot contain `:'.
-        test -f "$ac_f" ||
-          case $ac_f in
-          [\\/$]*) false;;
-          *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
-          esac ||
-          as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
-      esac
-      case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
-      as_fn_append ac_file_inputs " '$ac_f'"
-    done
-
-    # Let's still pretend it is `configure' which instantiates (i.e., don't
-    # use $as_me), people would be surprised to read:
-    #    /* config.h.  Generated by config.status.  */
-    configure_input='Generated from '`
-         $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
-       `' by configure.'
-    if test x"$ac_file" != x-; then
-      configure_input="$ac_file.  $configure_input"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
-$as_echo "$as_me: creating $ac_file" >&6;}
-    fi
-    # Neutralize special characters interpreted by sed in replacement strings.
-    case $configure_input in #(
-    *\&* | *\|* | *\\* )
-       ac_sed_conf_input=`$as_echo "$configure_input" |
-       sed 's/[\\\\&|]/\\\\&/g'`;; #(
-    *) ac_sed_conf_input=$configure_input;;
-    esac
-
-    case $ac_tag in
-    *:-:* | *:-) cat >"$ac_tmp/stdin" \
-      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
-    esac
-    ;;
-  esac
-
-  ac_dir=`$as_dirname -- "$ac_file" ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$ac_file" : 'X\(//\)[^/]' \| \
-        X"$ac_file" : 'X\(//\)$' \| \
-        X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$ac_file" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-  as_dir="$ac_dir"; as_fn_mkdir_p
-  ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
-  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
-  # A ".." for each directory in $ac_dir_suffix.
-  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
-  case $ac_top_builddir_sub in
-  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
-  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
-  esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
-  .)  # We are building in place.
-    ac_srcdir=.
-    ac_top_srcdir=$ac_top_builddir_sub
-    ac_abs_top_srcdir=$ac_pwd ;;
-  [\\/]* | ?:[\\/]* )  # Absolute name.
-    ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir
-    ac_abs_top_srcdir=$srcdir ;;
-  *) # Relative name.
-    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_build_prefix$srcdir
-    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-
-  case $ac_mode in
-  :F)
-  #
-  # CONFIG_FILE
-  #
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# If the template does not know about datarootdir, expand it.
-# FIXME: This hack should be removed a few years after 2.60.
-ac_datarootdir_hack=; ac_datarootdir_seen=
-ac_sed_dataroot='
-/datarootdir/ {
-  p
-  q
-}
-/@datadir@/p
-/@docdir@/p
-/@infodir@/p
-/@localedir@/p
-/@mandir@/p'
-case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
-*datarootdir*) ac_datarootdir_seen=yes;;
-*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
-$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-  ac_datarootdir_hack='
-  s&@datadir@&$datadir&g
-  s&@docdir@&$docdir&g
-  s&@infodir@&$infodir&g
-  s&@localedir@&$localedir&g
-  s&@mandir@&$mandir&g
-  s&\\\${datarootdir}&$datarootdir&g' ;;
-esac
-_ACEOF
-
-# Neutralize VPATH when `$srcdir' = `.'.
-# Shell code in configure.ac might set extrasub.
-# FIXME: do we really want to maintain this feature?
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_sed_extra="$ac_vpsub
-$extrasub
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-:t
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s|@configure_input@|$ac_sed_conf_input|;t t
-s&@top_builddir@&$ac_top_builddir_sub&;t t
-s&@top_build_prefix@&$ac_top_build_prefix&;t t
-s&@srcdir@&$ac_srcdir&;t t
-s&@abs_srcdir@&$ac_abs_srcdir&;t t
-s&@top_srcdir@&$ac_top_srcdir&;t t
-s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
-s&@builddir@&$ac_builddir&;t t
-s&@abs_builddir@&$ac_abs_builddir&;t t
-s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
-$ac_datarootdir_hack
-"
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
-  >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-
-test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
-  { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
-  { ac_out=`sed -n '/^[         ]*datarootdir[  ]*:*=/p' \
-      "$ac_tmp/out"`; test -z "$ac_out"; } &&
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined" >&5
-$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined" >&2;}
-
-  rm -f "$ac_tmp/stdin"
-  case $ac_file in
-  -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
-  *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
-  esac \
-  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- ;;
-  :H)
-  #
-  # CONFIG_HEADER
-  #
-  if test x"$ac_file" != x-; then
-    {
-      $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
-    } >"$ac_tmp/config.h" \
-      || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-    if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
-$as_echo "$as_me: $ac_file is unchanged" >&6;}
-    else
-      rm -f "$ac_file"
-      mv "$ac_tmp/config.h" "$ac_file" \
-       || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-    fi
-  else
-    $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
-      || as_fn_error $? "could not create -" "$LINENO" 5
-  fi
- ;;
-
-
-  esac
-
-done # for ac_tag
-
-
-as_fn_exit 0
-_ACEOF
-ac_clean_files=$ac_clean_files_save
-
-test $ac_write_fail = 0 ||
-  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
-
-
-# configure is writing to config.log, and then calls config.status.
-# config.status does its own redirection, appending to config.log.
-# Unfortunately, on DOS this fails, as config.log is still kept open
-# by configure, so config.status won't be able to write to it; its
-# output is simply discarded.  So we exec the FD to /dev/null,
-# effectively closing config.log, so it can be properly (re)opened and
-# appended to by config.status.  When coming back to configure, we
-# need to make the FD available again.
-if test "$no_create" != yes; then
-  ac_cs_success=:
-  ac_config_status_args=
-  test "$silent" = yes &&
-    ac_config_status_args="$ac_config_status_args --quiet"
-  exec 5>/dev/null
-  $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
-  exec 5>>config.log
-  # Use ||, not &&, to avoid exiting from the if with $? = 1, which
-  # would make configure fail if this is the last instruction.
-  $ac_cs_success || as_fn_exit 1
-fi
-if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
-$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
-fi
-
diff --git a/external/wakaama/examples/shared/tinydtls/configure.ac b/external/wakaama/examples/shared/tinydtls/configure.ac
deleted file mode 100644 (file)
index 39f6a1d..0000000
+++ /dev/null
@@ -1,121 +0,0 @@
-#                                               -*- Autoconf -*-
-# Process this file with autoconf to produce a configure script.
-#
-# Copyright (C) 2011--2015 Olaf Bergmann <bergmann@tzi.org>
-#
-# Permission is hereby granted, free of charge, to any person
-# obtaining a copy of this software and associated documentation
-# files (the "Software"), to deal in the Software without
-# restriction, including without limitation the rights to use, copy,
-# modify, merge, publish, distribute, sublicense, and/or sell copies
-# of the Software, and to permit persons to whom the Software is
-# furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice shall be
-# included in all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
-# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
-# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-# SOFTWARE.
-
-AC_PREREQ([2.65])
-AC_INIT([tinydtls], [0.8.2])
-AC_CONFIG_SRCDIR([dtls.c])
-dnl AC_CONFIG_HEADERS([config.h])
-
-AC_ARG_WITH(contiki,
-  [AS_HELP_STRING([--with-contiki],[build libtinydtls for the Contiki OS])],
-  [AC_DEFINE(WITH_CONTIKI,1,[Define to 1 if building for Contiki.])
-   WITH_CONTIKI=1],
-  [])
-
-AC_PATH_PROG(DOXYGEN, doxygen, [:])
-AC_PATH_PROG(ETAGS, etags, [/bin/false])
-
-if test "${with_contiki}" != "yes" ; then
-# Checks for programs.
-AC_PROG_MAKE_SET
-AC_PROG_CC
-AC_PROG_RANLIB
-
-AC_C_BIGENDIAN
-
-# Checks for libraries.
-AC_SEARCH_LIBS([gethostbyname], [nsl])
-AC_SEARCH_LIBS([socket], [socket])
-fi
-
-AC_ARG_WITH(debug,
-  [AS_HELP_STRING([--without-debug],[disable all debug output and assertions])],
-  [CPPFLAGS="${CPPFLAGS} -DNDEBUG"
-   NDEBUG=1], 
-  [])
-
-AC_ARG_WITH(ecc,
-  [AS_HELP_STRING([--without-ecc],[disable support for TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8])],
-  [],
-  [AC_DEFINE(DTLS_ECC, 1, [Define to 1 if building with ECC support.])
-   OPT_OBJS="${OPT_OBJS} ecc/ecc.o"
-   DTLS_ECC=1])
-
-AC_ARG_WITH(psk,
-  [AS_HELP_STRING([--without-psk],[disable support for TLS_PSK_WITH_AES_128_CCM_8])],
-  [],
-  [AC_DEFINE(DTLS_PSK, 1, [Define to 1 if building with PSK support])
-   DTLS_PSK=1])
-
-CPPFLAGS="${CPPFLAGS} -DDTLSv12 -DWITH_SHA256"
-OPT_OBJS="${OPT_OBJS} sha2/sha2.o"
-
-AC_SUBST(OPT_OBJS)
-AC_SUBST(NDEBUG)
-AC_SUBST(WITH_CONTIKI)
-AC_SUBST(DTLS_ECC)
-AC_SUBST(DTLS_PSK)
-
-if test "${with_contiki}" = "yes" ; then
-  AC_MSG_NOTICE([skipping header checks for Contiki])
-else
-  # Checks for header files.
-  AC_CHECK_HEADERS([assert.h arpa/inet.h fcntl.h inttypes.h netdb.h netinet/in.h stddef.h stdint.h stdlib.h string.h strings.h sys/param.h sys/socket.h unistd.h])
-
-  AC_CHECK_HEADERS([sys/time.h time.h])
-  AC_CHECK_HEADERS([sys/types.h sys/stat.h])
-
-# Checks for typedefs, structures, and compiler characteristics.
-AC_C_INLINE
-AC_TYPE_SIZE_T
-
-AC_CHECK_MEMBER([struct sockaddr_in6.sin6_len],
-               [AC_DEFINE(HAVE_SOCKADDR_IN6_SIN6_LEN, [1], 
-                  [Define to 1 if struct sockaddr_in6 has a member sin6_len.])], [], 
-               [#include <netinet/in.h>])
-
-# Checks for library functions.
-AC_FUNC_MALLOC
-AC_CHECK_FUNCS([memset select socket strdup strerror strnlen fls vprintf])
-fi
-
-AC_CONFIG_HEADERS([dtls_config.h tinydtls.h])
-
-# Adds Contiki-specific definitions to the end of dtls_config.h
-AH_BOTTOM([
-#ifdef WITH_CONTIKI
-#include "platform-specific/platform.h"
-#endif])
-
-AC_CONFIG_FILES([Makefile
-                 doc/Makefile
-                 doc/Doxyfile
-                 tests/Makefile
-                 examples/contiki/Makefile
-                 platform-specific/Makefile
-                sha2/Makefile
-                aes/Makefile
-                ecc/Makefile])
-AC_OUTPUT
diff --git a/external/wakaama/examples/shared/tinydtls/crypto.c b/external/wakaama/examples/shared/tinydtls/crypto.c
deleted file mode 100644 (file)
index b5345d3..0000000
+++ /dev/null
@@ -1,574 +0,0 @@
-/* dtls -- a very basic DTLS implementation
- *
- * Copyright (C) 2011--2012 Olaf Bergmann <bergmann@tzi.org>
- * Copyright (C) 2013 Hauke Mehrtens <hauke@hauke-m.de>
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-#include <stdio.h>
-
-#include "tinydtls.h"
-#include "dtls_config.h"
-
-#ifdef HAVE_ASSERT_H
-#include <assert.h>
-#else
-#define assert(x)
-#endif
-
-#include "global.h"
-#include "dtls_debug.h"
-#include "numeric.h"
-#include "dtls.h"
-#include "crypto.h"
-#include "ccm.h"
-#include "ecc/ecc.h"
-#include "prng.h"
-#include "netq.h"
-
-#ifndef WITH_CONTIKI
-#include <pthread.h>
-#endif
-
-#define HMAC_UPDATE_SEED(Context,Seed,Length)          \
-  if (Seed) dtls_hmac_update(Context, (Seed), (Length))
-
-static struct dtls_cipher_context_t cipher_context;
-#ifndef WITH_CONTIKI
-static pthread_mutex_t cipher_context_mutex = PTHREAD_MUTEX_INITIALIZER;
-#endif
-
-static struct dtls_cipher_context_t *dtls_cipher_context_get(void)
-{
-#ifndef WITH_CONTIKI
-  pthread_mutex_lock(&cipher_context_mutex);
-#endif
-  return &cipher_context;
-}
-
-static void dtls_cipher_context_release(void)
-{
-#ifndef WITH_CONTIKI
-  pthread_mutex_unlock(&cipher_context_mutex);
-#endif
-}
-
-#ifndef WITH_CONTIKI
-void crypto_init()
-{
-}
-
-static dtls_handshake_parameters_t *dtls_handshake_malloc() {
-  return malloc(sizeof(dtls_handshake_parameters_t));
-}
-
-static void dtls_handshake_dealloc(dtls_handshake_parameters_t *handshake) {
-  free(handshake);
-}
-
-static dtls_security_parameters_t *dtls_security_malloc() {
-  return malloc(sizeof(dtls_security_parameters_t));
-}
-
-static void dtls_security_dealloc(dtls_security_parameters_t *security) {
-  free(security);
-}
-#else /* WITH_CONTIKI */
-
-#include "memb.h"
-MEMB(handshake_storage, dtls_handshake_parameters_t, DTLS_HANDSHAKE_MAX);
-MEMB(security_storage, dtls_security_parameters_t, DTLS_SECURITY_MAX);
-
-void crypto_init() {
-  memb_init(&handshake_storage);
-  memb_init(&security_storage);
-}
-
-static dtls_handshake_parameters_t *dtls_handshake_malloc() {
-  return memb_alloc(&handshake_storage);
-}
-
-static void dtls_handshake_dealloc(dtls_handshake_parameters_t *handshake) {
-  memb_free(&handshake_storage, handshake);
-}
-
-static dtls_security_parameters_t *dtls_security_malloc() {
-  return memb_alloc(&security_storage);
-}
-
-static void dtls_security_dealloc(dtls_security_parameters_t *security) {
-  memb_free(&security_storage, security);
-}
-#endif /* WITH_CONTIKI */
-
-dtls_handshake_parameters_t *dtls_handshake_new()
-{
-  dtls_handshake_parameters_t *handshake;
-
-  handshake = dtls_handshake_malloc();
-  if (!handshake) {
-    dtls_crit("can not allocate a handshake struct\n");
-    return NULL;
-  }
-
-  memset(handshake, 0, sizeof(*handshake));
-
-  if (handshake) {
-    /* initialize the handshake hash wrt. the hard-coded DTLS version */
-    dtls_debug("DTLSv12: initialize HASH_SHA256\n");
-    /* TLS 1.2:  PRF(secret, label, seed) = P_<hash>(secret, label + seed) */
-    /* FIXME: we use the default SHA256 here, might need to support other 
-              hash functions as well */
-    dtls_hash_init(&handshake->hs_state.hs_hash);
-  }
-  return handshake;
-}
-
-void dtls_handshake_free(dtls_handshake_parameters_t *handshake)
-{
-  if (!handshake)
-    return;
-
-  netq_delete_all(handshake->reorder_queue);
-  dtls_handshake_dealloc(handshake);
-}
-
-dtls_security_parameters_t *dtls_security_new()
-{
-  dtls_security_parameters_t *security;
-
-  security = dtls_security_malloc();
-  if (!security) {
-    dtls_crit("can not allocate a security struct\n");
-    return NULL;
-  }
-
-  memset(security, 0, sizeof(*security));
-
-  if (security) {
-    security->cipher = TLS_NULL_WITH_NULL_NULL;
-    security->compression = TLS_COMPRESSION_NULL;
-  }
-  return security;
-}
-
-void dtls_security_free(dtls_security_parameters_t *security)
-{
-  if (!security)
-    return;
-
-  dtls_security_dealloc(security);
-}
-
-size_t
-dtls_p_hash(dtls_hashfunc_t h,
-           const unsigned char *key, size_t keylen,
-           const unsigned char *label, size_t labellen,
-           const unsigned char *random1, size_t random1len,
-           const unsigned char *random2, size_t random2len,
-           unsigned char *buf, size_t buflen) {
-  dtls_hmac_context_t *hmac_a, *hmac_p;
-
-  unsigned char A[DTLS_HMAC_DIGEST_SIZE];
-  unsigned char tmp[DTLS_HMAC_DIGEST_SIZE];
-  size_t dlen;                 /* digest length */
-  size_t len = 0;                      /* result length */
-
-  hmac_a = dtls_hmac_new(key, keylen);
-  if (!hmac_a)
-    return 0;
-
-  /* calculate A(1) from A(0) == seed */
-  HMAC_UPDATE_SEED(hmac_a, label, labellen);
-  HMAC_UPDATE_SEED(hmac_a, random1, random1len);
-  HMAC_UPDATE_SEED(hmac_a, random2, random2len);
-
-  dlen = dtls_hmac_finalize(hmac_a, A);
-
-  hmac_p = dtls_hmac_new(key, keylen);
-  if (!hmac_p)
-    goto error;
-
-  while (len + dlen < buflen) {
-
-    /* FIXME: rewrite loop to avoid superflous call to dtls_hmac_init() */
-    dtls_hmac_init(hmac_p, key, keylen);
-    dtls_hmac_update(hmac_p, A, dlen);
-
-    HMAC_UPDATE_SEED(hmac_p, label, labellen);
-    HMAC_UPDATE_SEED(hmac_p, random1, random1len);
-    HMAC_UPDATE_SEED(hmac_p, random2, random2len);
-
-    len += dtls_hmac_finalize(hmac_p, tmp);
-    memcpy(buf, tmp, dlen);
-    buf += dlen;
-
-    /* calculate A(i+1) */
-    dtls_hmac_init(hmac_a, key, keylen);
-    dtls_hmac_update(hmac_a, A, dlen);
-    dtls_hmac_finalize(hmac_a, A);
-  }
-
-  dtls_hmac_init(hmac_p, key, keylen);
-  dtls_hmac_update(hmac_p, A, dlen);
-  
-  HMAC_UPDATE_SEED(hmac_p, label, labellen);
-  HMAC_UPDATE_SEED(hmac_p, random1, random1len);
-  HMAC_UPDATE_SEED(hmac_p, random2, random2len);
-  
-  dtls_hmac_finalize(hmac_p, tmp);
-  memcpy(buf, tmp, buflen - len);
-
- error:
-  dtls_hmac_free(hmac_a);
-  dtls_hmac_free(hmac_p);
-
-  return buflen;
-}
-
-size_t 
-dtls_prf(const unsigned char *key, size_t keylen,
-        const unsigned char *label, size_t labellen,
-        const unsigned char *random1, size_t random1len,
-        const unsigned char *random2, size_t random2len,
-        unsigned char *buf, size_t buflen) {
-
-  /* Clear the result buffer */
-  memset(buf, 0, buflen);
-  return dtls_p_hash(HASH_SHA256, 
-                    key, keylen, 
-                    label, labellen, 
-                    random1, random1len,
-                    random2, random2len,
-                    buf, buflen);
-}
-
-void
-dtls_mac(dtls_hmac_context_t *hmac_ctx, 
-        const unsigned char *record,
-        const unsigned char *packet, size_t length,
-        unsigned char *buf) {
-  uint16 L;
-  dtls_int_to_uint16(L, length);
-
-  assert(hmac_ctx);
-  dtls_hmac_update(hmac_ctx, record +3, sizeof(uint16) + sizeof(uint48));
-  dtls_hmac_update(hmac_ctx, record, sizeof(uint8) + sizeof(uint16));
-  dtls_hmac_update(hmac_ctx, L, sizeof(uint16));
-  dtls_hmac_update(hmac_ctx, packet, length);
-  
-  dtls_hmac_finalize(hmac_ctx, buf);
-}
-
-static size_t
-dtls_ccm_encrypt(aes128_ccm_t *ccm_ctx, const unsigned char *src, size_t srclen,
-                unsigned char *buf, 
-                unsigned char *nounce,
-                const unsigned char *aad, size_t la) {
-  long int len;
-
-  assert(ccm_ctx);
-
-  len = dtls_ccm_encrypt_message(&ccm_ctx->ctx, 8 /* M */, 
-                                max(2, 15 - DTLS_CCM_NONCE_SIZE),
-                                nounce,
-                                buf, srclen, 
-                                aad, la);
-  return len;
-}
-
-static size_t
-dtls_ccm_decrypt(aes128_ccm_t *ccm_ctx, const unsigned char *src,
-                size_t srclen, unsigned char *buf,
-                unsigned char *nounce,
-                const unsigned char *aad, size_t la) {
-  long int len;
-
-  assert(ccm_ctx);
-
-  len = dtls_ccm_decrypt_message(&ccm_ctx->ctx, 8 /* M */, 
-                                max(2, 15 - DTLS_CCM_NONCE_SIZE),
-                                nounce,
-                                buf, srclen, 
-                                aad, la);
-  return len;
-}
-
-#ifdef DTLS_PSK
-int
-dtls_psk_pre_master_secret(unsigned char *key, size_t keylen,
-                          unsigned char *result, size_t result_len) {
-  unsigned char *p = result;
-
-  if (result_len < (2 * (sizeof(uint16) + keylen))) {
-    return -1;
-  }
-
-  dtls_int_to_uint16(p, keylen);
-  p += sizeof(uint16);
-
-  memset(p, 0, keylen);
-  p += keylen;
-
-  memcpy(p, result, sizeof(uint16));
-  p += sizeof(uint16);
-  
-  memcpy(p, key, keylen);
-
-  return 2 * (sizeof(uint16) + keylen);
-}
-#endif /* DTLS_PSK */
-
-#ifdef DTLS_ECC
-static void dtls_ec_key_to_uint32(const unsigned char *key, size_t key_size,
-                                 uint32_t *result) {
-  int i;
-
-  for (i = (key_size / sizeof(uint32_t)) - 1; i >= 0 ; i--) {
-    *result = dtls_uint32_to_int(&key[i * sizeof(uint32_t)]);
-    result++;
-  }
-}
-
-static void dtls_ec_key_from_uint32(const uint32_t *key, size_t key_size,
-                                   unsigned char *result) {
-  int i;
-
-  for (i = (key_size / sizeof(uint32_t)) - 1; i >= 0 ; i--) {
-    dtls_int_to_uint32(result, key[i]);
-    result += 4;
-  }
-}
-
-int dtls_ec_key_from_uint32_asn1(const uint32_t *key, size_t key_size,
-                                unsigned char *buf) {
-  int i;
-  unsigned char *buf_orig = buf;
-  int first = 1; 
-
-  for (i = (key_size / sizeof(uint32_t)) - 1; i >= 0 ; i--) {
-    if (key[i] == 0)
-      continue;
-    /* the first bit has to be set to zero, to indicate a poritive integer */
-    if (first && key[i] & 0x80000000) {
-      *buf = 0;
-      buf++;
-      dtls_int_to_uint32(buf, key[i]);
-      buf += 4;      
-    } else if (first && !(key[i] & 0xFF800000)) {
-      buf[0] = (key[i] >> 16) & 0xff;
-      buf[1] = (key[i] >> 8) & 0xff;
-      buf[2] = key[i] & 0xff;
-      buf += 3;
-    } else if (first && !(key[i] & 0xFFFF8000)) {
-      buf[0] = (key[i] >> 8) & 0xff;
-      buf[1] = key[i] & 0xff;
-      buf += 2;
-    } else if (first && !(key[i] & 0xFFFFFF80)) {
-      buf[0] = key[i] & 0xff;
-      buf += 1;
-    } else {
-      dtls_int_to_uint32(buf, key[i]);
-      buf += 4;
-    }
-    first = 0;
-  }
-  return buf - buf_orig;
-}
-
-int dtls_ecdh_pre_master_secret(unsigned char *priv_key,
-                                  unsigned char *pub_key_x,
-                                   unsigned char *pub_key_y,
-                                   size_t key_size,
-                                   unsigned char *result,
-                                   size_t result_len) {
-  uint32_t priv[8];
-  uint32_t pub_x[8];
-  uint32_t pub_y[8];
-  uint32_t result_x[8];
-  uint32_t result_y[8];
-
-  if (result_len < key_size) {
-    return -1;
-  }
-
-  dtls_ec_key_to_uint32(priv_key, key_size, priv);
-  dtls_ec_key_to_uint32(pub_key_x, key_size, pub_x);
-  dtls_ec_key_to_uint32(pub_key_y, key_size, pub_y);
-
-  ecc_ecdh(pub_x, pub_y, priv, result_x, result_y);
-
-  dtls_ec_key_from_uint32(result_x, key_size, result);
-  return key_size;
-}
-
-void
-dtls_ecdsa_generate_key(unsigned char *priv_key,
-                       unsigned char *pub_key_x,
-                       unsigned char *pub_key_y,
-                       size_t key_size) {
-  uint32_t priv[8];
-  uint32_t pub_x[8];
-  uint32_t pub_y[8];
-
-  do {
-    dtls_prng((unsigned char *)priv, key_size);
-  } while (!ecc_is_valid_key(priv));
-
-  ecc_gen_pub_key(priv, pub_x, pub_y);
-
-  dtls_ec_key_from_uint32(priv, key_size, priv_key);
-  dtls_ec_key_from_uint32(pub_x, key_size, pub_key_x);
-  dtls_ec_key_from_uint32(pub_y, key_size, pub_key_y);
-}
-
-/* rfc4492#section-5.4 */
-void
-dtls_ecdsa_create_sig_hash(const unsigned char *priv_key, size_t key_size,
-                          const unsigned char *sign_hash, size_t sign_hash_size,
-                          uint32_t point_r[9], uint32_t point_s[9]) {
-  int ret;
-  uint32_t priv[8];
-  uint32_t hash[8];
-  uint32_t rand[8];
-  
-  dtls_ec_key_to_uint32(priv_key, key_size, priv);
-  dtls_ec_key_to_uint32(sign_hash, sign_hash_size, hash);
-  do {
-    dtls_prng((unsigned char *)rand, key_size);
-    ret = ecc_ecdsa_sign(priv, hash, rand, point_r, point_s);
-  } while (ret);
-}
-
-void
-dtls_ecdsa_create_sig(const unsigned char *priv_key, size_t key_size,
-                     const unsigned char *client_random, size_t client_random_size,
-                     const unsigned char *server_random, size_t server_random_size,
-                     const unsigned char *keyx_params, size_t keyx_params_size,
-                     uint32_t point_r[9], uint32_t point_s[9]) {
-  dtls_hash_ctx data;
-  unsigned char sha256hash[DTLS_HMAC_DIGEST_SIZE];
-
-  dtls_hash_init(&data);
-  dtls_hash_update(&data, client_random, client_random_size);
-  dtls_hash_update(&data, server_random, server_random_size);
-  dtls_hash_update(&data, keyx_params, keyx_params_size);
-  dtls_hash_finalize(sha256hash, &data);
-  
-  dtls_ecdsa_create_sig_hash(priv_key, key_size, sha256hash,
-                            sizeof(sha256hash), point_r, point_s);
-}
-
-/* rfc4492#section-5.4 */
-int
-dtls_ecdsa_verify_sig_hash(const unsigned char *pub_key_x,
-                          const unsigned char *pub_key_y, size_t key_size,
-                          const unsigned char *sign_hash, size_t sign_hash_size,
-                          unsigned char *result_r, unsigned char *result_s) {
-  uint32_t pub_x[8];
-  uint32_t pub_y[8];
-  uint32_t hash[8];
-  uint32_t point_r[8];
-  uint32_t point_s[8];
-
-  dtls_ec_key_to_uint32(pub_key_x, key_size, pub_x);
-  dtls_ec_key_to_uint32(pub_key_y, key_size, pub_y);
-  dtls_ec_key_to_uint32(result_r, key_size, point_r);
-  dtls_ec_key_to_uint32(result_s, key_size, point_s);
-  dtls_ec_key_to_uint32(sign_hash, sign_hash_size, hash);
-
-  return ecc_ecdsa_validate(pub_x, pub_y, hash, point_r, point_s);
-}
-
-int
-dtls_ecdsa_verify_sig(const unsigned char *pub_key_x,
-                     const unsigned char *pub_key_y, size_t key_size,
-                     const unsigned char *client_random, size_t client_random_size,
-                     const unsigned char *server_random, size_t server_random_size,
-                     const unsigned char *keyx_params, size_t keyx_params_size,
-                     unsigned char *result_r, unsigned char *result_s) {
-  dtls_hash_ctx data;
-  unsigned char sha256hash[DTLS_HMAC_DIGEST_SIZE];
-  
-  dtls_hash_init(&data);
-  dtls_hash_update(&data, client_random, client_random_size);
-  dtls_hash_update(&data, server_random, server_random_size);
-  dtls_hash_update(&data, keyx_params, keyx_params_size);
-  dtls_hash_finalize(sha256hash, &data);
-
-  return dtls_ecdsa_verify_sig_hash(pub_key_x, pub_key_y, key_size, sha256hash,
-                                   sizeof(sha256hash), result_r, result_s);
-}
-#endif /* DTLS_ECC */
-
-int 
-dtls_encrypt(const unsigned char *src, size_t length,
-            unsigned char *buf,
-            unsigned char *nounce,
-            unsigned char *key, size_t keylen,
-            const unsigned char *aad, size_t la)
-{
-  int ret;
-  struct dtls_cipher_context_t *ctx = dtls_cipher_context_get();
-
-  ret = rijndael_set_key_enc_only(&ctx->data.ctx, key, 8 * keylen);
-  if (ret < 0) {
-    /* cleanup everything in case the key has the wrong size */
-    dtls_warn("cannot set rijndael key\n");
-    goto error;
-  }
-
-  if (src != buf)
-    memmove(buf, src, length);
-  ret = dtls_ccm_encrypt(&ctx->data, src, length, buf, nounce, aad, la);
-
-error:
-  dtls_cipher_context_release();
-  return ret;
-}
-
-int 
-dtls_decrypt(const unsigned char *src, size_t length,
-            unsigned char *buf,
-            unsigned char *nounce,
-            unsigned char *key, size_t keylen,
-            const unsigned char *aad, size_t la)
-{
-  int ret;
-  struct dtls_cipher_context_t *ctx = dtls_cipher_context_get();
-
-  ret = rijndael_set_key_enc_only(&ctx->data.ctx, key, 8 * keylen);
-  if (ret < 0) {
-    /* cleanup everything in case the key has the wrong size */
-    dtls_warn("cannot set rijndael key\n");
-    goto error;
-  }
-
-  if (src != buf)
-    memmove(buf, src, length);
-  ret = dtls_ccm_decrypt(&ctx->data, src, length, buf, nounce, aad, la);
-
-error:
-  dtls_cipher_context_release();
-  return ret;
-}
-
diff --git a/external/wakaama/examples/shared/tinydtls/crypto.h b/external/wakaama/examples/shared/tinydtls/crypto.h
deleted file mode 100644 (file)
index 972a174..0000000
+++ /dev/null
@@ -1,359 +0,0 @@
-/* dtls -- a very basic DTLS implementation
- *
- * Copyright (C) 2011--2012 Olaf Bergmann <bergmann@tzi.org>
- * Copyright (C) 2013 Hauke Mehrtens <hauke@hauke-m.de>
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-#ifndef _DTLS_CRYPTO_H_
-#define _DTLS_CRYPTO_H_
-
-#include <stdlib.h>            /* for rand() and srand() */
-#include <stdint.h>
-
-#include "t_list.h"
-
-#include "aes/rijndael.h"
-
-#include "global.h"
-#include "state.h"
-#include "numeric.h"
-#include "hmac.h"
-#include "ccm.h"
-
-/* TLS_PSK_WITH_AES_128_CCM_8 */
-#define DTLS_MAC_KEY_LENGTH    0
-#define DTLS_KEY_LENGTH        16 /* AES-128 */
-#define DTLS_BLK_LENGTH        16 /* AES-128 */
-#define DTLS_MAC_LENGTH        DTLS_HMAC_DIGEST_SIZE
-#define DTLS_IV_LENGTH         4  /* length of nonce_explicit */
-
-/** 
- * Maximum size of the generated keyblock. Note that MAX_KEYBLOCK_LENGTH must 
- * be large enough to hold the pre_master_secret, i.e. twice the length of the 
- * pre-shared key + 1.
- */
-#define MAX_KEYBLOCK_LENGTH  \
-  (2 * DTLS_MAC_KEY_LENGTH + 2 * DTLS_KEY_LENGTH + 2 * DTLS_IV_LENGTH)
-
-/** Length of DTLS master_secret */
-#define DTLS_MASTER_SECRET_LENGTH 48
-#define DTLS_RANDOM_LENGTH 32
-
-typedef enum { AES128=0 
-} dtls_crypto_alg;
-
-typedef enum {
-  DTLS_ECDH_CURVE_SECP256R1
-} dtls_ecdh_curve;
-
-/** Crypto context for TLS_PSK_WITH_AES_128_CCM_8 cipher suite. */
-typedef struct {
-  rijndael_ctx ctx;                   /**< AES-128 encryption context */
-} aes128_ccm_t;
-
-typedef struct dtls_cipher_context_t {
-  /** numeric identifier of this cipher suite in host byte order. */
-  aes128_ccm_t data;           /**< The crypto context */
-} dtls_cipher_context_t;
-
-typedef struct {
-  uint8 own_eph_priv[32];
-  uint8 other_eph_pub_x[32];
-  uint8 other_eph_pub_y[32];
-  uint8 other_pub_x[32];
-  uint8 other_pub_y[32];
-} dtls_handshake_parameters_ecdsa_t;
-
-/* This is the maximal supported length of the psk client identity and psk
- * server identity hint */
-#define DTLS_PSK_MAX_CLIENT_IDENTITY_LEN   32
-
-/* This is the maximal supported length of the pre-shared key. */
-#define DTLS_PSK_MAX_KEY_LEN 32
-
-typedef struct {
-  uint16_t id_length;
-  unsigned char identity[DTLS_PSK_MAX_CLIENT_IDENTITY_LEN];
-} dtls_handshake_parameters_psk_t;
-
-typedef struct {
-  dtls_compression_t compression;      /**< compression method */
-
-  dtls_cipher_t cipher;                /**< cipher type */
-  uint16_t epoch;           /**< counter for cipher state changes*/
-  uint64_t rseq;            /**< sequence number of last record sent */
-
-  /** 
-   * The key block generated from PRF applied to client and server
-   * random bytes. The actual size is given by the selected cipher and
-   * can be calculated using dtls_kb_size(). Use \c dtls_kb_ macros to
-   * access the components of the key block.
-   */
-  uint8 key_block[MAX_KEYBLOCK_LENGTH];
-} dtls_security_parameters_t;
-
-typedef struct {
-  union {
-    struct random_t {
-      uint8 client[DTLS_RANDOM_LENGTH];        /**< client random gmt and bytes */
-      uint8 server[DTLS_RANDOM_LENGTH];        /**< server random gmt and bytes */
-    } random;
-    /** the session's master secret */
-    uint8 master_secret[DTLS_MASTER_SECRET_LENGTH];
-  } tmp;
-  LIST_STRUCT(reorder_queue);  /**< the packets to reorder */
-  dtls_hs_state_t hs_state;  /**< handshake protocol status */
-
-  dtls_compression_t compression;              /**< compression method */
-  dtls_cipher_t cipher;                /**< cipher type */
-  unsigned int do_client_auth:1;
-  union {
-#ifdef DTLS_ECC
-    dtls_handshake_parameters_ecdsa_t ecdsa;
-#endif /* DTLS_ECC */
-#ifdef DTLS_PSK
-    dtls_handshake_parameters_psk_t psk;
-#endif /* DTLS_PSK */
-  } keyx;
-} dtls_handshake_parameters_t;
-
-/* The following macros provide access to the components of the
- * key_block in the security parameters. */
-
-#define dtls_kb_client_mac_secret(Param, Role) ((Param)->key_block)
-#define dtls_kb_server_mac_secret(Param, Role)                         \
-  (dtls_kb_client_mac_secret(Param, Role) + DTLS_MAC_KEY_LENGTH)
-#define dtls_kb_remote_mac_secret(Param, Role)                         \
-  ((Role) == DTLS_SERVER                                               \
-   ? dtls_kb_client_mac_secret(Param, Role)                            \
-   : dtls_kb_server_mac_secret(Param, Role))
-#define dtls_kb_local_mac_secret(Param, Role)                          \
-  ((Role) == DTLS_CLIENT                                               \
-   ? dtls_kb_client_mac_secret(Param, Role)                            \
-   : dtls_kb_server_mac_secret(Param, Role))
-#define dtls_kb_mac_secret_size(Param, Role) DTLS_MAC_KEY_LENGTH
-#define dtls_kb_client_write_key(Param, Role)                          \
-  (dtls_kb_server_mac_secret(Param, Role) + DTLS_MAC_KEY_LENGTH)
-#define dtls_kb_server_write_key(Param, Role)                          \
-  (dtls_kb_client_write_key(Param, Role) + DTLS_KEY_LENGTH)
-#define dtls_kb_remote_write_key(Param, Role)                          \
-  ((Role) == DTLS_SERVER                                               \
-   ? dtls_kb_client_write_key(Param, Role)                             \
-   : dtls_kb_server_write_key(Param, Role))
-#define dtls_kb_local_write_key(Param, Role)                           \
-  ((Role) == DTLS_CLIENT                                               \
-   ? dtls_kb_client_write_key(Param, Role)                             \
-   : dtls_kb_server_write_key(Param, Role))
-#define dtls_kb_key_size(Param, Role) DTLS_KEY_LENGTH
-#define dtls_kb_client_iv(Param, Role)                                 \
-  (dtls_kb_server_write_key(Param, Role) + DTLS_KEY_LENGTH)
-#define dtls_kb_server_iv(Param, Role)                                 \
-  (dtls_kb_client_iv(Param, Role) + DTLS_IV_LENGTH)
-#define dtls_kb_remote_iv(Param, Role)                                 \
-  ((Role) == DTLS_SERVER                                               \
-   ? dtls_kb_client_iv(Param, Role)                                    \
-   : dtls_kb_server_iv(Param, Role))
-#define dtls_kb_local_iv(Param, Role)                                  \
-  ((Role) == DTLS_CLIENT                                               \
-   ? dtls_kb_client_iv(Param, Role)                                    \
-   : dtls_kb_server_iv(Param, Role))
-#define dtls_kb_iv_size(Param, Role) DTLS_IV_LENGTH
-
-#define dtls_kb_size(Param, Role)                                      \
-  (2 * (dtls_kb_mac_secret_size(Param, Role) +                         \
-       dtls_kb_key_size(Param, Role) + dtls_kb_iv_size(Param, Role)))
-
-/* just for consistency */
-#define dtls_kb_digest_size(Param, Role) DTLS_MAC_LENGTH
-
-/** 
- * Expands the secret and key to a block of DTLS_HMAC_MAX 
- * size according to the algorithm specified in section 5 of
- * RFC 4346.
- *
- * \param h       Identifier of the hash function to use.
- * \param key     The secret.
- * \param keylen  Length of \p key.
- * \param seed    The seed. 
- * \param seedlen Length of \p seed.
- * \param buf     Output buffer where the result is XORed into
- *                The buffe must be capable to hold at least
- *                \p buflen bytes.
- * \return The actual number of bytes written to \p buf or 0
- * on error.
- */
-size_t dtls_p_hash(dtls_hashfunc_t h, 
-                  const unsigned char *key, size_t keylen,
-                  const unsigned char *label, size_t labellen,
-                  const unsigned char *random1, size_t random1len,
-                  const unsigned char *random2, size_t random2len,
-                  unsigned char *buf, size_t buflen);
-
-/**
- * This function implements the TLS PRF for DTLS_VERSION. For version
- * 1.0, the PRF is P_MD5 ^ P_SHA1 while version 1.2 uses
- * P_SHA256. Currently, the actual PRF is selected at compile time.
- */
-size_t dtls_prf(const unsigned char *key, size_t keylen,
-               const unsigned char *label, size_t labellen,
-               const unsigned char *random1, size_t random1len,
-               const unsigned char *random2, size_t random2len,
-               unsigned char *buf, size_t buflen);
-
-/**
- * Calculates MAC for record + cleartext packet and places the result
- * in \p buf. The given \p hmac_ctx must be initialized with the HMAC
- * function to use and the proper secret. As the DTLS mac calculation
- * requires data from the record header, \p record must point to a
- * buffer of at least \c sizeof(dtls_record_header_t) bytes. Usually,
- * the remaining packet will be encrypted, therefore, the cleartext
- * is passed separately in \p packet.
- * 
- * \param hmac_ctx  The HMAC context to use for MAC calculation.
- * \param record    The record header.
- * \param packet    Cleartext payload to apply the MAC to.
- * \param length    Size of \p packet.
- * \param buf       A result buffer that is large enough to hold
- *                  the generated digest.
- */
-void dtls_mac(dtls_hmac_context_t *hmac_ctx, 
-             const unsigned char *record,
-             const unsigned char *packet, size_t length,
-             unsigned char *buf);
-
-/** 
- * Encrypts the specified \p src of given \p length, writing the
- * result to \p buf. The cipher implementation may add more data to
- * the result buffer such as an initialization vector or padding
- * (e.g. for block cipers in CBC mode). The caller therefore must
- * ensure that \p buf provides sufficient storage to hold the result.
- * Usually this means ( 2 + \p length / blocksize ) * blocksize.  The
- * function returns a value less than zero on error or otherwise the
- * number of bytes written.
- *
- * \param ctx    The cipher context to use.
- * \param src    The data to encrypt.
- * \param length The actual size of of \p src.
- * \param buf    The result buffer. \p src and \p buf must not 
- *               overlap.
- * \param aad    additional data for AEAD ciphers
- * \param aad_length actual size of @p aad
- * \return The number of encrypted bytes on success, less than zero
- *         otherwise. 
- */
-int dtls_encrypt(const unsigned char *src, size_t length,
-                unsigned char *buf,
-                unsigned char *nounce,
-                unsigned char *key, size_t keylen,
-                const unsigned char *aad, size_t aad_length);
-
-/** 
- * Decrypts the given buffer \p src of given \p length, writing the
- * result to \p buf. The function returns \c -1 in case of an error,
- * or the number of bytes written. Note that for block ciphers, \p
- * length must be a multiple of the cipher's block size. A return
- * value between \c 0 and the actual length indicates that only \c n-1
- * block have been processed. Unlike dtls_encrypt(), the source
- * and destination of dtls_decrypt() may overlap. 
- * 
- * \param ctx     The cipher context to use.
- * \param src     The buffer to decrypt.
- * \param length  The length of the input buffer. 
- * \param buf     The result buffer.
- * \param aad     additional authentication data for AEAD ciphers
- * \param aad_length actual size of @p aad
- * \return Less than zero on error, the number of decrypted bytes 
- *         otherwise.
- */
-int dtls_decrypt(const unsigned char *src, size_t length,
-                unsigned char *buf,
-                unsigned char *nounce,
-                unsigned char *key, size_t keylen,
-                const unsigned char *a_data, size_t a_data_length);
-
-/* helper functions */
-
-/** 
- * Generates pre_master_sercet from given PSK and fills the result
- * according to the "plain PSK" case in section 2 of RFC 4279.
- * Diffie-Hellman and RSA key exchange are currently not supported.
- *
- * @param key    The shared key.
- * @param keylen Length of @p key in bytes.
- * @param result The derived pre master secret.
- * @return The actual length of @p result.
- */
-int dtls_psk_pre_master_secret(unsigned char *key, size_t keylen,
-                              unsigned char *result, size_t result_len);
-
-#define DTLS_EC_KEY_SIZE 32
-
-int dtls_ecdh_pre_master_secret(unsigned char *priv_key,
-                               unsigned char *pub_key_x,
-                                unsigned char *pub_key_y,
-                                size_t key_size,
-                                unsigned char *result,
-                                size_t result_len);
-
-void dtls_ecdsa_generate_key(unsigned char *priv_key,
-                            unsigned char *pub_key_x,
-                            unsigned char *pub_key_y,
-                            size_t key_size);
-
-void dtls_ecdsa_create_sig_hash(const unsigned char *priv_key, size_t key_size,
-                               const unsigned char *sign_hash, size_t sign_hash_size,
-                               uint32_t point_r[9], uint32_t point_s[9]);
-
-void dtls_ecdsa_create_sig(const unsigned char *priv_key, size_t key_size,
-                          const unsigned char *client_random, size_t client_random_size,
-                          const unsigned char *server_random, size_t server_random_size,
-                          const unsigned char *keyx_params, size_t keyx_params_size,
-                          uint32_t point_r[9], uint32_t point_s[9]);
-
-int dtls_ecdsa_verify_sig_hash(const unsigned char *pub_key_x,
-                              const unsigned char *pub_key_y, size_t key_size,
-                              const unsigned char *sign_hash, size_t sign_hash_size,
-                              unsigned char *result_r, unsigned char *result_s);
-
-int dtls_ecdsa_verify_sig(const unsigned char *pub_key_x,
-                         const unsigned char *pub_key_y, size_t key_size,
-                         const unsigned char *client_random, size_t client_random_size,
-                         const unsigned char *server_random, size_t server_random_size,
-                         const unsigned char *keyx_params, size_t keyx_params_size,
-                         unsigned char *result_r, unsigned char *result_s);
-
-int dtls_ec_key_from_uint32_asn1(const uint32_t *key, size_t key_size,
-                                unsigned char *buf);
-
-
-dtls_handshake_parameters_t *dtls_handshake_new();
-
-void dtls_handshake_free(dtls_handshake_parameters_t *handshake);
-
-dtls_security_parameters_t *dtls_security_new();
-
-void dtls_security_free(dtls_security_parameters_t *security);
-void crypto_init();
-
-#endif /* _DTLS_CRYPTO_H_ */
-
diff --git a/external/wakaama/examples/shared/tinydtls/doc/Doxyfile b/external/wakaama/examples/shared/tinydtls/doc/Doxyfile
deleted file mode 100644 (file)
index 1f49e16..0000000
+++ /dev/null
@@ -1,1551 +0,0 @@
-# Doxyfile 1.6.3
-
-# This file describes the settings to be used by the documentation system
-# doxygen (www.doxygen.org) for a project
-#
-# All text after a hash (#) is considered a comment and will be ignored
-# The format is:
-#       TAG = value [value, ...]
-# For lists items can also be appended using:
-#       TAG += value [value, ...]
-# Values that contain spaces should be placed between quotes (" ")
-
-#---------------------------------------------------------------------------
-# Project related configuration options
-#---------------------------------------------------------------------------
-
-# This tag specifies the encoding used for all characters in the config file
-# that follow. The default is UTF-8 which is also the encoding used for all
-# text before the first occurrence of this tag. Doxygen uses libiconv (or the
-# iconv built into libc) for the transcoding. See
-# http://www.gnu.org/software/libiconv for the list of possible encodings.
-
-DOXYFILE_ENCODING      = UTF-8
-
-# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
-# by quotes) that should identify the project.
-
-PROJECT_NAME           = tinydtls
-
-# The PROJECT_NUMBER tag can be used to enter a project or revision number.
-# This could be handy for archiving the generated documentation or
-# if some version control system is used.
-
-PROJECT_NUMBER         = 0.8.2
-
-# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
-# base path where the generated documentation will be put.
-# If a relative path is entered, it will be relative to the location
-# where doxygen was started. If left blank the current directory will be used.
-
-OUTPUT_DIRECTORY       =
-
-# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create
-# 4096 sub-directories (in 2 levels) under the output directory of each output
-# format and will distribute the generated files over these directories.
-# Enabling this option can be useful when feeding doxygen a huge amount of
-# source files, where putting all generated files in the same directory would
-# otherwise cause performance problems for the file system.
-
-CREATE_SUBDIRS         = NO
-
-# The OUTPUT_LANGUAGE tag is used to specify the language in which all
-# documentation generated by doxygen is written. Doxygen will use this
-# information to generate all constant output in the proper language.
-# The default language is English, other supported languages are:
-# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional,
-# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German,
-# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English
-# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian,
-# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak,
-# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese.
-
-OUTPUT_LANGUAGE        = English
-
-# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
-# include brief member descriptions after the members that are listed in
-# the file and class documentation (similar to JavaDoc).
-# Set to NO to disable this.
-
-BRIEF_MEMBER_DESC      = YES
-
-# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
-# the brief description of a member or function before the detailed description.
-# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
-# brief descriptions will be completely suppressed.
-
-REPEAT_BRIEF           = YES
-
-# This tag implements a quasi-intelligent brief description abbreviator
-# that is used to form the text in various listings. Each string
-# in this list, if found as the leading text of the brief description, will be
-# stripped from the text and the result after processing the whole list, is
-# used as the annotated text. Otherwise, the brief description is used as-is.
-# If left blank, the following values are used ("$name" is automatically
-# replaced with the name of the entity): "The $name class" "The $name widget"
-# "The $name file" "is" "provides" "specifies" "contains"
-# "represents" "a" "an" "the"
-
-ABBREVIATE_BRIEF       =
-
-# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
-# Doxygen will generate a detailed section even if there is only a brief
-# description.
-
-ALWAYS_DETAILED_SEC    = NO
-
-# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
-# inherited members of a class in the documentation of that class as if those
-# members were ordinary class members. Constructors, destructors and assignment
-# operators of the base classes will not be shown.
-
-INLINE_INHERITED_MEMB  = NO
-
-# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
-# path before files name in the file list and in the header files. If set
-# to NO the shortest path that makes the file name unique will be used.
-
-FULL_PATH_NAMES        = NO
-
-# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
-# can be used to strip a user-defined part of the path. Stripping is
-# only done if one of the specified strings matches the left-hand part of
-# the path. The tag can be used to show relative paths in the file list.
-# If left blank the directory from which doxygen is run is used as the
-# path to strip.
-
-STRIP_FROM_PATH        =
-
-# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
-# the path mentioned in the documentation of a class, which tells
-# the reader which header file to include in order to use a class.
-# If left blank only the name of the header file containing the class
-# definition is used. Otherwise one should specify the include paths that
-# are normally passed to the compiler using the -I flag.
-
-STRIP_FROM_INC_PATH    =
-
-# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
-# (but less readable) file names. This can be useful is your file systems
-# doesn't support long names like on DOS, Mac, or CD-ROM.
-
-SHORT_NAMES            = NO
-
-# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
-# will interpret the first line (until the first dot) of a JavaDoc-style
-# comment as the brief description. If set to NO, the JavaDoc
-# comments will behave just like regular Qt-style comments
-# (thus requiring an explicit @brief command for a brief description.)
-
-JAVADOC_AUTOBRIEF      = NO
-
-# If the QT_AUTOBRIEF tag is set to YES then Doxygen will
-# interpret the first line (until the first dot) of a Qt-style
-# comment as the brief description. If set to NO, the comments
-# will behave just like regular Qt-style comments (thus requiring
-# an explicit \brief command for a brief description.)
-
-QT_AUTOBRIEF           = NO
-
-# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
-# treat a multi-line C++ special comment block (i.e. a block of //! or ///
-# comments) as a brief description. This used to be the default behaviour.
-# The new default is to treat a multi-line C++ comment block as a detailed
-# description. Set this tag to YES if you prefer the old behaviour instead.
-
-MULTILINE_CPP_IS_BRIEF = NO
-
-# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
-# member inherits the documentation from any documented member that it
-# re-implements.
-
-INHERIT_DOCS           = YES
-
-# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce
-# a new page for each member. If set to NO, the documentation of a member will
-# be part of the file/class/namespace that contains it.
-
-SEPARATE_MEMBER_PAGES  = NO
-
-# The TAB_SIZE tag can be used to set the number of spaces in a tab.
-# Doxygen uses this value to replace tabs by spaces in code fragments.
-
-TAB_SIZE               = 4
-
-# This tag can be used to specify a number of aliases that acts
-# as commands in the documentation. An alias has the form "name=value".
-# For example adding "sideeffect=\par Side Effects:\n" will allow you to
-# put the command \sideeffect (or @sideeffect) in the documentation, which
-# will result in a user-defined paragraph with heading "Side Effects:".
-# You can put \n's in the value part of an alias to insert newlines.
-
-ALIASES                =
-
-# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C
-# sources only. Doxygen will then generate output that is more tailored for C.
-# For instance, some of the names that are used will be different. The list
-# of all members will be omitted, etc.
-
-OPTIMIZE_OUTPUT_FOR_C  = YES
-
-# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java
-# sources only. Doxygen will then generate output that is more tailored for
-# Java. For instance, namespaces will be presented as packages, qualified
-# scopes will look different, etc.
-
-OPTIMIZE_OUTPUT_JAVA   = NO
-
-# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran
-# sources only. Doxygen will then generate output that is more tailored for
-# Fortran.
-
-OPTIMIZE_FOR_FORTRAN   = NO
-
-# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL
-# sources. Doxygen will then generate output that is tailored for
-# VHDL.
-
-OPTIMIZE_OUTPUT_VHDL   = NO
-
-# Doxygen selects the parser to use depending on the extension of the files it parses.
-# With this tag you can assign which parser to use for a given extension.
-# Doxygen has a built-in mapping, but you can override or extend it using this tag.
-# The format is ext=language, where ext is a file extension, and language is one of
-# the parsers supported by doxygen: IDL, Java, Javascript, C#, C, C++, D, PHP,
-# Objective-C, Python, Fortran, VHDL, C, C++. For instance to make doxygen treat
-# .inc files as Fortran files (default is PHP), and .f files as C (default is Fortran),
-# use: inc=Fortran f=C. Note that for custom extensions you also need to set FILE_PATTERNS otherwise the files are not read by doxygen.
-
-EXTENSION_MAPPING      =
-
-# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
-# to include (a tag file for) the STL sources as input, then you should
-# set this tag to YES in order to let doxygen match functions declarations and
-# definitions whose arguments contain STL classes (e.g. func(std::string); v.s.
-# func(std::string) {}). This also make the inheritance and collaboration
-# diagrams that involve STL classes more complete and accurate.
-
-BUILTIN_STL_SUPPORT    = NO
-
-# If you use Microsoft's C++/CLI language, you should set this option to YES to
-# enable parsing support.
-
-CPP_CLI_SUPPORT        = NO
-
-# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only.
-# Doxygen will parse them like normal C++ but will assume all classes use public
-# instead of private inheritance when no explicit protection keyword is present.
-
-SIP_SUPPORT            = NO
-
-# For Microsoft's IDL there are propget and propput attributes to indicate getter
-# and setter methods for a property. Setting this option to YES (the default)
-# will make doxygen to replace the get and set methods by a property in the
-# documentation. This will only work if the methods are indeed getting or
-# setting a simple type. If this is not the case, or you want to show the
-# methods anyway, you should set this option to NO.
-
-IDL_PROPERTY_SUPPORT   = YES
-
-# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
-# tag is set to YES, then doxygen will reuse the documentation of the first
-# member in the group (if any) for the other members of the group. By default
-# all members of a group must be documented explicitly.
-
-DISTRIBUTE_GROUP_DOC   = NO
-
-# Set the SUBGROUPING tag to YES (the default) to allow class member groups of
-# the same type (for instance a group of public functions) to be put as a
-# subgroup of that type (e.g. under the Public Functions section). Set it to
-# NO to prevent subgrouping. Alternatively, this can be done per class using
-# the \nosubgrouping command.
-
-SUBGROUPING            = YES
-
-# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum
-# is documented as struct, union, or enum with the name of the typedef. So
-# typedef struct TypeS {} TypeT, will appear in the documentation as a struct
-# with name TypeT. When disabled the typedef will appear as a member of a file,
-# namespace, or class. And the struct will be named TypeS. This can typically
-# be useful for C code in case the coding convention dictates that all compound
-# types are typedef'ed and only the typedef is referenced, never the tag name.
-
-TYPEDEF_HIDES_STRUCT   = NO
-
-# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to
-# determine which symbols to keep in memory and which to flush to disk.
-# When the cache is full, less often used symbols will be written to disk.
-# For small to medium size projects (<1000 input files) the default value is
-# probably good enough. For larger projects a too small cache size can cause
-# doxygen to be busy swapping symbols to and from disk most of the time
-# causing a significant performance penality.
-# If the system has enough physical memory increasing the cache will improve the
-# performance by keeping more symbols in memory. Note that the value works on
-# a logarithmic scale so increasing the size by one will rougly double the
-# memory usage. The cache size is given by this formula:
-# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0,
-# corresponding to a cache size of 2^16 = 65536 symbols
-
-SYMBOL_CACHE_SIZE      = 0
-
-#---------------------------------------------------------------------------
-# Build related configuration options
-#---------------------------------------------------------------------------
-
-# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
-# documentation are documented, even if no documentation was available.
-# Private class members and static file members will be hidden unless
-# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
-
-EXTRACT_ALL            = YES
-
-# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
-# will be included in the documentation.
-
-EXTRACT_PRIVATE        = NO
-
-# If the EXTRACT_STATIC tag is set to YES all static members of a file
-# will be included in the documentation.
-
-EXTRACT_STATIC         = YES
-
-# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
-# defined locally in source files will be included in the documentation.
-# If set to NO only classes defined in header files are included.
-
-EXTRACT_LOCAL_CLASSES  = YES
-
-# This flag is only useful for Objective-C code. When set to YES local
-# methods, which are defined in the implementation section but not in
-# the interface are included in the documentation.
-# If set to NO (the default) only methods in the interface are included.
-
-EXTRACT_LOCAL_METHODS  = NO
-
-# If this flag is set to YES, the members of anonymous namespaces will be
-# extracted and appear in the documentation as a namespace called
-# 'anonymous_namespace{file}', where file will be replaced with the base
-# name of the file that contains the anonymous namespace. By default
-# anonymous namespace are hidden.
-
-EXTRACT_ANON_NSPACES   = NO
-
-# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
-# undocumented members of documented classes, files or namespaces.
-# If set to NO (the default) these members will be included in the
-# various overviews, but no documentation section is generated.
-# This option has no effect if EXTRACT_ALL is enabled.
-
-HIDE_UNDOC_MEMBERS     = NO
-
-# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
-# undocumented classes that are normally visible in the class hierarchy.
-# If set to NO (the default) these classes will be included in the various
-# overviews. This option has no effect if EXTRACT_ALL is enabled.
-
-HIDE_UNDOC_CLASSES     = NO
-
-# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all
-# friend (class|struct|union) declarations.
-# If set to NO (the default) these declarations will be included in the
-# documentation.
-
-HIDE_FRIEND_COMPOUNDS  = NO
-
-# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any
-# documentation blocks found inside the body of a function.
-# If set to NO (the default) these blocks will be appended to the
-# function's detailed documentation block.
-
-HIDE_IN_BODY_DOCS      = NO
-
-# The INTERNAL_DOCS tag determines if documentation
-# that is typed after a \internal command is included. If the tag is set
-# to NO (the default) then the documentation will be excluded.
-# Set it to YES to include the internal documentation.
-
-INTERNAL_DOCS          = NO
-
-# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
-# file names in lower-case letters. If set to YES upper-case letters are also
-# allowed. This is useful if you have classes or files whose names only differ
-# in case and if your file system supports case sensitive file names. Windows
-# and Mac users are advised to set this option to NO.
-
-CASE_SENSE_NAMES       = YES
-
-# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
-# will show members with their full class and namespace scopes in the
-# documentation. If set to YES the scope will be hidden.
-
-HIDE_SCOPE_NAMES       = NO
-
-# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
-# will put a list of the files that are included by a file in the documentation
-# of that file.
-
-SHOW_INCLUDE_FILES     = YES
-
-# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen
-# will list include files with double quotes in the documentation
-# rather than with sharp brackets.
-
-FORCE_LOCAL_INCLUDES   = NO
-
-# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
-# is inserted in the documentation for inline members.
-
-INLINE_INFO            = YES
-
-# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
-# will sort the (detailed) documentation of file and class members
-# alphabetically by member name. If set to NO the members will appear in
-# declaration order.
-
-SORT_MEMBER_DOCS       = YES
-
-# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the
-# brief documentation of file, namespace and class members alphabetically
-# by member name. If set to NO (the default) the members will appear in
-# declaration order.
-
-SORT_BRIEF_DOCS        = NO
-
-# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the (brief and detailed) documentation of class members so that constructors and destructors are listed first. If set to NO (the default) the constructors will appear in the respective orders defined by SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO.
-
-SORT_MEMBERS_CTORS_1ST = NO
-
-# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the
-# hierarchy of group names into alphabetical order. If set to NO (the default)
-# the group names will appear in their defined order.
-
-SORT_GROUP_NAMES       = NO
-
-# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be
-# sorted by fully-qualified names, including namespaces. If set to
-# NO (the default), the class list will be sorted only by class name,
-# not including the namespace part.
-# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
-# Note: This option applies only to the class list, not to the
-# alphabetical list.
-
-SORT_BY_SCOPE_NAME     = NO
-
-# The GENERATE_TODOLIST tag can be used to enable (YES) or
-# disable (NO) the todo list. This list is created by putting \todo
-# commands in the documentation.
-
-GENERATE_TODOLIST      = YES
-
-# The GENERATE_TESTLIST tag can be used to enable (YES) or
-# disable (NO) the test list. This list is created by putting \test
-# commands in the documentation.
-
-GENERATE_TESTLIST      = YES
-
-# The GENERATE_BUGLIST tag can be used to enable (YES) or
-# disable (NO) the bug list. This list is created by putting \bug
-# commands in the documentation.
-
-GENERATE_BUGLIST       = YES
-
-# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
-# disable (NO) the deprecated list. This list is created by putting
-# \deprecated commands in the documentation.
-
-GENERATE_DEPRECATEDLIST= YES
-
-# The ENABLED_SECTIONS tag can be used to enable conditional
-# documentation sections, marked by \if sectionname ... \endif.
-
-ENABLED_SECTIONS       =
-
-# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
-# the initial value of a variable or define consists of for it to appear in
-# the documentation. If the initializer consists of more lines than specified
-# here it will be hidden. Use a value of 0 to hide initializers completely.
-# The appearance of the initializer of individual variables and defines in the
-# documentation can be controlled using \showinitializer or \hideinitializer
-# command in the documentation regardless of this setting.
-
-MAX_INITIALIZER_LINES  = 30
-
-# Set the SHOW_USED_FILES tag to NO to disable the list of files generated
-# at the bottom of the documentation of classes and structs. If set to YES the
-# list will mention the files that were used to generate the documentation.
-
-SHOW_USED_FILES        = YES
-
-# If the sources in your project are distributed over multiple directories
-# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy
-# in the documentation. The default is NO.
-
-SHOW_DIRECTORIES       = NO
-
-# Set the SHOW_FILES tag to NO to disable the generation of the Files page.
-# This will remove the Files entry from the Quick Index and from the
-# Folder Tree View (if specified). The default is YES.
-
-SHOW_FILES             = YES
-
-# Set the SHOW_NAMESPACES tag to NO to disable the generation of the
-# Namespaces page.
-# This will remove the Namespaces entry from the Quick Index
-# and from the Folder Tree View (if specified). The default is YES.
-
-SHOW_NAMESPACES        = YES
-
-# The FILE_VERSION_FILTER tag can be used to specify a program or script that
-# doxygen should invoke to get the current version for each file (typically from
-# the version control system). Doxygen will invoke the program by executing (via
-# popen()) the command <command> <input-file>, where <command> is the value of
-# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file
-# provided by doxygen. Whatever the program writes to standard output
-# is used as the file version. See the manual for examples.
-
-FILE_VERSION_FILTER    =
-
-# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed by
-# doxygen. The layout file controls the global structure of the generated output files
-# in an output format independent way. The create the layout file that represents
-# doxygen's defaults, run doxygen with the -l option. You can optionally specify a
-# file name after the option, if omitted DoxygenLayout.xml will be used as the name
-# of the layout file.
-
-LAYOUT_FILE            =
-
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-
-# The QUIET tag can be used to turn on/off the messages that are generated
-# by doxygen. Possible values are YES and NO. If left blank NO is used.
-
-QUIET                  = NO
-
-# The WARNINGS tag can be used to turn on/off the warning messages that are
-# generated by doxygen. Possible values are YES and NO. If left blank
-# NO is used.
-
-WARNINGS               = YES
-
-# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
-# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
-# automatically be disabled.
-
-WARN_IF_UNDOCUMENTED   = YES
-
-# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for
-# potential errors in the documentation, such as not documenting some
-# parameters in a documented function, or documenting parameters that
-# don't exist or using markup commands wrongly.
-
-WARN_IF_DOC_ERROR      = YES
-
-# This WARN_NO_PARAMDOC option can be abled to get warnings for
-# functions that are documented, but have no documentation for their parameters
-# or return value. If set to NO (the default) doxygen will only warn about
-# wrong or incomplete parameter documentation, but not about the absence of
-# documentation.
-
-WARN_NO_PARAMDOC       = NO
-
-# The WARN_FORMAT tag determines the format of the warning messages that
-# doxygen can produce. The string should contain the $file, $line, and $text
-# tags, which will be replaced by the file and line number from which the
-# warning originated and the warning text. Optionally the format may contain
-# $version, which will be replaced by the version of the file (if it could
-# be obtained via FILE_VERSION_FILTER)
-
-WARN_FORMAT            = "$file:$line: $text"
-
-# The WARN_LOGFILE tag can be used to specify a file to which warning
-# and error messages should be written. If left blank the output is written
-# to stderr.
-
-WARN_LOGFILE           =
-
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-
-# The INPUT tag can be used to specify the files and/or directories that contain
-# documented source files. You may enter file names like "myfile.cpp" or
-# directories like "/usr/src/myproject". Separate the files or directories
-# with spaces.
-
-INPUT                  = ..
-
-# This tag can be used to specify the character encoding of the source files
-# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
-# also the default input encoding. Doxygen uses libiconv (or the iconv built
-# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for
-# the list of possible encodings.
-
-INPUT_ENCODING         = UTF-8
-
-# If the value of the INPUT tag contains directories, you can use the
-# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
-# and *.h) to filter out the source-files in the directories. If left
-# blank the following patterns are tested:
-# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx
-# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90
-
-FILE_PATTERNS          =
-
-# The RECURSIVE tag can be used to turn specify whether or not subdirectories
-# should be searched for input files as well. Possible values are YES and NO.
-# If left blank NO is used.
-
-RECURSIVE              = NO
-
-# The EXCLUDE tag can be used to specify files and/or directories that should
-# excluded from the INPUT source files. This way you can easily exclude a
-# subdirectory from a directory tree whose root is specified with the INPUT tag.
-
-EXCLUDE                =
-
-# The EXCLUDE_SYMLINKS tag can be used select whether or not files or
-# directories that are symbolic links (a Unix filesystem feature) are excluded
-# from the input.
-
-EXCLUDE_SYMLINKS       = NO
-
-# If the value of the INPUT tag contains directories, you can use the
-# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
-# certain files from those directories. Note that the wildcards are matched
-# against the file with absolute path, so to exclude all test directories
-# for example use the pattern */test/*
-
-EXCLUDE_PATTERNS       =
-
-# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
-# (namespaces, classes, functions, etc.) that should be excluded from the
-# output. The symbol name can be a fully qualified name, a word, or if the
-# wildcard * is used, a substring. Examples: ANamespace, AClass,
-# AClass::ANamespace, ANamespace::*Test
-
-EXCLUDE_SYMBOLS        =
-
-# The EXAMPLE_PATH tag can be used to specify one or more files or
-# directories that contain example code fragments that are included (see
-# the \include command).
-
-EXAMPLE_PATH           =
-
-# If the value of the EXAMPLE_PATH tag contains directories, you can use the
-# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
-# and *.h) to filter out the source-files in the directories. If left
-# blank all files are included.
-
-EXAMPLE_PATTERNS       =
-
-# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
-# searched for input files to be used with the \include or \dontinclude
-# commands irrespective of the value of the RECURSIVE tag.
-# Possible values are YES and NO. If left blank NO is used.
-
-EXAMPLE_RECURSIVE      = NO
-
-# The IMAGE_PATH tag can be used to specify one or more files or
-# directories that contain image that are included in the documentation (see
-# the \image command).
-
-IMAGE_PATH             =
-
-# The INPUT_FILTER tag can be used to specify a program that doxygen should
-# invoke to filter for each input file. Doxygen will invoke the filter program
-# by executing (via popen()) the command <filter> <input-file>, where <filter>
-# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
-# input file. Doxygen will then use the output that the filter program writes
-# to standard output.
-# If FILTER_PATTERNS is specified, this tag will be
-# ignored.
-
-INPUT_FILTER           =
-
-# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
-# basis.
-# Doxygen will compare the file name with each pattern and apply the
-# filter if there is a match.
-# The filters are a list of the form:
-# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further
-# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER
-# is applied to all files.
-
-FILTER_PATTERNS        =
-
-# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
-# INPUT_FILTER) will be used to filter the input files when producing source
-# files to browse (i.e. when SOURCE_BROWSER is set to YES).
-
-FILTER_SOURCE_FILES    = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to source browsing
-#---------------------------------------------------------------------------
-
-# If the SOURCE_BROWSER tag is set to YES then a list of source files will
-# be generated. Documented entities will be cross-referenced with these sources.
-# Note: To get rid of all source code in the generated output, make sure also
-# VERBATIM_HEADERS is set to NO.
-
-SOURCE_BROWSER         = YES
-
-# Setting the INLINE_SOURCES tag to YES will include the body
-# of functions and classes directly in the documentation.
-
-INLINE_SOURCES         = NO
-
-# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
-# doxygen to hide any special comment blocks from generated source code
-# fragments. Normal C and C++ comments will always remain visible.
-
-STRIP_CODE_COMMENTS    = YES
-
-# If the REFERENCED_BY_RELATION tag is set to YES
-# then for each documented function all documented
-# functions referencing it will be listed.
-
-REFERENCED_BY_RELATION = NO
-
-# If the REFERENCES_RELATION tag is set to YES
-# then for each documented function all documented entities
-# called/used by that function will be listed.
-
-REFERENCES_RELATION    = NO
-
-# If the REFERENCES_LINK_SOURCE tag is set to YES (the default)
-# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from
-# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will
-# link to the source code.
-# Otherwise they will link to the documentation.
-
-REFERENCES_LINK_SOURCE = YES
-
-# If the USE_HTAGS tag is set to YES then the references to source code
-# will point to the HTML generated by the htags(1) tool instead of doxygen
-# built-in source browser. The htags tool is part of GNU's global source
-# tagging system (see http://www.gnu.org/software/global/global.html). You
-# will need version 4.8.6 or higher.
-
-USE_HTAGS              = NO
-
-# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
-# will generate a verbatim copy of the header file for each class for
-# which an include is specified. Set to NO to disable this.
-
-VERBATIM_HEADERS       = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-
-# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
-# of all compounds will be generated. Enable this if the project
-# contains a lot of classes, structs, unions or interfaces.
-
-ALPHABETICAL_INDEX     = NO
-
-# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
-# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
-# in which this list will be split (can be a number in the range [1..20])
-
-COLS_IN_ALPHA_INDEX    = 5
-
-# In case all classes in a project start with a common prefix, all
-# classes will be put under the same header in the alphabetical index.
-# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
-# should be ignored while generating the index headers.
-
-IGNORE_PREFIX          =
-
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
-# generate HTML output.
-
-GENERATE_HTML          = YES
-
-# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `html' will be used as the default path.
-
-HTML_OUTPUT            = html
-
-# The HTML_FILE_EXTENSION tag can be used to specify the file extension for
-# each generated HTML page (for example: .htm,.php,.asp). If it is left blank
-# doxygen will generate files with .html extension.
-
-HTML_FILE_EXTENSION    = .html
-
-# The HTML_HEADER tag can be used to specify a personal HTML header for
-# each generated HTML page. If it is left blank doxygen will generate a
-# standard header.
-
-HTML_HEADER            =
-
-# The HTML_FOOTER tag can be used to specify a personal HTML footer for
-# each generated HTML page. If it is left blank doxygen will generate a
-# standard footer.
-
-HTML_FOOTER            =
-
-# The HTML_STYLESHEET tag can be used to specify a user-defined cascading
-# style sheet that is used by each HTML page. It can be used to
-# fine-tune the look of the HTML output. If the tag is left blank doxygen
-# will generate a default style sheet. Note that doxygen will try to copy
-# the style sheet file to the HTML output directory, so don't put your own
-# stylesheet in the HTML output directory as well, or it will be erased!
-
-HTML_STYLESHEET        =
-
-# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML
-# page will contain the date and time when the page was generated. Setting
-# this to NO can help when comparing the output of multiple runs.
-
-HTML_TIMESTAMP         = YES
-
-# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
-# files or namespaces will be aligned in HTML using tables. If set to
-# NO a bullet list will be used.
-
-HTML_ALIGN_MEMBERS     = YES
-
-# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
-# documentation will contain sections that can be hidden and shown after the
-# page has loaded. For this to work a browser that supports
-# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox
-# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari).
-
-HTML_DYNAMIC_SECTIONS  = NO
-
-# If the GENERATE_DOCSET tag is set to YES, additional index files
-# will be generated that can be used as input for Apple's Xcode 3
-# integrated development environment, introduced with OSX 10.5 (Leopard).
-# To create a documentation set, doxygen will generate a Makefile in the
-# HTML output directory. Running make will produce the docset in that
-# directory and running "make install" will install the docset in
-# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find
-# it at startup.
-# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html for more information.
-
-GENERATE_DOCSET        = NO
-
-# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the
-# feed. A documentation feed provides an umbrella under which multiple
-# documentation sets from a single provider (such as a company or product suite)
-# can be grouped.
-
-DOCSET_FEEDNAME        = "Doxygen generated docs"
-
-# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that
-# should uniquely identify the documentation set bundle. This should be a
-# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen
-# will append .docset to the name.
-
-DOCSET_BUNDLE_ID       = org.doxygen.Project
-
-# If the GENERATE_HTMLHELP tag is set to YES, additional index files
-# will be generated that can be used as input for tools like the
-# Microsoft HTML help workshop to generate a compiled HTML help file (.chm)
-# of the generated HTML documentation.
-
-GENERATE_HTMLHELP      = NO
-
-# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
-# be used to specify the file name of the resulting .chm file. You
-# can add a path in front of the file if the result should not be
-# written to the html output directory.
-
-CHM_FILE               =
-
-# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can
-# be used to specify the location (absolute path including file name) of
-# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run
-# the HTML help compiler on the generated index.hhp.
-
-HHC_LOCATION           =
-
-# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
-# controls if a separate .chi index file is generated (YES) or that
-# it should be included in the master .chm file (NO).
-
-GENERATE_CHI           = NO
-
-# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING
-# is used to encode HtmlHelp index (hhk), content (hhc) and project file
-# content.
-
-CHM_INDEX_ENCODING     =
-
-# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
-# controls whether a binary table of contents is generated (YES) or a
-# normal table of contents (NO) in the .chm file.
-
-BINARY_TOC             = NO
-
-# The TOC_EXPAND flag can be set to YES to add extra items for group members
-# to the contents of the HTML help documentation and to the tree view.
-
-TOC_EXPAND             = NO
-
-# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and QHP_VIRTUAL_FOLDER
-# are set, an additional index file will be generated that can be used as input for
-# Qt's qhelpgenerator to generate a Qt Compressed Help (.qch) of the generated
-# HTML documentation.
-
-GENERATE_QHP           = NO
-
-# If the QHG_LOCATION tag is specified, the QCH_FILE tag can
-# be used to specify the file name of the resulting .qch file.
-# The path specified is relative to the HTML output folder.
-
-QCH_FILE               =
-
-# The QHP_NAMESPACE tag specifies the namespace to use when generating
-# Qt Help Project output. For more information please see
-# http://doc.trolltech.com/qthelpproject.html#namespace
-
-QHP_NAMESPACE          = org.doxygen.Project
-
-# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating
-# Qt Help Project output. For more information please see
-# http://doc.trolltech.com/qthelpproject.html#virtual-folders
-
-QHP_VIRTUAL_FOLDER     = doc
-
-# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to add.
-# For more information please see
-# http://doc.trolltech.com/qthelpproject.html#custom-filters
-
-QHP_CUST_FILTER_NAME   =
-
-# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the custom filter to add.For more information please see
-# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters">Qt Help Project / Custom Filters</a>.
-
-QHP_CUST_FILTER_ATTRS  =
-
-# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this project's
-# filter section matches.
-# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes">Qt Help Project / Filter Attributes</a>.
-
-QHP_SECT_FILTER_ATTRS  =
-
-# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can
-# be used to specify the location of Qt's qhelpgenerator.
-# If non-empty doxygen will try to run qhelpgenerator on the generated
-# .qhp file.
-
-QHG_LOCATION           =
-
-# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files
-#  will be generated, which together with the HTML files, form an Eclipse help
-#  plugin. To install this plugin and make it available under the help contents
-# menu in Eclipse, the contents of the directory containing the HTML and XML
-# files needs to be copied into the plugins directory of eclipse. The name of
-# the directory within the plugins directory should be the same as
-# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before the help appears.
-
-GENERATE_ECLIPSEHELP   = NO
-
-# A unique identifier for the eclipse help plugin. When installing the plugin
-# the directory name containing the HTML and XML files should also have
-# this name.
-
-ECLIPSE_DOC_ID         = org.doxygen.Project
-
-# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
-# top of each HTML page. The value NO (the default) enables the index and
-# the value YES disables it.
-
-DISABLE_INDEX          = NO
-
-# This tag can be used to set the number of enum values (range [1..20])
-# that doxygen will group on one line in the generated HTML documentation.
-
-ENUM_VALUES_PER_LINE   = 4
-
-# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
-# structure should be generated to display hierarchical information.
-# If the tag value is set to YES, a side panel will be generated
-# containing a tree-like index structure (just like the one that
-# is generated for HTML Help). For this to work a browser that supports
-# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser).
-# Windows users are probably better off using the HTML help feature.
-
-GENERATE_TREEVIEW      = NO
-
-# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories,
-# and Class Hierarchy pages using a tree view instead of an ordered list.
-
-USE_INLINE_TREES       = NO
-
-# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
-# used to set the initial width (in pixels) of the frame in which the tree
-# is shown.
-
-TREEVIEW_WIDTH         = 250
-
-# Use this tag to change the font size of Latex formulas included
-# as images in the HTML documentation. The default is 10. Note that
-# when you change the font size after a successful doxygen run you need
-# to manually remove any form_*.png images from the HTML output directory
-# to force them to be regenerated.
-
-FORMULA_FONTSIZE       = 10
-
-# When the SEARCHENGINE tag is enabled doxygen will generate a search box for the HTML output. The underlying search engine uses javascript
-# and DHTML and should work on any modern browser. Note that when using HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET) there is already a search function so this one should
-# typically be disabled. For large projects the javascript based search engine
-# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution.
-
-SEARCHENGINE           = YES
-
-# When the SERVER_BASED_SEARCH tag is enabled the search engine will be implemented using a PHP enabled web server instead of at the web client using Javascript. Doxygen will generate the search PHP script and index
-# file to put on the web server. The advantage of the server based approach is that it scales better to large projects and allows full text search. The disadvances is that it is more difficult to setup
-# and does not have live searching capabilities.
-
-SERVER_BASED_SEARCH    = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
-# generate Latex output.
-
-GENERATE_LATEX         = NO
-
-# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `latex' will be used as the default path.
-
-LATEX_OUTPUT           = latex
-
-# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
-# invoked. If left blank `latex' will be used as the default command name.
-# Note that when enabling USE_PDFLATEX this option is only used for
-# generating bitmaps for formulas in the HTML output, but not in the
-# Makefile that is written to the output directory.
-
-LATEX_CMD_NAME         = latex
-
-# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to
-# generate index for LaTeX. If left blank `makeindex' will be used as the
-# default command name.
-
-MAKEINDEX_CMD_NAME     = makeindex
-
-# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
-# LaTeX documents. This may be useful for small projects and may help to
-# save some trees in general.
-
-COMPACT_LATEX          = NO
-
-# The PAPER_TYPE tag can be used to set the paper type that is used
-# by the printer. Possible values are: a4, a4wide, letter, legal and
-# executive. If left blank a4wide will be used.
-
-PAPER_TYPE             = a4wide
-
-# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
-# packages that should be included in the LaTeX output.
-
-EXTRA_PACKAGES         =
-
-# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
-# the generated latex document. The header should contain everything until
-# the first chapter. If it is left blank doxygen will generate a
-# standard header. Notice: only use this tag if you know what you are doing!
-
-LATEX_HEADER           =
-
-# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
-# is prepared for conversion to pdf (using ps2pdf). The pdf file will
-# contain links (just like the HTML output) instead of page references
-# This makes the output suitable for online browsing using a pdf viewer.
-
-PDF_HYPERLINKS         = YES
-
-# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
-# plain latex in the generated Makefile. Set this option to YES to get a
-# higher quality PDF documentation.
-
-USE_PDFLATEX           = YES
-
-# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
-# command to the generated LaTeX files. This will instruct LaTeX to keep
-# running if errors occur, instead of asking the user for help.
-# This option is also used when generating formulas in HTML.
-
-LATEX_BATCHMODE        = NO
-
-# If LATEX_HIDE_INDICES is set to YES then doxygen will not
-# include the index chapters (such as File Index, Compound Index, etc.)
-# in the output.
-
-LATEX_HIDE_INDICES     = NO
-
-# If LATEX_SOURCE_CODE is set to YES then doxygen will include source code with syntax highlighting in the LaTeX output. Note that which sources are shown also depends on other settings such as SOURCE_BROWSER.
-
-LATEX_SOURCE_CODE      = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
-# The RTF output is optimized for Word 97 and may not look very pretty with
-# other RTF readers or editors.
-
-GENERATE_RTF           = NO
-
-# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `rtf' will be used as the default path.
-
-RTF_OUTPUT             = rtf
-
-# If the COMPACT_RTF tag is set to YES Doxygen generates more compact
-# RTF documents. This may be useful for small projects and may help to
-# save some trees in general.
-
-COMPACT_RTF            = NO
-
-# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
-# will contain hyperlink fields. The RTF file will
-# contain links (just like the HTML output) instead of page references.
-# This makes the output suitable for online browsing using WORD or other
-# programs which support those fields.
-# Note: wordpad (write) and others do not support links.
-
-RTF_HYPERLINKS         = NO
-
-# Load stylesheet definitions from file. Syntax is similar to doxygen's
-# config file, i.e. a series of assignments. You only have to provide
-# replacements, missing definitions are set to their default value.
-
-RTF_STYLESHEET_FILE    =
-
-# Set optional variables used in the generation of an rtf document.
-# Syntax is similar to doxygen's config file.
-
-RTF_EXTENSIONS_FILE    =
-
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
-# generate man pages
-
-GENERATE_MAN           = NO
-
-# The MAN_OUTPUT tag is used to specify where the man pages will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `man' will be used as the default path.
-
-MAN_OUTPUT             = man
-
-# The MAN_EXTENSION tag determines the extension that is added to
-# the generated man pages (default is the subroutine's section .3)
-
-MAN_EXTENSION          = .3
-
-# If the MAN_LINKS tag is set to YES and Doxygen generates man output,
-# then it will generate one additional man file for each entity
-# documented in the real man page(s). These additional files
-# only source the real man page, but without them the man command
-# would be unable to find the correct page. The default is NO.
-
-MAN_LINKS              = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the XML output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_XML tag is set to YES Doxygen will
-# generate an XML file that captures the structure of
-# the code including all documentation.
-
-GENERATE_XML           = NO
-
-# The XML_OUTPUT tag is used to specify where the XML pages will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `xml' will be used as the default path.
-
-XML_OUTPUT             = xml
-
-# The XML_SCHEMA tag can be used to specify an XML schema,
-# which can be used by a validating XML parser to check the
-# syntax of the XML files.
-
-XML_SCHEMA             =
-
-# The XML_DTD tag can be used to specify an XML DTD,
-# which can be used by a validating XML parser to check the
-# syntax of the XML files.
-
-XML_DTD                =
-
-# If the XML_PROGRAMLISTING tag is set to YES Doxygen will
-# dump the program listings (including syntax highlighting
-# and cross-referencing information) to the XML output. Note that
-# enabling this will significantly increase the size of the XML output.
-
-XML_PROGRAMLISTING     = YES
-
-#---------------------------------------------------------------------------
-# configuration options for the AutoGen Definitions output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will
-# generate an AutoGen Definitions (see autogen.sf.net) file
-# that captures the structure of the code including all
-# documentation. Note that this feature is still experimental
-# and incomplete at the moment.
-
-GENERATE_AUTOGEN_DEF   = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the Perl module output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_PERLMOD tag is set to YES Doxygen will
-# generate a Perl module file that captures the structure of
-# the code including all documentation. Note that this
-# feature is still experimental and incomplete at the
-# moment.
-
-GENERATE_PERLMOD       = NO
-
-# If the PERLMOD_LATEX tag is set to YES Doxygen will generate
-# the necessary Makefile rules, Perl scripts and LaTeX code to be able
-# to generate PDF and DVI output from the Perl module output.
-
-PERLMOD_LATEX          = NO
-
-# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be
-# nicely formatted so it can be parsed by a human reader.
-# This is useful
-# if you want to understand what is going on.
-# On the other hand, if this
-# tag is set to NO the size of the Perl module output will be much smaller
-# and Perl will parse it just the same.
-
-PERLMOD_PRETTY         = YES
-
-# The names of the make variables in the generated doxyrules.make file
-# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX.
-# This is useful so different doxyrules.make files included by the same
-# Makefile don't overwrite each other's variables.
-
-PERLMOD_MAKEVAR_PREFIX =
-
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-
-# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
-# evaluate all C-preprocessor directives found in the sources and include
-# files.
-
-ENABLE_PREPROCESSING   = YES
-
-# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
-# names in the source code. If set to NO (the default) only conditional
-# compilation will be performed. Macro expansion can be done in a controlled
-# way by setting EXPAND_ONLY_PREDEF to YES.
-
-MACRO_EXPANSION        = NO
-
-# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
-# then the macro expansion is limited to the macros specified with the
-# PREDEFINED and EXPAND_AS_DEFINED tags.
-
-EXPAND_ONLY_PREDEF     = NO
-
-# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
-# in the INCLUDE_PATH (see below) will be search if a #include is found.
-
-SEARCH_INCLUDES        = YES
-
-# The INCLUDE_PATH tag can be used to specify one or more directories that
-# contain include files that are not input files but should be processed by
-# the preprocessor.
-
-INCLUDE_PATH           =
-
-# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
-# patterns (like *.h and *.hpp) to filter out the header-files in the
-# directories. If left blank, the patterns specified with FILE_PATTERNS will
-# be used.
-
-INCLUDE_FILE_PATTERNS  =
-
-# The PREDEFINED tag can be used to specify one or more macro names that
-# are defined before the preprocessor is started (similar to the -D option of
-# gcc). The argument of the tag is a list of macros of the form: name
-# or name=definition (no spaces). If the definition and the = are
-# omitted =1 is assumed. To prevent a macro definition from being
-# undefined via #undef or recursively expanded use the := operator
-# instead of the = operator.
-
-PREDEFINED             = DSRV_NO_DTLS DSRV_NO_PROTOCOL_DEMUX
-
-# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
-# this tag can be used to specify a list of macro names that should be expanded.
-# The macro definition that is found in the sources will be used.
-# Use the PREDEFINED tag if you want to use a different macro definition.
-
-EXPAND_AS_DEFINED      =
-
-# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then
-# doxygen's preprocessor will remove all function-like macros that are alone
-# on a line, have an all uppercase name, and do not end with a semicolon. Such
-# function macros are typically used for boiler-plate code, and will confuse
-# the parser if not removed.
-
-SKIP_FUNCTION_MACROS   = YES
-
-#---------------------------------------------------------------------------
-# Configuration::additions related to external references
-#---------------------------------------------------------------------------
-
-# The TAGFILES option can be used to specify one or more tagfiles.
-# Optionally an initial location of the external documentation
-# can be added for each tagfile. The format of a tag file without
-# this location is as follows:
-#
-# TAGFILES = file1 file2 ...
-# Adding location for the tag files is done as follows:
-#
-# TAGFILES = file1=loc1 "file2 = loc2" ...
-# where "loc1" and "loc2" can be relative or absolute paths or
-# URLs. If a location is present for each tag, the installdox tool
-# does not have to be run to correct the links.
-# Note that each tag file must have a unique name
-# (where the name does NOT include the path)
-# If a tag file is not located in the directory in which doxygen
-# is run, you must also specify the path to the tagfile here.
-
-TAGFILES               =
-
-# When a file name is specified after GENERATE_TAGFILE, doxygen will create
-# a tag file that is based on the input files it reads.
-
-GENERATE_TAGFILE       =
-
-# If the ALLEXTERNALS tag is set to YES all external classes will be listed
-# in the class index. If set to NO only the inherited external classes
-# will be listed.
-
-ALLEXTERNALS           = NO
-
-# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed
-# in the modules index. If set to NO, only the current project's groups will
-# be listed.
-
-EXTERNAL_GROUPS        = YES
-
-# The PERL_PATH should be the absolute path and name of the perl script
-# interpreter (i.e. the result of `which perl').
-
-PERL_PATH              = /usr/bin/perl
-
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-
-# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
-# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base
-# or super classes. Setting the tag to NO turns the diagrams off. Note that
-# this option is superseded by the HAVE_DOT option below. This is only a
-# fallback. It is recommended to install and use dot, since it yields more
-# powerful graphs.
-
-CLASS_DIAGRAMS         = NO
-
-# You can define message sequence charts within doxygen comments using the \msc
-# command. Doxygen will then run the mscgen tool (see
-# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the
-# documentation. The MSCGEN_PATH tag allows you to specify the directory where
-# the mscgen tool resides. If left empty the tool is assumed to be found in the
-# default search path.
-
-MSCGEN_PATH            =
-
-# If set to YES, the inheritance and collaboration graphs will hide
-# inheritance and usage relations if the target is undocumented
-# or is not a class.
-
-HIDE_UNDOC_RELATIONS   = YES
-
-# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
-# available from the path. This tool is part of Graphviz, a graph visualization
-# toolkit from AT&T and Lucent Bell Labs. The other options in this section
-# have no effect if this option is set to NO (the default)
-
-HAVE_DOT               = NO
-
-# By default doxygen will write a font called FreeSans.ttf to the output
-# directory and reference it in all dot files that doxygen generates. This
-# font does not include all possible unicode characters however, so when you need
-# these (or just want a differently looking font) you can specify the font name
-# using DOT_FONTNAME. You need need to make sure dot is able to find the font,
-# which can be done by putting it in a standard location or by setting the
-# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory
-# containing the font.
-
-DOT_FONTNAME           = FreeSans
-
-# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs.
-# The default size is 10pt.
-
-DOT_FONTSIZE           = 10
-
-# By default doxygen will tell dot to use the output directory to look for the
-# FreeSans.ttf font (which doxygen will put there itself). If you specify a
-# different font using DOT_FONTNAME you can set the path where dot
-# can find it using this tag.
-
-DOT_FONTPATH           =
-
-# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
-# will generate a graph for each documented class showing the direct and
-# indirect inheritance relations. Setting this tag to YES will force the
-# the CLASS_DIAGRAMS tag to NO.
-
-CLASS_GRAPH            = YES
-
-# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
-# will generate a graph for each documented class showing the direct and
-# indirect implementation dependencies (inheritance, containment, and
-# class references variables) of the class with other documented classes.
-
-COLLABORATION_GRAPH    = YES
-
-# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen
-# will generate a graph for groups, showing the direct groups dependencies
-
-GROUP_GRAPHS           = YES
-
-# If the UML_LOOK tag is set to YES doxygen will generate inheritance and
-# collaboration diagrams in a style similar to the OMG's Unified Modeling
-# Language.
-
-UML_LOOK               = NO
-
-# If set to YES, the inheritance and collaboration graphs will show the
-# relations between templates and their instances.
-
-TEMPLATE_RELATIONS     = NO
-
-# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT
-# tags are set to YES then doxygen will generate a graph for each documented
-# file showing the direct and indirect include dependencies of the file with
-# other documented files.
-
-INCLUDE_GRAPH          = YES
-
-# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and
-# HAVE_DOT tags are set to YES then doxygen will generate a graph for each
-# documented header file showing the documented files that directly or
-# indirectly include this file.
-
-INCLUDED_BY_GRAPH      = YES
-
-# If the CALL_GRAPH and HAVE_DOT options are set to YES then
-# doxygen will generate a call dependency graph for every global function
-# or class method. Note that enabling this option will significantly increase
-# the time of a run. So in most cases it will be better to enable call graphs
-# for selected functions only using the \callgraph command.
-
-CALL_GRAPH             = NO
-
-# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then
-# doxygen will generate a caller dependency graph for every global function
-# or class method. Note that enabling this option will significantly increase
-# the time of a run. So in most cases it will be better to enable caller
-# graphs for selected functions only using the \callergraph command.
-
-CALLER_GRAPH           = NO
-
-# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
-# will graphical hierarchy of all classes instead of a textual one.
-
-GRAPHICAL_HIERARCHY    = YES
-
-# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES
-# then doxygen will show the dependencies a directory has on other directories
-# in a graphical way. The dependency relations are determined by the #include
-# relations between the files in the directories.
-
-DIRECTORY_GRAPH        = YES
-
-# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
-# generated by dot. Possible values are png, jpg, or gif
-# If left blank png will be used.
-
-DOT_IMAGE_FORMAT       = png
-
-# The tag DOT_PATH can be used to specify the path where the dot tool can be
-# found. If left blank, it is assumed the dot tool can be found in the path.
-
-DOT_PATH               =
-
-# The DOTFILE_DIRS tag can be used to specify one or more directories that
-# contain dot files that are included in the documentation (see the
-# \dotfile command).
-
-DOTFILE_DIRS           =
-
-# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of
-# nodes that will be shown in the graph. If the number of nodes in a graph
-# becomes larger than this value, doxygen will truncate the graph, which is
-# visualized by representing a node as a red box. Note that doxygen if the
-# number of direct children of the root node in a graph is already larger than
-# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note
-# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
-
-DOT_GRAPH_MAX_NODES    = 50
-
-# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the
-# graphs generated by dot. A depth value of 3 means that only nodes reachable
-# from the root by following a path via at most 3 edges will be shown. Nodes
-# that lay further from the root node will be omitted. Note that setting this
-# option to 1 or 2 may greatly reduce the computation time needed for large
-# code bases. Also note that the size of a graph can be further restricted by
-# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
-
-MAX_DOT_GRAPH_DEPTH    = 0
-
-# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent
-# background. This is disabled by default, because dot on Windows does not
-# seem to support this out of the box. Warning: Depending on the platform used,
-# enabling this option may lead to badly anti-aliased labels on the edges of
-# a graph (i.e. they become hard to read).
-
-DOT_TRANSPARENT        = NO
-
-# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output
-# files in one run (i.e. multiple -o and -T options on the command line). This
-# makes dot run faster, but since only newer versions of dot (>1.8.10)
-# support this, this feature is disabled by default.
-
-DOT_MULTI_TARGETS      = YES
-
-# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will
-# generate a legend page explaining the meaning of the various boxes and
-# arrows in the dot generated graphs.
-
-GENERATE_LEGEND        = YES
-
-# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will
-# remove the intermediate dot files that are used to generate
-# the various graphs.
-
-DOT_CLEANUP            = YES
diff --git a/external/wakaama/examples/shared/tinydtls/doc/Doxyfile.in b/external/wakaama/examples/shared/tinydtls/doc/Doxyfile.in
deleted file mode 100644 (file)
index 9f7ffdf..0000000
+++ /dev/null
@@ -1,1551 +0,0 @@
-# Doxyfile 1.6.3
-
-# This file describes the settings to be used by the documentation system
-# doxygen (www.doxygen.org) for a project
-#
-# All text after a hash (#) is considered a comment and will be ignored
-# The format is:
-#       TAG = value [value, ...]
-# For lists items can also be appended using:
-#       TAG += value [value, ...]
-# Values that contain spaces should be placed between quotes (" ")
-
-#---------------------------------------------------------------------------
-# Project related configuration options
-#---------------------------------------------------------------------------
-
-# This tag specifies the encoding used for all characters in the config file
-# that follow. The default is UTF-8 which is also the encoding used for all
-# text before the first occurrence of this tag. Doxygen uses libiconv (or the
-# iconv built into libc) for the transcoding. See
-# http://www.gnu.org/software/libiconv for the list of possible encodings.
-
-DOXYFILE_ENCODING      = UTF-8
-
-# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
-# by quotes) that should identify the project.
-
-PROJECT_NAME           = @PACKAGE_NAME@
-
-# The PROJECT_NUMBER tag can be used to enter a project or revision number.
-# This could be handy for archiving the generated documentation or
-# if some version control system is used.
-
-PROJECT_NUMBER         = @PACKAGE_VERSION@
-
-# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
-# base path where the generated documentation will be put.
-# If a relative path is entered, it will be relative to the location
-# where doxygen was started. If left blank the current directory will be used.
-
-OUTPUT_DIRECTORY       =
-
-# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create
-# 4096 sub-directories (in 2 levels) under the output directory of each output
-# format and will distribute the generated files over these directories.
-# Enabling this option can be useful when feeding doxygen a huge amount of
-# source files, where putting all generated files in the same directory would
-# otherwise cause performance problems for the file system.
-
-CREATE_SUBDIRS         = NO
-
-# The OUTPUT_LANGUAGE tag is used to specify the language in which all
-# documentation generated by doxygen is written. Doxygen will use this
-# information to generate all constant output in the proper language.
-# The default language is English, other supported languages are:
-# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional,
-# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German,
-# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English
-# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian,
-# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak,
-# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese.
-
-OUTPUT_LANGUAGE        = English
-
-# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
-# include brief member descriptions after the members that are listed in
-# the file and class documentation (similar to JavaDoc).
-# Set to NO to disable this.
-
-BRIEF_MEMBER_DESC      = YES
-
-# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
-# the brief description of a member or function before the detailed description.
-# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
-# brief descriptions will be completely suppressed.
-
-REPEAT_BRIEF           = YES
-
-# This tag implements a quasi-intelligent brief description abbreviator
-# that is used to form the text in various listings. Each string
-# in this list, if found as the leading text of the brief description, will be
-# stripped from the text and the result after processing the whole list, is
-# used as the annotated text. Otherwise, the brief description is used as-is.
-# If left blank, the following values are used ("$name" is automatically
-# replaced with the name of the entity): "The $name class" "The $name widget"
-# "The $name file" "is" "provides" "specifies" "contains"
-# "represents" "a" "an" "the"
-
-ABBREVIATE_BRIEF       =
-
-# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
-# Doxygen will generate a detailed section even if there is only a brief
-# description.
-
-ALWAYS_DETAILED_SEC    = NO
-
-# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
-# inherited members of a class in the documentation of that class as if those
-# members were ordinary class members. Constructors, destructors and assignment
-# operators of the base classes will not be shown.
-
-INLINE_INHERITED_MEMB  = NO
-
-# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
-# path before files name in the file list and in the header files. If set
-# to NO the shortest path that makes the file name unique will be used.
-
-FULL_PATH_NAMES        = NO
-
-# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
-# can be used to strip a user-defined part of the path. Stripping is
-# only done if one of the specified strings matches the left-hand part of
-# the path. The tag can be used to show relative paths in the file list.
-# If left blank the directory from which doxygen is run is used as the
-# path to strip.
-
-STRIP_FROM_PATH        =
-
-# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
-# the path mentioned in the documentation of a class, which tells
-# the reader which header file to include in order to use a class.
-# If left blank only the name of the header file containing the class
-# definition is used. Otherwise one should specify the include paths that
-# are normally passed to the compiler using the -I flag.
-
-STRIP_FROM_INC_PATH    =
-
-# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
-# (but less readable) file names. This can be useful is your file systems
-# doesn't support long names like on DOS, Mac, or CD-ROM.
-
-SHORT_NAMES            = NO
-
-# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
-# will interpret the first line (until the first dot) of a JavaDoc-style
-# comment as the brief description. If set to NO, the JavaDoc
-# comments will behave just like regular Qt-style comments
-# (thus requiring an explicit @brief command for a brief description.)
-
-JAVADOC_AUTOBRIEF      = NO
-
-# If the QT_AUTOBRIEF tag is set to YES then Doxygen will
-# interpret the first line (until the first dot) of a Qt-style
-# comment as the brief description. If set to NO, the comments
-# will behave just like regular Qt-style comments (thus requiring
-# an explicit \brief command for a brief description.)
-
-QT_AUTOBRIEF           = NO
-
-# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
-# treat a multi-line C++ special comment block (i.e. a block of //! or ///
-# comments) as a brief description. This used to be the default behaviour.
-# The new default is to treat a multi-line C++ comment block as a detailed
-# description. Set this tag to YES if you prefer the old behaviour instead.
-
-MULTILINE_CPP_IS_BRIEF = NO
-
-# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
-# member inherits the documentation from any documented member that it
-# re-implements.
-
-INHERIT_DOCS           = YES
-
-# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce
-# a new page for each member. If set to NO, the documentation of a member will
-# be part of the file/class/namespace that contains it.
-
-SEPARATE_MEMBER_PAGES  = NO
-
-# The TAB_SIZE tag can be used to set the number of spaces in a tab.
-# Doxygen uses this value to replace tabs by spaces in code fragments.
-
-TAB_SIZE               = 4
-
-# This tag can be used to specify a number of aliases that acts
-# as commands in the documentation. An alias has the form "name=value".
-# For example adding "sideeffect=\par Side Effects:\n" will allow you to
-# put the command \sideeffect (or @sideeffect) in the documentation, which
-# will result in a user-defined paragraph with heading "Side Effects:".
-# You can put \n's in the value part of an alias to insert newlines.
-
-ALIASES                =
-
-# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C
-# sources only. Doxygen will then generate output that is more tailored for C.
-# For instance, some of the names that are used will be different. The list
-# of all members will be omitted, etc.
-
-OPTIMIZE_OUTPUT_FOR_C  = YES
-
-# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java
-# sources only. Doxygen will then generate output that is more tailored for
-# Java. For instance, namespaces will be presented as packages, qualified
-# scopes will look different, etc.
-
-OPTIMIZE_OUTPUT_JAVA   = NO
-
-# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran
-# sources only. Doxygen will then generate output that is more tailored for
-# Fortran.
-
-OPTIMIZE_FOR_FORTRAN   = NO
-
-# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL
-# sources. Doxygen will then generate output that is tailored for
-# VHDL.
-
-OPTIMIZE_OUTPUT_VHDL   = NO
-
-# Doxygen selects the parser to use depending on the extension of the files it parses.
-# With this tag you can assign which parser to use for a given extension.
-# Doxygen has a built-in mapping, but you can override or extend it using this tag.
-# The format is ext=language, where ext is a file extension, and language is one of
-# the parsers supported by doxygen: IDL, Java, Javascript, C#, C, C++, D, PHP,
-# Objective-C, Python, Fortran, VHDL, C, C++. For instance to make doxygen treat
-# .inc files as Fortran files (default is PHP), and .f files as C (default is Fortran),
-# use: inc=Fortran f=C. Note that for custom extensions you also need to set FILE_PATTERNS otherwise the files are not read by doxygen.
-
-EXTENSION_MAPPING      =
-
-# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
-# to include (a tag file for) the STL sources as input, then you should
-# set this tag to YES in order to let doxygen match functions declarations and
-# definitions whose arguments contain STL classes (e.g. func(std::string); v.s.
-# func(std::string) {}). This also make the inheritance and collaboration
-# diagrams that involve STL classes more complete and accurate.
-
-BUILTIN_STL_SUPPORT    = NO
-
-# If you use Microsoft's C++/CLI language, you should set this option to YES to
-# enable parsing support.
-
-CPP_CLI_SUPPORT        = NO
-
-# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only.
-# Doxygen will parse them like normal C++ but will assume all classes use public
-# instead of private inheritance when no explicit protection keyword is present.
-
-SIP_SUPPORT            = NO
-
-# For Microsoft's IDL there are propget and propput attributes to indicate getter
-# and setter methods for a property. Setting this option to YES (the default)
-# will make doxygen to replace the get and set methods by a property in the
-# documentation. This will only work if the methods are indeed getting or
-# setting a simple type. If this is not the case, or you want to show the
-# methods anyway, you should set this option to NO.
-
-IDL_PROPERTY_SUPPORT   = YES
-
-# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
-# tag is set to YES, then doxygen will reuse the documentation of the first
-# member in the group (if any) for the other members of the group. By default
-# all members of a group must be documented explicitly.
-
-DISTRIBUTE_GROUP_DOC   = NO
-
-# Set the SUBGROUPING tag to YES (the default) to allow class member groups of
-# the same type (for instance a group of public functions) to be put as a
-# subgroup of that type (e.g. under the Public Functions section). Set it to
-# NO to prevent subgrouping. Alternatively, this can be done per class using
-# the \nosubgrouping command.
-
-SUBGROUPING            = YES
-
-# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum
-# is documented as struct, union, or enum with the name of the typedef. So
-# typedef struct TypeS {} TypeT, will appear in the documentation as a struct
-# with name TypeT. When disabled the typedef will appear as a member of a file,
-# namespace, or class. And the struct will be named TypeS. This can typically
-# be useful for C code in case the coding convention dictates that all compound
-# types are typedef'ed and only the typedef is referenced, never the tag name.
-
-TYPEDEF_HIDES_STRUCT   = NO
-
-# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to
-# determine which symbols to keep in memory and which to flush to disk.
-# When the cache is full, less often used symbols will be written to disk.
-# For small to medium size projects (<1000 input files) the default value is
-# probably good enough. For larger projects a too small cache size can cause
-# doxygen to be busy swapping symbols to and from disk most of the time
-# causing a significant performance penality.
-# If the system has enough physical memory increasing the cache will improve the
-# performance by keeping more symbols in memory. Note that the value works on
-# a logarithmic scale so increasing the size by one will rougly double the
-# memory usage. The cache size is given by this formula:
-# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0,
-# corresponding to a cache size of 2^16 = 65536 symbols
-
-SYMBOL_CACHE_SIZE      = 0
-
-#---------------------------------------------------------------------------
-# Build related configuration options
-#---------------------------------------------------------------------------
-
-# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
-# documentation are documented, even if no documentation was available.
-# Private class members and static file members will be hidden unless
-# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
-
-EXTRACT_ALL            = YES
-
-# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
-# will be included in the documentation.
-
-EXTRACT_PRIVATE        = NO
-
-# If the EXTRACT_STATIC tag is set to YES all static members of a file
-# will be included in the documentation.
-
-EXTRACT_STATIC         = YES
-
-# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
-# defined locally in source files will be included in the documentation.
-# If set to NO only classes defined in header files are included.
-
-EXTRACT_LOCAL_CLASSES  = YES
-
-# This flag is only useful for Objective-C code. When set to YES local
-# methods, which are defined in the implementation section but not in
-# the interface are included in the documentation.
-# If set to NO (the default) only methods in the interface are included.
-
-EXTRACT_LOCAL_METHODS  = NO
-
-# If this flag is set to YES, the members of anonymous namespaces will be
-# extracted and appear in the documentation as a namespace called
-# 'anonymous_namespace{file}', where file will be replaced with the base
-# name of the file that contains the anonymous namespace. By default
-# anonymous namespace are hidden.
-
-EXTRACT_ANON_NSPACES   = NO
-
-# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
-# undocumented members of documented classes, files or namespaces.
-# If set to NO (the default) these members will be included in the
-# various overviews, but no documentation section is generated.
-# This option has no effect if EXTRACT_ALL is enabled.
-
-HIDE_UNDOC_MEMBERS     = NO
-
-# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
-# undocumented classes that are normally visible in the class hierarchy.
-# If set to NO (the default) these classes will be included in the various
-# overviews. This option has no effect if EXTRACT_ALL is enabled.
-
-HIDE_UNDOC_CLASSES     = NO
-
-# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all
-# friend (class|struct|union) declarations.
-# If set to NO (the default) these declarations will be included in the
-# documentation.
-
-HIDE_FRIEND_COMPOUNDS  = NO
-
-# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any
-# documentation blocks found inside the body of a function.
-# If set to NO (the default) these blocks will be appended to the
-# function's detailed documentation block.
-
-HIDE_IN_BODY_DOCS      = NO
-
-# The INTERNAL_DOCS tag determines if documentation
-# that is typed after a \internal command is included. If the tag is set
-# to NO (the default) then the documentation will be excluded.
-# Set it to YES to include the internal documentation.
-
-INTERNAL_DOCS          = NO
-
-# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
-# file names in lower-case letters. If set to YES upper-case letters are also
-# allowed. This is useful if you have classes or files whose names only differ
-# in case and if your file system supports case sensitive file names. Windows
-# and Mac users are advised to set this option to NO.
-
-CASE_SENSE_NAMES       = YES
-
-# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
-# will show members with their full class and namespace scopes in the
-# documentation. If set to YES the scope will be hidden.
-
-HIDE_SCOPE_NAMES       = NO
-
-# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
-# will put a list of the files that are included by a file in the documentation
-# of that file.
-
-SHOW_INCLUDE_FILES     = YES
-
-# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen
-# will list include files with double quotes in the documentation
-# rather than with sharp brackets.
-
-FORCE_LOCAL_INCLUDES   = NO
-
-# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
-# is inserted in the documentation for inline members.
-
-INLINE_INFO            = YES
-
-# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
-# will sort the (detailed) documentation of file and class members
-# alphabetically by member name. If set to NO the members will appear in
-# declaration order.
-
-SORT_MEMBER_DOCS       = YES
-
-# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the
-# brief documentation of file, namespace and class members alphabetically
-# by member name. If set to NO (the default) the members will appear in
-# declaration order.
-
-SORT_BRIEF_DOCS        = NO
-
-# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the (brief and detailed) documentation of class members so that constructors and destructors are listed first. If set to NO (the default) the constructors will appear in the respective orders defined by SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO.
-
-SORT_MEMBERS_CTORS_1ST = NO
-
-# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the
-# hierarchy of group names into alphabetical order. If set to NO (the default)
-# the group names will appear in their defined order.
-
-SORT_GROUP_NAMES       = NO
-
-# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be
-# sorted by fully-qualified names, including namespaces. If set to
-# NO (the default), the class list will be sorted only by class name,
-# not including the namespace part.
-# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
-# Note: This option applies only to the class list, not to the
-# alphabetical list.
-
-SORT_BY_SCOPE_NAME     = NO
-
-# The GENERATE_TODOLIST tag can be used to enable (YES) or
-# disable (NO) the todo list. This list is created by putting \todo
-# commands in the documentation.
-
-GENERATE_TODOLIST      = YES
-
-# The GENERATE_TESTLIST tag can be used to enable (YES) or
-# disable (NO) the test list. This list is created by putting \test
-# commands in the documentation.
-
-GENERATE_TESTLIST      = YES
-
-# The GENERATE_BUGLIST tag can be used to enable (YES) or
-# disable (NO) the bug list. This list is created by putting \bug
-# commands in the documentation.
-
-GENERATE_BUGLIST       = YES
-
-# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
-# disable (NO) the deprecated list. This list is created by putting
-# \deprecated commands in the documentation.
-
-GENERATE_DEPRECATEDLIST= YES
-
-# The ENABLED_SECTIONS tag can be used to enable conditional
-# documentation sections, marked by \if sectionname ... \endif.
-
-ENABLED_SECTIONS       =
-
-# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
-# the initial value of a variable or define consists of for it to appear in
-# the documentation. If the initializer consists of more lines than specified
-# here it will be hidden. Use a value of 0 to hide initializers completely.
-# The appearance of the initializer of individual variables and defines in the
-# documentation can be controlled using \showinitializer or \hideinitializer
-# command in the documentation regardless of this setting.
-
-MAX_INITIALIZER_LINES  = 30
-
-# Set the SHOW_USED_FILES tag to NO to disable the list of files generated
-# at the bottom of the documentation of classes and structs. If set to YES the
-# list will mention the files that were used to generate the documentation.
-
-SHOW_USED_FILES        = YES
-
-# If the sources in your project are distributed over multiple directories
-# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy
-# in the documentation. The default is NO.
-
-SHOW_DIRECTORIES       = NO
-
-# Set the SHOW_FILES tag to NO to disable the generation of the Files page.
-# This will remove the Files entry from the Quick Index and from the
-# Folder Tree View (if specified). The default is YES.
-
-SHOW_FILES             = YES
-
-# Set the SHOW_NAMESPACES tag to NO to disable the generation of the
-# Namespaces page.
-# This will remove the Namespaces entry from the Quick Index
-# and from the Folder Tree View (if specified). The default is YES.
-
-SHOW_NAMESPACES        = YES
-
-# The FILE_VERSION_FILTER tag can be used to specify a program or script that
-# doxygen should invoke to get the current version for each file (typically from
-# the version control system). Doxygen will invoke the program by executing (via
-# popen()) the command <command> <input-file>, where <command> is the value of
-# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file
-# provided by doxygen. Whatever the program writes to standard output
-# is used as the file version. See the manual for examples.
-
-FILE_VERSION_FILTER    =
-
-# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed by
-# doxygen. The layout file controls the global structure of the generated output files
-# in an output format independent way. The create the layout file that represents
-# doxygen's defaults, run doxygen with the -l option. You can optionally specify a
-# file name after the option, if omitted DoxygenLayout.xml will be used as the name
-# of the layout file.
-
-LAYOUT_FILE            =
-
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-
-# The QUIET tag can be used to turn on/off the messages that are generated
-# by doxygen. Possible values are YES and NO. If left blank NO is used.
-
-QUIET                  = NO
-
-# The WARNINGS tag can be used to turn on/off the warning messages that are
-# generated by doxygen. Possible values are YES and NO. If left blank
-# NO is used.
-
-WARNINGS               = YES
-
-# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
-# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
-# automatically be disabled.
-
-WARN_IF_UNDOCUMENTED   = YES
-
-# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for
-# potential errors in the documentation, such as not documenting some
-# parameters in a documented function, or documenting parameters that
-# don't exist or using markup commands wrongly.
-
-WARN_IF_DOC_ERROR      = YES
-
-# This WARN_NO_PARAMDOC option can be abled to get warnings for
-# functions that are documented, but have no documentation for their parameters
-# or return value. If set to NO (the default) doxygen will only warn about
-# wrong or incomplete parameter documentation, but not about the absence of
-# documentation.
-
-WARN_NO_PARAMDOC       = NO
-
-# The WARN_FORMAT tag determines the format of the warning messages that
-# doxygen can produce. The string should contain the $file, $line, and $text
-# tags, which will be replaced by the file and line number from which the
-# warning originated and the warning text. Optionally the format may contain
-# $version, which will be replaced by the version of the file (if it could
-# be obtained via FILE_VERSION_FILTER)
-
-WARN_FORMAT            = "$file:$line: $text"
-
-# The WARN_LOGFILE tag can be used to specify a file to which warning
-# and error messages should be written. If left blank the output is written
-# to stderr.
-
-WARN_LOGFILE           =
-
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-
-# The INPUT tag can be used to specify the files and/or directories that contain
-# documented source files. You may enter file names like "myfile.cpp" or
-# directories like "/usr/src/myproject". Separate the files or directories
-# with spaces.
-
-INPUT                  = ..
-
-# This tag can be used to specify the character encoding of the source files
-# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
-# also the default input encoding. Doxygen uses libiconv (or the iconv built
-# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for
-# the list of possible encodings.
-
-INPUT_ENCODING         = UTF-8
-
-# If the value of the INPUT tag contains directories, you can use the
-# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
-# and *.h) to filter out the source-files in the directories. If left
-# blank the following patterns are tested:
-# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx
-# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90
-
-FILE_PATTERNS          =
-
-# The RECURSIVE tag can be used to turn specify whether or not subdirectories
-# should be searched for input files as well. Possible values are YES and NO.
-# If left blank NO is used.
-
-RECURSIVE              = NO
-
-# The EXCLUDE tag can be used to specify files and/or directories that should
-# excluded from the INPUT source files. This way you can easily exclude a
-# subdirectory from a directory tree whose root is specified with the INPUT tag.
-
-EXCLUDE                =
-
-# The EXCLUDE_SYMLINKS tag can be used select whether or not files or
-# directories that are symbolic links (a Unix filesystem feature) are excluded
-# from the input.
-
-EXCLUDE_SYMLINKS       = NO
-
-# If the value of the INPUT tag contains directories, you can use the
-# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
-# certain files from those directories. Note that the wildcards are matched
-# against the file with absolute path, so to exclude all test directories
-# for example use the pattern */test/*
-
-EXCLUDE_PATTERNS       =
-
-# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
-# (namespaces, classes, functions, etc.) that should be excluded from the
-# output. The symbol name can be a fully qualified name, a word, or if the
-# wildcard * is used, a substring. Examples: ANamespace, AClass,
-# AClass::ANamespace, ANamespace::*Test
-
-EXCLUDE_SYMBOLS        =
-
-# The EXAMPLE_PATH tag can be used to specify one or more files or
-# directories that contain example code fragments that are included (see
-# the \include command).
-
-EXAMPLE_PATH           =
-
-# If the value of the EXAMPLE_PATH tag contains directories, you can use the
-# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
-# and *.h) to filter out the source-files in the directories. If left
-# blank all files are included.
-
-EXAMPLE_PATTERNS       =
-
-# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
-# searched for input files to be used with the \include or \dontinclude
-# commands irrespective of the value of the RECURSIVE tag.
-# Possible values are YES and NO. If left blank NO is used.
-
-EXAMPLE_RECURSIVE      = NO
-
-# The IMAGE_PATH tag can be used to specify one or more files or
-# directories that contain image that are included in the documentation (see
-# the \image command).
-
-IMAGE_PATH             =
-
-# The INPUT_FILTER tag can be used to specify a program that doxygen should
-# invoke to filter for each input file. Doxygen will invoke the filter program
-# by executing (via popen()) the command <filter> <input-file>, where <filter>
-# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
-# input file. Doxygen will then use the output that the filter program writes
-# to standard output.
-# If FILTER_PATTERNS is specified, this tag will be
-# ignored.
-
-INPUT_FILTER           =
-
-# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
-# basis.
-# Doxygen will compare the file name with each pattern and apply the
-# filter if there is a match.
-# The filters are a list of the form:
-# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further
-# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER
-# is applied to all files.
-
-FILTER_PATTERNS        =
-
-# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
-# INPUT_FILTER) will be used to filter the input files when producing source
-# files to browse (i.e. when SOURCE_BROWSER is set to YES).
-
-FILTER_SOURCE_FILES    = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to source browsing
-#---------------------------------------------------------------------------
-
-# If the SOURCE_BROWSER tag is set to YES then a list of source files will
-# be generated. Documented entities will be cross-referenced with these sources.
-# Note: To get rid of all source code in the generated output, make sure also
-# VERBATIM_HEADERS is set to NO.
-
-SOURCE_BROWSER         = YES
-
-# Setting the INLINE_SOURCES tag to YES will include the body
-# of functions and classes directly in the documentation.
-
-INLINE_SOURCES         = NO
-
-# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
-# doxygen to hide any special comment blocks from generated source code
-# fragments. Normal C and C++ comments will always remain visible.
-
-STRIP_CODE_COMMENTS    = YES
-
-# If the REFERENCED_BY_RELATION tag is set to YES
-# then for each documented function all documented
-# functions referencing it will be listed.
-
-REFERENCED_BY_RELATION = NO
-
-# If the REFERENCES_RELATION tag is set to YES
-# then for each documented function all documented entities
-# called/used by that function will be listed.
-
-REFERENCES_RELATION    = NO
-
-# If the REFERENCES_LINK_SOURCE tag is set to YES (the default)
-# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from
-# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will
-# link to the source code.
-# Otherwise they will link to the documentation.
-
-REFERENCES_LINK_SOURCE = YES
-
-# If the USE_HTAGS tag is set to YES then the references to source code
-# will point to the HTML generated by the htags(1) tool instead of doxygen
-# built-in source browser. The htags tool is part of GNU's global source
-# tagging system (see http://www.gnu.org/software/global/global.html). You
-# will need version 4.8.6 or higher.
-
-USE_HTAGS              = NO
-
-# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
-# will generate a verbatim copy of the header file for each class for
-# which an include is specified. Set to NO to disable this.
-
-VERBATIM_HEADERS       = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-
-# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
-# of all compounds will be generated. Enable this if the project
-# contains a lot of classes, structs, unions or interfaces.
-
-ALPHABETICAL_INDEX     = NO
-
-# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
-# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
-# in which this list will be split (can be a number in the range [1..20])
-
-COLS_IN_ALPHA_INDEX    = 5
-
-# In case all classes in a project start with a common prefix, all
-# classes will be put under the same header in the alphabetical index.
-# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
-# should be ignored while generating the index headers.
-
-IGNORE_PREFIX          =
-
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
-# generate HTML output.
-
-GENERATE_HTML          = YES
-
-# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `html' will be used as the default path.
-
-HTML_OUTPUT            = html
-
-# The HTML_FILE_EXTENSION tag can be used to specify the file extension for
-# each generated HTML page (for example: .htm,.php,.asp). If it is left blank
-# doxygen will generate files with .html extension.
-
-HTML_FILE_EXTENSION    = .html
-
-# The HTML_HEADER tag can be used to specify a personal HTML header for
-# each generated HTML page. If it is left blank doxygen will generate a
-# standard header.
-
-HTML_HEADER            =
-
-# The HTML_FOOTER tag can be used to specify a personal HTML footer for
-# each generated HTML page. If it is left blank doxygen will generate a
-# standard footer.
-
-HTML_FOOTER            =
-
-# The HTML_STYLESHEET tag can be used to specify a user-defined cascading
-# style sheet that is used by each HTML page. It can be used to
-# fine-tune the look of the HTML output. If the tag is left blank doxygen
-# will generate a default style sheet. Note that doxygen will try to copy
-# the style sheet file to the HTML output directory, so don't put your own
-# stylesheet in the HTML output directory as well, or it will be erased!
-
-HTML_STYLESHEET        =
-
-# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML
-# page will contain the date and time when the page was generated. Setting
-# this to NO can help when comparing the output of multiple runs.
-
-HTML_TIMESTAMP         = YES
-
-# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
-# files or namespaces will be aligned in HTML using tables. If set to
-# NO a bullet list will be used.
-
-HTML_ALIGN_MEMBERS     = YES
-
-# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
-# documentation will contain sections that can be hidden and shown after the
-# page has loaded. For this to work a browser that supports
-# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox
-# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari).
-
-HTML_DYNAMIC_SECTIONS  = NO
-
-# If the GENERATE_DOCSET tag is set to YES, additional index files
-# will be generated that can be used as input for Apple's Xcode 3
-# integrated development environment, introduced with OSX 10.5 (Leopard).
-# To create a documentation set, doxygen will generate a Makefile in the
-# HTML output directory. Running make will produce the docset in that
-# directory and running "make install" will install the docset in
-# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find
-# it at startup.
-# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html for more information.
-
-GENERATE_DOCSET        = NO
-
-# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the
-# feed. A documentation feed provides an umbrella under which multiple
-# documentation sets from a single provider (such as a company or product suite)
-# can be grouped.
-
-DOCSET_FEEDNAME        = "Doxygen generated docs"
-
-# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that
-# should uniquely identify the documentation set bundle. This should be a
-# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen
-# will append .docset to the name.
-
-DOCSET_BUNDLE_ID       = org.doxygen.Project
-
-# If the GENERATE_HTMLHELP tag is set to YES, additional index files
-# will be generated that can be used as input for tools like the
-# Microsoft HTML help workshop to generate a compiled HTML help file (.chm)
-# of the generated HTML documentation.
-
-GENERATE_HTMLHELP      = NO
-
-# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
-# be used to specify the file name of the resulting .chm file. You
-# can add a path in front of the file if the result should not be
-# written to the html output directory.
-
-CHM_FILE               =
-
-# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can
-# be used to specify the location (absolute path including file name) of
-# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run
-# the HTML help compiler on the generated index.hhp.
-
-HHC_LOCATION           =
-
-# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
-# controls if a separate .chi index file is generated (YES) or that
-# it should be included in the master .chm file (NO).
-
-GENERATE_CHI           = NO
-
-# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING
-# is used to encode HtmlHelp index (hhk), content (hhc) and project file
-# content.
-
-CHM_INDEX_ENCODING     =
-
-# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
-# controls whether a binary table of contents is generated (YES) or a
-# normal table of contents (NO) in the .chm file.
-
-BINARY_TOC             = NO
-
-# The TOC_EXPAND flag can be set to YES to add extra items for group members
-# to the contents of the HTML help documentation and to the tree view.
-
-TOC_EXPAND             = NO
-
-# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and QHP_VIRTUAL_FOLDER
-# are set, an additional index file will be generated that can be used as input for
-# Qt's qhelpgenerator to generate a Qt Compressed Help (.qch) of the generated
-# HTML documentation.
-
-GENERATE_QHP           = NO
-
-# If the QHG_LOCATION tag is specified, the QCH_FILE tag can
-# be used to specify the file name of the resulting .qch file.
-# The path specified is relative to the HTML output folder.
-
-QCH_FILE               =
-
-# The QHP_NAMESPACE tag specifies the namespace to use when generating
-# Qt Help Project output. For more information please see
-# http://doc.trolltech.com/qthelpproject.html#namespace
-
-QHP_NAMESPACE          = org.doxygen.Project
-
-# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating
-# Qt Help Project output. For more information please see
-# http://doc.trolltech.com/qthelpproject.html#virtual-folders
-
-QHP_VIRTUAL_FOLDER     = doc
-
-# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to add.
-# For more information please see
-# http://doc.trolltech.com/qthelpproject.html#custom-filters
-
-QHP_CUST_FILTER_NAME   =
-
-# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the custom filter to add.For more information please see
-# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters">Qt Help Project / Custom Filters</a>.
-
-QHP_CUST_FILTER_ATTRS  =
-
-# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this project's
-# filter section matches.
-# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes">Qt Help Project / Filter Attributes</a>.
-
-QHP_SECT_FILTER_ATTRS  =
-
-# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can
-# be used to specify the location of Qt's qhelpgenerator.
-# If non-empty doxygen will try to run qhelpgenerator on the generated
-# .qhp file.
-
-QHG_LOCATION           =
-
-# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files
-#  will be generated, which together with the HTML files, form an Eclipse help
-#  plugin. To install this plugin and make it available under the help contents
-# menu in Eclipse, the contents of the directory containing the HTML and XML
-# files needs to be copied into the plugins directory of eclipse. The name of
-# the directory within the plugins directory should be the same as
-# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before the help appears.
-
-GENERATE_ECLIPSEHELP   = NO
-
-# A unique identifier for the eclipse help plugin. When installing the plugin
-# the directory name containing the HTML and XML files should also have
-# this name.
-
-ECLIPSE_DOC_ID         = org.doxygen.Project
-
-# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
-# top of each HTML page. The value NO (the default) enables the index and
-# the value YES disables it.
-
-DISABLE_INDEX          = NO
-
-# This tag can be used to set the number of enum values (range [1..20])
-# that doxygen will group on one line in the generated HTML documentation.
-
-ENUM_VALUES_PER_LINE   = 4
-
-# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
-# structure should be generated to display hierarchical information.
-# If the tag value is set to YES, a side panel will be generated
-# containing a tree-like index structure (just like the one that
-# is generated for HTML Help). For this to work a browser that supports
-# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser).
-# Windows users are probably better off using the HTML help feature.
-
-GENERATE_TREEVIEW      = NO
-
-# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories,
-# and Class Hierarchy pages using a tree view instead of an ordered list.
-
-USE_INLINE_TREES       = NO
-
-# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
-# used to set the initial width (in pixels) of the frame in which the tree
-# is shown.
-
-TREEVIEW_WIDTH         = 250
-
-# Use this tag to change the font size of Latex formulas included
-# as images in the HTML documentation. The default is 10. Note that
-# when you change the font size after a successful doxygen run you need
-# to manually remove any form_*.png images from the HTML output directory
-# to force them to be regenerated.
-
-FORMULA_FONTSIZE       = 10
-
-# When the SEARCHENGINE tag is enabled doxygen will generate a search box for the HTML output. The underlying search engine uses javascript
-# and DHTML and should work on any modern browser. Note that when using HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET) there is already a search function so this one should
-# typically be disabled. For large projects the javascript based search engine
-# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution.
-
-SEARCHENGINE           = YES
-
-# When the SERVER_BASED_SEARCH tag is enabled the search engine will be implemented using a PHP enabled web server instead of at the web client using Javascript. Doxygen will generate the search PHP script and index
-# file to put on the web server. The advantage of the server based approach is that it scales better to large projects and allows full text search. The disadvances is that it is more difficult to setup
-# and does not have live searching capabilities.
-
-SERVER_BASED_SEARCH    = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
-# generate Latex output.
-
-GENERATE_LATEX         = NO
-
-# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `latex' will be used as the default path.
-
-LATEX_OUTPUT           = latex
-
-# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
-# invoked. If left blank `latex' will be used as the default command name.
-# Note that when enabling USE_PDFLATEX this option is only used for
-# generating bitmaps for formulas in the HTML output, but not in the
-# Makefile that is written to the output directory.
-
-LATEX_CMD_NAME         = latex
-
-# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to
-# generate index for LaTeX. If left blank `makeindex' will be used as the
-# default command name.
-
-MAKEINDEX_CMD_NAME     = makeindex
-
-# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
-# LaTeX documents. This may be useful for small projects and may help to
-# save some trees in general.
-
-COMPACT_LATEX          = NO
-
-# The PAPER_TYPE tag can be used to set the paper type that is used
-# by the printer. Possible values are: a4, a4wide, letter, legal and
-# executive. If left blank a4wide will be used.
-
-PAPER_TYPE             = a4wide
-
-# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
-# packages that should be included in the LaTeX output.
-
-EXTRA_PACKAGES         =
-
-# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
-# the generated latex document. The header should contain everything until
-# the first chapter. If it is left blank doxygen will generate a
-# standard header. Notice: only use this tag if you know what you are doing!
-
-LATEX_HEADER           =
-
-# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
-# is prepared for conversion to pdf (using ps2pdf). The pdf file will
-# contain links (just like the HTML output) instead of page references
-# This makes the output suitable for online browsing using a pdf viewer.
-
-PDF_HYPERLINKS         = YES
-
-# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
-# plain latex in the generated Makefile. Set this option to YES to get a
-# higher quality PDF documentation.
-
-USE_PDFLATEX           = YES
-
-# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
-# command to the generated LaTeX files. This will instruct LaTeX to keep
-# running if errors occur, instead of asking the user for help.
-# This option is also used when generating formulas in HTML.
-
-LATEX_BATCHMODE        = NO
-
-# If LATEX_HIDE_INDICES is set to YES then doxygen will not
-# include the index chapters (such as File Index, Compound Index, etc.)
-# in the output.
-
-LATEX_HIDE_INDICES     = NO
-
-# If LATEX_SOURCE_CODE is set to YES then doxygen will include source code with syntax highlighting in the LaTeX output. Note that which sources are shown also depends on other settings such as SOURCE_BROWSER.
-
-LATEX_SOURCE_CODE      = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
-# The RTF output is optimized for Word 97 and may not look very pretty with
-# other RTF readers or editors.
-
-GENERATE_RTF           = NO
-
-# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `rtf' will be used as the default path.
-
-RTF_OUTPUT             = rtf
-
-# If the COMPACT_RTF tag is set to YES Doxygen generates more compact
-# RTF documents. This may be useful for small projects and may help to
-# save some trees in general.
-
-COMPACT_RTF            = NO
-
-# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
-# will contain hyperlink fields. The RTF file will
-# contain links (just like the HTML output) instead of page references.
-# This makes the output suitable for online browsing using WORD or other
-# programs which support those fields.
-# Note: wordpad (write) and others do not support links.
-
-RTF_HYPERLINKS         = NO
-
-# Load stylesheet definitions from file. Syntax is similar to doxygen's
-# config file, i.e. a series of assignments. You only have to provide
-# replacements, missing definitions are set to their default value.
-
-RTF_STYLESHEET_FILE    =
-
-# Set optional variables used in the generation of an rtf document.
-# Syntax is similar to doxygen's config file.
-
-RTF_EXTENSIONS_FILE    =
-
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
-# generate man pages
-
-GENERATE_MAN           = NO
-
-# The MAN_OUTPUT tag is used to specify where the man pages will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `man' will be used as the default path.
-
-MAN_OUTPUT             = man
-
-# The MAN_EXTENSION tag determines the extension that is added to
-# the generated man pages (default is the subroutine's section .3)
-
-MAN_EXTENSION          = .3
-
-# If the MAN_LINKS tag is set to YES and Doxygen generates man output,
-# then it will generate one additional man file for each entity
-# documented in the real man page(s). These additional files
-# only source the real man page, but without them the man command
-# would be unable to find the correct page. The default is NO.
-
-MAN_LINKS              = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the XML output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_XML tag is set to YES Doxygen will
-# generate an XML file that captures the structure of
-# the code including all documentation.
-
-GENERATE_XML           = NO
-
-# The XML_OUTPUT tag is used to specify where the XML pages will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `xml' will be used as the default path.
-
-XML_OUTPUT             = xml
-
-# The XML_SCHEMA tag can be used to specify an XML schema,
-# which can be used by a validating XML parser to check the
-# syntax of the XML files.
-
-XML_SCHEMA             =
-
-# The XML_DTD tag can be used to specify an XML DTD,
-# which can be used by a validating XML parser to check the
-# syntax of the XML files.
-
-XML_DTD                =
-
-# If the XML_PROGRAMLISTING tag is set to YES Doxygen will
-# dump the program listings (including syntax highlighting
-# and cross-referencing information) to the XML output. Note that
-# enabling this will significantly increase the size of the XML output.
-
-XML_PROGRAMLISTING     = YES
-
-#---------------------------------------------------------------------------
-# configuration options for the AutoGen Definitions output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will
-# generate an AutoGen Definitions (see autogen.sf.net) file
-# that captures the structure of the code including all
-# documentation. Note that this feature is still experimental
-# and incomplete at the moment.
-
-GENERATE_AUTOGEN_DEF   = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the Perl module output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_PERLMOD tag is set to YES Doxygen will
-# generate a Perl module file that captures the structure of
-# the code including all documentation. Note that this
-# feature is still experimental and incomplete at the
-# moment.
-
-GENERATE_PERLMOD       = NO
-
-# If the PERLMOD_LATEX tag is set to YES Doxygen will generate
-# the necessary Makefile rules, Perl scripts and LaTeX code to be able
-# to generate PDF and DVI output from the Perl module output.
-
-PERLMOD_LATEX          = NO
-
-# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be
-# nicely formatted so it can be parsed by a human reader.
-# This is useful
-# if you want to understand what is going on.
-# On the other hand, if this
-# tag is set to NO the size of the Perl module output will be much smaller
-# and Perl will parse it just the same.
-
-PERLMOD_PRETTY         = YES
-
-# The names of the make variables in the generated doxyrules.make file
-# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX.
-# This is useful so different doxyrules.make files included by the same
-# Makefile don't overwrite each other's variables.
-
-PERLMOD_MAKEVAR_PREFIX =
-
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-
-# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
-# evaluate all C-preprocessor directives found in the sources and include
-# files.
-
-ENABLE_PREPROCESSING   = YES
-
-# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
-# names in the source code. If set to NO (the default) only conditional
-# compilation will be performed. Macro expansion can be done in a controlled
-# way by setting EXPAND_ONLY_PREDEF to YES.
-
-MACRO_EXPANSION        = NO
-
-# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
-# then the macro expansion is limited to the macros specified with the
-# PREDEFINED and EXPAND_AS_DEFINED tags.
-
-EXPAND_ONLY_PREDEF     = NO
-
-# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
-# in the INCLUDE_PATH (see below) will be search if a #include is found.
-
-SEARCH_INCLUDES        = YES
-
-# The INCLUDE_PATH tag can be used to specify one or more directories that
-# contain include files that are not input files but should be processed by
-# the preprocessor.
-
-INCLUDE_PATH           =
-
-# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
-# patterns (like *.h and *.hpp) to filter out the header-files in the
-# directories. If left blank, the patterns specified with FILE_PATTERNS will
-# be used.
-
-INCLUDE_FILE_PATTERNS  =
-
-# The PREDEFINED tag can be used to specify one or more macro names that
-# are defined before the preprocessor is started (similar to the -D option of
-# gcc). The argument of the tag is a list of macros of the form: name
-# or name=definition (no spaces). If the definition and the = are
-# omitted =1 is assumed. To prevent a macro definition from being
-# undefined via #undef or recursively expanded use the := operator
-# instead of the = operator.
-
-PREDEFINED             = DSRV_NO_DTLS DSRV_NO_PROTOCOL_DEMUX
-
-# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
-# this tag can be used to specify a list of macro names that should be expanded.
-# The macro definition that is found in the sources will be used.
-# Use the PREDEFINED tag if you want to use a different macro definition.
-
-EXPAND_AS_DEFINED      =
-
-# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then
-# doxygen's preprocessor will remove all function-like macros that are alone
-# on a line, have an all uppercase name, and do not end with a semicolon. Such
-# function macros are typically used for boiler-plate code, and will confuse
-# the parser if not removed.
-
-SKIP_FUNCTION_MACROS   = YES
-
-#---------------------------------------------------------------------------
-# Configuration::additions related to external references
-#---------------------------------------------------------------------------
-
-# The TAGFILES option can be used to specify one or more tagfiles.
-# Optionally an initial location of the external documentation
-# can be added for each tagfile. The format of a tag file without
-# this location is as follows:
-#
-# TAGFILES = file1 file2 ...
-# Adding location for the tag files is done as follows:
-#
-# TAGFILES = file1=loc1 "file2 = loc2" ...
-# where "loc1" and "loc2" can be relative or absolute paths or
-# URLs. If a location is present for each tag, the installdox tool
-# does not have to be run to correct the links.
-# Note that each tag file must have a unique name
-# (where the name does NOT include the path)
-# If a tag file is not located in the directory in which doxygen
-# is run, you must also specify the path to the tagfile here.
-
-TAGFILES               =
-
-# When a file name is specified after GENERATE_TAGFILE, doxygen will create
-# a tag file that is based on the input files it reads.
-
-GENERATE_TAGFILE       =
-
-# If the ALLEXTERNALS tag is set to YES all external classes will be listed
-# in the class index. If set to NO only the inherited external classes
-# will be listed.
-
-ALLEXTERNALS           = NO
-
-# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed
-# in the modules index. If set to NO, only the current project's groups will
-# be listed.
-
-EXTERNAL_GROUPS        = YES
-
-# The PERL_PATH should be the absolute path and name of the perl script
-# interpreter (i.e. the result of `which perl').
-
-PERL_PATH              = /usr/bin/perl
-
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-
-# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
-# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base
-# or super classes. Setting the tag to NO turns the diagrams off. Note that
-# this option is superseded by the HAVE_DOT option below. This is only a
-# fallback. It is recommended to install and use dot, since it yields more
-# powerful graphs.
-
-CLASS_DIAGRAMS         = NO
-
-# You can define message sequence charts within doxygen comments using the \msc
-# command. Doxygen will then run the mscgen tool (see
-# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the
-# documentation. The MSCGEN_PATH tag allows you to specify the directory where
-# the mscgen tool resides. If left empty the tool is assumed to be found in the
-# default search path.
-
-MSCGEN_PATH            =
-
-# If set to YES, the inheritance and collaboration graphs will hide
-# inheritance and usage relations if the target is undocumented
-# or is not a class.
-
-HIDE_UNDOC_RELATIONS   = YES
-
-# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
-# available from the path. This tool is part of Graphviz, a graph visualization
-# toolkit from AT&T and Lucent Bell Labs. The other options in this section
-# have no effect if this option is set to NO (the default)
-
-HAVE_DOT               = NO
-
-# By default doxygen will write a font called FreeSans.ttf to the output
-# directory and reference it in all dot files that doxygen generates. This
-# font does not include all possible unicode characters however, so when you need
-# these (or just want a differently looking font) you can specify the font name
-# using DOT_FONTNAME. You need need to make sure dot is able to find the font,
-# which can be done by putting it in a standard location or by setting the
-# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory
-# containing the font.
-
-DOT_FONTNAME           = FreeSans
-
-# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs.
-# The default size is 10pt.
-
-DOT_FONTSIZE           = 10
-
-# By default doxygen will tell dot to use the output directory to look for the
-# FreeSans.ttf font (which doxygen will put there itself). If you specify a
-# different font using DOT_FONTNAME you can set the path where dot
-# can find it using this tag.
-
-DOT_FONTPATH           =
-
-# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
-# will generate a graph for each documented class showing the direct and
-# indirect inheritance relations. Setting this tag to YES will force the
-# the CLASS_DIAGRAMS tag to NO.
-
-CLASS_GRAPH            = YES
-
-# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
-# will generate a graph for each documented class showing the direct and
-# indirect implementation dependencies (inheritance, containment, and
-# class references variables) of the class with other documented classes.
-
-COLLABORATION_GRAPH    = YES
-
-# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen
-# will generate a graph for groups, showing the direct groups dependencies
-
-GROUP_GRAPHS           = YES
-
-# If the UML_LOOK tag is set to YES doxygen will generate inheritance and
-# collaboration diagrams in a style similar to the OMG's Unified Modeling
-# Language.
-
-UML_LOOK               = NO
-
-# If set to YES, the inheritance and collaboration graphs will show the
-# relations between templates and their instances.
-
-TEMPLATE_RELATIONS     = NO
-
-# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT
-# tags are set to YES then doxygen will generate a graph for each documented
-# file showing the direct and indirect include dependencies of the file with
-# other documented files.
-
-INCLUDE_GRAPH          = YES
-
-# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and
-# HAVE_DOT tags are set to YES then doxygen will generate a graph for each
-# documented header file showing the documented files that directly or
-# indirectly include this file.
-
-INCLUDED_BY_GRAPH      = YES
-
-# If the CALL_GRAPH and HAVE_DOT options are set to YES then
-# doxygen will generate a call dependency graph for every global function
-# or class method. Note that enabling this option will significantly increase
-# the time of a run. So in most cases it will be better to enable call graphs
-# for selected functions only using the \callgraph command.
-
-CALL_GRAPH             = NO
-
-# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then
-# doxygen will generate a caller dependency graph for every global function
-# or class method. Note that enabling this option will significantly increase
-# the time of a run. So in most cases it will be better to enable caller
-# graphs for selected functions only using the \callergraph command.
-
-CALLER_GRAPH           = NO
-
-# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
-# will graphical hierarchy of all classes instead of a textual one.
-
-GRAPHICAL_HIERARCHY    = YES
-
-# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES
-# then doxygen will show the dependencies a directory has on other directories
-# in a graphical way. The dependency relations are determined by the #include
-# relations between the files in the directories.
-
-DIRECTORY_GRAPH        = YES
-
-# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
-# generated by dot. Possible values are png, jpg, or gif
-# If left blank png will be used.
-
-DOT_IMAGE_FORMAT       = png
-
-# The tag DOT_PATH can be used to specify the path where the dot tool can be
-# found. If left blank, it is assumed the dot tool can be found in the path.
-
-DOT_PATH               =
-
-# The DOTFILE_DIRS tag can be used to specify one or more directories that
-# contain dot files that are included in the documentation (see the
-# \dotfile command).
-
-DOTFILE_DIRS           =
-
-# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of
-# nodes that will be shown in the graph. If the number of nodes in a graph
-# becomes larger than this value, doxygen will truncate the graph, which is
-# visualized by representing a node as a red box. Note that doxygen if the
-# number of direct children of the root node in a graph is already larger than
-# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note
-# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
-
-DOT_GRAPH_MAX_NODES    = 50
-
-# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the
-# graphs generated by dot. A depth value of 3 means that only nodes reachable
-# from the root by following a path via at most 3 edges will be shown. Nodes
-# that lay further from the root node will be omitted. Note that setting this
-# option to 1 or 2 may greatly reduce the computation time needed for large
-# code bases. Also note that the size of a graph can be further restricted by
-# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
-
-MAX_DOT_GRAPH_DEPTH    = 0
-
-# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent
-# background. This is disabled by default, because dot on Windows does not
-# seem to support this out of the box. Warning: Depending on the platform used,
-# enabling this option may lead to badly anti-aliased labels on the edges of
-# a graph (i.e. they become hard to read).
-
-DOT_TRANSPARENT        = NO
-
-# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output
-# files in one run (i.e. multiple -o and -T options on the command line). This
-# makes dot run faster, but since only newer versions of dot (>1.8.10)
-# support this, this feature is disabled by default.
-
-DOT_MULTI_TARGETS      = YES
-
-# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will
-# generate a legend page explaining the meaning of the various boxes and
-# arrows in the dot generated graphs.
-
-GENERATE_LEGEND        = YES
-
-# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will
-# remove the intermediate dot files that are used to generate
-# the various graphs.
-
-DOT_CLEANUP            = YES
diff --git a/external/wakaama/examples/shared/tinydtls/doc/Makefile.in b/external/wakaama/examples/shared/tinydtls/doc/Makefile.in
deleted file mode 100644 (file)
index a07101e..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-# the library's version
-VERSION:=@PACKAGE_VERSION@
-PACKAGE_TARNAME:=@PACKAGE_TARNAME@
-
-# tools
-@SET_MAKE@
-SHELL = /bin/sh
-MKDIR = mkdir
-DOXYGEN= @DOXYGEN@
-
-top_builddir = @top_builddir@
-prefix = @prefix@
-datarootdir = @datarootdir@
-docdir = @docdir@
-htmldir = @htmldir@
-
-DISTDIR?=$(top_builddir)/@PACKAGE_TARNAME@-@PACKAGE_VERSION@
-FILES:=Makefile.in Doxyfile.in html
-
-doc:   Doxyfile
-       $(DOXYGEN) $< >./doxygen.out 2>&1 
-
-clean:
-       @rm -rf html
-
-distclean:     clean
-       @rm -rf $(DISTDIR)
-       @rm -f *~ 
-
-dist:  doc
-       test -d $(DISTDIR)/doc || mkdir $(DISTDIR)/doc
-       cp -r $(FILES) $(DISTDIR)/doc
-
-install:       $(doc) html
-       test -d $(htmldir) || mkdir -p $(htmldir)
-       cp -r html/* $(htmldir)
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/alert_8h.html b/external/wakaama/examples/shared/tinydtls/doc/html/alert_8h.html
deleted file mode 100644 (file)
index c46c7df..0000000
+++ /dev/null
@@ -1,354 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: alert.h File Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#define-members">Macros</a> &#124;
-<a href="#enum-members">Enumerations</a> &#124;
-<a href="#func-members">Functions</a>  </div>
-  <div class="headertitle">
-<div class="title">alert.h File Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p>DTLS alert protocol.  
-<a href="#details">More...</a></p>
-
-<p><a href="alert_8h_source.html">Go to the source code of this file.</a></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
-Macros</h2></td></tr>
-<tr class="memitem:aec2aa0683b1a39b4b1abba357b06f844"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="alert_8h.html#aec2aa0683b1a39b4b1abba357b06f844">DTLS_EVENT_CONNECT</a>&#160;&#160;&#160;0x01DC</td></tr>
-<tr class="separator:aec2aa0683b1a39b4b1abba357b06f844"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5bed06f27f571d7c7d9b9f212c3a0b22"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="alert_8h.html#a5bed06f27f571d7c7d9b9f212c3a0b22">DTLS_EVENT_CONNECTED</a>&#160;&#160;&#160;0x01DE</td></tr>
-<tr class="separator:a5bed06f27f571d7c7d9b9f212c3a0b22"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a06e52ce3a2909c8f5a3d47d2c0346124"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="alert_8h.html#a06e52ce3a2909c8f5a3d47d2c0346124">DTLS_EVENT_RENEGOTIATE</a>&#160;&#160;&#160;0x01DF</td></tr>
-<tr class="separator:a06e52ce3a2909c8f5a3d47d2c0346124"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
-Enumerations</h2></td></tr>
-<tr class="memitem:ab6264d1b950719f1c2e00b122cad871f"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="alert_8h.html#ab6264d1b950719f1c2e00b122cad871f">dtls_alert_level_t</a> { <a class="el" href="alert_8h.html#ab6264d1b950719f1c2e00b122cad871fa0f670b55dcb4ab291b869827d3c62ee7">DTLS_ALERT_LEVEL_WARNING</a> =1, 
-<a class="el" href="alert_8h.html#ab6264d1b950719f1c2e00b122cad871fabd07bcf63c24aa5f1b9706a4197ceaf4">DTLS_ALERT_LEVEL_FATAL</a> =2
- }</td></tr>
-<tr class="separator:ab6264d1b950719f1c2e00b122cad871f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a41c9f2d4035bc6bf5a0f437842a9ecbd"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbd">dtls_alert_t</a> { <br/>
-&#160;&#160;<a class="el" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda6bbae4f2f3747af4cdbe80c4a1061800">DTLS_ALERT_CLOSE_NOTIFY</a> = 0, 
-<a class="el" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda7b9032725373912bd7fda54af8704d8a">DTLS_ALERT_UNEXPECTED_MESSAGE</a> = 10, 
-<a class="el" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda4005b89a3396b23037f8033b29268eca">DTLS_ALERT_BAD_RECORD_MAC</a> = 20, 
-<a class="el" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdad4d94666f310fb6982c26c70eddd6d12">DTLS_ALERT_RECORD_OVERFLOW</a> = 22, 
-<br/>
-&#160;&#160;<a class="el" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdaaf4ca9003cf380ae80a46b925b482888">DTLS_ALERT_DECOMPRESSION_FAILURE</a> = 30, 
-<a class="el" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdaea5ed33e912421eb48afb73ce0a6014d">DTLS_ALERT_HANDSHAKE_FAILURE</a> = 40, 
-<a class="el" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdaaf5d5f80170bcf70000c18876e7bdb5c">DTLS_ALERT_BAD_CERTIFICATE</a> = 42, 
-<a class="el" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda0de27a30ca57e1a93a066e8dc6b6beab">DTLS_ALERT_UNSUPPORTED_CERTIFICATE</a> = 43, 
-<br/>
-&#160;&#160;<a class="el" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda2e000f966c0ff01cf198ea862aa5cfe1">DTLS_ALERT_CERTIFICATE_REVOKED</a> = 44, 
-<a class="el" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda845dc73ad17d0fb919489cc110633782">DTLS_ALERT_CERTIFICATE_EXPIRED</a> = 45, 
-<a class="el" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda450355820da8d9eff4dd6d17eb52585d">DTLS_ALERT_CERTIFICATE_UNKNOWN</a> = 46, 
-<a class="el" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda880948aace26b2da8acde4c29ababcfc">DTLS_ALERT_ILLEGAL_PARAMETER</a> = 47, 
-<br/>
-&#160;&#160;<a class="el" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdaf8b7bd9f8a6c02080f4b1af566bc1a2f">DTLS_ALERT_UNKNOWN_CA</a> = 48, 
-<a class="el" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdad86305f8c32e7600fcafc0abcedd0a11">DTLS_ALERT_ACCESS_DENIED</a> = 49, 
-<a class="el" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdae3249841cb226881ce6dadffb9f22649">DTLS_ALERT_DECODE_ERROR</a> = 50, 
-<a class="el" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda56a136f4d20b3ce9fb967eedb37371e0">DTLS_ALERT_DECRYPT_ERROR</a> = 51, 
-<br/>
-&#160;&#160;<a class="el" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdaa392c9a6bb02b01386a1c34dc1947652">DTLS_ALERT_PROTOCOL_VERSION</a> = 70, 
-<a class="el" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda2cc56008c097883058c0e2e8ecc6751e">DTLS_ALERT_INSUFFICIENT_SECURITY</a> = 71, 
-<a class="el" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda22948f7c825b68cc18c79bd3634c8f58">DTLS_ALERT_INTERNAL_ERROR</a> = 80, 
-<a class="el" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda98631510b0a19a786fb4bc896ed37638">DTLS_ALERT_USER_CANCELED</a> = 90, 
-<br/>
-&#160;&#160;<a class="el" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda8939a5d1777bf0dbdd8fa44e335137ab">DTLS_ALERT_NO_RENEGOTIATION</a> = 100, 
-<a class="el" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda8512357ac6a83788ea76feb2ed9e2efc">DTLS_ALERT_UNSUPPORTED_EXTENSION</a> = 110
-<br/>
- }</td></tr>
-<tr class="separator:a41c9f2d4035bc6bf5a0f437842a9ecbd"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:a4242f419ffdd4b83bfaa2a0935ed2b6d"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="alert_8h.html#a4242f419ffdd4b83bfaa2a0935ed2b6d">dtls_alert_create</a> (<a class="el" href="alert_8h.html#ab6264d1b950719f1c2e00b122cad871f">dtls_alert_level_t</a> level, <a class="el" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbd">dtls_alert_t</a> desc)</td></tr>
-<tr class="separator:a4242f419ffdd4b83bfaa2a0935ed2b6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9b9a52e7d4bb621be12878c7dfc8f5df"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a> (<a class="el" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbd">dtls_alert_t</a> desc)</td></tr>
-<tr class="separator:a9b9a52e7d4bb621be12878c7dfc8f5df"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p>DTLS alert protocol. </p>
-
-<p>Definition in file <a class="el" href="alert_8h_source.html">alert.h</a>.</p>
-</div><h2 class="groupheader">Macro Definition Documentation</h2>
-<a class="anchor" id="aec2aa0683b1a39b4b1abba357b06f844"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DTLS_EVENT_CONNECT&#160;&#160;&#160;0x01DC</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>initiated handshake </p>
-
-<p>Definition at line <a class="el" href="alert_8h_source.html#l00064">64</a> of file <a class="el" href="alert_8h_source.html">alert.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a5bed06f27f571d7c7d9b9f212c3a0b22"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DTLS_EVENT_CONNECTED&#160;&#160;&#160;0x01DE</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>handshake or re-negotiation has finished </p>
-
-<p>Definition at line <a class="el" href="alert_8h_source.html#l00065">65</a> of file <a class="el" href="alert_8h_source.html">alert.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a06e52ce3a2909c8f5a3d47d2c0346124"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DTLS_EVENT_RENEGOTIATE&#160;&#160;&#160;0x01DF</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>re-negotiation has started </p>
-
-<p>Definition at line <a class="el" href="alert_8h_source.html#l00068">68</a> of file <a class="el" href="alert_8h_source.html">alert.h</a>.</p>
-
-</div>
-</div>
-<h2 class="groupheader">Enumeration Type Documentation</h2>
-<a class="anchor" id="ab6264d1b950719f1c2e00b122cad871f"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">enum <a class="el" href="alert_8h.html#ab6264d1b950719f1c2e00b122cad871f">dtls_alert_level_t</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ab6264d1b950719f1c2e00b122cad871fa0f670b55dcb4ab291b869827d3c62ee7"></a>DTLS_ALERT_LEVEL_WARNING</em>&#160;</td><td class="fielddoc">
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ab6264d1b950719f1c2e00b122cad871fabd07bcf63c24aa5f1b9706a4197ceaf4"></a>DTLS_ALERT_LEVEL_FATAL</em>&#160;</td><td class="fielddoc">
-</td></tr>
-</table>
-
-<p>Definition at line <a class="el" href="alert_8h_source.html#l00034">34</a> of file <a class="el" href="alert_8h_source.html">alert.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a41c9f2d4035bc6bf5a0f437842a9ecbd"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">enum <a class="el" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbd">dtls_alert_t</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a41c9f2d4035bc6bf5a0f437842a9ecbda6bbae4f2f3747af4cdbe80c4a1061800"></a>DTLS_ALERT_CLOSE_NOTIFY</em>&#160;</td><td class="fielddoc">
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a41c9f2d4035bc6bf5a0f437842a9ecbda7b9032725373912bd7fda54af8704d8a"></a>DTLS_ALERT_UNEXPECTED_MESSAGE</em>&#160;</td><td class="fielddoc">
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a41c9f2d4035bc6bf5a0f437842a9ecbda4005b89a3396b23037f8033b29268eca"></a>DTLS_ALERT_BAD_RECORD_MAC</em>&#160;</td><td class="fielddoc">
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a41c9f2d4035bc6bf5a0f437842a9ecbdad4d94666f310fb6982c26c70eddd6d12"></a>DTLS_ALERT_RECORD_OVERFLOW</em>&#160;</td><td class="fielddoc">
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a41c9f2d4035bc6bf5a0f437842a9ecbdaaf4ca9003cf380ae80a46b925b482888"></a>DTLS_ALERT_DECOMPRESSION_FAILURE</em>&#160;</td><td class="fielddoc">
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a41c9f2d4035bc6bf5a0f437842a9ecbdaea5ed33e912421eb48afb73ce0a6014d"></a>DTLS_ALERT_HANDSHAKE_FAILURE</em>&#160;</td><td class="fielddoc">
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a41c9f2d4035bc6bf5a0f437842a9ecbdaaf5d5f80170bcf70000c18876e7bdb5c"></a>DTLS_ALERT_BAD_CERTIFICATE</em>&#160;</td><td class="fielddoc">
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a41c9f2d4035bc6bf5a0f437842a9ecbda0de27a30ca57e1a93a066e8dc6b6beab"></a>DTLS_ALERT_UNSUPPORTED_CERTIFICATE</em>&#160;</td><td class="fielddoc">
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a41c9f2d4035bc6bf5a0f437842a9ecbda2e000f966c0ff01cf198ea862aa5cfe1"></a>DTLS_ALERT_CERTIFICATE_REVOKED</em>&#160;</td><td class="fielddoc">
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a41c9f2d4035bc6bf5a0f437842a9ecbda845dc73ad17d0fb919489cc110633782"></a>DTLS_ALERT_CERTIFICATE_EXPIRED</em>&#160;</td><td class="fielddoc">
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a41c9f2d4035bc6bf5a0f437842a9ecbda450355820da8d9eff4dd6d17eb52585d"></a>DTLS_ALERT_CERTIFICATE_UNKNOWN</em>&#160;</td><td class="fielddoc">
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a41c9f2d4035bc6bf5a0f437842a9ecbda880948aace26b2da8acde4c29ababcfc"></a>DTLS_ALERT_ILLEGAL_PARAMETER</em>&#160;</td><td class="fielddoc">
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a41c9f2d4035bc6bf5a0f437842a9ecbdaf8b7bd9f8a6c02080f4b1af566bc1a2f"></a>DTLS_ALERT_UNKNOWN_CA</em>&#160;</td><td class="fielddoc">
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a41c9f2d4035bc6bf5a0f437842a9ecbdad86305f8c32e7600fcafc0abcedd0a11"></a>DTLS_ALERT_ACCESS_DENIED</em>&#160;</td><td class="fielddoc">
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a41c9f2d4035bc6bf5a0f437842a9ecbdae3249841cb226881ce6dadffb9f22649"></a>DTLS_ALERT_DECODE_ERROR</em>&#160;</td><td class="fielddoc">
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a41c9f2d4035bc6bf5a0f437842a9ecbda56a136f4d20b3ce9fb967eedb37371e0"></a>DTLS_ALERT_DECRYPT_ERROR</em>&#160;</td><td class="fielddoc">
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a41c9f2d4035bc6bf5a0f437842a9ecbdaa392c9a6bb02b01386a1c34dc1947652"></a>DTLS_ALERT_PROTOCOL_VERSION</em>&#160;</td><td class="fielddoc">
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a41c9f2d4035bc6bf5a0f437842a9ecbda2cc56008c097883058c0e2e8ecc6751e"></a>DTLS_ALERT_INSUFFICIENT_SECURITY</em>&#160;</td><td class="fielddoc">
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a41c9f2d4035bc6bf5a0f437842a9ecbda22948f7c825b68cc18c79bd3634c8f58"></a>DTLS_ALERT_INTERNAL_ERROR</em>&#160;</td><td class="fielddoc">
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a41c9f2d4035bc6bf5a0f437842a9ecbda98631510b0a19a786fb4bc896ed37638"></a>DTLS_ALERT_USER_CANCELED</em>&#160;</td><td class="fielddoc">
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a41c9f2d4035bc6bf5a0f437842a9ecbda8939a5d1777bf0dbdd8fa44e335137ab"></a>DTLS_ALERT_NO_RENEGOTIATION</em>&#160;</td><td class="fielddoc">
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a41c9f2d4035bc6bf5a0f437842a9ecbda8512357ac6a83788ea76feb2ed9e2efc"></a>DTLS_ALERT_UNSUPPORTED_EXTENSION</em>&#160;</td><td class="fielddoc">
-</td></tr>
-</table>
-
-<p>Definition at line <a class="el" href="alert_8h_source.html#l00039">39</a> of file <a class="el" href="alert_8h_source.html">alert.h</a>.</p>
-
-</div>
-</div>
-<h2 class="groupheader">Function Documentation</h2>
-<a class="anchor" id="a4242f419ffdd4b83bfaa2a0935ed2b6d"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int dtls_alert_create </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="alert_8h.html#ab6264d1b950719f1c2e00b122cad871f">dtls_alert_level_t</a>&#160;</td>
-          <td class="paramname"><em>level</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbd">dtls_alert_t</a>&#160;</td>
-          <td class="paramname"><em>desc</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="alert_8h_source.html#l00071">71</a> of file <a class="el" href="alert_8h_source.html">alert.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a9b9a52e7d4bb621be12878c7dfc8f5df"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int dtls_alert_fatal_create </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbd">dtls_alert_t</a>&#160;</td>
-          <td class="paramname"><em>desc</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="alert_8h_source.html#l00077">77</a> of file <a class="el" href="alert_8h_source.html">alert.h</a>.</p>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/alert_8h_source.html b/external/wakaama/examples/shared/tinydtls/doc/html/alert_8h_source.html
deleted file mode 100644 (file)
index d3c1e4f..0000000
+++ /dev/null
@@ -1,198 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: alert.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="header">
-  <div class="headertitle">
-<div class="title">alert.h</div>  </div>
-</div><!--header-->
-<div class="contents">
-<a href="alert_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/* alert.h -- DTLS alert protocol</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> * Copyright (C) 2012 Olaf Bergmann &lt;bergmann@tzi.org&gt;</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> * Permission is hereby granted, free of charge, to any person</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> * obtaining a copy of this software and associated documentation</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> * files (the &quot;Software&quot;), to deal in the Software without</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> * restriction, including without limitation the rights to use, copy,</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> * modify, merge, publish, distribute, sublicense, and/or sell copies</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> * of the Software, and to permit persons to whom the Software is</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * furnished to do so, subject to the following conditions:</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * The above copyright notice and this permission notice shall be</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * included in all copies or substantial portions of the Software.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> * THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND,</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment"> * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment"> * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment"> * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment"> * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment"> * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment"> * SOFTWARE.</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div>
-<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#ifndef _DTLS_ALERT_H_</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define _DTLS_ALERT_H_</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"><a class="line" href="alert_8h.html#ab6264d1b950719f1c2e00b122cad871f">   34</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
-<div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="alert_8h.html#ab6264d1b950719f1c2e00b122cad871fa0f670b55dcb4ab291b869827d3c62ee7">   35</a></span>&#160;  <a class="code" href="alert_8h.html#ab6264d1b950719f1c2e00b122cad871fa0f670b55dcb4ab291b869827d3c62ee7">DTLS_ALERT_LEVEL_WARNING</a>=1,</div>
-<div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="alert_8h.html#ab6264d1b950719f1c2e00b122cad871fabd07bcf63c24aa5f1b9706a4197ceaf4">   36</a></span>&#160;  <a class="code" href="alert_8h.html#ab6264d1b950719f1c2e00b122cad871fabd07bcf63c24aa5f1b9706a4197ceaf4">DTLS_ALERT_LEVEL_FATAL</a>=2</div>
-<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;} <a class="code" href="alert_8h.html#ab6264d1b950719f1c2e00b122cad871f">dtls_alert_level_t</a>;</div>
-<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;</div>
-<div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbd">   39</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
-<div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda6bbae4f2f3747af4cdbe80c4a1061800">   40</a></span>&#160;  <a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda6bbae4f2f3747af4cdbe80c4a1061800">DTLS_ALERT_CLOSE_NOTIFY</a> = 0,          <span class="comment">/* close_notify */</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda7b9032725373912bd7fda54af8704d8a">   41</a></span>&#160;  <a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda7b9032725373912bd7fda54af8704d8a">DTLS_ALERT_UNEXPECTED_MESSAGE</a> = 10,       <span class="comment">/* unexpected_message */</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda4005b89a3396b23037f8033b29268eca">   42</a></span>&#160;  <a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda4005b89a3396b23037f8033b29268eca">DTLS_ALERT_BAD_RECORD_MAC</a> = 20,       <span class="comment">/* bad_record_mac */</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdad4d94666f310fb6982c26c70eddd6d12">   43</a></span>&#160;  <a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdad4d94666f310fb6982c26c70eddd6d12">DTLS_ALERT_RECORD_OVERFLOW</a> = 22,      <span class="comment">/* record_overflow */</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdaaf4ca9003cf380ae80a46b925b482888">   44</a></span>&#160;  <a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdaaf4ca9003cf380ae80a46b925b482888">DTLS_ALERT_DECOMPRESSION_FAILURE</a> = 30,    <span class="comment">/* decompression_failure */</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdaea5ed33e912421eb48afb73ce0a6014d">   45</a></span>&#160;  <a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdaea5ed33e912421eb48afb73ce0a6014d">DTLS_ALERT_HANDSHAKE_FAILURE</a> = 40,        <span class="comment">/* handshake_failure */</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdaaf5d5f80170bcf70000c18876e7bdb5c">   46</a></span>&#160;  <a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdaaf5d5f80170bcf70000c18876e7bdb5c">DTLS_ALERT_BAD_CERTIFICATE</a> = 42,      <span class="comment">/* bad_certificate */</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda0de27a30ca57e1a93a066e8dc6b6beab">   47</a></span>&#160;  <a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda0de27a30ca57e1a93a066e8dc6b6beab">DTLS_ALERT_UNSUPPORTED_CERTIFICATE</a> = 43,  <span class="comment">/* unsupported_certificate */</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda2e000f966c0ff01cf198ea862aa5cfe1">   48</a></span>&#160;  <a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda2e000f966c0ff01cf198ea862aa5cfe1">DTLS_ALERT_CERTIFICATE_REVOKED</a> = 44,      <span class="comment">/* certificate_revoked */</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda845dc73ad17d0fb919489cc110633782">   49</a></span>&#160;  <a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda845dc73ad17d0fb919489cc110633782">DTLS_ALERT_CERTIFICATE_EXPIRED</a> = 45,      <span class="comment">/* certificate_expired */</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda450355820da8d9eff4dd6d17eb52585d">   50</a></span>&#160;  <a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda450355820da8d9eff4dd6d17eb52585d">DTLS_ALERT_CERTIFICATE_UNKNOWN</a> = 46,      <span class="comment">/* certificate_unknown */</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda880948aace26b2da8acde4c29ababcfc">   51</a></span>&#160;  <a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda880948aace26b2da8acde4c29ababcfc">DTLS_ALERT_ILLEGAL_PARAMETER</a> = 47,        <span class="comment">/* illegal_parameter */</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdaf8b7bd9f8a6c02080f4b1af566bc1a2f">   52</a></span>&#160;  <a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdaf8b7bd9f8a6c02080f4b1af566bc1a2f">DTLS_ALERT_UNKNOWN_CA</a> = 48,           <span class="comment">/* unknown_ca */</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdad86305f8c32e7600fcafc0abcedd0a11">   53</a></span>&#160;  <a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdad86305f8c32e7600fcafc0abcedd0a11">DTLS_ALERT_ACCESS_DENIED</a> = 49,        <span class="comment">/* access_denied */</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdae3249841cb226881ce6dadffb9f22649">   54</a></span>&#160;  <a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdae3249841cb226881ce6dadffb9f22649">DTLS_ALERT_DECODE_ERROR</a> = 50,         <span class="comment">/* decode_error */</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda56a136f4d20b3ce9fb967eedb37371e0">   55</a></span>&#160;  <a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda56a136f4d20b3ce9fb967eedb37371e0">DTLS_ALERT_DECRYPT_ERROR</a> = 51,        <span class="comment">/* decrypt_error */</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdaa392c9a6bb02b01386a1c34dc1947652">   56</a></span>&#160;  <a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdaa392c9a6bb02b01386a1c34dc1947652">DTLS_ALERT_PROTOCOL_VERSION</a> = 70,     <span class="comment">/* protocol_version */</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda2cc56008c097883058c0e2e8ecc6751e">   57</a></span>&#160;  <a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda2cc56008c097883058c0e2e8ecc6751e">DTLS_ALERT_INSUFFICIENT_SECURITY</a> = 71,    <span class="comment">/* insufficient_security */</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda22948f7c825b68cc18c79bd3634c8f58">   58</a></span>&#160;  <a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda22948f7c825b68cc18c79bd3634c8f58">DTLS_ALERT_INTERNAL_ERROR</a> = 80,       <span class="comment">/* internal_error */</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda98631510b0a19a786fb4bc896ed37638">   59</a></span>&#160;  <a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda98631510b0a19a786fb4bc896ed37638">DTLS_ALERT_USER_CANCELED</a> = 90,        <span class="comment">/* user_canceled */</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda8939a5d1777bf0dbdd8fa44e335137ab">   60</a></span>&#160;  <a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda8939a5d1777bf0dbdd8fa44e335137ab">DTLS_ALERT_NO_RENEGOTIATION</a> = 100,        <span class="comment">/* no_renegotiation */</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda8512357ac6a83788ea76feb2ed9e2efc">   61</a></span>&#160;  <a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda8512357ac6a83788ea76feb2ed9e2efc">DTLS_ALERT_UNSUPPORTED_EXTENSION</a> = 110    <span class="comment">/* unsupported_extension */</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;} <a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbd">dtls_alert_t</a>;</div>
-<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div>
-<div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="alert_8h.html#aec2aa0683b1a39b4b1abba357b06f844">   64</a></span>&#160;<span class="preprocessor">#define DTLS_EVENT_CONNECT        0x01DC </span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="alert_8h.html#a5bed06f27f571d7c7d9b9f212c3a0b22">   65</a></span>&#160;<span class="preprocessor">#define DTLS_EVENT_CONNECTED      0x01DE </span></div>
-<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="preprocessor">#define DTLS_EVENT_RENEGOTIATE    0x01DF </span></div>
-<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="preprocessor">static inline int</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="preprocessor"></span><a class="code" href="alert_8h.html#a4242f419ffdd4b83bfaa2a0935ed2b6d">dtls_alert_create</a>(<a class="code" href="alert_8h.html#ab6264d1b950719f1c2e00b122cad871f">dtls_alert_level_t</a> level, <a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbd">dtls_alert_t</a> desc)</div>
-<div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="alert_8h.html#a4242f419ffdd4b83bfaa2a0935ed2b6d">   71</a></span>&#160;{</div>
-<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;  <span class="keywordflow">return</span> -((level &lt;&lt; 8) | desc);</div>
-<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;}</div>
-<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;</div>
-<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbd">dtls_alert_t</a> desc)</div>
-<div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">   77</a></span>&#160;{</div>
-<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;  <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a4242f419ffdd4b83bfaa2a0935ed2b6d">dtls_alert_create</a>(<a class="code" href="alert_8h.html#ab6264d1b950719f1c2e00b122cad871fabd07bcf63c24aa5f1b9706a4197ceaf4">DTLS_ALERT_LEVEL_FATAL</a>, desc);</div>
-<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;}</div>
-<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;</div>
-<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* _DTLS_ALERT_H_ */</span><span class="preprocessor"></span></div>
-<div class="ttc" id="alert_8h_html_a41c9f2d4035bc6bf5a0f437842a9ecbdaea5ed33e912421eb48afb73ce0a6014d"><div class="ttname"><a href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdaea5ed33e912421eb48afb73ce0a6014d">DTLS_ALERT_HANDSHAKE_FAILURE</a></div><div class="ttdef"><b>Definition:</b> <a href="alert_8h_source.html#l00045">alert.h:45</a></div></div>
-<div class="ttc" id="alert_8h_html_a9b9a52e7d4bb621be12878c7dfc8f5df"><div class="ttname"><a href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a></div><div class="ttdeci">static int dtls_alert_fatal_create(dtls_alert_t desc)</div><div class="ttdef"><b>Definition:</b> <a href="alert_8h_source.html#l00077">alert.h:77</a></div></div>
-<div class="ttc" id="alert_8h_html_a41c9f2d4035bc6bf5a0f437842a9ecbda98631510b0a19a786fb4bc896ed37638"><div class="ttname"><a href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda98631510b0a19a786fb4bc896ed37638">DTLS_ALERT_USER_CANCELED</a></div><div class="ttdef"><b>Definition:</b> <a href="alert_8h_source.html#l00059">alert.h:59</a></div></div>
-<div class="ttc" id="alert_8h_html_ab6264d1b950719f1c2e00b122cad871fabd07bcf63c24aa5f1b9706a4197ceaf4"><div class="ttname"><a href="alert_8h.html#ab6264d1b950719f1c2e00b122cad871fabd07bcf63c24aa5f1b9706a4197ceaf4">DTLS_ALERT_LEVEL_FATAL</a></div><div class="ttdef"><b>Definition:</b> <a href="alert_8h_source.html#l00036">alert.h:36</a></div></div>
-<div class="ttc" id="alert_8h_html_ab6264d1b950719f1c2e00b122cad871fa0f670b55dcb4ab291b869827d3c62ee7"><div class="ttname"><a href="alert_8h.html#ab6264d1b950719f1c2e00b122cad871fa0f670b55dcb4ab291b869827d3c62ee7">DTLS_ALERT_LEVEL_WARNING</a></div><div class="ttdef"><b>Definition:</b> <a href="alert_8h_source.html#l00035">alert.h:35</a></div></div>
-<div class="ttc" id="alert_8h_html_ab6264d1b950719f1c2e00b122cad871f"><div class="ttname"><a href="alert_8h.html#ab6264d1b950719f1c2e00b122cad871f">dtls_alert_level_t</a></div><div class="ttdeci">dtls_alert_level_t</div><div class="ttdef"><b>Definition:</b> <a href="alert_8h_source.html#l00034">alert.h:34</a></div></div>
-<div class="ttc" id="alert_8h_html_a41c9f2d4035bc6bf5a0f437842a9ecbda845dc73ad17d0fb919489cc110633782"><div class="ttname"><a href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda845dc73ad17d0fb919489cc110633782">DTLS_ALERT_CERTIFICATE_EXPIRED</a></div><div class="ttdef"><b>Definition:</b> <a href="alert_8h_source.html#l00049">alert.h:49</a></div></div>
-<div class="ttc" id="alert_8h_html_a41c9f2d4035bc6bf5a0f437842a9ecbda6bbae4f2f3747af4cdbe80c4a1061800"><div class="ttname"><a href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda6bbae4f2f3747af4cdbe80c4a1061800">DTLS_ALERT_CLOSE_NOTIFY</a></div><div class="ttdef"><b>Definition:</b> <a href="alert_8h_source.html#l00040">alert.h:40</a></div></div>
-<div class="ttc" id="alert_8h_html_a41c9f2d4035bc6bf5a0f437842a9ecbda450355820da8d9eff4dd6d17eb52585d"><div class="ttname"><a href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda450355820da8d9eff4dd6d17eb52585d">DTLS_ALERT_CERTIFICATE_UNKNOWN</a></div><div class="ttdef"><b>Definition:</b> <a href="alert_8h_source.html#l00050">alert.h:50</a></div></div>
-<div class="ttc" id="alert_8h_html_a41c9f2d4035bc6bf5a0f437842a9ecbda8939a5d1777bf0dbdd8fa44e335137ab"><div class="ttname"><a href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda8939a5d1777bf0dbdd8fa44e335137ab">DTLS_ALERT_NO_RENEGOTIATION</a></div><div class="ttdef"><b>Definition:</b> <a href="alert_8h_source.html#l00060">alert.h:60</a></div></div>
-<div class="ttc" id="alert_8h_html_a41c9f2d4035bc6bf5a0f437842a9ecbda7b9032725373912bd7fda54af8704d8a"><div class="ttname"><a href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda7b9032725373912bd7fda54af8704d8a">DTLS_ALERT_UNEXPECTED_MESSAGE</a></div><div class="ttdef"><b>Definition:</b> <a href="alert_8h_source.html#l00041">alert.h:41</a></div></div>
-<div class="ttc" id="alert_8h_html_a41c9f2d4035bc6bf5a0f437842a9ecbda22948f7c825b68cc18c79bd3634c8f58"><div class="ttname"><a href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda22948f7c825b68cc18c79bd3634c8f58">DTLS_ALERT_INTERNAL_ERROR</a></div><div class="ttdef"><b>Definition:</b> <a href="alert_8h_source.html#l00058">alert.h:58</a></div></div>
-<div class="ttc" id="alert_8h_html_a4242f419ffdd4b83bfaa2a0935ed2b6d"><div class="ttname"><a href="alert_8h.html#a4242f419ffdd4b83bfaa2a0935ed2b6d">dtls_alert_create</a></div><div class="ttdeci">static int dtls_alert_create(dtls_alert_level_t level, dtls_alert_t desc)</div><div class="ttdef"><b>Definition:</b> <a href="alert_8h_source.html#l00071">alert.h:71</a></div></div>
-<div class="ttc" id="alert_8h_html_a41c9f2d4035bc6bf5a0f437842a9ecbda0de27a30ca57e1a93a066e8dc6b6beab"><div class="ttname"><a href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda0de27a30ca57e1a93a066e8dc6b6beab">DTLS_ALERT_UNSUPPORTED_CERTIFICATE</a></div><div class="ttdef"><b>Definition:</b> <a href="alert_8h_source.html#l00047">alert.h:47</a></div></div>
-<div class="ttc" id="alert_8h_html_a41c9f2d4035bc6bf5a0f437842a9ecbdaf8b7bd9f8a6c02080f4b1af566bc1a2f"><div class="ttname"><a href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdaf8b7bd9f8a6c02080f4b1af566bc1a2f">DTLS_ALERT_UNKNOWN_CA</a></div><div class="ttdef"><b>Definition:</b> <a href="alert_8h_source.html#l00052">alert.h:52</a></div></div>
-<div class="ttc" id="alert_8h_html_a41c9f2d4035bc6bf5a0f437842a9ecbdae3249841cb226881ce6dadffb9f22649"><div class="ttname"><a href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdae3249841cb226881ce6dadffb9f22649">DTLS_ALERT_DECODE_ERROR</a></div><div class="ttdef"><b>Definition:</b> <a href="alert_8h_source.html#l00054">alert.h:54</a></div></div>
-<div class="ttc" id="alert_8h_html_a41c9f2d4035bc6bf5a0f437842a9ecbdad4d94666f310fb6982c26c70eddd6d12"><div class="ttname"><a href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdad4d94666f310fb6982c26c70eddd6d12">DTLS_ALERT_RECORD_OVERFLOW</a></div><div class="ttdef"><b>Definition:</b> <a href="alert_8h_source.html#l00043">alert.h:43</a></div></div>
-<div class="ttc" id="alert_8h_html_a41c9f2d4035bc6bf5a0f437842a9ecbda8512357ac6a83788ea76feb2ed9e2efc"><div class="ttname"><a href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda8512357ac6a83788ea76feb2ed9e2efc">DTLS_ALERT_UNSUPPORTED_EXTENSION</a></div><div class="ttdef"><b>Definition:</b> <a href="alert_8h_source.html#l00061">alert.h:61</a></div></div>
-<div class="ttc" id="alert_8h_html_a41c9f2d4035bc6bf5a0f437842a9ecbd"><div class="ttname"><a href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbd">dtls_alert_t</a></div><div class="ttdeci">dtls_alert_t</div><div class="ttdef"><b>Definition:</b> <a href="alert_8h_source.html#l00039">alert.h:39</a></div></div>
-<div class="ttc" id="alert_8h_html_a41c9f2d4035bc6bf5a0f437842a9ecbda4005b89a3396b23037f8033b29268eca"><div class="ttname"><a href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda4005b89a3396b23037f8033b29268eca">DTLS_ALERT_BAD_RECORD_MAC</a></div><div class="ttdef"><b>Definition:</b> <a href="alert_8h_source.html#l00042">alert.h:42</a></div></div>
-<div class="ttc" id="alert_8h_html_a41c9f2d4035bc6bf5a0f437842a9ecbda2e000f966c0ff01cf198ea862aa5cfe1"><div class="ttname"><a href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda2e000f966c0ff01cf198ea862aa5cfe1">DTLS_ALERT_CERTIFICATE_REVOKED</a></div><div class="ttdef"><b>Definition:</b> <a href="alert_8h_source.html#l00048">alert.h:48</a></div></div>
-<div class="ttc" id="alert_8h_html_a41c9f2d4035bc6bf5a0f437842a9ecbdaaf5d5f80170bcf70000c18876e7bdb5c"><div class="ttname"><a href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdaaf5d5f80170bcf70000c18876e7bdb5c">DTLS_ALERT_BAD_CERTIFICATE</a></div><div class="ttdef"><b>Definition:</b> <a href="alert_8h_source.html#l00046">alert.h:46</a></div></div>
-<div class="ttc" id="alert_8h_html_a41c9f2d4035bc6bf5a0f437842a9ecbda56a136f4d20b3ce9fb967eedb37371e0"><div class="ttname"><a href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda56a136f4d20b3ce9fb967eedb37371e0">DTLS_ALERT_DECRYPT_ERROR</a></div><div class="ttdef"><b>Definition:</b> <a href="alert_8h_source.html#l00055">alert.h:55</a></div></div>
-<div class="ttc" id="alert_8h_html_a41c9f2d4035bc6bf5a0f437842a9ecbdaa392c9a6bb02b01386a1c34dc1947652"><div class="ttname"><a href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdaa392c9a6bb02b01386a1c34dc1947652">DTLS_ALERT_PROTOCOL_VERSION</a></div><div class="ttdef"><b>Definition:</b> <a href="alert_8h_source.html#l00056">alert.h:56</a></div></div>
-<div class="ttc" id="alert_8h_html_a41c9f2d4035bc6bf5a0f437842a9ecbdad86305f8c32e7600fcafc0abcedd0a11"><div class="ttname"><a href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdad86305f8c32e7600fcafc0abcedd0a11">DTLS_ALERT_ACCESS_DENIED</a></div><div class="ttdef"><b>Definition:</b> <a href="alert_8h_source.html#l00053">alert.h:53</a></div></div>
-<div class="ttc" id="alert_8h_html_a41c9f2d4035bc6bf5a0f437842a9ecbdaaf4ca9003cf380ae80a46b925b482888"><div class="ttname"><a href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdaaf4ca9003cf380ae80a46b925b482888">DTLS_ALERT_DECOMPRESSION_FAILURE</a></div><div class="ttdef"><b>Definition:</b> <a href="alert_8h_source.html#l00044">alert.h:44</a></div></div>
-<div class="ttc" id="alert_8h_html_a41c9f2d4035bc6bf5a0f437842a9ecbda2cc56008c097883058c0e2e8ecc6751e"><div class="ttname"><a href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda2cc56008c097883058c0e2e8ecc6751e">DTLS_ALERT_INSUFFICIENT_SECURITY</a></div><div class="ttdef"><b>Definition:</b> <a href="alert_8h_source.html#l00057">alert.h:57</a></div></div>
-<div class="ttc" id="alert_8h_html_a41c9f2d4035bc6bf5a0f437842a9ecbda880948aace26b2da8acde4c29ababcfc"><div class="ttname"><a href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda880948aace26b2da8acde4c29ababcfc">DTLS_ALERT_ILLEGAL_PARAMETER</a></div><div class="ttdef"><b>Definition:</b> <a href="alert_8h_source.html#l00051">alert.h:51</a></div></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/annotated.html b/external/wakaama/examples/shared/tinydtls/doc/html/annotated.html
deleted file mode 100644 (file)
index 31388a4..0000000
+++ /dev/null
@@ -1,118 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: Data Structures</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li class="current"><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li><a href="functions.html"><span>Data&#160;Fields</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="header">
-  <div class="headertitle">
-<div class="title">Data Structures</div>  </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock">Here are the data structures with brief descriptions:</div><div class="directory">
-<table class="directory">
-<tr id="row_0_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structaes128__ccm__t.html" target="_self">aes128_ccm_t</a></td><td class="desc"></td></tr>
-<tr id="row_1_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structdtls__cipher__context__t.html" target="_self">dtls_cipher_context_t</a></td><td class="desc"></td></tr>
-<tr id="row_2_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structdtls__context__t.html" target="_self">dtls_context_t</a></td><td class="desc"></td></tr>
-<tr id="row_3_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structdtls__ecdsa__key__t.html" target="_self">dtls_ecdsa_key_t</a></td><td class="desc"></td></tr>
-<tr id="row_4_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structdtls__handler__t.html" target="_self">dtls_handler_t</a></td><td class="desc"></td></tr>
-<tr id="row_5_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structdtls__handshake__parameters__ecdsa__t.html" target="_self">dtls_handshake_parameters_ecdsa_t</a></td><td class="desc"></td></tr>
-<tr id="row_6_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structdtls__handshake__parameters__psk__t.html" target="_self">dtls_handshake_parameters_psk_t</a></td><td class="desc"></td></tr>
-<tr id="row_7_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structdtls__handshake__parameters__t.html" target="_self">dtls_handshake_parameters_t</a></td><td class="desc"></td></tr>
-<tr id="row_8_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structdtls__hmac__context__t.html" target="_self">dtls_hmac_context_t</a></td><td class="desc"></td></tr>
-<tr id="row_9_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structdtls__hs__state__t.html" target="_self">dtls_hs_state_t</a></td><td class="desc"></td></tr>
-<tr id="row_10_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structdtls__peer__t.html" target="_self">dtls_peer_t</a></td><td class="desc"></td></tr>
-<tr id="row_11_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structdtls__security__parameters__t.html" target="_self">dtls_security_parameters_t</a></td><td class="desc"></td></tr>
-<tr id="row_12_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structlist.html" target="_self">list</a></td><td class="desc"></td></tr>
-<tr id="row_13_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structnetq__t.html" target="_self">netq_t</a></td><td class="desc"></td></tr>
-<tr id="row_14_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structsession__t.html" target="_self">session_t</a></td><td class="desc"></td></tr>
-<tr id="row_15_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structUT__hash__bucket.html" target="_self">UT_hash_bucket</a></td><td class="desc"></td></tr>
-<tr id="row_16_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structUT__hash__handle.html" target="_self">UT_hash_handle</a></td><td class="desc"></td></tr>
-<tr id="row_17_"><td class="entry"><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structUT__hash__table.html" target="_self">UT_hash_table</a></td><td class="desc"></td></tr>
-</table>
-</div><!-- directory -->
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/bc_s.png b/external/wakaama/examples/shared/tinydtls/doc/html/bc_s.png
deleted file mode 100644 (file)
index 224b29a..0000000
Binary files a/external/wakaama/examples/shared/tinydtls/doc/html/bc_s.png and /dev/null differ
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/bdwn.png b/external/wakaama/examples/shared/tinydtls/doc/html/bdwn.png
deleted file mode 100644 (file)
index 940a0b9..0000000
Binary files a/external/wakaama/examples/shared/tinydtls/doc/html/bdwn.png and /dev/null differ
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/ccm_8c.html b/external/wakaama/examples/shared/tinydtls/doc/html/ccm_8c.html
deleted file mode 100644 (file)
index 6798368..0000000
+++ /dev/null
@@ -1,624 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: ccm.c File Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#define-members">Macros</a> &#124;
-<a href="#func-members">Functions</a>  </div>
-  <div class="headertitle">
-<div class="title">ccm.c File Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock"><code>#include &lt;string.h&gt;</code><br/>
-<code>#include &quot;<a class="el" href="dtls__config_8h_source.html">dtls_config.h</a>&quot;</code><br/>
-<code>#include &quot;<a class="el" href="global_8h_source.html">global.h</a>&quot;</code><br/>
-<code>#include &quot;<a class="el" href="numeric_8h_source.html">numeric.h</a>&quot;</code><br/>
-<code>#include &quot;<a class="el" href="ccm_8h_source.html">ccm.h</a>&quot;</code><br/>
-<code>#include &lt;assert.h&gt;</code><br/>
-</div>
-<p><a href="ccm_8c_source.html">Go to the source code of this file.</a></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
-Macros</h2></td></tr>
-<tr class="memitem:a18f6fffa08314e79c95e2de10e7409cb"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ccm_8c.html#a18f6fffa08314e79c95e2de10e7409cb">CCM_FLAGS</a>(A, M, L)&#160;&#160;&#160;(((A &gt; 0) &lt;&lt; 6) | (((M - 2)/2) &lt;&lt; 3) | (L - 1))</td></tr>
-<tr class="separator:a18f6fffa08314e79c95e2de10e7409cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a46e95fc2cb115ab9c342707ec443265f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ccm_8c.html#a46e95fc2cb115ab9c342707ec443265f">MASK_L</a>(_L)&#160;&#160;&#160;((1 &lt;&lt; 8 * _L) - 1)</td></tr>
-<tr class="separator:a46e95fc2cb115ab9c342707ec443265f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a13d9e1fa611f50a7176fd6da7b1b4994"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ccm_8c.html#a13d9e1fa611f50a7176fd6da7b1b4994">SET_COUNTER</a>(A, L, cnt, C)</td></tr>
-<tr class="separator:a13d9e1fa611f50a7176fd6da7b1b4994"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:a1dfe92428f63772e3907a26435e54354"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ccm_8c.html#a1dfe92428f63772e3907a26435e54354">block0</a> (size_t M, size_t L, size_t la, size_t lm, unsigned char nonce[<a class="el" href="ccm_8h.html#a5c46c97c6c3ef5d4e5bd616dbd064859">DTLS_CCM_BLOCKSIZE</a>], unsigned char *result)</td></tr>
-<tr class="separator:a1dfe92428f63772e3907a26435e54354"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a59faf5a2a638dc03c01605d4bebe0bcc"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ccm_8c.html#a59faf5a2a638dc03c01605d4bebe0bcc">add_auth_data</a> (rijndael_ctx *ctx, const unsigned char *msg, size_t la, unsigned char B[<a class="el" href="ccm_8h.html#a5c46c97c6c3ef5d4e5bd616dbd064859">DTLS_CCM_BLOCKSIZE</a>], unsigned char X[<a class="el" href="ccm_8h.html#a5c46c97c6c3ef5d4e5bd616dbd064859">DTLS_CCM_BLOCKSIZE</a>])</td></tr>
-<tr class="separator:a59faf5a2a638dc03c01605d4bebe0bcc"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a983462ca57ee8fe54249c77281f6559e"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ccm_8c.html#a983462ca57ee8fe54249c77281f6559e">encrypt</a> (rijndael_ctx *ctx, size_t L, unsigned long counter, unsigned char *msg, size_t len, unsigned char A[<a class="el" href="ccm_8h.html#a5c46c97c6c3ef5d4e5bd616dbd064859">DTLS_CCM_BLOCKSIZE</a>], unsigned char S[<a class="el" href="ccm_8h.html#a5c46c97c6c3ef5d4e5bd616dbd064859">DTLS_CCM_BLOCKSIZE</a>])</td></tr>
-<tr class="separator:a983462ca57ee8fe54249c77281f6559e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af90d9a6bdae478b53926bf6f1bd6c9d5"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ccm_8c.html#af90d9a6bdae478b53926bf6f1bd6c9d5">mac</a> (rijndael_ctx *ctx, unsigned char *msg, size_t len, unsigned char B[<a class="el" href="ccm_8h.html#a5c46c97c6c3ef5d4e5bd616dbd064859">DTLS_CCM_BLOCKSIZE</a>], unsigned char X[<a class="el" href="ccm_8h.html#a5c46c97c6c3ef5d4e5bd616dbd064859">DTLS_CCM_BLOCKSIZE</a>])</td></tr>
-<tr class="separator:af90d9a6bdae478b53926bf6f1bd6c9d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a40f4f23b5687e18dc1bce1c19101da42"><td class="memItemLeft" align="right" valign="top">long int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ccm_8c.html#a40f4f23b5687e18dc1bce1c19101da42">dtls_ccm_encrypt_message</a> (rijndael_ctx *ctx, size_t M, size_t L, unsigned char nonce[<a class="el" href="ccm_8h.html#a5c46c97c6c3ef5d4e5bd616dbd064859">DTLS_CCM_BLOCKSIZE</a>], unsigned char *msg, size_t lm, const unsigned char *aad, size_t la)</td></tr>
-<tr class="separator:a40f4f23b5687e18dc1bce1c19101da42"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa3e92bdeca1d0730d48b8a85181d5b6d"><td class="memItemLeft" align="right" valign="top">long int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ccm_8c.html#aa3e92bdeca1d0730d48b8a85181d5b6d">dtls_ccm_decrypt_message</a> (rijndael_ctx *ctx, size_t M, size_t L, unsigned char nonce[<a class="el" href="ccm_8h.html#a5c46c97c6c3ef5d4e5bd616dbd064859">DTLS_CCM_BLOCKSIZE</a>], unsigned char *msg, size_t lm, const unsigned char *aad, size_t la)</td></tr>
-<tr class="separator:aa3e92bdeca1d0730d48b8a85181d5b6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<h2 class="groupheader">Macro Definition Documentation</h2>
-<a class="anchor" id="a18f6fffa08314e79c95e2de10e7409cb"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define CCM_FLAGS</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">A, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">M, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">L&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td>&#160;&#160;&#160;(((A &gt; 0) &lt;&lt; 6) | (((M - 2)/2) &lt;&lt; 3) | (L - 1))</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="ccm_8c_source.html#l00037">37</a> of file <a class="el" href="ccm_8c_source.html">ccm.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a46e95fc2cb115ab9c342707ec443265f"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define MASK_L</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">_L</td><td>)</td>
-          <td>&#160;&#160;&#160;((1 &lt;&lt; 8 * _L) - 1)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="ccm_8c_source.html#l00039">39</a> of file <a class="el" href="ccm_8c_source.html">ccm.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a13d9e1fa611f50a7176fd6da7b1b4994"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define SET_COUNTER</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">A, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">L, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">cnt, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">C&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<b>Value:</b><div class="fragment"><div class="line">{                   \</div>
-<div class="line">    int i;                              \</div>
-<div class="line">    memset((A) + <a class="code" href="ccm_8h.html#a5c46c97c6c3ef5d4e5bd616dbd064859">DTLS_CCM_BLOCKSIZE</a> - (L), 0, (L));         \</div>
-<div class="line">    (C) = (cnt) &amp; <a class="code" href="ccm_8c.html#a46e95fc2cb115ab9c342707ec443265f">MASK_L</a>(L);                        \</div>
-<div class="line">    for (i = <a class="code" href="ccm_8h.html#a5c46c97c6c3ef5d4e5bd616dbd064859">DTLS_CCM_BLOCKSIZE</a> - 1; (C) &amp;&amp; (i &gt; (L)); --i, (C) &gt;&gt;= 8)  \</div>
-<div class="line">      (A)[i] |= (C) &amp; 0xFF;                     \</div>
-<div class="line">  }</div>
-<div class="ttc" id="ccm_8c_html_a46e95fc2cb115ab9c342707ec443265f"><div class="ttname"><a href="ccm_8c.html#a46e95fc2cb115ab9c342707ec443265f">MASK_L</a></div><div class="ttdeci">#define MASK_L(_L)</div><div class="ttdef"><b>Definition:</b> <a href="ccm_8c_source.html#l00039">ccm.c:39</a></div></div>
-<div class="ttc" id="ccm_8h_html_a5c46c97c6c3ef5d4e5bd616dbd064859"><div class="ttname"><a href="ccm_8h.html#a5c46c97c6c3ef5d4e5bd616dbd064859">DTLS_CCM_BLOCKSIZE</a></div><div class="ttdeci">#define DTLS_CCM_BLOCKSIZE</div><div class="ttdef"><b>Definition:</b> <a href="ccm_8h_source.html#l00033">ccm.h:33</a></div></div>
-</div><!-- fragment -->
-<p>Definition at line <a class="el" href="ccm_8c_source.html#l00041">41</a> of file <a class="el" href="ccm_8c_source.html">ccm.c</a>.</p>
-
-</div>
-</div>
-<h2 class="groupheader">Function Documentation</h2>
-<a class="anchor" id="a59faf5a2a638dc03c01605d4bebe0bcc"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static void add_auth_data </td>
-          <td>(</td>
-          <td class="paramtype">rijndael_ctx *&#160;</td>
-          <td class="paramname"><em>ctx</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>msg</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>la</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">unsigned char&#160;</td>
-          <td class="paramname"><em>B</em>[DTLS_CCM_BLOCKSIZE], </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">unsigned char&#160;</td>
-          <td class="paramname"><em>X</em>[DTLS_CCM_BLOCKSIZE]&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-<p>Creates the CBC-MAC for the additional authentication data that is sent in cleartext.</p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">ctx</td><td>The crypto context for the AES encryption. </td></tr>
-    <tr><td class="paramname">msg</td><td>The message starting with the additional authentication data. </td></tr>
-    <tr><td class="paramname">la</td><td>The number of additional authentication bytes in <code>msg</code>. </td></tr>
-    <tr><td class="paramname">B</td><td>The input buffer for crypto operations. When this function is called, <code>B</code> must be initialized with <code>B0</code> (the first authentication block. </td></tr>
-    <tr><td class="paramname">X</td><td>The output buffer where the result of the CBC calculation is placed. </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result is written to <code>X</code>. </dd></dl>
-
-<p>Definition at line <a class="el" href="ccm_8c_source.html#l00084">84</a> of file <a class="el" href="ccm_8c_source.html">ccm.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a1dfe92428f63772e3907a26435e54354"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static void block0 </td>
-          <td>(</td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>M</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>L</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>la</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>lm</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">unsigned char&#160;</td>
-          <td class="paramname"><em>nonce</em>[DTLS_CCM_BLOCKSIZE], </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">unsigned char *&#160;</td>
-          <td class="paramname"><em>result</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="ccm_8c_source.html#l00050">50</a> of file <a class="el" href="ccm_8c_source.html">ccm.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aa3e92bdeca1d0730d48b8a85181d5b6d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">long int dtls_ccm_decrypt_message </td>
-          <td>(</td>
-          <td class="paramtype">rijndael_ctx *&#160;</td>
-          <td class="paramname"><em>ctx</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>M</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>L</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">unsigned char&#160;</td>
-          <td class="paramname"><em>nonce</em>[DTLS_CCM_BLOCKSIZE], </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">unsigned char *&#160;</td>
-          <td class="paramname"><em>msg</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>lm</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>aad</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>la</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="ccm_8c_source.html#l00240">240</a> of file <a class="el" href="ccm_8c_source.html">ccm.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a40f4f23b5687e18dc1bce1c19101da42"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">long int dtls_ccm_encrypt_message </td>
-          <td>(</td>
-          <td class="paramtype">rijndael_ctx *&#160;</td>
-          <td class="paramname"><em>ctx</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>M</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>L</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">unsigned char&#160;</td>
-          <td class="paramname"><em>nonce</em>[DTLS_CCM_BLOCKSIZE], </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">unsigned char *&#160;</td>
-          <td class="paramname"><em>msg</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>lm</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>aad</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>la</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Authenticates and encrypts a message using AES in CCM mode. Please see also RFC 3610 for the meaning of <code>M</code>, <code>L</code>, <code>lm</code> and <code>la</code>.</p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">ctx</td><td>The initialized rijndael_ctx object to be used for AES operations. </td></tr>
-    <tr><td class="paramname">M</td><td>The number of authentication octets. </td></tr>
-    <tr><td class="paramname">L</td><td>The number of bytes used to encode the message length. </td></tr>
-    <tr><td class="paramname">N</td><td>The nonce value to use. You must provide <code>DTLS_CCM_BLOCKSIZE</code> nonce octets, although only the first <code>16</code> - <code>L</code> are used. </td></tr>
-    <tr><td class="paramname">msg</td><td>The message to encrypt. The first <code>la</code> octets are additional authentication data that will be cleartext. Note that the encryption operation modifies the contents of <code>msg</code> and adds <code>M</code> bytes MAC. Therefore, the buffer must be at least <code>lm</code> + <code>M</code> bytes large. </td></tr>
-    <tr><td class="paramname">lm</td><td>The actual length of <code>msg</code>. </td></tr>
-    <tr><td class="paramname">aad</td><td>A pointer to the additional authentication data (can be <code>NULL</code> if <code>la</code> is zero). </td></tr>
-    <tr><td class="paramname">la</td><td>The number of additional authentication octets (may be zero). </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>FIXME </dd></dl>
-
-<p>Definition at line <a class="el" href="ccm_8c_source.html#l00176">176</a> of file <a class="el" href="ccm_8c_source.html">ccm.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a983462ca57ee8fe54249c77281f6559e"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static void encrypt </td>
-          <td>(</td>
-          <td class="paramtype">rijndael_ctx *&#160;</td>
-          <td class="paramname"><em>ctx</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>L</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">unsigned long&#160;</td>
-          <td class="paramname"><em>counter</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">unsigned char *&#160;</td>
-          <td class="paramname"><em>msg</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>len</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">unsigned char&#160;</td>
-          <td class="paramname"><em>A</em>[DTLS_CCM_BLOCKSIZE], </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">unsigned char&#160;</td>
-          <td class="paramname"><em>S</em>[DTLS_CCM_BLOCKSIZE]&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="ccm_8c_source.html#l00149">149</a> of file <a class="el" href="ccm_8c_source.html">ccm.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="af90d9a6bdae478b53926bf6f1bd6c9d5"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static void mac </td>
-          <td>(</td>
-          <td class="paramtype">rijndael_ctx *&#160;</td>
-          <td class="paramname"><em>ctx</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">unsigned char *&#160;</td>
-          <td class="paramname"><em>msg</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>len</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">unsigned char&#160;</td>
-          <td class="paramname"><em>B</em>[DTLS_CCM_BLOCKSIZE], </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">unsigned char&#160;</td>
-          <td class="paramname"><em>X</em>[DTLS_CCM_BLOCKSIZE]&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="ccm_8c_source.html#l00162">162</a> of file <a class="el" href="ccm_8c_source.html">ccm.c</a>.</p>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/ccm_8c_source.html b/external/wakaama/examples/shared/tinydtls/doc/html/ccm_8c_source.html
deleted file mode 100644 (file)
index 58f0790..0000000
+++ /dev/null
@@ -1,412 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: ccm.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="header">
-  <div class="headertitle">
-<div class="title">ccm.c</div>  </div>
-</div><!--header-->
-<div class="contents">
-<a href="ccm_8c.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/* dtls -- a very basic DTLS implementation</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> * Copyright (C) 2011--2014 Olaf Bergmann &lt;bergmann@tzi.org&gt;</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> * Permission is hereby granted, free of charge, to any person</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> * obtaining a copy of this software and associated documentation</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> * files (the &quot;Software&quot;), to deal in the Software without</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> * restriction, including without limitation the rights to use, copy,</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> * modify, merge, publish, distribute, sublicense, and/or sell copies</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> * of the Software, and to permit persons to whom the Software is</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * furnished to do so, subject to the following conditions:</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * The above copyright notice and this permission notice shall be</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * included in all copies or substantial portions of the Software.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> * THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND,</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment"> * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment"> * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment"> * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment"> * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment"> * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment"> * SOFTWARE.</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div>
-<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &lt;string.h&gt;</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div>
-<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="dtls__config_8h.html">dtls_config.h</a>&quot;</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="global_8h.html">global.h</a>&quot;</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="numeric_8h.html">numeric.h</a>&quot;</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ccm_8h.html">ccm.h</a>&quot;</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div>
-<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#ifdef HAVE_ASSERT_H</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor"></span><span class="preprocessor"># include &lt;assert.h&gt;</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="ccm_8c.html#a18f6fffa08314e79c95e2de10e7409cb">   37</a></span>&#160;<span class="preprocessor">#define CCM_FLAGS(A,M,L) (((A &gt; 0) &lt;&lt; 6) | (((M - 2)/2) &lt;&lt; 3) | (L - 1))</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="ccm_8c.html#a46e95fc2cb115ab9c342707ec443265f">   39</a></span>&#160;<span class="preprocessor">#define MASK_L(_L) ((1 &lt;&lt; 8 * _L) - 1)</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="ccm_8c.html#a13d9e1fa611f50a7176fd6da7b1b4994">   41</a></span>&#160;<span class="preprocessor">#define SET_COUNTER(A,L,cnt,C) {                    \</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">    int i;                              \</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="preprocessor">    memset((A) + DTLS_CCM_BLOCKSIZE - (L), 0, (L));         \</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">    (C) = (cnt) &amp; MASK_L(L);                        \</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="preprocessor">    for (i = DTLS_CCM_BLOCKSIZE - 1; (C) &amp;&amp; (i &gt; (L)); --i, (C) &gt;&gt;= 8)  \</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor">      (A)[i] |= (C) &amp; 0xFF;                     \</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor">  }</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="ccm_8c.html#a1dfe92428f63772e3907a26435e54354">   50</a></span>&#160;<a class="code" href="ccm_8c.html#a1dfe92428f63772e3907a26435e54354">block0</a>(<span class="keywordtype">size_t</span> M,       <span class="comment">/* number of auth bytes */</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;       <span class="keywordtype">size_t</span> L,       <span class="comment">/* number of bytes to encode message length */</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;       <span class="keywordtype">size_t</span> la,      <span class="comment">/* l(a) octets additional authenticated data */</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;       <span class="keywordtype">size_t</span> lm,      <span class="comment">/* l(m) message length */</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;       <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> nonce[<a class="code" href="ccm_8h.html#a5c46c97c6c3ef5d4e5bd616dbd064859">DTLS_CCM_BLOCKSIZE</a>],</div>
-<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;       <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *result) {</div>
-<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;  <span class="keywordtype">int</span> i;</div>
-<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div>
-<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;  result[0] = <a class="code" href="ccm_8c.html#a18f6fffa08314e79c95e2de10e7409cb">CCM_FLAGS</a>(la, M, L);</div>
-<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;</div>
-<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;  <span class="comment">/* copy the nonce */</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;  memcpy(result + 1, nonce, DTLS_CCM_BLOCKSIZE - L);</div>
-<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;  </div>
-<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;  <span class="keywordflow">for</span> (i=0; i &lt; L; i++) {</div>
-<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;    result[15-i] = lm &amp; 0xff;</div>
-<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;    lm &gt;&gt;= 8;</div>
-<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;  }</div>
-<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;}</div>
-<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div>
-<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="ccm_8c.html#a59faf5a2a638dc03c01605d4bebe0bcc">   84</a></span>&#160;<a class="code" href="ccm_8c.html#a59faf5a2a638dc03c01605d4bebe0bcc">add_auth_data</a>(rijndael_ctx *ctx, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *msg, <span class="keywordtype">size_t</span> la,</div>
-<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;          <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> B[<a class="code" href="ccm_8h.html#a5c46c97c6c3ef5d4e5bd616dbd064859">DTLS_CCM_BLOCKSIZE</a>], </div>
-<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;          <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> X[DTLS_CCM_BLOCKSIZE]) {</div>
-<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;  <span class="keywordtype">size_t</span> i,j; </div>
-<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;</div>
-<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;  rijndael_encrypt(ctx, B, X);</div>
-<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div>
-<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;  memset(B, 0, DTLS_CCM_BLOCKSIZE);</div>
-<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;</div>
-<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;  <span class="keywordflow">if</span> (!la)</div>
-<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;    <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;</div>
-<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="preprocessor">#ifndef WITH_CONTIKI</span></div>
-<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="preprocessor"></span>    <span class="keywordflow">if</span> (la &lt; 0xFF00) {      <span class="comment">/* 2^16 - 2^8 */</span></div>
-<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;      j = 2;</div>
-<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;      <a class="code" href="numeric_8h.html#a074d352855e1ffde4c2ddb6a6fea01b9">dtls_int_to_uint16</a>(B, la);</div>
-<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;  } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (la &lt;= UINT32_MAX) {</div>
-<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;      j = 6;</div>
-<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;      <a class="code" href="numeric_8h.html#a074d352855e1ffde4c2ddb6a6fea01b9">dtls_int_to_uint16</a>(B, 0xFFFE);</div>
-<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;      <a class="code" href="numeric_8h.html#a6914ee523b27539f4e441bede8c072b4">dtls_int_to_uint32</a>(B+2, la);</div>
-<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;    } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;      j = 10;</div>
-<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;      <a class="code" href="numeric_8h.html#a074d352855e1ffde4c2ddb6a6fea01b9">dtls_int_to_uint16</a>(B, 0xFFFF);</div>
-<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;      <a class="code" href="numeric_8h.html#ab4d80395fb7f4118dfcb101ae94a5e93">dtls_int_to_uint64</a>(B+2, la);</div>
-<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;    }</div>
-<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="preprocessor">#else </span><span class="comment">/* WITH_CONTIKI */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="preprocessor"></span>  <span class="comment">/* With Contiki, we are building for small devices and thus</span></div>
-<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;<span class="comment">   * anticipate that the number of additional authentication bytes</span></div>
-<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="comment">   * will not exceed 65280 bytes (0xFF00) and we can skip the</span></div>
-<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;<span class="comment">   * workarounds required for j=6 and j=10 on devices with a word size</span></div>
-<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="comment">   * of 32 bits or 64 bits, respectively.</span></div>
-<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;<span class="comment">   */</span></div>
-<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;</div>
-<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;  assert(la &lt; 0xFF00);</div>
-<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;  j = 2;</div>
-<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;  <a class="code" href="numeric_8h.html#a074d352855e1ffde4c2ddb6a6fea01b9">dtls_int_to_uint16</a>(B, la);</div>
-<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* WITH_CONTIKI */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;    i = <a class="code" href="debug_8c.html#ac6afabdc09a49a433ee19d8a9486056d">min</a>(DTLS_CCM_BLOCKSIZE - j, la);</div>
-<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;    memcpy(B + j, msg, i);</div>
-<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;    la -= i;</div>
-<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;    msg += i;</div>
-<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;    </div>
-<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;    <a class="code" href="global_8h.html#a6c31c5d8a0fe09547a192100d2a00dc5">memxor</a>(B, X, DTLS_CCM_BLOCKSIZE);</div>
-<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;  </div>
-<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;  rijndael_encrypt(ctx, B, X);</div>
-<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;  </div>
-<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;  <span class="keywordflow">while</span> (la &gt; DTLS_CCM_BLOCKSIZE) {</div>
-<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;    <span class="keywordflow">for</span> (i = 0; i &lt; <a class="code" href="ccm_8h.html#a5c46c97c6c3ef5d4e5bd616dbd064859">DTLS_CCM_BLOCKSIZE</a>; ++i)</div>
-<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;      B[i] = X[i] ^ *msg++;</div>
-<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;    la -= <a class="code" href="ccm_8h.html#a5c46c97c6c3ef5d4e5bd616dbd064859">DTLS_CCM_BLOCKSIZE</a>;</div>
-<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;</div>
-<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;    rijndael_encrypt(ctx, B, X);</div>
-<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;  }</div>
-<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;  </div>
-<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;  <span class="keywordflow">if</span> (la) {</div>
-<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;    memset(B, 0, DTLS_CCM_BLOCKSIZE);</div>
-<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;    memcpy(B, msg, la);</div>
-<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;    <a class="code" href="global_8h.html#a6c31c5d8a0fe09547a192100d2a00dc5">memxor</a>(B, X, DTLS_CCM_BLOCKSIZE);</div>
-<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;</div>
-<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;    rijndael_encrypt(ctx, B, X);  </div>
-<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;  } </div>
-<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;}</div>
-<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;</div>
-<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00149"></a><span class="lineno"><a class="line" href="ccm_8c.html#a983462ca57ee8fe54249c77281f6559e">  149</a></span>&#160;<a class="code" href="ccm_8c.html#a983462ca57ee8fe54249c77281f6559e">encrypt</a>(rijndael_ctx *ctx, <span class="keywordtype">size_t</span> L, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> counter,</div>
-<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *msg, <span class="keywordtype">size_t</span> len,</div>
-<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> A[<a class="code" href="ccm_8h.html#a5c46c97c6c3ef5d4e5bd616dbd064859">DTLS_CCM_BLOCKSIZE</a>],</div>
-<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> S[DTLS_CCM_BLOCKSIZE]) {</div>
-<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;</div>
-<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;  <span class="keyword">static</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> counter_tmp;</div>
-<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div>
-<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;  <a class="code" href="ccm_8c.html#a13d9e1fa611f50a7176fd6da7b1b4994">SET_COUNTER</a>(A, L, counter, counter_tmp);    </div>
-<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;  rijndael_encrypt(ctx, A, S);</div>
-<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;  <a class="code" href="global_8h.html#a6c31c5d8a0fe09547a192100d2a00dc5">memxor</a>(msg, S, len);</div>
-<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;}</div>
-<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;</div>
-<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00162"></a><span class="lineno"><a class="line" href="ccm_8c.html#af90d9a6bdae478b53926bf6f1bd6c9d5">  162</a></span>&#160;<a class="code" href="ccm_8c.html#af90d9a6bdae478b53926bf6f1bd6c9d5">mac</a>(rijndael_ctx *ctx, </div>
-<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *msg, <span class="keywordtype">size_t</span> len,</div>
-<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> B[<a class="code" href="ccm_8h.html#a5c46c97c6c3ef5d4e5bd616dbd064859">DTLS_CCM_BLOCKSIZE</a>],</div>
-<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> X[DTLS_CCM_BLOCKSIZE]) {</div>
-<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;  <span class="keywordtype">size_t</span> i;</div>
-<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;</div>
-<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;  <span class="keywordflow">for</span> (i = 0; i &lt; len; ++i)</div>
-<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;    B[i] = X[i] ^ msg[i];</div>
-<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;</div>
-<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;  rijndael_encrypt(ctx, B, X);</div>
-<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;</div>
-<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;}</div>
-<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;</div>
-<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;<span class="keywordtype">long</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00176"></a><span class="lineno"><a class="line" href="ccm_8h.html#a40f4f23b5687e18dc1bce1c19101da42">  176</a></span>&#160;<a class="code" href="ccm_8c.html#a40f4f23b5687e18dc1bce1c19101da42">dtls_ccm_encrypt_message</a>(rijndael_ctx *ctx, <span class="keywordtype">size_t</span> M, <span class="keywordtype">size_t</span> L, </div>
-<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;             <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> nonce[<a class="code" href="ccm_8h.html#a5c46c97c6c3ef5d4e5bd616dbd064859">DTLS_CCM_BLOCKSIZE</a>], </div>
-<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;             <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *msg, <span class="keywordtype">size_t</span> lm, </div>
-<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;             <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *aad, <span class="keywordtype">size_t</span> la) {</div>
-<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;  <span class="keywordtype">size_t</span> i, len;</div>
-<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> counter_tmp;</div>
-<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> counter = 1; <span class="comment">/* \bug does not work correctly on ia32 when</span></div>
-<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;<span class="comment">                         lm &gt;= 2^16 */</span></div>
-<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> A[<a class="code" href="ccm_8h.html#a5c46c97c6c3ef5d4e5bd616dbd064859">DTLS_CCM_BLOCKSIZE</a>]; <span class="comment">/* A_i blocks for encryption input */</span></div>
-<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> B[<a class="code" href="ccm_8h.html#a5c46c97c6c3ef5d4e5bd616dbd064859">DTLS_CCM_BLOCKSIZE</a>]; <span class="comment">/* B_i blocks for CBC-MAC input */</span></div>
-<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> S[<a class="code" href="ccm_8h.html#a5c46c97c6c3ef5d4e5bd616dbd064859">DTLS_CCM_BLOCKSIZE</a>]; <span class="comment">/* S_i = encrypted A_i blocks */</span></div>
-<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> X[<a class="code" href="ccm_8h.html#a5c46c97c6c3ef5d4e5bd616dbd064859">DTLS_CCM_BLOCKSIZE</a>]; <span class="comment">/* X_i = encrypted B_i blocks */</span></div>
-<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;</div>
-<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;  len = lm;         <span class="comment">/* save original length */</span></div>
-<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;  <span class="comment">/* create the initial authentication block B0 */</span></div>
-<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;  <a class="code" href="ccm_8c.html#a1dfe92428f63772e3907a26435e54354">block0</a>(M, L, la, lm, nonce, B);</div>
-<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;  <a class="code" href="ccm_8c.html#a59faf5a2a638dc03c01605d4bebe0bcc">add_auth_data</a>(ctx, aad, la, B, X);</div>
-<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;</div>
-<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;  <span class="comment">/* initialize block template */</span></div>
-<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;  A[0] = L-1;</div>
-<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;</div>
-<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;  <span class="comment">/* copy the nonce */</span></div>
-<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;  memcpy(A + 1, nonce, DTLS_CCM_BLOCKSIZE - L);</div>
-<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;  </div>
-<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;  <span class="keywordflow">while</span> (lm &gt;= DTLS_CCM_BLOCKSIZE) {</div>
-<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;    <span class="comment">/* calculate MAC */</span></div>
-<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;    <a class="code" href="ccm_8c.html#af90d9a6bdae478b53926bf6f1bd6c9d5">mac</a>(ctx, msg, DTLS_CCM_BLOCKSIZE, B, X);</div>
-<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;</div>
-<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;    <span class="comment">/* encrypt */</span></div>
-<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;    <a class="code" href="ccm_8c.html#a983462ca57ee8fe54249c77281f6559e">encrypt</a>(ctx, L, counter, msg, DTLS_CCM_BLOCKSIZE, A, S);</div>
-<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;</div>
-<div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;    <span class="comment">/* update local pointers */</span></div>
-<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;    lm -= <a class="code" href="ccm_8h.html#a5c46c97c6c3ef5d4e5bd616dbd064859">DTLS_CCM_BLOCKSIZE</a>;</div>
-<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;    msg += <a class="code" href="ccm_8h.html#a5c46c97c6c3ef5d4e5bd616dbd064859">DTLS_CCM_BLOCKSIZE</a>;</div>
-<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;    counter++;</div>
-<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;  }</div>
-<div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;</div>
-<div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;  <span class="keywordflow">if</span> (lm) {</div>
-<div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;    <span class="comment">/* Calculate MAC. The remainder of B must be padded with zeroes, so</span></div>
-<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;<span class="comment">     * B is constructed to contain X ^ msg for the first lm bytes (done in</span></div>
-<div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;<span class="comment">     * mac() and X ^ 0 for the remaining DTLS_CCM_BLOCKSIZE - lm bytes</span></div>
-<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;<span class="comment">     * (i.e., we can use memcpy() here).</span></div>
-<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="comment">     */</span></div>
-<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;    memcpy(B + lm, X + lm, DTLS_CCM_BLOCKSIZE - lm);</div>
-<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;    <a class="code" href="ccm_8c.html#af90d9a6bdae478b53926bf6f1bd6c9d5">mac</a>(ctx, msg, lm, B, X);</div>
-<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;</div>
-<div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;    <span class="comment">/* encrypt */</span></div>
-<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;    <a class="code" href="ccm_8c.html#a983462ca57ee8fe54249c77281f6559e">encrypt</a>(ctx, L, counter, msg, lm, A, S);</div>
-<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;</div>
-<div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;    <span class="comment">/* update local pointers */</span></div>
-<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;    msg += lm;</div>
-<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;  }</div>
-<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;  </div>
-<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;  <span class="comment">/* calculate S_0 */</span>  </div>
-<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;  <a class="code" href="ccm_8c.html#a13d9e1fa611f50a7176fd6da7b1b4994">SET_COUNTER</a>(A, L, 0, counter_tmp);</div>
-<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;  rijndael_encrypt(ctx, A, S);</div>
-<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;</div>
-<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;  <span class="keywordflow">for</span> (i = 0; i &lt; M; ++i)</div>
-<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;    *msg++ = X[i] ^ S[i];</div>
-<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;</div>
-<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;  <span class="keywordflow">return</span> len + M;</div>
-<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;}</div>
-<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;</div>
-<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;<span class="keywordtype">long</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00240"></a><span class="lineno"><a class="line" href="ccm_8h.html#aa3e92bdeca1d0730d48b8a85181d5b6d">  240</a></span>&#160;<a class="code" href="ccm_8c.html#aa3e92bdeca1d0730d48b8a85181d5b6d">dtls_ccm_decrypt_message</a>(rijndael_ctx *ctx, <span class="keywordtype">size_t</span> M, <span class="keywordtype">size_t</span> L,</div>
-<div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;             <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> nonce[<a class="code" href="ccm_8h.html#a5c46c97c6c3ef5d4e5bd616dbd064859">DTLS_CCM_BLOCKSIZE</a>], </div>
-<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;             <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *msg, <span class="keywordtype">size_t</span> lm, </div>
-<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;             <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *aad, <span class="keywordtype">size_t</span> la) {</div>
-<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;  </div>
-<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;  <span class="keywordtype">size_t</span> len;</div>
-<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> counter_tmp;</div>
-<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> counter = 1; <span class="comment">/* \bug does not work correctly on ia32 when</span></div>
-<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;<span class="comment">                         lm &gt;= 2^16 */</span></div>
-<div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> A[<a class="code" href="ccm_8h.html#a5c46c97c6c3ef5d4e5bd616dbd064859">DTLS_CCM_BLOCKSIZE</a>]; <span class="comment">/* A_i blocks for encryption input */</span></div>
-<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> B[<a class="code" href="ccm_8h.html#a5c46c97c6c3ef5d4e5bd616dbd064859">DTLS_CCM_BLOCKSIZE</a>]; <span class="comment">/* B_i blocks for CBC-MAC input */</span></div>
-<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> S[<a class="code" href="ccm_8h.html#a5c46c97c6c3ef5d4e5bd616dbd064859">DTLS_CCM_BLOCKSIZE</a>]; <span class="comment">/* S_i = encrypted A_i blocks */</span></div>
-<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> X[<a class="code" href="ccm_8h.html#a5c46c97c6c3ef5d4e5bd616dbd064859">DTLS_CCM_BLOCKSIZE</a>]; <span class="comment">/* X_i = encrypted B_i blocks */</span></div>
-<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;</div>
-<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;  <span class="keywordflow">if</span> (lm &lt; M)</div>
-<div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;    <span class="keywordflow">goto</span> error;</div>
-<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;</div>
-<div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;  len = lm;       <span class="comment">/* save original length */</span></div>
-<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;  lm -= M;        <span class="comment">/* detract MAC size*/</span></div>
-<div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;</div>
-<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;  <span class="comment">/* create the initial authentication block B0 */</span></div>
-<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;  <a class="code" href="ccm_8c.html#a1dfe92428f63772e3907a26435e54354">block0</a>(M, L, la, lm, nonce, B);</div>
-<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;  <a class="code" href="ccm_8c.html#a59faf5a2a638dc03c01605d4bebe0bcc">add_auth_data</a>(ctx, aad, la, B, X);</div>
-<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;</div>
-<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;  <span class="comment">/* initialize block template */</span></div>
-<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;  A[0] = L-1;</div>
-<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;</div>
-<div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;  <span class="comment">/* copy the nonce */</span></div>
-<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;  memcpy(A + 1, nonce, DTLS_CCM_BLOCKSIZE - L);</div>
-<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;  </div>
-<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;  <span class="keywordflow">while</span> (lm &gt;= DTLS_CCM_BLOCKSIZE) {</div>
-<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;    <span class="comment">/* decrypt */</span></div>
-<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;    <a class="code" href="ccm_8c.html#a983462ca57ee8fe54249c77281f6559e">encrypt</a>(ctx, L, counter, msg, DTLS_CCM_BLOCKSIZE, A, S);</div>
-<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;    </div>
-<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;    <span class="comment">/* calculate MAC */</span></div>
-<div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;    <a class="code" href="ccm_8c.html#af90d9a6bdae478b53926bf6f1bd6c9d5">mac</a>(ctx, msg, DTLS_CCM_BLOCKSIZE, B, X);</div>
-<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;</div>
-<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;    <span class="comment">/* update local pointers */</span></div>
-<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;    lm -= <a class="code" href="ccm_8h.html#a5c46c97c6c3ef5d4e5bd616dbd064859">DTLS_CCM_BLOCKSIZE</a>;</div>
-<div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;    msg += <a class="code" href="ccm_8h.html#a5c46c97c6c3ef5d4e5bd616dbd064859">DTLS_CCM_BLOCKSIZE</a>;</div>
-<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;    counter++;</div>
-<div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;  }</div>
-<div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;</div>
-<div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;  <span class="keywordflow">if</span> (lm) {</div>
-<div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;    <span class="comment">/* decrypt */</span></div>
-<div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;    <a class="code" href="ccm_8c.html#a983462ca57ee8fe54249c77281f6559e">encrypt</a>(ctx, L, counter, msg, lm, A, S);</div>
-<div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;</div>
-<div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;    <span class="comment">/* Calculate MAC. Note that msg ends in the MAC so we must</span></div>
-<div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;<span class="comment">     * construct B to contain X ^ msg for the first lm bytes (done in</span></div>
-<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;<span class="comment">     * mac() and X ^ 0 for the remaining DTLS_CCM_BLOCKSIZE - lm bytes</span></div>
-<div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;<span class="comment">     * (i.e., we can use memcpy() here).</span></div>
-<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;<span class="comment">     */</span></div>
-<div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;    memcpy(B + lm, X + lm, DTLS_CCM_BLOCKSIZE - lm);</div>
-<div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;    <a class="code" href="ccm_8c.html#af90d9a6bdae478b53926bf6f1bd6c9d5">mac</a>(ctx, msg, lm, B, X); </div>
-<div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;</div>
-<div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;    <span class="comment">/* update local pointers */</span></div>
-<div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;    msg += lm;</div>
-<div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;  }</div>
-<div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;  </div>
-<div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;  <span class="comment">/* calculate S_0 */</span>  </div>
-<div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;  <a class="code" href="ccm_8c.html#a13d9e1fa611f50a7176fd6da7b1b4994">SET_COUNTER</a>(A, L, 0, counter_tmp);</div>
-<div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;  rijndael_encrypt(ctx, A, S);</div>
-<div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;</div>
-<div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;  <a class="code" href="global_8h.html#a6c31c5d8a0fe09547a192100d2a00dc5">memxor</a>(msg, S, M);</div>
-<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;</div>
-<div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;  <span class="comment">/* return length if MAC is valid, otherwise continue with error handling */</span></div>
-<div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;  <span class="keywordflow">if</span> (<a class="code" href="global_8h.html#a8277c276ecd5cd2f998f08fd344d90ef">equals</a>(X, msg, M))</div>
-<div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;    <span class="keywordflow">return</span> len - M;</div>
-<div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;  </div>
-<div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160; error:</div>
-<div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;  <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;}</div>
-<div class="ttc" id="ccm_8c_html_a1dfe92428f63772e3907a26435e54354"><div class="ttname"><a href="ccm_8c.html#a1dfe92428f63772e3907a26435e54354">block0</a></div><div class="ttdeci">static void block0(size_t M, size_t L, size_t la, size_t lm, unsigned char nonce[DTLS_CCM_BLOCKSIZE], unsigned char *result)</div><div class="ttdef"><b>Definition:</b> <a href="ccm_8c_source.html#l00050">ccm.c:50</a></div></div>
-<div class="ttc" id="dtls__config_8h_html"><div class="ttname"><a href="dtls__config_8h.html">dtls_config.h</a></div></div>
-<div class="ttc" id="ccm_8c_html_aa3e92bdeca1d0730d48b8a85181d5b6d"><div class="ttname"><a href="ccm_8c.html#aa3e92bdeca1d0730d48b8a85181d5b6d">dtls_ccm_decrypt_message</a></div><div class="ttdeci">long int dtls_ccm_decrypt_message(rijndael_ctx *ctx, size_t M, size_t L, unsigned char nonce[DTLS_CCM_BLOCKSIZE], unsigned char *msg, size_t lm, const unsigned char *aad, size_t la)</div><div class="ttdef"><b>Definition:</b> <a href="ccm_8c_source.html#l00240">ccm.c:240</a></div></div>
-<div class="ttc" id="debug_8c_html_ac6afabdc09a49a433ee19d8a9486056d"><div class="ttname"><a href="debug_8c.html#ac6afabdc09a49a433ee19d8a9486056d">min</a></div><div class="ttdeci">#define min(a, b)</div><div class="ttdef"><b>Definition:</b> <a href="debug_8c_source.html#l00114">debug.c:114</a></div></div>
-<div class="ttc" id="global_8h_html_a6c31c5d8a0fe09547a192100d2a00dc5"><div class="ttname"><a href="global_8h.html#a6c31c5d8a0fe09547a192100d2a00dc5">memxor</a></div><div class="ttdeci">static void memxor(unsigned char *x, const unsigned char *y, size_t n)</div><div class="ttdef"><b>Definition:</b> <a href="global_8h_source.html#l00109">global.h:109</a></div></div>
-<div class="ttc" id="ccm_8c_html_a983462ca57ee8fe54249c77281f6559e"><div class="ttname"><a href="ccm_8c.html#a983462ca57ee8fe54249c77281f6559e">encrypt</a></div><div class="ttdeci">static void encrypt(rijndael_ctx *ctx, size_t L, unsigned long counter, unsigned char *msg, size_t len, unsigned char A[DTLS_CCM_BLOCKSIZE], unsigned char S[DTLS_CCM_BLOCKSIZE])</div><div class="ttdef"><b>Definition:</b> <a href="ccm_8c_source.html#l00149">ccm.c:149</a></div></div>
-<div class="ttc" id="global_8h_html"><div class="ttname"><a href="global_8h.html">global.h</a></div></div>
-<div class="ttc" id="ccm_8c_html_a18f6fffa08314e79c95e2de10e7409cb"><div class="ttname"><a href="ccm_8c.html#a18f6fffa08314e79c95e2de10e7409cb">CCM_FLAGS</a></div><div class="ttdeci">#define CCM_FLAGS(A, M, L)</div><div class="ttdef"><b>Definition:</b> <a href="ccm_8c_source.html#l00037">ccm.c:37</a></div></div>
-<div class="ttc" id="ccm_8c_html_a40f4f23b5687e18dc1bce1c19101da42"><div class="ttname"><a href="ccm_8c.html#a40f4f23b5687e18dc1bce1c19101da42">dtls_ccm_encrypt_message</a></div><div class="ttdeci">long int dtls_ccm_encrypt_message(rijndael_ctx *ctx, size_t M, size_t L, unsigned char nonce[DTLS_CCM_BLOCKSIZE], unsigned char *msg, size_t lm, const unsigned char *aad, size_t la)</div><div class="ttdef"><b>Definition:</b> <a href="ccm_8c_source.html#l00176">ccm.c:176</a></div></div>
-<div class="ttc" id="numeric_8h_html_ab4d80395fb7f4118dfcb101ae94a5e93"><div class="ttname"><a href="numeric_8h.html#ab4d80395fb7f4118dfcb101ae94a5e93">dtls_int_to_uint64</a></div><div class="ttdeci">static int dtls_int_to_uint64(unsigned char *field, uint64_t value)</div><div class="ttdef"><b>Definition:</b> <a href="numeric_8h_source.html#l00081">numeric.h:81</a></div></div>
-<div class="ttc" id="numeric_8h_html_a074d352855e1ffde4c2ddb6a6fea01b9"><div class="ttname"><a href="numeric_8h.html#a074d352855e1ffde4c2ddb6a6fea01b9">dtls_int_to_uint16</a></div><div class="ttdeci">static int dtls_int_to_uint16(unsigned char *field, uint16_t value)</div><div class="ttdef"><b>Definition:</b> <a href="numeric_8h_source.html#l00046">numeric.h:46</a></div></div>
-<div class="ttc" id="ccm_8c_html_a59faf5a2a638dc03c01605d4bebe0bcc"><div class="ttname"><a href="ccm_8c.html#a59faf5a2a638dc03c01605d4bebe0bcc">add_auth_data</a></div><div class="ttdeci">static void add_auth_data(rijndael_ctx *ctx, const unsigned char *msg, size_t la, unsigned char B[DTLS_CCM_BLOCKSIZE], unsigned char X[DTLS_CCM_BLOCKSIZE])</div><div class="ttdef"><b>Definition:</b> <a href="ccm_8c_source.html#l00084">ccm.c:84</a></div></div>
-<div class="ttc" id="numeric_8h_html_a6914ee523b27539f4e441bede8c072b4"><div class="ttname"><a href="numeric_8h.html#a6914ee523b27539f4e441bede8c072b4">dtls_int_to_uint32</a></div><div class="ttdeci">static int dtls_int_to_uint32(unsigned char *field, uint32_t value)</div><div class="ttdef"><b>Definition:</b> <a href="numeric_8h_source.html#l00061">numeric.h:61</a></div></div>
-<div class="ttc" id="ccm_8c_html_af90d9a6bdae478b53926bf6f1bd6c9d5"><div class="ttname"><a href="ccm_8c.html#af90d9a6bdae478b53926bf6f1bd6c9d5">mac</a></div><div class="ttdeci">static void mac(rijndael_ctx *ctx, unsigned char *msg, size_t len, unsigned char B[DTLS_CCM_BLOCKSIZE], unsigned char X[DTLS_CCM_BLOCKSIZE])</div><div class="ttdef"><b>Definition:</b> <a href="ccm_8c_source.html#l00162">ccm.c:162</a></div></div>
-<div class="ttc" id="ccm_8h_html_a5c46c97c6c3ef5d4e5bd616dbd064859"><div class="ttname"><a href="ccm_8h.html#a5c46c97c6c3ef5d4e5bd616dbd064859">DTLS_CCM_BLOCKSIZE</a></div><div class="ttdeci">#define DTLS_CCM_BLOCKSIZE</div><div class="ttdef"><b>Definition:</b> <a href="ccm_8h_source.html#l00033">ccm.h:33</a></div></div>
-<div class="ttc" id="global_8h_html_a8277c276ecd5cd2f998f08fd344d90ef"><div class="ttname"><a href="global_8h.html#a8277c276ecd5cd2f998f08fd344d90ef">equals</a></div><div class="ttdeci">static int equals(unsigned char *a, unsigned char *b, size_t len)</div><div class="ttdef"><b>Definition:</b> <a href="global_8h_source.html#l00127">global.h:127</a></div></div>
-<div class="ttc" id="numeric_8h_html"><div class="ttname"><a href="numeric_8h.html">numeric.h</a></div></div>
-<div class="ttc" id="ccm_8c_html_a13d9e1fa611f50a7176fd6da7b1b4994"><div class="ttname"><a href="ccm_8c.html#a13d9e1fa611f50a7176fd6da7b1b4994">SET_COUNTER</a></div><div class="ttdeci">#define SET_COUNTER(A, L, cnt, C)</div><div class="ttdef"><b>Definition:</b> <a href="ccm_8c_source.html#l00041">ccm.c:41</a></div></div>
-<div class="ttc" id="ccm_8h_html"><div class="ttname"><a href="ccm_8h.html">ccm.h</a></div></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/ccm_8h.html b/external/wakaama/examples/shared/tinydtls/doc/html/ccm_8h.html
deleted file mode 100644 (file)
index 5c2bfb5..0000000
+++ /dev/null
@@ -1,309 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: ccm.h File Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#define-members">Macros</a> &#124;
-<a href="#func-members">Functions</a>  </div>
-  <div class="headertitle">
-<div class="title">ccm.h File Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock"><code>#include &quot;aes/rijndael.h&quot;</code><br/>
-</div>
-<p><a href="ccm_8h_source.html">Go to the source code of this file.</a></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
-Macros</h2></td></tr>
-<tr class="memitem:a5c46c97c6c3ef5d4e5bd616dbd064859"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ccm_8h.html#a5c46c97c6c3ef5d4e5bd616dbd064859">DTLS_CCM_BLOCKSIZE</a>&#160;&#160;&#160;16</td></tr>
-<tr class="separator:a5c46c97c6c3ef5d4e5bd616dbd064859"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a84305b079fda12bfa1323b41b3c50849"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ccm_8h.html#a84305b079fda12bfa1323b41b3c50849">DTLS_CCM_MAX</a>&#160;&#160;&#160;16</td></tr>
-<tr class="separator:a84305b079fda12bfa1323b41b3c50849"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2d0e7515c26737872fe840958ed140ac"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ccm_8h.html#a2d0e7515c26737872fe840958ed140ac">DTLS_CCM_NONCE_SIZE</a>&#160;&#160;&#160;12</td></tr>
-<tr class="separator:a2d0e7515c26737872fe840958ed140ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:a40f4f23b5687e18dc1bce1c19101da42"><td class="memItemLeft" align="right" valign="top">long int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ccm_8h.html#a40f4f23b5687e18dc1bce1c19101da42">dtls_ccm_encrypt_message</a> (rijndael_ctx *ctx, size_t M, size_t L, unsigned char nonce[<a class="el" href="ccm_8h.html#a5c46c97c6c3ef5d4e5bd616dbd064859">DTLS_CCM_BLOCKSIZE</a>], unsigned char *msg, size_t lm, const unsigned char *aad, size_t la)</td></tr>
-<tr class="separator:a40f4f23b5687e18dc1bce1c19101da42"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa3e92bdeca1d0730d48b8a85181d5b6d"><td class="memItemLeft" align="right" valign="top">long int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ccm_8h.html#aa3e92bdeca1d0730d48b8a85181d5b6d">dtls_ccm_decrypt_message</a> (rijndael_ctx *ctx, size_t M, size_t L, unsigned char nonce[<a class="el" href="ccm_8h.html#a5c46c97c6c3ef5d4e5bd616dbd064859">DTLS_CCM_BLOCKSIZE</a>], unsigned char *msg, size_t lm, const unsigned char *aad, size_t la)</td></tr>
-<tr class="separator:aa3e92bdeca1d0730d48b8a85181d5b6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<h2 class="groupheader">Macro Definition Documentation</h2>
-<a class="anchor" id="a5c46c97c6c3ef5d4e5bd616dbd064859"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DTLS_CCM_BLOCKSIZE&#160;&#160;&#160;16</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>size of hmac blocks </p>
-
-<p>Definition at line <a class="el" href="ccm_8h_source.html#l00033">33</a> of file <a class="el" href="ccm_8h_source.html">ccm.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a84305b079fda12bfa1323b41b3c50849"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DTLS_CCM_MAX&#160;&#160;&#160;16</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>max number of bytes in digest </p>
-
-<p>Definition at line <a class="el" href="ccm_8h_source.html#l00034">34</a> of file <a class="el" href="ccm_8h_source.html">ccm.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a2d0e7515c26737872fe840958ed140ac"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DTLS_CCM_NONCE_SIZE&#160;&#160;&#160;12</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>size of nonce </p>
-
-<p>Definition at line <a class="el" href="ccm_8h_source.html#l00035">35</a> of file <a class="el" href="ccm_8h_source.html">ccm.h</a>.</p>
-
-</div>
-</div>
-<h2 class="groupheader">Function Documentation</h2>
-<a class="anchor" id="aa3e92bdeca1d0730d48b8a85181d5b6d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">long int dtls_ccm_decrypt_message </td>
-          <td>(</td>
-          <td class="paramtype">rijndael_ctx *&#160;</td>
-          <td class="paramname"><em>ctx</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>M</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>L</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">unsigned char&#160;</td>
-          <td class="paramname"><em>nonce</em>[DTLS_CCM_BLOCKSIZE], </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">unsigned char *&#160;</td>
-          <td class="paramname"><em>msg</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>lm</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>aad</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>la</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="ccm_8c_source.html#l00240">240</a> of file <a class="el" href="ccm_8c_source.html">ccm.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a40f4f23b5687e18dc1bce1c19101da42"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">long int dtls_ccm_encrypt_message </td>
-          <td>(</td>
-          <td class="paramtype">rijndael_ctx *&#160;</td>
-          <td class="paramname"><em>ctx</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>M</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>L</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">unsigned char&#160;</td>
-          <td class="paramname"><em>nonce</em>[DTLS_CCM_BLOCKSIZE], </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">unsigned char *&#160;</td>
-          <td class="paramname"><em>msg</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>lm</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>aad</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>la</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Authenticates and encrypts a message using AES in CCM mode. Please see also RFC 3610 for the meaning of <code>M</code>, <code>L</code>, <code>lm</code> and <code>la</code>.</p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">ctx</td><td>The initialized rijndael_ctx object to be used for AES operations. </td></tr>
-    <tr><td class="paramname">M</td><td>The number of authentication octets. </td></tr>
-    <tr><td class="paramname">L</td><td>The number of bytes used to encode the message length. </td></tr>
-    <tr><td class="paramname">N</td><td>The nonce value to use. You must provide <code>DTLS_CCM_BLOCKSIZE</code> nonce octets, although only the first <code>16</code> - <code>L</code> are used. </td></tr>
-    <tr><td class="paramname">msg</td><td>The message to encrypt. The first <code>la</code> octets are additional authentication data that will be cleartext. Note that the encryption operation modifies the contents of <code>msg</code> and adds <code>M</code> bytes MAC. Therefore, the buffer must be at least <code>lm</code> + <code>M</code> bytes large. </td></tr>
-    <tr><td class="paramname">lm</td><td>The actual length of <code>msg</code>. </td></tr>
-    <tr><td class="paramname">aad</td><td>A pointer to the additional authentication data (can be <code>NULL</code> if <code>la</code> is zero). </td></tr>
-    <tr><td class="paramname">la</td><td>The number of additional authentication octets (may be zero). </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>FIXME </dd></dl>
-
-<p>Definition at line <a class="el" href="ccm_8c_source.html#l00176">176</a> of file <a class="el" href="ccm_8c_source.html">ccm.c</a>.</p>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/ccm_8h_source.html b/external/wakaama/examples/shared/tinydtls/doc/html/ccm_8h_source.html
deleted file mode 100644 (file)
index 5e85364..0000000
+++ /dev/null
@@ -1,147 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: ccm.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="header">
-  <div class="headertitle">
-<div class="title">ccm.h</div>  </div>
-</div><!--header-->
-<div class="contents">
-<a href="ccm_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/* dtls -- a very basic DTLS implementation</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> * Copyright (C) 2011--2012 Olaf Bergmann &lt;bergmann@tzi.org&gt;</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> * Permission is hereby granted, free of charge, to any person</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> * obtaining a copy of this software and associated documentation</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> * files (the &quot;Software&quot;), to deal in the Software without</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> * restriction, including without limitation the rights to use, copy,</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> * modify, merge, publish, distribute, sublicense, and/or sell copies</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> * of the Software, and to permit persons to whom the Software is</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * furnished to do so, subject to the following conditions:</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * The above copyright notice and this permission notice shall be</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * included in all copies or substantial portions of the Software.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> * THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND,</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment"> * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment"> * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment"> * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment"> * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment"> * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment"> * SOFTWARE.</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div>
-<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#ifndef _DTLS_CCM_H_</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define _DTLS_CCM_H_</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &quot;aes/rijndael.h&quot;</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div>
-<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment">/* implementation of Counter Mode CBC-MAC, RFC 3610 */</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div>
-<div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="ccm_8h.html#a5c46c97c6c3ef5d4e5bd616dbd064859">   33</a></span>&#160;<span class="preprocessor">#define DTLS_CCM_BLOCKSIZE  16  </span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"><a class="line" href="ccm_8h.html#a84305b079fda12bfa1323b41b3c50849">   34</a></span>&#160;<span class="preprocessor">#define DTLS_CCM_MAX        16  </span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="ccm_8h.html#a2d0e7515c26737872fe840958ed140ac">   35</a></span>&#160;<span class="preprocessor">#define DTLS_CCM_NONCE_SIZE 12  </span></div>
-<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">long int</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor"></span><a class="code" href="ccm_8h.html#a40f4f23b5687e18dc1bce1c19101da42">dtls_ccm_encrypt_message</a>(rijndael_ctx *ctx, <span class="keywordtype">size_t</span> M, <span class="keywordtype">size_t</span> L, </div>
-<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;             <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> nonce[<a class="code" href="ccm_8h.html#a5c46c97c6c3ef5d4e5bd616dbd064859">DTLS_CCM_BLOCKSIZE</a>], </div>
-<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;             <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *msg, <span class="keywordtype">size_t</span> lm, </div>
-<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;             <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *aad, <span class="keywordtype">size_t</span> la);</div>
-<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;</div>
-<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keywordtype">long</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<a class="code" href="ccm_8h.html#aa3e92bdeca1d0730d48b8a85181d5b6d">dtls_ccm_decrypt_message</a>(rijndael_ctx *ctx, <span class="keywordtype">size_t</span> M, <span class="keywordtype">size_t</span> L, </div>
-<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;             <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> nonce[<a class="code" href="ccm_8h.html#a5c46c97c6c3ef5d4e5bd616dbd064859">DTLS_CCM_BLOCKSIZE</a>], </div>
-<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;             <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *msg, <span class="keywordtype">size_t</span> lm, </div>
-<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;             <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *aad, <span class="keywordtype">size_t</span> la);</div>
-<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div>
-<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* _DTLS_CCM_H_ */</span><span class="preprocessor"></span></div>
-<div class="ttc" id="ccm_8h_html_a40f4f23b5687e18dc1bce1c19101da42"><div class="ttname"><a href="ccm_8h.html#a40f4f23b5687e18dc1bce1c19101da42">dtls_ccm_encrypt_message</a></div><div class="ttdeci">long int dtls_ccm_encrypt_message(rijndael_ctx *ctx, size_t M, size_t L, unsigned char nonce[DTLS_CCM_BLOCKSIZE], unsigned char *msg, size_t lm, const unsigned char *aad, size_t la)</div><div class="ttdef"><b>Definition:</b> <a href="ccm_8c_source.html#l00176">ccm.c:176</a></div></div>
-<div class="ttc" id="ccm_8h_html_aa3e92bdeca1d0730d48b8a85181d5b6d"><div class="ttname"><a href="ccm_8h.html#aa3e92bdeca1d0730d48b8a85181d5b6d">dtls_ccm_decrypt_message</a></div><div class="ttdeci">long int dtls_ccm_decrypt_message(rijndael_ctx *ctx, size_t M, size_t L, unsigned char nonce[DTLS_CCM_BLOCKSIZE], unsigned char *msg, size_t lm, const unsigned char *aad, size_t la)</div><div class="ttdef"><b>Definition:</b> <a href="ccm_8c_source.html#l00240">ccm.c:240</a></div></div>
-<div class="ttc" id="ccm_8h_html_a5c46c97c6c3ef5d4e5bd616dbd064859"><div class="ttname"><a href="ccm_8h.html#a5c46c97c6c3ef5d4e5bd616dbd064859">DTLS_CCM_BLOCKSIZE</a></div><div class="ttdeci">#define DTLS_CCM_BLOCKSIZE</div><div class="ttdef"><b>Definition:</b> <a href="ccm_8h_source.html#l00033">ccm.h:33</a></div></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/classes.html b/external/wakaama/examples/shared/tinydtls/doc/html/classes.html
deleted file mode 100644 (file)
index 5458686..0000000
+++ /dev/null
@@ -1,115 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: Data Structure Index</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li><a href="functions.html"><span>Data&#160;Fields</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="header">
-  <div class="headertitle">
-<div class="title">Data Structure Index</div>  </div>
-</div><!--header-->
-<div class="contents">
-<div class="qindex"><a class="qindex" href="#letter_A">A</a>&#160;|&#160;<a class="qindex" href="#letter_D">D</a>&#160;|&#160;<a class="qindex" href="#letter_L">L</a>&#160;|&#160;<a class="qindex" href="#letter_N">N</a>&#160;|&#160;<a class="qindex" href="#letter_S">S</a>&#160;|&#160;<a class="qindex" href="#letter_U">U</a></div>
-<table style="margin: 10px; white-space: nowrap;" align="center" width="95%" border="0" cellspacing="0" cellpadding="0">
-<tr><td rowspan="2" valign="bottom"><a name="letter_U"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;U&#160;&#160;</div></td></tr></table>
-</td><td rowspan="2" valign="bottom"><a name="letter_d"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;d&#160;&#160;</div></td></tr></table>
-</td><td valign="top"><a class="el" href="structdtls__handshake__parameters__ecdsa__t.html">dtls_handshake_parameters_ecdsa_t</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structdtls__security__parameters__t.html">dtls_security_parameters_t</a>&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_s"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;s&#160;&#160;</div></td></tr></table>
-</td></tr>
-<tr><td valign="top"><a class="el" href="structdtls__handshake__parameters__psk__t.html">dtls_handshake_parameters_psk_t</a>&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_l"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;l&#160;&#160;</div></td></tr></table>
-</td></tr>
-<tr><td valign="top"><a class="el" href="structUT__hash__bucket.html">UT_hash_bucket</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structdtls__cipher__context__t.html">dtls_cipher_context_t</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structdtls__handshake__parameters__t.html">dtls_handshake_parameters_t</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structsession__t.html">session_t</a>&#160;&#160;&#160;</td></tr>
-<tr><td valign="top"><a class="el" href="structUT__hash__handle.html">UT_hash_handle</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structdtls__context__t.html">dtls_context_t</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structdtls__hmac__context__t.html">dtls_hmac_context_t</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structlist.html">list</a>&#160;&#160;&#160;</td><td></td></tr>
-<tr><td valign="top"><a class="el" href="structUT__hash__table.html">UT_hash_table</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structdtls__ecdsa__key__t.html">dtls_ecdsa_key_t</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structdtls__hs__state__t.html">dtls_hs_state_t</a>&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_n"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;n&#160;&#160;</div></td></tr></table>
-</td><td></td></tr>
-<tr><td rowspan="2" valign="bottom"><a name="letter_a"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;a&#160;&#160;</div></td></tr></table>
-</td><td valign="top"><a class="el" href="structdtls__handler__t.html">dtls_handler_t</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structdtls__peer__t.html">dtls_peer_t</a>&#160;&#160;&#160;</td><td></td></tr>
-<tr><td></td><td></td><td valign="top"><a class="el" href="structnetq__t.html">netq_t</a>&#160;&#160;&#160;</td><td></td></tr>
-<tr><td valign="top"><a class="el" href="structaes128__ccm__t.html">aes128_ccm_t</a>&#160;&#160;&#160;</td><td></td><td></td><td></td><td></td></tr>
-<tr><td></td><td></td><td></td><td></td><td></td></tr>
-</table>
-<div class="qindex"><a class="qindex" href="#letter_A">A</a>&#160;|&#160;<a class="qindex" href="#letter_D">D</a>&#160;|&#160;<a class="qindex" href="#letter_L">L</a>&#160;|&#160;<a class="qindex" href="#letter_N">N</a>&#160;|&#160;<a class="qindex" href="#letter_S">S</a>&#160;|&#160;<a class="qindex" href="#letter_U">U</a></div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/closed.png b/external/wakaama/examples/shared/tinydtls/doc/html/closed.png
deleted file mode 100644 (file)
index 98cc2c9..0000000
Binary files a/external/wakaama/examples/shared/tinydtls/doc/html/closed.png and /dev/null differ
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/config_8h.html b/external/wakaama/examples/shared/tinydtls/doc/html/config_8h.html
deleted file mode 100644 (file)
index 3a4c923..0000000
+++ /dev/null
@@ -1,649 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: config.h File Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#define-members">Macros</a>  </div>
-  <div class="headertitle">
-<div class="title">config.h File Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p><a href="config_8h_source.html">Go to the source code of this file.</a></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
-Macros</h2></td></tr>
-<tr class="memitem:a7d1a71461e07569d0c9003da24c30a59"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config_8h.html#a7d1a71461e07569d0c9003da24c30a59">HAVE_ARPA_INET_H</a>&#160;&#160;&#160;1</td></tr>
-<tr class="separator:a7d1a71461e07569d0c9003da24c30a59"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad0eabe2e5407bc73450eb15b657983cd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config_8h.html#ad0eabe2e5407bc73450eb15b657983cd">HAVE_ASSERT_H</a>&#160;&#160;&#160;1</td></tr>
-<tr class="separator:ad0eabe2e5407bc73450eb15b657983cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a765d75020849aa0a9b6becd9a5b7a193"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config_8h.html#a765d75020849aa0a9b6becd9a5b7a193">HAVE_FCNTL_H</a>&#160;&#160;&#160;1</td></tr>
-<tr class="separator:a765d75020849aa0a9b6becd9a5b7a193"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab90a030ff2790ebdc176660a6dd2a478"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config_8h.html#ab90a030ff2790ebdc176660a6dd2a478">HAVE_INTTYPES_H</a>&#160;&#160;&#160;1</td></tr>
-<tr class="separator:ab90a030ff2790ebdc176660a6dd2a478"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a14503280ca0cb757db915eea09282bfc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config_8h.html#a14503280ca0cb757db915eea09282bfc">HAVE_MALLOC</a>&#160;&#160;&#160;1</td></tr>
-<tr class="separator:a14503280ca0cb757db915eea09282bfc"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae93a78f9d076138897af441c9f86f285"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config_8h.html#ae93a78f9d076138897af441c9f86f285">HAVE_MEMORY_H</a>&#160;&#160;&#160;1</td></tr>
-<tr class="separator:ae93a78f9d076138897af441c9f86f285"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3df52e9809253860c385be6f3a160607"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config_8h.html#a3df52e9809253860c385be6f3a160607">HAVE_MEMSET</a>&#160;&#160;&#160;1</td></tr>
-<tr class="separator:a3df52e9809253860c385be6f3a160607"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9fe2d1d4726a6b846483a2276866dc6e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config_8h.html#a9fe2d1d4726a6b846483a2276866dc6e">HAVE_NETDB_H</a>&#160;&#160;&#160;1</td></tr>
-<tr class="separator:a9fe2d1d4726a6b846483a2276866dc6e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0938658b988a082864efcee2d1b2bfd2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config_8h.html#a0938658b988a082864efcee2d1b2bfd2">HAVE_NETINET_IN_H</a>&#160;&#160;&#160;1</td></tr>
-<tr class="separator:a0938658b988a082864efcee2d1b2bfd2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aee3a7313d861afa18971031528fd0cd5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config_8h.html#aee3a7313d861afa18971031528fd0cd5">HAVE_SELECT</a>&#160;&#160;&#160;1</td></tr>
-<tr class="separator:aee3a7313d861afa18971031528fd0cd5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4cd6234bfe3f7c10968a1151f43ce280"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config_8h.html#a4cd6234bfe3f7c10968a1151f43ce280">HAVE_SOCKET</a>&#160;&#160;&#160;1</td></tr>
-<tr class="separator:a4cd6234bfe3f7c10968a1151f43ce280"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0e6b9a04ae66b7846715e51a0a2dccff"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config_8h.html#a0e6b9a04ae66b7846715e51a0a2dccff">HAVE_STDDEF_H</a>&#160;&#160;&#160;1</td></tr>
-<tr class="separator:a0e6b9a04ae66b7846715e51a0a2dccff"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab6cd6d1c63c1e26ea2d4537b77148354"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config_8h.html#ab6cd6d1c63c1e26ea2d4537b77148354">HAVE_STDINT_H</a>&#160;&#160;&#160;1</td></tr>
-<tr class="separator:ab6cd6d1c63c1e26ea2d4537b77148354"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9e0e434ec1a6ddbd97db12b5a32905e0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config_8h.html#a9e0e434ec1a6ddbd97db12b5a32905e0">HAVE_STDLIB_H</a>&#160;&#160;&#160;1</td></tr>
-<tr class="separator:a9e0e434ec1a6ddbd97db12b5a32905e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a41b838eb3b86a0ebbd0981e92a759c0f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config_8h.html#a41b838eb3b86a0ebbd0981e92a759c0f">HAVE_STRDUP</a>&#160;&#160;&#160;1</td></tr>
-<tr class="separator:a41b838eb3b86a0ebbd0981e92a759c0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a992653625041edef146772df96f7bca9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config_8h.html#a992653625041edef146772df96f7bca9">HAVE_STRERROR</a>&#160;&#160;&#160;1</td></tr>
-<tr class="separator:a992653625041edef146772df96f7bca9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a405d10d46190bcb0320524c54eafc850"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config_8h.html#a405d10d46190bcb0320524c54eafc850">HAVE_STRINGS_H</a>&#160;&#160;&#160;1</td></tr>
-<tr class="separator:a405d10d46190bcb0320524c54eafc850"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad4c234dd1625255dc626a15886306e7d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config_8h.html#ad4c234dd1625255dc626a15886306e7d">HAVE_STRING_H</a>&#160;&#160;&#160;1</td></tr>
-<tr class="separator:ad4c234dd1625255dc626a15886306e7d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9bee6d8db098b2230690f8e8db9ffb74"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config_8h.html#a9bee6d8db098b2230690f8e8db9ffb74">HAVE_STRNLEN</a>&#160;&#160;&#160;1</td></tr>
-<tr class="separator:a9bee6d8db098b2230690f8e8db9ffb74"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a05aa9fc25e1231d8eb347390558e4e22"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config_8h.html#a05aa9fc25e1231d8eb347390558e4e22">HAVE_SYS_PARAM_H</a>&#160;&#160;&#160;1</td></tr>
-<tr class="separator:a05aa9fc25e1231d8eb347390558e4e22"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:afb96c2bc08ebf33cca68c714f624a58d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config_8h.html#afb96c2bc08ebf33cca68c714f624a58d">HAVE_SYS_SOCKET_H</a>&#160;&#160;&#160;1</td></tr>
-<tr class="separator:afb96c2bc08ebf33cca68c714f624a58d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ace156430ba007d19b4348a950d0c692b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config_8h.html#ace156430ba007d19b4348a950d0c692b">HAVE_SYS_STAT_H</a>&#160;&#160;&#160;1</td></tr>
-<tr class="separator:ace156430ba007d19b4348a950d0c692b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2aae46056558e9d6fef6380f9678ffe3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config_8h.html#a2aae46056558e9d6fef6380f9678ffe3">HAVE_SYS_TIME_H</a>&#160;&#160;&#160;1</td></tr>
-<tr class="separator:a2aae46056558e9d6fef6380f9678ffe3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a69dc70bea5d1f8bd2be9740e974fa666"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config_8h.html#a69dc70bea5d1f8bd2be9740e974fa666">HAVE_SYS_TYPES_H</a>&#160;&#160;&#160;1</td></tr>
-<tr class="separator:a69dc70bea5d1f8bd2be9740e974fa666"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2397007ae170bf57faa808bacaaa2499"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config_8h.html#a2397007ae170bf57faa808bacaaa2499">HAVE_TIME_H</a>&#160;&#160;&#160;1</td></tr>
-<tr class="separator:a2397007ae170bf57faa808bacaaa2499"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a219b06937831d0da94d801ab13987639"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config_8h.html#a219b06937831d0da94d801ab13987639">HAVE_UNISTD_H</a>&#160;&#160;&#160;1</td></tr>
-<tr class="separator:a219b06937831d0da94d801ab13987639"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a11e8ffa0e0ee1d52812402f2eac05fa7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config_8h.html#a11e8ffa0e0ee1d52812402f2eac05fa7">HAVE_VPRINTF</a>&#160;&#160;&#160;1</td></tr>
-<tr class="separator:a11e8ffa0e0ee1d52812402f2eac05fa7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1d1d2d7f8d2f95b376954d649ab03233"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config_8h.html#a1d1d2d7f8d2f95b376954d649ab03233">PACKAGE_BUGREPORT</a>&#160;&#160;&#160;&quot;&quot;</td></tr>
-<tr class="separator:a1d1d2d7f8d2f95b376954d649ab03233"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1c0439e4355794c09b64274849eb0279"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config_8h.html#a1c0439e4355794c09b64274849eb0279">PACKAGE_NAME</a>&#160;&#160;&#160;&quot;tinydtls&quot;</td></tr>
-<tr class="separator:a1c0439e4355794c09b64274849eb0279"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac73e6f903c16eca7710f92e36e1c6fbf"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config_8h.html#ac73e6f903c16eca7710f92e36e1c6fbf">PACKAGE_STRING</a>&#160;&#160;&#160;&quot;tinydtls 0.5.2&quot;</td></tr>
-<tr class="separator:ac73e6f903c16eca7710f92e36e1c6fbf"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af415af6bfede0e8d5453708afe68651c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config_8h.html#af415af6bfede0e8d5453708afe68651c">PACKAGE_TARNAME</a>&#160;&#160;&#160;&quot;tinydtls&quot;</td></tr>
-<tr class="separator:af415af6bfede0e8d5453708afe68651c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5c93853116d5a50307b6744f147840aa"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config_8h.html#a5c93853116d5a50307b6744f147840aa">PACKAGE_URL</a>&#160;&#160;&#160;&quot;&quot;</td></tr>
-<tr class="separator:a5c93853116d5a50307b6744f147840aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa326a05d5e30f9e9a4bb0b4469d5d0c0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config_8h.html#aa326a05d5e30f9e9a4bb0b4469d5d0c0">PACKAGE_VERSION</a>&#160;&#160;&#160;&quot;0.5.2&quot;</td></tr>
-<tr class="separator:aa326a05d5e30f9e9a4bb0b4469d5d0c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a550e5c272cc3cf3814651721167dcd23"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config_8h.html#a550e5c272cc3cf3814651721167dcd23">STDC_HEADERS</a>&#160;&#160;&#160;1</td></tr>
-<tr class="separator:a550e5c272cc3cf3814651721167dcd23"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<h2 class="groupheader">Macro Definition Documentation</h2>
-<a class="anchor" id="a7d1a71461e07569d0c9003da24c30a59"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HAVE_ARPA_INET_H&#160;&#160;&#160;1</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="config_8h_source.html#l00008">8</a> of file <a class="el" href="config_8h_source.html">config.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ad0eabe2e5407bc73450eb15b657983cd"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HAVE_ASSERT_H&#160;&#160;&#160;1</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="config_8h_source.html#l00011">11</a> of file <a class="el" href="config_8h_source.html">config.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a765d75020849aa0a9b6becd9a5b7a193"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HAVE_FCNTL_H&#160;&#160;&#160;1</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="config_8h_source.html#l00014">14</a> of file <a class="el" href="config_8h_source.html">config.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ab90a030ff2790ebdc176660a6dd2a478"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HAVE_INTTYPES_H&#160;&#160;&#160;1</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="config_8h_source.html#l00020">20</a> of file <a class="el" href="config_8h_source.html">config.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a14503280ca0cb757db915eea09282bfc"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HAVE_MALLOC&#160;&#160;&#160;1</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="config_8h_source.html#l00024">24</a> of file <a class="el" href="config_8h_source.html">config.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ae93a78f9d076138897af441c9f86f285"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HAVE_MEMORY_H&#160;&#160;&#160;1</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="config_8h_source.html#l00027">27</a> of file <a class="el" href="config_8h_source.html">config.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a3df52e9809253860c385be6f3a160607"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HAVE_MEMSET&#160;&#160;&#160;1</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="config_8h_source.html#l00030">30</a> of file <a class="el" href="config_8h_source.html">config.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a9fe2d1d4726a6b846483a2276866dc6e"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HAVE_NETDB_H&#160;&#160;&#160;1</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="config_8h_source.html#l00033">33</a> of file <a class="el" href="config_8h_source.html">config.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a0938658b988a082864efcee2d1b2bfd2"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HAVE_NETINET_IN_H&#160;&#160;&#160;1</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="config_8h_source.html#l00036">36</a> of file <a class="el" href="config_8h_source.html">config.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aee3a7313d861afa18971031528fd0cd5"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HAVE_SELECT&#160;&#160;&#160;1</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="config_8h_source.html#l00039">39</a> of file <a class="el" href="config_8h_source.html">config.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a4cd6234bfe3f7c10968a1151f43ce280"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HAVE_SOCKET&#160;&#160;&#160;1</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="config_8h_source.html#l00045">45</a> of file <a class="el" href="config_8h_source.html">config.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a0e6b9a04ae66b7846715e51a0a2dccff"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HAVE_STDDEF_H&#160;&#160;&#160;1</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="config_8h_source.html#l00048">48</a> of file <a class="el" href="config_8h_source.html">config.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ab6cd6d1c63c1e26ea2d4537b77148354"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HAVE_STDINT_H&#160;&#160;&#160;1</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="config_8h_source.html#l00051">51</a> of file <a class="el" href="config_8h_source.html">config.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a9e0e434ec1a6ddbd97db12b5a32905e0"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HAVE_STDLIB_H&#160;&#160;&#160;1</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="config_8h_source.html#l00054">54</a> of file <a class="el" href="config_8h_source.html">config.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a41b838eb3b86a0ebbd0981e92a759c0f"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HAVE_STRDUP&#160;&#160;&#160;1</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="config_8h_source.html#l00057">57</a> of file <a class="el" href="config_8h_source.html">config.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a992653625041edef146772df96f7bca9"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HAVE_STRERROR&#160;&#160;&#160;1</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="config_8h_source.html#l00060">60</a> of file <a class="el" href="config_8h_source.html">config.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ad4c234dd1625255dc626a15886306e7d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HAVE_STRING_H&#160;&#160;&#160;1</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="config_8h_source.html#l00066">66</a> of file <a class="el" href="config_8h_source.html">config.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a405d10d46190bcb0320524c54eafc850"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HAVE_STRINGS_H&#160;&#160;&#160;1</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="config_8h_source.html#l00063">63</a> of file <a class="el" href="config_8h_source.html">config.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a9bee6d8db098b2230690f8e8db9ffb74"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HAVE_STRNLEN&#160;&#160;&#160;1</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="config_8h_source.html#l00069">69</a> of file <a class="el" href="config_8h_source.html">config.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a05aa9fc25e1231d8eb347390558e4e22"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HAVE_SYS_PARAM_H&#160;&#160;&#160;1</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="config_8h_source.html#l00072">72</a> of file <a class="el" href="config_8h_source.html">config.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="afb96c2bc08ebf33cca68c714f624a58d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HAVE_SYS_SOCKET_H&#160;&#160;&#160;1</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="config_8h_source.html#l00075">75</a> of file <a class="el" href="config_8h_source.html">config.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ace156430ba007d19b4348a950d0c692b"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HAVE_SYS_STAT_H&#160;&#160;&#160;1</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="config_8h_source.html#l00078">78</a> of file <a class="el" href="config_8h_source.html">config.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a2aae46056558e9d6fef6380f9678ffe3"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HAVE_SYS_TIME_H&#160;&#160;&#160;1</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="config_8h_source.html#l00081">81</a> of file <a class="el" href="config_8h_source.html">config.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a69dc70bea5d1f8bd2be9740e974fa666"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HAVE_SYS_TYPES_H&#160;&#160;&#160;1</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="config_8h_source.html#l00084">84</a> of file <a class="el" href="config_8h_source.html">config.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a2397007ae170bf57faa808bacaaa2499"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HAVE_TIME_H&#160;&#160;&#160;1</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="config_8h_source.html#l00087">87</a> of file <a class="el" href="config_8h_source.html">config.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a219b06937831d0da94d801ab13987639"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HAVE_UNISTD_H&#160;&#160;&#160;1</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="config_8h_source.html#l00090">90</a> of file <a class="el" href="config_8h_source.html">config.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a11e8ffa0e0ee1d52812402f2eac05fa7"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HAVE_VPRINTF&#160;&#160;&#160;1</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="config_8h_source.html#l00093">93</a> of file <a class="el" href="config_8h_source.html">config.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a1d1d2d7f8d2f95b376954d649ab03233"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PACKAGE_BUGREPORT&#160;&#160;&#160;&quot;&quot;</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="config_8h_source.html#l00096">96</a> of file <a class="el" href="config_8h_source.html">config.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a1c0439e4355794c09b64274849eb0279"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PACKAGE_NAME&#160;&#160;&#160;&quot;tinydtls&quot;</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="config_8h_source.html#l00099">99</a> of file <a class="el" href="config_8h_source.html">config.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ac73e6f903c16eca7710f92e36e1c6fbf"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PACKAGE_STRING&#160;&#160;&#160;&quot;tinydtls 0.5.2&quot;</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="config_8h_source.html#l00102">102</a> of file <a class="el" href="config_8h_source.html">config.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="af415af6bfede0e8d5453708afe68651c"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PACKAGE_TARNAME&#160;&#160;&#160;&quot;tinydtls&quot;</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="config_8h_source.html#l00105">105</a> of file <a class="el" href="config_8h_source.html">config.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a5c93853116d5a50307b6744f147840aa"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PACKAGE_URL&#160;&#160;&#160;&quot;&quot;</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="config_8h_source.html#l00108">108</a> of file <a class="el" href="config_8h_source.html">config.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aa326a05d5e30f9e9a4bb0b4469d5d0c0"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PACKAGE_VERSION&#160;&#160;&#160;&quot;0.5.2&quot;</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="config_8h_source.html#l00111">111</a> of file <a class="el" href="config_8h_source.html">config.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a550e5c272cc3cf3814651721167dcd23"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define STDC_HEADERS&#160;&#160;&#160;1</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="config_8h_source.html#l00114">114</a> of file <a class="el" href="config_8h_source.html">config.h</a>.</p>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/config_8h_source.html b/external/wakaama/examples/shared/tinydtls/doc/html/config_8h_source.html
deleted file mode 100644 (file)
index a4de089..0000000
+++ /dev/null
@@ -1,234 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: config.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="header">
-  <div class="headertitle">
-<div class="title">config.h</div>  </div>
-</div><!--header-->
-<div class="contents">
-<a href="config_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/* config.h.  Generated from config.h.in by configure.  */</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">/* config.h.in.  Generated from configure.in by autoheader.  */</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;</div>
-<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">/* Define if building universal (internal helper macro) */</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">/* #undef AC_APPLE_UNIVERSAL_BUILD */</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;</div>
-<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">/* Define to 1 if you have the &lt;arpa/inet.h&gt; header file. */</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"><a class="line" href="config_8h.html#a7d1a71461e07569d0c9003da24c30a59">    8</a></span>&#160;<span class="preprocessor">#define HAVE_ARPA_INET_H 1</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">/* Define to 1 if you have the &lt;assert.h&gt; header file. */</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"><a class="line" href="config_8h.html#ad0eabe2e5407bc73450eb15b657983cd">   11</a></span>&#160;<span class="preprocessor">#define HAVE_ASSERT_H 1</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">/* Define to 1 if you have the &lt;fcntl.h&gt; header file. */</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"><a class="line" href="config_8h.html#a765d75020849aa0a9b6becd9a5b7a193">   14</a></span>&#160;<span class="preprocessor">#define HAVE_FCNTL_H 1</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">/* Define to 1 if you have the `fls&#39; function. */</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">/* #undef HAVE_FLS */</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;</div>
-<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">/* Define to 1 if you have the &lt;inttypes.h&gt; header file. */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"><a class="line" href="config_8h.html#ab90a030ff2790ebdc176660a6dd2a478">   20</a></span>&#160;<span class="preprocessor">#define HAVE_INTTYPES_H 1</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">/* Define to 1 if your system has a GNU libc compatible `malloc&#39; function, and</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment">   to 0 otherwise. */</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"><a class="line" href="config_8h.html#a14503280ca0cb757db915eea09282bfc">   24</a></span>&#160;<span class="preprocessor">#define HAVE_MALLOC 1</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">/* Define to 1 if you have the &lt;memory.h&gt; header file. */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"><a class="line" href="config_8h.html#ae93a78f9d076138897af441c9f86f285">   27</a></span>&#160;<span class="preprocessor">#define HAVE_MEMORY_H 1</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment">/* Define to 1 if you have the `memset&#39; function. */</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"><a class="line" href="config_8h.html#a3df52e9809253860c385be6f3a160607">   30</a></span>&#160;<span class="preprocessor">#define HAVE_MEMSET 1</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">/* Define to 1 if you have the &lt;netdb.h&gt; header file. */</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="config_8h.html#a9fe2d1d4726a6b846483a2276866dc6e">   33</a></span>&#160;<span class="preprocessor">#define HAVE_NETDB_H 1</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">/* Define to 1 if you have the &lt;netinet/in.h&gt; header file. */</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="config_8h.html#a0938658b988a082864efcee2d1b2bfd2">   36</a></span>&#160;<span class="preprocessor">#define HAVE_NETINET_IN_H 1</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">/* Define to 1 if you have the `select&#39; function. */</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="config_8h.html#aee3a7313d861afa18971031528fd0cd5">   39</a></span>&#160;<span class="preprocessor">#define HAVE_SELECT 1</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">/* Define to 1 if struct sockaddr_in6 has a member sin6_len. */</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="comment">/* #undef HAVE_SOCKADDR_IN6_SIN6_LEN */</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div>
-<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">/* Define to 1 if you have the `socket&#39; function. */</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="config_8h.html#a4cd6234bfe3f7c10968a1151f43ce280">   45</a></span>&#160;<span class="preprocessor">#define HAVE_SOCKET 1</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment">/* Define to 1 if you have the &lt;stddef.h&gt; header file. */</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="config_8h.html#a0e6b9a04ae66b7846715e51a0a2dccff">   48</a></span>&#160;<span class="preprocessor">#define HAVE_STDDEF_H 1</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="comment">/* Define to 1 if you have the &lt;stdint.h&gt; header file. */</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="config_8h.html#ab6cd6d1c63c1e26ea2d4537b77148354">   51</a></span>&#160;<span class="preprocessor">#define HAVE_STDINT_H 1</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">/* Define to 1 if you have the &lt;stdlib.h&gt; header file. */</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="config_8h.html#a9e0e434ec1a6ddbd97db12b5a32905e0">   54</a></span>&#160;<span class="preprocessor">#define HAVE_STDLIB_H 1</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="comment">/* Define to 1 if you have the `strdup&#39; function. */</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="config_8h.html#a41b838eb3b86a0ebbd0981e92a759c0f">   57</a></span>&#160;<span class="preprocessor">#define HAVE_STRDUP 1</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="comment">/* Define to 1 if you have the `strerror&#39; function. */</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="config_8h.html#a992653625041edef146772df96f7bca9">   60</a></span>&#160;<span class="preprocessor">#define HAVE_STRERROR 1</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="comment">/* Define to 1 if you have the &lt;strings.h&gt; header file. */</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="config_8h.html#a405d10d46190bcb0320524c54eafc850">   63</a></span>&#160;<span class="preprocessor">#define HAVE_STRINGS_H 1</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="comment">/* Define to 1 if you have the &lt;string.h&gt; header file. */</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="config_8h.html#ad4c234dd1625255dc626a15886306e7d">   66</a></span>&#160;<span class="preprocessor">#define HAVE_STRING_H 1</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="comment">/* Define to 1 if you have the `strnlen&#39; function. */</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="config_8h.html#a9bee6d8db098b2230690f8e8db9ffb74">   69</a></span>&#160;<span class="preprocessor">#define HAVE_STRNLEN 1</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="comment">/* Define to 1 if you have the &lt;sys/param.h&gt; header file. */</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="config_8h.html#a05aa9fc25e1231d8eb347390558e4e22">   72</a></span>&#160;<span class="preprocessor">#define HAVE_SYS_PARAM_H 1</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="comment">/* Define to 1 if you have the &lt;sys/socket.h&gt; header file. */</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="config_8h.html#afb96c2bc08ebf33cca68c714f624a58d">   75</a></span>&#160;<span class="preprocessor">#define HAVE_SYS_SOCKET_H 1</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="comment">/* Define to 1 if you have the &lt;sys/stat.h&gt; header file. */</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="config_8h.html#ace156430ba007d19b4348a950d0c692b">   78</a></span>&#160;<span class="preprocessor">#define HAVE_SYS_STAT_H 1</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="comment">/* Define to 1 if you have the &lt;sys/time.h&gt; header file. */</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="config_8h.html#a2aae46056558e9d6fef6380f9678ffe3">   81</a></span>&#160;<span class="preprocessor">#define HAVE_SYS_TIME_H 1</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="comment">/* Define to 1 if you have the &lt;sys/types.h&gt; header file. */</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="config_8h.html#a69dc70bea5d1f8bd2be9740e974fa666">   84</a></span>&#160;<span class="preprocessor">#define HAVE_SYS_TYPES_H 1</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">/* Define to 1 if you have the &lt;time.h&gt; header file. */</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="config_8h.html#a2397007ae170bf57faa808bacaaa2499">   87</a></span>&#160;<span class="preprocessor">#define HAVE_TIME_H 1</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="comment">/* Define to 1 if you have the &lt;unistd.h&gt; header file. */</span></div>
-<div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="config_8h.html#a219b06937831d0da94d801ab13987639">   90</a></span>&#160;<span class="preprocessor">#define HAVE_UNISTD_H 1</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="comment">/* Define to 1 if you have the `vprintf&#39; function. */</span></div>
-<div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="config_8h.html#a11e8ffa0e0ee1d52812402f2eac05fa7">   93</a></span>&#160;<span class="preprocessor">#define HAVE_VPRINTF 1</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="comment">/* Define to the address where bug reports for this package should be sent. */</span></div>
-<div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="config_8h.html#a1d1d2d7f8d2f95b376954d649ab03233">   96</a></span>&#160;<span class="preprocessor">#define PACKAGE_BUGREPORT &quot;&quot;</span></div>
-<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="comment">/* Define to the full name of this package. */</span></div>
-<div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="config_8h.html#a1c0439e4355794c09b64274849eb0279">   99</a></span>&#160;<span class="preprocessor">#define PACKAGE_NAME &quot;tinydtls&quot;</span></div>
-<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;<span class="comment">/* Define to the full name and version of this package. */</span></div>
-<div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="config_8h.html#ac73e6f903c16eca7710f92e36e1c6fbf">  102</a></span>&#160;<span class="preprocessor">#define PACKAGE_STRING &quot;tinydtls 0.5.2&quot;</span></div>
-<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="comment">/* Define to the one symbol short name of this package. */</span></div>
-<div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="config_8h.html#af415af6bfede0e8d5453708afe68651c">  105</a></span>&#160;<span class="preprocessor">#define PACKAGE_TARNAME &quot;tinydtls&quot;</span></div>
-<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment">/* Define to the home page for this package. */</span></div>
-<div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="config_8h.html#a5c93853116d5a50307b6744f147840aa">  108</a></span>&#160;<span class="preprocessor">#define PACKAGE_URL &quot;&quot;</span></div>
-<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="comment">/* Define to the version of this package. */</span></div>
-<div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="config_8h.html#aa326a05d5e30f9e9a4bb0b4469d5d0c0">  111</a></span>&#160;<span class="preprocessor">#define PACKAGE_VERSION &quot;0.5.2&quot;</span></div>
-<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;<span class="comment">/* Define to 1 if you have the ANSI C header files. */</span></div>
-<div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="config_8h.html#a550e5c272cc3cf3814651721167dcd23">  114</a></span>&#160;<span class="preprocessor">#define STDC_HEADERS 1</span></div>
-<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="comment">/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most</span></div>
-<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="comment">   significant byte first (like Motorola and SPARC, unlike Intel). */</span></div>
-<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="preprocessor">#if defined AC_APPLE_UNIVERSAL_BUILD</span></div>
-<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;<span class="preprocessor"></span><span class="preprocessor"># if defined __BIG_ENDIAN__</span></div>
-<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#  define WORDS_BIGENDIAN 1</span></div>
-<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;<span class="preprocessor"></span><span class="preprocessor"># endif</span></div>
-<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="preprocessor"></span><span class="preprocessor"># ifndef WORDS_BIGENDIAN</span></div>
-<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;<span class="preprocessor"></span><span class="comment">/* #  undef WORDS_BIGENDIAN */</span></div>
-<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="preprocessor"># endif</span></div>
-<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;<span class="comment">/* Define to `__inline__&#39; or `__inline&#39; if that&#39;s what the C compiler</span></div>
-<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="comment">   calls it, or to nothing if &#39;inline&#39; is not supported under any name.  */</span></div>
-<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="preprocessor">#ifndef __cplusplus</span></div>
-<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="preprocessor"></span><span class="comment">/* #undef inline */</span></div>
-<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;<span class="comment">/* Define to rpl_malloc if the replacement function should be used. */</span></div>
-<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;<span class="comment">/* #undef malloc */</span></div>
-<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="comment">/* Define to `unsigned int&#39; if &lt;sys/types.h&gt; does not define. */</span></div>
-<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;</div>
-<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;<span class="comment">/* #undef size_t */</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/contiki-config_8h.html b/external/wakaama/examples/shared/tinydtls/doc/html/contiki-config_8h.html
deleted file mode 100644 (file)
index 6f728e5..0000000
+++ /dev/null
@@ -1,98 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: contiki-config.h File Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-</div><!-- top -->
-<div class="header">
-  <div class="headertitle">
-<div class="title">contiki-config.h File Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p><a href="contiki-config_8h_source.html">Go to the source code of this file.</a></p>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/contiki-config_8h_source.html b/external/wakaama/examples/shared/tinydtls/doc/html/contiki-config_8h_source.html
deleted file mode 100644 (file)
index 264a57b..0000000
+++ /dev/null
@@ -1,158 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: contiki-config.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="header">
-  <div class="headertitle">
-<div class="title">contiki-config.h</div>  </div>
-</div><!--header-->
-<div class="contents">
-<a href="contiki-config_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/* tinydtls -- a very basic DTLS implementation</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> * Copyright (C) 2011--2015 Olaf Bergmann &lt;bergmann@tzi.org&gt;</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> * Copyright (C) 2013 Hauke Mehrtens &lt;hauke@hauke-m.de&gt;</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> * Permission is hereby granted, free of charge, to any person</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> * obtaining a copy of this software and associated documentation</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> * files (the &quot;Software&quot;), to deal in the Software without</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> * restriction, including without limitation the rights to use, copy,</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> * modify, merge, publish, distribute, sublicense, and/or sell copies</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * of the Software, and to permit persons to whom the Software is</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> * furnished to do so, subject to the following conditions:</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * The above copyright notice and this permission notice shall be</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> * included in all copies or substantial portions of the Software.</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> * THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND,</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment"> * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment"> * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment"> * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment"> * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment"> * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment"> * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment"> * SOFTWARE.</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;</div>
-<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#ifndef _CONTIKI_CONFIG_H_</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define _CONTIKI_CONFIG_H_ 1</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#ifdef WITH_CONTIKI</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &quot;contiki.h&quot;</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor">#include &quot;contiki-lib.h&quot;</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#include &quot;contiki-net.h&quot;</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;</div>
-<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="preprocessor">#include &quot;contiki-conf.h&quot;</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div>
-<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">/* global constants for constrained devices running Contiki */</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor">#ifndef DTLS_PEER_MAX</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="preprocessor">#  define DTLS_PEER_MAX 1</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">#ifndef DTLS_HANDSHAKE_MAX</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="preprocessor">#  define DTLS_HANDSHAKE_MAX 1</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor">#ifndef DTLS_SECURITY_MAX</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor">#  define DTLS_SECURITY_MAX (DTLS_PEER_MAX + DTLS_HANDSHAKE_MAX)</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor">#ifndef DTLS_HASH_MAX</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="preprocessor">#  define DTLS_HASH_MAX (3 * DTLS_PEER_MAX)</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="preprocessor">#include &quot;platform-specific/platform.h&quot;</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div>
-<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* WITH_CONTIKI */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif </span><span class="comment">/* !_CONTIKI_CONFIG_H_ */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="preprocessor"></span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/crypto_8c.html b/external/wakaama/examples/shared/tinydtls/doc/html/crypto_8c.html
deleted file mode 100644 (file)
index 825552c..0000000
+++ /dev/null
@@ -1,1555 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: crypto.c File Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#define-members">Macros</a> &#124;
-<a href="#func-members">Functions</a> &#124;
-<a href="#var-members">Variables</a>  </div>
-  <div class="headertitle">
-<div class="title">crypto.c File Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock"><code>#include &lt;stdio.h&gt;</code><br/>
-<code>#include &quot;<a class="el" href="tinydtls_8h_source.html">tinydtls.h</a>&quot;</code><br/>
-<code>#include &quot;<a class="el" href="dtls__config_8h_source.html">dtls_config.h</a>&quot;</code><br/>
-<code>#include &lt;assert.h&gt;</code><br/>
-<code>#include &quot;<a class="el" href="global_8h_source.html">global.h</a>&quot;</code><br/>
-<code>#include &quot;<a class="el" href="debug_8h_source.html">debug.h</a>&quot;</code><br/>
-<code>#include &quot;<a class="el" href="numeric_8h_source.html">numeric.h</a>&quot;</code><br/>
-<code>#include &quot;<a class="el" href="dtls_8h_source.html">dtls.h</a>&quot;</code><br/>
-<code>#include &quot;<a class="el" href="crypto_8h_source.html">crypto.h</a>&quot;</code><br/>
-<code>#include &quot;<a class="el" href="ccm_8h_source.html">ccm.h</a>&quot;</code><br/>
-<code>#include &quot;ecc/ecc.h&quot;</code><br/>
-<code>#include &quot;<a class="el" href="prng_8h_source.html">prng.h</a>&quot;</code><br/>
-<code>#include &quot;<a class="el" href="netq_8h_source.html">netq.h</a>&quot;</code><br/>
-<code>#include &lt;pthread.h&gt;</code><br/>
-</div>
-<p><a href="crypto_8c_source.html">Go to the source code of this file.</a></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
-Macros</h2></td></tr>
-<tr class="memitem:ab7ea6d487f3c6e67106df7f4d281804a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8c.html#ab7ea6d487f3c6e67106df7f4d281804a">HMAC_UPDATE_SEED</a>(Context, Seed, Length)&#160;&#160;&#160;if (Seed) <a class="el" href="group__HMAC.html#ga1ef9c88a0a2053b442413a9cea3deb73">dtls_hmac_update</a>(Context, (Seed), (Length))</td></tr>
-<tr class="separator:ab7ea6d487f3c6e67106df7f4d281804a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:a5e6fa88c169e5d7289052600fc445c29"><td class="memItemLeft" align="right" valign="top">static struct <br class="typebreak"/>
-<a class="el" href="structdtls__cipher__context__t.html">dtls_cipher_context_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8c.html#a5e6fa88c169e5d7289052600fc445c29">dtls_cipher_context_get</a> (void)</td></tr>
-<tr class="separator:a5e6fa88c169e5d7289052600fc445c29"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af65bc79ab89b4e162a0d30938d13109e"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8c.html#af65bc79ab89b4e162a0d30938d13109e">dtls_cipher_context_release</a> (void)</td></tr>
-<tr class="separator:af65bc79ab89b4e162a0d30938d13109e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a86e6ce9d4b4afcef355836955697f52c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8c.html#a86e6ce9d4b4afcef355836955697f52c">crypto_init</a> ()</td></tr>
-<tr class="separator:a86e6ce9d4b4afcef355836955697f52c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa1b91000e339073fd2a9344957c22cbe"><td class="memItemLeft" align="right" valign="top">static <br class="typebreak"/>
-<a class="el" href="structdtls__handshake__parameters__t.html">dtls_handshake_parameters_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8c.html#aa1b91000e339073fd2a9344957c22cbe">dtls_handshake_malloc</a> ()</td></tr>
-<tr class="separator:aa1b91000e339073fd2a9344957c22cbe"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a120f7f398e1a71a5f16e5447842bcfb3"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8c.html#a120f7f398e1a71a5f16e5447842bcfb3">dtls_handshake_dealloc</a> (<a class="el" href="structdtls__handshake__parameters__t.html">dtls_handshake_parameters_t</a> *handshake)</td></tr>
-<tr class="separator:a120f7f398e1a71a5f16e5447842bcfb3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa58fc0b3953c6048834855a364432d8c"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structdtls__security__parameters__t.html">dtls_security_parameters_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8c.html#aa58fc0b3953c6048834855a364432d8c">dtls_security_malloc</a> ()</td></tr>
-<tr class="separator:aa58fc0b3953c6048834855a364432d8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a444e2410b15ce27c6201204476d20497"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8c.html#a444e2410b15ce27c6201204476d20497">dtls_security_dealloc</a> (<a class="el" href="structdtls__security__parameters__t.html">dtls_security_parameters_t</a> *security)</td></tr>
-<tr class="separator:a444e2410b15ce27c6201204476d20497"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a25930cdb27a6ffcf05e2c2a9c95a6af8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structdtls__handshake__parameters__t.html">dtls_handshake_parameters_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8c.html#a25930cdb27a6ffcf05e2c2a9c95a6af8">dtls_handshake_new</a> ()</td></tr>
-<tr class="separator:a25930cdb27a6ffcf05e2c2a9c95a6af8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa17bcdc666796e52788f82ee003bb172"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8c.html#aa17bcdc666796e52788f82ee003bb172">dtls_handshake_free</a> (<a class="el" href="structdtls__handshake__parameters__t.html">dtls_handshake_parameters_t</a> *handshake)</td></tr>
-<tr class="separator:aa17bcdc666796e52788f82ee003bb172"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1d568085636a04b4706b7e50df802a7b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structdtls__security__parameters__t.html">dtls_security_parameters_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8c.html#a1d568085636a04b4706b7e50df802a7b">dtls_security_new</a> ()</td></tr>
-<tr class="separator:a1d568085636a04b4706b7e50df802a7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad54069f2880b3c07185ebba736d02d17"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8c.html#ad54069f2880b3c07185ebba736d02d17">dtls_security_free</a> (<a class="el" href="structdtls__security__parameters__t.html">dtls_security_parameters_t</a> *security)</td></tr>
-<tr class="separator:ad54069f2880b3c07185ebba736d02d17"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aea7bd0a10cf289c033216a97c0ee701e"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8c.html#aea7bd0a10cf289c033216a97c0ee701e">dtls_p_hash</a> (<a class="el" href="group__HMAC.html#ga698cfa036e69361a93dcdd9b19579b23">dtls_hashfunc_t</a> h, const unsigned char *key, size_t keylen, const unsigned char *label, size_t labellen, const unsigned char *random1, size_t random1len, const unsigned char *random2, size_t random2len, unsigned char *buf, size_t buflen)</td></tr>
-<tr class="separator:aea7bd0a10cf289c033216a97c0ee701e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5e47576e502b5a6255f1b489a4915512"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8c.html#a5e47576e502b5a6255f1b489a4915512">dtls_prf</a> (const unsigned char *key, size_t keylen, const unsigned char *label, size_t labellen, const unsigned char *random1, size_t random1len, const unsigned char *random2, size_t random2len, unsigned char *buf, size_t buflen)</td></tr>
-<tr class="separator:a5e47576e502b5a6255f1b489a4915512"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1423f8111df1533241178461c10b50e3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8c.html#a1423f8111df1533241178461c10b50e3">dtls_mac</a> (<a class="el" href="structdtls__hmac__context__t.html">dtls_hmac_context_t</a> *hmac_ctx, const unsigned char *record, const unsigned char *packet, size_t length, unsigned char *buf)</td></tr>
-<tr class="separator:a1423f8111df1533241178461c10b50e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8b75c06a8e364132816aaddb81db0f2c"><td class="memItemLeft" align="right" valign="top">static size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8c.html#a8b75c06a8e364132816aaddb81db0f2c">dtls_ccm_encrypt</a> (<a class="el" href="structaes128__ccm__t.html">aes128_ccm_t</a> *ccm_ctx, const unsigned char *src, size_t srclen, unsigned char *buf, unsigned char *nounce, const unsigned char *aad, size_t la)</td></tr>
-<tr class="separator:a8b75c06a8e364132816aaddb81db0f2c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a64f692530b9bb934f8852ca27c9ca2a1"><td class="memItemLeft" align="right" valign="top">static size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8c.html#a64f692530b9bb934f8852ca27c9ca2a1">dtls_ccm_decrypt</a> (<a class="el" href="structaes128__ccm__t.html">aes128_ccm_t</a> *ccm_ctx, const unsigned char *src, size_t srclen, unsigned char *buf, unsigned char *nounce, const unsigned char *aad, size_t la)</td></tr>
-<tr class="separator:a64f692530b9bb934f8852ca27c9ca2a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa53dfed4868e257d2485024b5c170bae"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8c.html#aa53dfed4868e257d2485024b5c170bae">dtls_psk_pre_master_secret</a> (unsigned char *key, size_t keylen, unsigned char *result, size_t result_len)</td></tr>
-<tr class="separator:aa53dfed4868e257d2485024b5c170bae"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aaa510b41aa69dc5f93a1bf5bdde4a9c4"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8c.html#aaa510b41aa69dc5f93a1bf5bdde4a9c4">dtls_ec_key_to_uint32</a> (const unsigned char *key, size_t key_size, uint32_t *result)</td></tr>
-<tr class="separator:aaa510b41aa69dc5f93a1bf5bdde4a9c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8cefde2bc97452f889600c6b17ff04a6"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8c.html#a8cefde2bc97452f889600c6b17ff04a6">dtls_ec_key_from_uint32</a> (const uint32_t *key, size_t key_size, unsigned char *result)</td></tr>
-<tr class="separator:a8cefde2bc97452f889600c6b17ff04a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5ae24f3621f545752732e318840d7e2b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8c.html#a5ae24f3621f545752732e318840d7e2b">dtls_ec_key_from_uint32_asn1</a> (const uint32_t *key, size_t key_size, unsigned char *buf)</td></tr>
-<tr class="separator:a5ae24f3621f545752732e318840d7e2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5f9937088ea2e1d19e7d472fecae9aaa"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8c.html#a5f9937088ea2e1d19e7d472fecae9aaa">dtls_ecdh_pre_master_secret</a> (unsigned char *priv_key, unsigned char *pub_key_x, unsigned char *pub_key_y, size_t key_size, unsigned char *result, size_t result_len)</td></tr>
-<tr class="separator:a5f9937088ea2e1d19e7d472fecae9aaa"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a982fc9e78cd10d9323756b15b72c7970"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8c.html#a982fc9e78cd10d9323756b15b72c7970">dtls_ecdsa_generate_key</a> (unsigned char *priv_key, unsigned char *pub_key_x, unsigned char *pub_key_y, size_t key_size)</td></tr>
-<tr class="separator:a982fc9e78cd10d9323756b15b72c7970"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a49f03039780664684d110d83a228b163"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8c.html#a49f03039780664684d110d83a228b163">dtls_ecdsa_create_sig_hash</a> (const unsigned char *priv_key, size_t key_size, const unsigned char *sign_hash, size_t sign_hash_size, uint32_t point_r[9], uint32_t point_s[9])</td></tr>
-<tr class="separator:a49f03039780664684d110d83a228b163"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:afa2d9b2a195a1d8e8c56b1af8cb7bc82"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8c.html#afa2d9b2a195a1d8e8c56b1af8cb7bc82">dtls_ecdsa_create_sig</a> (const unsigned char *priv_key, size_t key_size, const unsigned char *client_random, size_t client_random_size, const unsigned char *server_random, size_t server_random_size, const unsigned char *keyx_params, size_t keyx_params_size, uint32_t point_r[9], uint32_t point_s[9])</td></tr>
-<tr class="separator:afa2d9b2a195a1d8e8c56b1af8cb7bc82"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a802b3a2b267747a76d4557c6c9a899d7"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8c.html#a802b3a2b267747a76d4557c6c9a899d7">dtls_ecdsa_verify_sig_hash</a> (const unsigned char *pub_key_x, const unsigned char *pub_key_y, size_t key_size, const unsigned char *sign_hash, size_t sign_hash_size, unsigned char *result_r, unsigned char *result_s)</td></tr>
-<tr class="separator:a802b3a2b267747a76d4557c6c9a899d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a035860da45ba2586a95c8ef7f539a3c9"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8c.html#a035860da45ba2586a95c8ef7f539a3c9">dtls_ecdsa_verify_sig</a> (const unsigned char *pub_key_x, const unsigned char *pub_key_y, size_t key_size, const unsigned char *client_random, size_t client_random_size, const unsigned char *server_random, size_t server_random_size, const unsigned char *keyx_params, size_t keyx_params_size, unsigned char *result_r, unsigned char *result_s)</td></tr>
-<tr class="separator:a035860da45ba2586a95c8ef7f539a3c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad58098f0e821f81b4f1a6672ead17ac5"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8c.html#ad58098f0e821f81b4f1a6672ead17ac5">dtls_encrypt</a> (const unsigned char *src, size_t length, unsigned char *buf, unsigned char *nounce, unsigned char *key, size_t keylen, const unsigned char *aad, size_t la)</td></tr>
-<tr class="separator:ad58098f0e821f81b4f1a6672ead17ac5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aac32554190e3970917a31ff01eed4080"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8c.html#aac32554190e3970917a31ff01eed4080">dtls_decrypt</a> (const unsigned char *src, size_t length, unsigned char *buf, unsigned char *nounce, unsigned char *key, size_t keylen, const unsigned char *aad, size_t la)</td></tr>
-<tr class="separator:aac32554190e3970917a31ff01eed4080"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
-Variables</h2></td></tr>
-<tr class="memitem:a9fd792e4bb85e55082e4bf32de0d4bdb"><td class="memItemLeft" align="right" valign="top">static struct <a class="el" href="structdtls__cipher__context__t.html">dtls_cipher_context_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8c.html#a9fd792e4bb85e55082e4bf32de0d4bdb">cipher_context</a></td></tr>
-<tr class="separator:a9fd792e4bb85e55082e4bf32de0d4bdb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad4a90eac1ed6a277c837d7f9dc0a923c"><td class="memItemLeft" align="right" valign="top">static pthread_mutex_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8c.html#ad4a90eac1ed6a277c837d7f9dc0a923c">cipher_context_mutex</a> = PTHREAD_MUTEX_INITIALIZER</td></tr>
-<tr class="separator:ad4a90eac1ed6a277c837d7f9dc0a923c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<h2 class="groupheader">Macro Definition Documentation</h2>
-<a class="anchor" id="ab7ea6d487f3c6e67106df7f4d281804a"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HMAC_UPDATE_SEED</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">Context, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">Seed, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">Length&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td>&#160;&#160;&#160;if (Seed) <a class="el" href="group__HMAC.html#ga1ef9c88a0a2053b442413a9cea3deb73">dtls_hmac_update</a>(Context, (Seed), (Length))</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="crypto_8c_source.html#l00052">52</a> of file <a class="el" href="crypto_8c_source.html">crypto.c</a>.</p>
-
-</div>
-</div>
-<h2 class="groupheader">Function Documentation</h2>
-<a class="anchor" id="a86e6ce9d4b4afcef355836955697f52c"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void crypto_init </td>
-          <td>(</td>
-          <td class="paramname"></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="crypto_8c_source.html#l00076">76</a> of file <a class="el" href="crypto_8c_source.html">crypto.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a64f692530b9bb934f8852ca27c9ca2a1"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static size_t dtls_ccm_decrypt </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structaes128__ccm__t.html">aes128_ccm_t</a> *&#160;</td>
-          <td class="paramname"><em>ccm_ctx</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>src</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>srclen</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">unsigned char *&#160;</td>
-          <td class="paramname"><em>buf</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">unsigned char *&#160;</td>
-          <td class="paramname"><em>nounce</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>aad</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>la</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="crypto_8c_source.html#l00300">300</a> of file <a class="el" href="crypto_8c_source.html">crypto.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a8b75c06a8e364132816aaddb81db0f2c"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static size_t dtls_ccm_encrypt </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structaes128__ccm__t.html">aes128_ccm_t</a> *&#160;</td>
-          <td class="paramname"><em>ccm_ctx</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>src</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>srclen</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">unsigned char *&#160;</td>
-          <td class="paramname"><em>buf</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">unsigned char *&#160;</td>
-          <td class="paramname"><em>nounce</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>aad</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>la</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="crypto_8c_source.html#l00283">283</a> of file <a class="el" href="crypto_8c_source.html">crypto.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a5e6fa88c169e5d7289052600fc445c29"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static struct <a class="el" href="structdtls__cipher__context__t.html">dtls_cipher_context_t</a>* dtls_cipher_context_get </td>
-          <td>(</td>
-          <td class="paramtype">void&#160;</td>
-          <td class="paramname"></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="crypto_8c_source.html#l00060">60</a> of file <a class="el" href="crypto_8c_source.html">crypto.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="af65bc79ab89b4e162a0d30938d13109e"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static void dtls_cipher_context_release </td>
-          <td>(</td>
-          <td class="paramtype">void&#160;</td>
-          <td class="paramname"></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="crypto_8c_source.html#l00068">68</a> of file <a class="el" href="crypto_8c_source.html">crypto.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aac32554190e3970917a31ff01eed4080"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int dtls_decrypt </td>
-          <td>(</td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>src</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>length</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">unsigned char *&#160;</td>
-          <td class="paramname"><em>buf</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">unsigned char *&#160;</td>
-          <td class="paramname"><em>nounce</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">unsigned char *&#160;</td>
-          <td class="paramname"><em>key</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>keylen</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>a_data</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>a_data_length</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Decrypts the given buffer <code>src</code> of given <code>length</code>, writing the result to <code>buf</code>. The function returns <code>-1</code> in case of an error, or the number of bytes written. Note that for block ciphers, <code>length</code> must be a multiple of the cipher's block size. A return value between <code>0</code> and the actual length indicates that only <code>n-1</code> block have been processed. Unlike <a class="el" href="crypto_8h.html#a288c4ec1a5110ab3f44ab3cb7c289e69">dtls_encrypt()</a>, the source and destination of <a class="el" href="crypto_8h.html#a3a99a8753c2eb9baf1e03fe0ffbb813b">dtls_decrypt()</a> may overlap.</p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">ctx</td><td>The cipher context to use. </td></tr>
-    <tr><td class="paramname">src</td><td>The buffer to decrypt. </td></tr>
-    <tr><td class="paramname">length</td><td>The length of the input buffer. </td></tr>
-    <tr><td class="paramname">buf</td><td>The result buffer. </td></tr>
-    <tr><td class="paramname">aad</td><td>additional authentication data for AEAD ciphers </td></tr>
-    <tr><td class="paramname">aad_length</td><td>actual size of <code>aad</code> </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Less than zero on error, the number of decrypted bytes otherwise. </dd></dl>
-
-<p>Definition at line <a class="el" href="crypto_8c_source.html#l00550">550</a> of file <a class="el" href="crypto_8c_source.html">crypto.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a8cefde2bc97452f889600c6b17ff04a6"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static void dtls_ec_key_from_uint32 </td>
-          <td>(</td>
-          <td class="paramtype">const uint32_t *&#160;</td>
-          <td class="paramname"><em>key</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>key_size</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">unsigned char *&#160;</td>
-          <td class="paramname"><em>result</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="crypto_8c_source.html#l00352">352</a> of file <a class="el" href="crypto_8c_source.html">crypto.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a5ae24f3621f545752732e318840d7e2b"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int dtls_ec_key_from_uint32_asn1 </td>
-          <td>(</td>
-          <td class="paramtype">const uint32_t *&#160;</td>
-          <td class="paramname"><em>key</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>key_size</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">unsigned char *&#160;</td>
-          <td class="paramname"><em>buf</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="crypto_8c_source.html#l00362">362</a> of file <a class="el" href="crypto_8c_source.html">crypto.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aaa510b41aa69dc5f93a1bf5bdde4a9c4"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static void dtls_ec_key_to_uint32 </td>
-          <td>(</td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>key</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>key_size</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">uint32_t *&#160;</td>
-          <td class="paramname"><em>result</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="crypto_8c_source.html#l00342">342</a> of file <a class="el" href="crypto_8c_source.html">crypto.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a5f9937088ea2e1d19e7d472fecae9aaa"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int dtls_ecdh_pre_master_secret </td>
-          <td>(</td>
-          <td class="paramtype">unsigned char *&#160;</td>
-          <td class="paramname"><em>priv_key</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">unsigned char *&#160;</td>
-          <td class="paramname"><em>pub_key_x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">unsigned char *&#160;</td>
-          <td class="paramname"><em>pub_key_y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>key_size</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">unsigned char *&#160;</td>
-          <td class="paramname"><em>result</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>result_len</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="crypto_8c_source.html#l00398">398</a> of file <a class="el" href="crypto_8c_source.html">crypto.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="afa2d9b2a195a1d8e8c56b1af8cb7bc82"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void dtls_ecdsa_create_sig </td>
-          <td>(</td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>priv_key</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>key_size</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>client_random</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>client_random_size</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>server_random</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>server_random_size</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>keyx_params</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>keyx_params_size</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">uint32_t&#160;</td>
-          <td class="paramname"><em>point_r</em>[9], </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">uint32_t&#160;</td>
-          <td class="paramname"><em>point_s</em>[9]&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="crypto_8c_source.html#l00463">463</a> of file <a class="el" href="crypto_8c_source.html">crypto.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a49f03039780664684d110d83a228b163"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void dtls_ecdsa_create_sig_hash </td>
-          <td>(</td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>priv_key</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>key_size</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>sign_hash</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>sign_hash_size</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">uint32_t&#160;</td>
-          <td class="paramname"><em>point_r</em>[9], </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">uint32_t&#160;</td>
-          <td class="paramname"><em>point_s</em>[9]&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="crypto_8c_source.html#l00446">446</a> of file <a class="el" href="crypto_8c_source.html">crypto.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a982fc9e78cd10d9323756b15b72c7970"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void dtls_ecdsa_generate_key </td>
-          <td>(</td>
-          <td class="paramtype">unsigned char *&#160;</td>
-          <td class="paramname"><em>priv_key</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">unsigned char *&#160;</td>
-          <td class="paramname"><em>pub_key_x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">unsigned char *&#160;</td>
-          <td class="paramname"><em>pub_key_y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>key_size</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="crypto_8c_source.html#l00425">425</a> of file <a class="el" href="crypto_8c_source.html">crypto.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a035860da45ba2586a95c8ef7f539a3c9"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int dtls_ecdsa_verify_sig </td>
-          <td>(</td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>pub_key_x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>pub_key_y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>key_size</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>client_random</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>client_random_size</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>server_random</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>server_random_size</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>keyx_params</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>keyx_params_size</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">unsigned char *&#160;</td>
-          <td class="paramname"><em>result_r</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">unsigned char *&#160;</td>
-          <td class="paramname"><em>result_s</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="crypto_8c_source.html#l00503">503</a> of file <a class="el" href="crypto_8c_source.html">crypto.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a802b3a2b267747a76d4557c6c9a899d7"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int dtls_ecdsa_verify_sig_hash </td>
-          <td>(</td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>pub_key_x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>pub_key_y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>key_size</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>sign_hash</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>sign_hash_size</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">unsigned char *&#160;</td>
-          <td class="paramname"><em>result_r</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">unsigned char *&#160;</td>
-          <td class="paramname"><em>result_s</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="crypto_8c_source.html#l00483">483</a> of file <a class="el" href="crypto_8c_source.html">crypto.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ad58098f0e821f81b4f1a6672ead17ac5"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int dtls_encrypt </td>
-          <td>(</td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>src</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>length</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">unsigned char *&#160;</td>
-          <td class="paramname"><em>buf</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">unsigned char *&#160;</td>
-          <td class="paramname"><em>nounce</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">unsigned char *&#160;</td>
-          <td class="paramname"><em>key</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>keylen</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>aad</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>aad_length</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Encrypts the specified <code>src</code> of given <code>length</code>, writing the result to <code>buf</code>. The cipher implementation may add more data to the result buffer such as an initialization vector or padding (e.g. for block cipers in CBC mode). The caller therefore must ensure that <code>buf</code> provides sufficient storage to hold the result. Usually this means ( 2 + <code>length</code> / blocksize ) * blocksize. The function returns a value less than zero on error or otherwise the number of bytes written.</p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">ctx</td><td>The cipher context to use. </td></tr>
-    <tr><td class="paramname">src</td><td>The data to encrypt. </td></tr>
-    <tr><td class="paramname">length</td><td>The actual size of of <code>src</code>. </td></tr>
-    <tr><td class="paramname">buf</td><td>The result buffer. <code>src</code> and <code>buf</code> must not overlap. </td></tr>
-    <tr><td class="paramname">aad</td><td>additional data for AEAD ciphers </td></tr>
-    <tr><td class="paramname">aad_length</td><td>actual size of <code>aad</code> </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The number of encrypted bytes on success, less than zero otherwise. </dd></dl>
-
-<p>Definition at line <a class="el" href="crypto_8c_source.html#l00524">524</a> of file <a class="el" href="crypto_8c_source.html">crypto.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a120f7f398e1a71a5f16e5447842bcfb3"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static void dtls_handshake_dealloc </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__handshake__parameters__t.html">dtls_handshake_parameters_t</a> *&#160;</td>
-          <td class="paramname"><em>handshake</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="crypto_8c_source.html#l00084">84</a> of file <a class="el" href="crypto_8c_source.html">crypto.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aa17bcdc666796e52788f82ee003bb172"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void dtls_handshake_free </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__handshake__parameters__t.html">dtls_handshake_parameters_t</a> *&#160;</td>
-          <td class="paramname"><em>handshake</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="crypto_8c_source.html#l00146">146</a> of file <a class="el" href="crypto_8c_source.html">crypto.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aa1b91000e339073fd2a9344957c22cbe"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static <a class="el" href="structdtls__handshake__parameters__t.html">dtls_handshake_parameters_t</a>* dtls_handshake_malloc </td>
-          <td>(</td>
-          <td class="paramname"></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="crypto_8c_source.html#l00080">80</a> of file <a class="el" href="crypto_8c_source.html">crypto.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a25930cdb27a6ffcf05e2c2a9c95a6af8"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="structdtls__handshake__parameters__t.html">dtls_handshake_parameters_t</a>* dtls_handshake_new </td>
-          <td>(</td>
-          <td class="paramname"></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="crypto_8c_source.html#l00123">123</a> of file <a class="el" href="crypto_8c_source.html">crypto.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a1423f8111df1533241178461c10b50e3"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void dtls_mac </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__hmac__context__t.html">dtls_hmac_context_t</a> *&#160;</td>
-          <td class="paramname"><em>hmac_ctx</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>record</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>packet</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>length</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">unsigned char *&#160;</td>
-          <td class="paramname"><em>buf</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Calculates MAC for record + cleartext packet and places the result in <code>buf</code>. The given <code>hmac_ctx</code> must be initialized with the HMAC function to use and the proper secret. As the DTLS mac calculation requires data from the record header, <code>record</code> must point to a buffer of at least <code>sizeof(dtls_record_header_t)</code> bytes. Usually, the remaining packet will be encrypted, therefore, the cleartext is passed separately in <code>packet</code>.</p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">hmac_ctx</td><td>The HMAC context to use for MAC calculation. </td></tr>
-    <tr><td class="paramname">record</td><td>The record header. </td></tr>
-    <tr><td class="paramname">packet</td><td>Cleartext payload to apply the MAC to. </td></tr>
-    <tr><td class="paramname">length</td><td>Size of <code>packet</code>. </td></tr>
-    <tr><td class="paramname">buf</td><td>A result buffer that is large enough to hold the generated digest. </td></tr>
-  </table>
-  </dd>
-</dl>
-
-<p>Definition at line <a class="el" href="crypto_8c_source.html#l00266">266</a> of file <a class="el" href="crypto_8c_source.html">crypto.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aea7bd0a10cf289c033216a97c0ee701e"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">size_t dtls_p_hash </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group__HMAC.html#ga698cfa036e69361a93dcdd9b19579b23">dtls_hashfunc_t</a>&#160;</td>
-          <td class="paramname"><em>h</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>key</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>keylen</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>label</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>labellen</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>random1</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>random1len</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>random2</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>random2len</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">unsigned char *&#160;</td>
-          <td class="paramname"><em>buf</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>buflen</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Expands the secret and key to a block of DTLS_HMAC_MAX size according to the algorithm specified in section 5 of RFC 4346.</p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">h</td><td>Identifier of the hash function to use. </td></tr>
-    <tr><td class="paramname">key</td><td>The secret. </td></tr>
-    <tr><td class="paramname">keylen</td><td>Length of <code>key</code>. </td></tr>
-    <tr><td class="paramname">seed</td><td>The seed. </td></tr>
-    <tr><td class="paramname">seedlen</td><td>Length of <code>seed</code>. </td></tr>
-    <tr><td class="paramname">buf</td><td>Output buffer where the result is XORed into The buffe must be capable to hold at least <code>buflen</code> bytes. </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The actual number of bytes written to <code>buf</code> or 0 on error. </dd></dl>
-
-<p>Definition at line <a class="el" href="crypto_8c_source.html#l00183">183</a> of file <a class="el" href="crypto_8c_source.html">crypto.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a5e47576e502b5a6255f1b489a4915512"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">size_t dtls_prf </td>
-          <td>(</td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>key</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>keylen</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>label</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>labellen</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>random1</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>random1len</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>random2</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>random2len</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">unsigned char *&#160;</td>
-          <td class="paramname"><em>buf</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>buflen</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>This function implements the TLS PRF for DTLS_VERSION. For version 1.0, the PRF is P_MD5 ^ P_SHA1 while version 1.2 uses P_SHA256. Currently, the actual PRF is selected at compile time. </p>
-
-<p>Definition at line <a class="el" href="crypto_8c_source.html#l00249">249</a> of file <a class="el" href="crypto_8c_source.html">crypto.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aa53dfed4868e257d2485024b5c170bae"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int dtls_psk_pre_master_secret </td>
-          <td>(</td>
-          <td class="paramtype">unsigned char *&#160;</td>
-          <td class="paramname"><em>key</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>keylen</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">unsigned char *&#160;</td>
-          <td class="paramname"><em>result</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>result_len</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Generates pre_master_sercet from given PSK and fills the result according to the "plain PSK" case in section 2 of RFC 4279. Diffie-Hellman and RSA key exchange are currently not supported.</p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">key</td><td>The shared key. </td></tr>
-    <tr><td class="paramname">keylen</td><td>Length of <code>key</code> in bytes. </td></tr>
-    <tr><td class="paramname">result</td><td>The derived pre master secret. </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The actual length of <code>result</code>. </dd></dl>
-
-<p>Definition at line <a class="el" href="crypto_8c_source.html#l00318">318</a> of file <a class="el" href="crypto_8c_source.html">crypto.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a444e2410b15ce27c6201204476d20497"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static void dtls_security_dealloc </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__security__parameters__t.html">dtls_security_parameters_t</a> *&#160;</td>
-          <td class="paramname"><em>security</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="crypto_8c_source.html#l00092">92</a> of file <a class="el" href="crypto_8c_source.html">crypto.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ad54069f2880b3c07185ebba736d02d17"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void dtls_security_free </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__security__parameters__t.html">dtls_security_parameters_t</a> *&#160;</td>
-          <td class="paramname"><em>security</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="crypto_8c_source.html#l00174">174</a> of file <a class="el" href="crypto_8c_source.html">crypto.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aa58fc0b3953c6048834855a364432d8c"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static <a class="el" href="structdtls__security__parameters__t.html">dtls_security_parameters_t</a>* dtls_security_malloc </td>
-          <td>(</td>
-          <td class="paramname"></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="crypto_8c_source.html#l00088">88</a> of file <a class="el" href="crypto_8c_source.html">crypto.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a1d568085636a04b4706b7e50df802a7b"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="structdtls__security__parameters__t.html">dtls_security_parameters_t</a>* dtls_security_new </td>
-          <td>(</td>
-          <td class="paramname"></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="crypto_8c_source.html#l00155">155</a> of file <a class="el" href="crypto_8c_source.html">crypto.c</a>.</p>
-
-</div>
-</div>
-<h2 class="groupheader">Variable Documentation</h2>
-<a class="anchor" id="a9fd792e4bb85e55082e4bf32de0d4bdb"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">struct <a class="el" href="structdtls__cipher__context__t.html">dtls_cipher_context_t</a> cipher_context</td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="crypto_8c_source.html#l00055">55</a> of file <a class="el" href="crypto_8c_source.html">crypto.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ad4a90eac1ed6a277c837d7f9dc0a923c"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">pthread_mutex_t cipher_context_mutex = PTHREAD_MUTEX_INITIALIZER</td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="crypto_8c_source.html#l00057">57</a> of file <a class="el" href="crypto_8c_source.html">crypto.c</a>.</p>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/crypto_8c_source.html b/external/wakaama/examples/shared/tinydtls/doc/html/crypto_8c_source.html
deleted file mode 100644 (file)
index e70f59b..0000000
+++ /dev/null
@@ -1,751 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: crypto.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="header">
-  <div class="headertitle">
-<div class="title">crypto.c</div>  </div>
-</div><!--header-->
-<div class="contents">
-<a href="crypto_8c.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/* dtls -- a very basic DTLS implementation</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> * Copyright (C) 2011--2012 Olaf Bergmann &lt;bergmann@tzi.org&gt;</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> * Copyright (C) 2013 Hauke Mehrtens &lt;hauke@hauke-m.de&gt;</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> * Permission is hereby granted, free of charge, to any person</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> * obtaining a copy of this software and associated documentation</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> * files (the &quot;Software&quot;), to deal in the Software without</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> * restriction, including without limitation the rights to use, copy,</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> * modify, merge, publish, distribute, sublicense, and/or sell copies</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * of the Software, and to permit persons to whom the Software is</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> * furnished to do so, subject to the following conditions:</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * The above copyright notice and this permission notice shall be</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> * included in all copies or substantial portions of the Software.</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> * THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND,</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment"> * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment"> * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment"> * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment"> * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment"> * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment"> * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment"> * SOFTWARE.</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;</div>
-<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &lt;stdio.h&gt;</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;</div>
-<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="tinydtls_8h.html">tinydtls.h</a>&quot;</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="dtls__config_8h.html">dtls_config.h</a>&quot;</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div>
-<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#ifdef HAVE_ASSERT_H</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &lt;assert.h&gt;</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define assert(x)</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="global_8h.html">global.h</a>&quot;</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="debug_8h.html">debug.h</a>&quot;</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="numeric_8h.html">numeric.h</a>&quot;</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="dtls_8h.html">dtls.h</a>&quot;</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="crypto_8h.html">crypto.h</a>&quot;</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ccm_8h.html">ccm.h</a>&quot;</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#include &quot;ecc/ecc.h&quot;</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="prng_8h.html">prng.h</a>&quot;</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="netq_8h.html">netq.h</a>&quot;</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;</div>
-<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="preprocessor">#ifndef WITH_CONTIKI</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &lt;pthread.h&gt;</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="crypto_8c.html#ab7ea6d487f3c6e67106df7f4d281804a">   52</a></span>&#160;<span class="preprocessor">#define HMAC_UPDATE_SEED(Context,Seed,Length)       \</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="preprocessor">  if (Seed) dtls_hmac_update(Context, (Seed), (Length))</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="crypto_8c.html#a9fd792e4bb85e55082e4bf32de0d4bdb">   55</a></span>&#160;<span class="keyword">static</span> <span class="keyword">struct </span><a class="code" href="structdtls__cipher__context__t.html">dtls_cipher_context_t</a> <a class="code" href="crypto_8c.html#a9fd792e4bb85e55082e4bf32de0d4bdb">cipher_context</a>;</div>
-<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor">#ifndef WITH_CONTIKI</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="crypto_8c.html#ad4a90eac1ed6a277c837d7f9dc0a923c">   57</a></span>&#160;<span class="preprocessor"></span><span class="keyword">static</span> pthread_mutex_t <a class="code" href="crypto_8c.html#ad4a90eac1ed6a277c837d7f9dc0a923c">cipher_context_mutex</a> = PTHREAD_MUTEX_INITIALIZER;</div>
-<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="crypto_8c.html#a5e6fa88c169e5d7289052600fc445c29">   60</a></span>&#160;<span class="keyword">static</span> <span class="keyword">struct </span><a class="code" href="structdtls__cipher__context__t.html">dtls_cipher_context_t</a> *<a class="code" href="crypto_8c.html#a5e6fa88c169e5d7289052600fc445c29">dtls_cipher_context_get</a>(<span class="keywordtype">void</span>)</div>
-<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;{</div>
-<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="preprocessor">#ifndef WITH_CONTIKI</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="preprocessor"></span>  pthread_mutex_lock(&amp;<a class="code" href="crypto_8c.html#ad4a90eac1ed6a277c837d7f9dc0a923c">cipher_context_mutex</a>);</div>
-<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="preprocessor"></span>  <span class="keywordflow">return</span> &amp;<a class="code" href="crypto_8c.html#a9fd792e4bb85e55082e4bf32de0d4bdb">cipher_context</a>;</div>
-<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;}</div>
-<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div>
-<div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="crypto_8c.html#af65bc79ab89b4e162a0d30938d13109e">   68</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="crypto_8c.html#af65bc79ab89b4e162a0d30938d13109e">dtls_cipher_context_release</a>(<span class="keywordtype">void</span>)</div>
-<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;{</div>
-<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="preprocessor">#ifndef WITH_CONTIKI</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="preprocessor"></span>  pthread_mutex_unlock(&amp;<a class="code" href="crypto_8c.html#ad4a90eac1ed6a277c837d7f9dc0a923c">cipher_context_mutex</a>);</div>
-<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="preprocessor"></span>}</div>
-<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;</div>
-<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="preprocessor">#ifndef WITH_CONTIKI</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="crypto_8h.html#a86e6ce9d4b4afcef355836955697f52c">   76</a></span>&#160;<span class="preprocessor"></span><span class="keywordtype">void</span> <a class="code" href="crypto_8c.html#a86e6ce9d4b4afcef355836955697f52c">crypto_init</a>()</div>
-<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;{</div>
-<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;}</div>
-<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;</div>
-<div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="crypto_8c.html#aa1b91000e339073fd2a9344957c22cbe">   80</a></span>&#160;<span class="keyword">static</span> <a class="code" href="structdtls__handshake__parameters__t.html">dtls_handshake_parameters_t</a> *<a class="code" href="crypto_8c.html#aa1b91000e339073fd2a9344957c22cbe">dtls_handshake_malloc</a>() {</div>
-<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;  <span class="keywordflow">return</span> malloc(<span class="keyword">sizeof</span>(<a class="code" href="structdtls__handshake__parameters__t.html">dtls_handshake_parameters_t</a>));</div>
-<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;}</div>
-<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;</div>
-<div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="crypto_8c.html#a120f7f398e1a71a5f16e5447842bcfb3">   84</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="crypto_8c.html#a120f7f398e1a71a5f16e5447842bcfb3">dtls_handshake_dealloc</a>(<a class="code" href="structdtls__handshake__parameters__t.html">dtls_handshake_parameters_t</a> *handshake) {</div>
-<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;  free(handshake);</div>
-<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;}</div>
-<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;</div>
-<div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="crypto_8c.html#aa58fc0b3953c6048834855a364432d8c">   88</a></span>&#160;<span class="keyword">static</span> <a class="code" href="structdtls__security__parameters__t.html">dtls_security_parameters_t</a> *<a class="code" href="crypto_8c.html#aa58fc0b3953c6048834855a364432d8c">dtls_security_malloc</a>() {</div>
-<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;  <span class="keywordflow">return</span> malloc(<span class="keyword">sizeof</span>(<a class="code" href="structdtls__security__parameters__t.html">dtls_security_parameters_t</a>));</div>
-<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;}</div>
-<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;</div>
-<div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="crypto_8c.html#a444e2410b15ce27c6201204476d20497">   92</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="crypto_8c.html#a444e2410b15ce27c6201204476d20497">dtls_security_dealloc</a>(<a class="code" href="structdtls__security__parameters__t.html">dtls_security_parameters_t</a> *security) {</div>
-<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;  free(security);</div>
-<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;}</div>
-<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="preprocessor">#else </span><span class="comment">/* WITH_CONTIKI */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="preprocessor">#include &quot;memb.h&quot;</span></div>
-<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;MEMB(handshake_storage, <a class="code" href="structdtls__handshake__parameters__t.html">dtls_handshake_parameters_t</a>, DTLS_HANDSHAKE_MAX);</div>
-<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;MEMB(security_storage, <a class="code" href="structdtls__security__parameters__t.html">dtls_security_parameters_t</a>, DTLS_SECURITY_MAX);</div>
-<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;</div>
-<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;<span class="keywordtype">void</span> <a class="code" href="crypto_8c.html#a86e6ce9d4b4afcef355836955697f52c">crypto_init</a>() {</div>
-<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;  memb_init(&amp;handshake_storage);</div>
-<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;  memb_init(&amp;security_storage);</div>
-<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;}</div>
-<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;</div>
-<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="keyword">static</span> <a class="code" href="structdtls__handshake__parameters__t.html">dtls_handshake_parameters_t</a> *<a class="code" href="crypto_8c.html#aa1b91000e339073fd2a9344957c22cbe">dtls_handshake_malloc</a>() {</div>
-<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;  <span class="keywordflow">return</span> memb_alloc(&amp;handshake_storage);</div>
-<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;}</div>
-<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;</div>
-<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="crypto_8c.html#a120f7f398e1a71a5f16e5447842bcfb3">dtls_handshake_dealloc</a>(<a class="code" href="structdtls__handshake__parameters__t.html">dtls_handshake_parameters_t</a> *handshake) {</div>
-<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;  memb_free(&amp;handshake_storage, handshake);</div>
-<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;}</div>
-<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;</div>
-<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="keyword">static</span> <a class="code" href="structdtls__security__parameters__t.html">dtls_security_parameters_t</a> *<a class="code" href="crypto_8c.html#aa58fc0b3953c6048834855a364432d8c">dtls_security_malloc</a>() {</div>
-<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;  <span class="keywordflow">return</span> memb_alloc(&amp;security_storage);</div>
-<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;}</div>
-<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;</div>
-<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="crypto_8c.html#a444e2410b15ce27c6201204476d20497">dtls_security_dealloc</a>(<a class="code" href="structdtls__security__parameters__t.html">dtls_security_parameters_t</a> *security) {</div>
-<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;  memb_free(&amp;security_storage, security);</div>
-<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;}</div>
-<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* WITH_CONTIKI */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="crypto_8h.html#a25930cdb27a6ffcf05e2c2a9c95a6af8">  123</a></span>&#160;<a class="code" href="structdtls__handshake__parameters__t.html">dtls_handshake_parameters_t</a> *<a class="code" href="crypto_8c.html#a25930cdb27a6ffcf05e2c2a9c95a6af8">dtls_handshake_new</a>()</div>
-<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;{</div>
-<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;  <a class="code" href="structdtls__handshake__parameters__t.html">dtls_handshake_parameters_t</a> *handshake;</div>
-<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;</div>
-<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;  handshake = <a class="code" href="crypto_8c.html#aa1b91000e339073fd2a9344957c22cbe">dtls_handshake_malloc</a>();</div>
-<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;  <span class="keywordflow">if</span> (!handshake) {</div>
-<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;    <a class="code" href="debug_8h.html#ad4c9c94c054579b73789fead587c8514">dtls_crit</a>(<span class="stringliteral">&quot;can not allocate a handshake struct\n&quot;</span>);</div>
-<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;    <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;  }</div>
-<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;</div>
-<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;  memset(handshake, 0, <span class="keyword">sizeof</span>(*handshake));</div>
-<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;</div>
-<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;  <span class="keywordflow">if</span> (handshake) {</div>
-<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;    <span class="comment">/* initialize the handshake hash wrt. the hard-coded DTLS version */</span></div>
-<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;    <a class="code" href="debug_8h.html#a0f158325426415d9efb5a36bebf45844">dtls_debug</a>(<span class="stringliteral">&quot;DTLSv12: initialize HASH_SHA256\n&quot;</span>);</div>
-<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;    <span class="comment">/* TLS 1.2:  PRF(secret, label, seed) = P_&lt;hash&gt;(secret, label + seed) */</span></div>
-<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;    <span class="comment">/* FIXME: we use the default SHA256 here, might need to support other </span></div>
-<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;<span class="comment">              hash functions as well */</span></div>
-<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;    <a class="code" href="hmac_8h.html#afe0af64930ac5d6a51289df6d1eb4f52">dtls_hash_init</a>(&amp;handshake-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a56e7392a649731166fc82a523b0eb027">hs_state</a>.<a class="code" href="structdtls__hs__state__t.html#a991b95919538531d730f74045e4fe3b1">hs_hash</a>);</div>
-<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;  }</div>
-<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;  <span class="keywordflow">return</span> handshake;</div>
-<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;}</div>
-<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;</div>
-<div class="line"><a name="l00146"></a><span class="lineno"><a class="line" href="crypto_8h.html#aa17bcdc666796e52788f82ee003bb172">  146</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="crypto_8c.html#aa17bcdc666796e52788f82ee003bb172">dtls_handshake_free</a>(<a class="code" href="structdtls__handshake__parameters__t.html">dtls_handshake_parameters_t</a> *handshake)</div>
-<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;{</div>
-<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;  <span class="keywordflow">if</span> (!handshake)</div>
-<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;    <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;</div>
-<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;  <a class="code" href="group__netq.html#gac72fd2ec9f1e6908c8a10705fb6555e2">netq_delete_all</a>(handshake-&gt;reorder_queue);</div>
-<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;  <a class="code" href="crypto_8c.html#a120f7f398e1a71a5f16e5447842bcfb3">dtls_handshake_dealloc</a>(handshake);</div>
-<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;}</div>
-<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;</div>
-<div class="line"><a name="l00155"></a><span class="lineno"><a class="line" href="crypto_8h.html#a1d568085636a04b4706b7e50df802a7b">  155</a></span>&#160;<a class="code" href="structdtls__security__parameters__t.html">dtls_security_parameters_t</a> *<a class="code" href="crypto_8c.html#a1d568085636a04b4706b7e50df802a7b">dtls_security_new</a>()</div>
-<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;{</div>
-<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;  <a class="code" href="structdtls__security__parameters__t.html">dtls_security_parameters_t</a> *security;</div>
-<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;</div>
-<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;  security = <a class="code" href="crypto_8c.html#aa58fc0b3953c6048834855a364432d8c">dtls_security_malloc</a>();</div>
-<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;  <span class="keywordflow">if</span> (!security) {</div>
-<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;    <a class="code" href="debug_8h.html#ad4c9c94c054579b73789fead587c8514">dtls_crit</a>(<span class="stringliteral">&quot;can not allocate a security struct\n&quot;</span>);</div>
-<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;    <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;  }</div>
-<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;</div>
-<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;  memset(security, 0, <span class="keyword">sizeof</span>(*security));</div>
-<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;</div>
-<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;  <span class="keywordflow">if</span> (security) {</div>
-<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;    security-&gt;<a class="code" href="structdtls__security__parameters__t.html#a21d9fac709d739535b0cbecce4c18830">cipher</a> = <a class="code" href="global_8h.html#ada7e71454d685b693df45b2c1ea0c59bacf33de998fd00f096eebbb0742d80abd">TLS_NULL_WITH_NULL_NULL</a>;</div>
-<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;    security-&gt;<a class="code" href="structdtls__security__parameters__t.html#a6a72df7ab1151f81e49d464175fcaf2a">compression</a> = <a class="code" href="global_8h.html#a1ff555e0b1443c4cb4d17ac2161d89b2ac5b79ee16e8c0e46873fa63fdb1ab9ca">TLS_COMPRESSION_NULL</a>;</div>
-<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;  }</div>
-<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;  <span class="keywordflow">return</span> security;</div>
-<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;}</div>
-<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;</div>
-<div class="line"><a name="l00174"></a><span class="lineno"><a class="line" href="crypto_8h.html#ad54069f2880b3c07185ebba736d02d17">  174</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="crypto_8c.html#ad54069f2880b3c07185ebba736d02d17">dtls_security_free</a>(<a class="code" href="structdtls__security__parameters__t.html">dtls_security_parameters_t</a> *security)</div>
-<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;{</div>
-<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;  <span class="keywordflow">if</span> (!security)</div>
-<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;    <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;</div>
-<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;  <a class="code" href="crypto_8c.html#a444e2410b15ce27c6201204476d20497">dtls_security_dealloc</a>(security);</div>
-<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;}</div>
-<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;</div>
-<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;<span class="keywordtype">size_t</span></div>
-<div class="line"><a name="l00183"></a><span class="lineno"><a class="line" href="crypto_8h.html#aea7bd0a10cf289c033216a97c0ee701e">  183</a></span>&#160;<a class="code" href="crypto_8c.html#aea7bd0a10cf289c033216a97c0ee701e">dtls_p_hash</a>(<a class="code" href="group__HMAC.html#ga698cfa036e69361a93dcdd9b19579b23">dtls_hashfunc_t</a> h,</div>
-<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;        <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *key, <span class="keywordtype">size_t</span> keylen,</div>
-<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;        <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *label, <span class="keywordtype">size_t</span> labellen,</div>
-<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;        <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *random1, <span class="keywordtype">size_t</span> random1len,</div>
-<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;        <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *random2, <span class="keywordtype">size_t</span> random2len,</div>
-<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;        <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *buf, <span class="keywordtype">size_t</span> buflen) {</div>
-<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;  <a class="code" href="structdtls__hmac__context__t.html">dtls_hmac_context_t</a> *hmac_a, *hmac_p;</div>
-<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;</div>
-<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> A[<a class="code" href="group__HMAC.html#ga060019cf2dab9903d58118fe1abe7018">DTLS_HMAC_DIGEST_SIZE</a>];</div>
-<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> tmp[<a class="code" href="group__HMAC.html#ga060019cf2dab9903d58118fe1abe7018">DTLS_HMAC_DIGEST_SIZE</a>];</div>
-<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;  <span class="keywordtype">size_t</span> dlen;          <span class="comment">/* digest length */</span></div>
-<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;  <span class="keywordtype">size_t</span> len = 0;           <span class="comment">/* result length */</span></div>
-<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;</div>
-<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;  hmac_a = <a class="code" href="group__HMAC.html#gac3e9ef037800963783e618eafd046702">dtls_hmac_new</a>(key, keylen);</div>
-<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;  <span class="keywordflow">if</span> (!hmac_a)</div>
-<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;    <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;</div>
-<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;  <span class="comment">/* calculate A(1) from A(0) == seed */</span></div>
-<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;  <a class="code" href="crypto_8c.html#ab7ea6d487f3c6e67106df7f4d281804a">HMAC_UPDATE_SEED</a>(hmac_a, label, labellen);</div>
-<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;  <a class="code" href="crypto_8c.html#ab7ea6d487f3c6e67106df7f4d281804a">HMAC_UPDATE_SEED</a>(hmac_a, random1, random1len);</div>
-<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;  <a class="code" href="crypto_8c.html#ab7ea6d487f3c6e67106df7f4d281804a">HMAC_UPDATE_SEED</a>(hmac_a, random2, random2len);</div>
-<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;</div>
-<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;  dlen = <a class="code" href="group__HMAC.html#gab98c992f3f9cc3c2d75077ddd46049bf">dtls_hmac_finalize</a>(hmac_a, A);</div>
-<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;</div>
-<div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;  hmac_p = <a class="code" href="group__HMAC.html#gac3e9ef037800963783e618eafd046702">dtls_hmac_new</a>(key, keylen);</div>
-<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;  <span class="keywordflow">if</span> (!hmac_p)</div>
-<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;    <span class="keywordflow">goto</span> error;</div>
-<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;</div>
-<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;  <span class="keywordflow">while</span> (len + dlen &lt; buflen) {</div>
-<div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;</div>
-<div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;    <span class="comment">/* FIXME: rewrite loop to avoid superflous call to dtls_hmac_init() */</span></div>
-<div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;    <a class="code" href="group__HMAC.html#gaa1eb35fcb2c2eb69eebaefa8eb4a790d">dtls_hmac_init</a>(hmac_p, key, keylen);</div>
-<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;    <a class="code" href="group__HMAC.html#ga1ef9c88a0a2053b442413a9cea3deb73">dtls_hmac_update</a>(hmac_p, A, dlen);</div>
-<div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;</div>
-<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;    <a class="code" href="crypto_8c.html#ab7ea6d487f3c6e67106df7f4d281804a">HMAC_UPDATE_SEED</a>(hmac_p, label, labellen);</div>
-<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;    <a class="code" href="crypto_8c.html#ab7ea6d487f3c6e67106df7f4d281804a">HMAC_UPDATE_SEED</a>(hmac_p, random1, random1len);</div>
-<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;    <a class="code" href="crypto_8c.html#ab7ea6d487f3c6e67106df7f4d281804a">HMAC_UPDATE_SEED</a>(hmac_p, random2, random2len);</div>
-<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;</div>
-<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;    len += <a class="code" href="group__HMAC.html#gab98c992f3f9cc3c2d75077ddd46049bf">dtls_hmac_finalize</a>(hmac_p, tmp);</div>
-<div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;    memcpy(buf, tmp, dlen);</div>
-<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;    buf += dlen;</div>
-<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;</div>
-<div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;    <span class="comment">/* calculate A(i+1) */</span></div>
-<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;    <a class="code" href="group__HMAC.html#gaa1eb35fcb2c2eb69eebaefa8eb4a790d">dtls_hmac_init</a>(hmac_a, key, keylen);</div>
-<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;    <a class="code" href="group__HMAC.html#ga1ef9c88a0a2053b442413a9cea3deb73">dtls_hmac_update</a>(hmac_a, A, dlen);</div>
-<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;    <a class="code" href="group__HMAC.html#gab98c992f3f9cc3c2d75077ddd46049bf">dtls_hmac_finalize</a>(hmac_a, A);</div>
-<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;  }</div>
-<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;</div>
-<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;  <a class="code" href="group__HMAC.html#gaa1eb35fcb2c2eb69eebaefa8eb4a790d">dtls_hmac_init</a>(hmac_p, key, keylen);</div>
-<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;  <a class="code" href="group__HMAC.html#ga1ef9c88a0a2053b442413a9cea3deb73">dtls_hmac_update</a>(hmac_p, A, dlen);</div>
-<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;  </div>
-<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;  <a class="code" href="crypto_8c.html#ab7ea6d487f3c6e67106df7f4d281804a">HMAC_UPDATE_SEED</a>(hmac_p, label, labellen);</div>
-<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;  <a class="code" href="crypto_8c.html#ab7ea6d487f3c6e67106df7f4d281804a">HMAC_UPDATE_SEED</a>(hmac_p, random1, random1len);</div>
-<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;  <a class="code" href="crypto_8c.html#ab7ea6d487f3c6e67106df7f4d281804a">HMAC_UPDATE_SEED</a>(hmac_p, random2, random2len);</div>
-<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;  </div>
-<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;  <a class="code" href="group__HMAC.html#gab98c992f3f9cc3c2d75077ddd46049bf">dtls_hmac_finalize</a>(hmac_p, tmp);</div>
-<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;  memcpy(buf, tmp, buflen - len);</div>
-<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;</div>
-<div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160; error:</div>
-<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;  <a class="code" href="group__HMAC.html#ga5b1a3c1dcb5461bda44dd70f7bd33181">dtls_hmac_free</a>(hmac_a);</div>
-<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;  <a class="code" href="group__HMAC.html#ga5b1a3c1dcb5461bda44dd70f7bd33181">dtls_hmac_free</a>(hmac_p);</div>
-<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;</div>
-<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;  <span class="keywordflow">return</span> buflen;</div>
-<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;}</div>
-<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;</div>
-<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;<span class="keywordtype">size_t</span> </div>
-<div class="line"><a name="l00249"></a><span class="lineno"><a class="line" href="crypto_8h.html#a5e47576e502b5a6255f1b489a4915512">  249</a></span>&#160;<a class="code" href="crypto_8c.html#a5e47576e502b5a6255f1b489a4915512">dtls_prf</a>(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *key, <span class="keywordtype">size_t</span> keylen,</div>
-<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;     <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *label, <span class="keywordtype">size_t</span> labellen,</div>
-<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;     <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *random1, <span class="keywordtype">size_t</span> random1len,</div>
-<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;     <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *random2, <span class="keywordtype">size_t</span> random2len,</div>
-<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;     <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *buf, <span class="keywordtype">size_t</span> buflen) {</div>
-<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;</div>
-<div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;  <span class="comment">/* Clear the result buffer */</span></div>
-<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;  memset(buf, 0, buflen);</div>
-<div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;  <span class="keywordflow">return</span> <a class="code" href="crypto_8c.html#aea7bd0a10cf289c033216a97c0ee701e">dtls_p_hash</a>(<a class="code" href="group__HMAC.html#gga698cfa036e69361a93dcdd9b19579b23a3690b7a5bf11282bcdaa199c11408dd3">HASH_SHA256</a>, </div>
-<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;             key, keylen, </div>
-<div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;             label, labellen, </div>
-<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;             random1, random1len,</div>
-<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;             random2, random2len,</div>
-<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;             buf, buflen);</div>
-<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;}</div>
-<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;</div>
-<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;<span class="keywordtype">void</span></div>
-<div class="line"><a name="l00266"></a><span class="lineno"><a class="line" href="crypto_8h.html#a1423f8111df1533241178461c10b50e3">  266</a></span>&#160;<a class="code" href="crypto_8c.html#a1423f8111df1533241178461c10b50e3">dtls_mac</a>(<a class="code" href="structdtls__hmac__context__t.html">dtls_hmac_context_t</a> *hmac_ctx, </div>
-<div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;     <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *record,</div>
-<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;     <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *packet, <span class="keywordtype">size_t</span> length,</div>
-<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;     <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *buf) {</div>
-<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;  <a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a> L;</div>
-<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;  <a class="code" href="numeric_8h.html#a074d352855e1ffde4c2ddb6a6fea01b9">dtls_int_to_uint16</a>(L, length);</div>
-<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;</div>
-<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;  assert(hmac_ctx);</div>
-<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;  <a class="code" href="group__HMAC.html#ga1ef9c88a0a2053b442413a9cea3deb73">dtls_hmac_update</a>(hmac_ctx, record +3, <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>) + <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a0749f1df578b26eccab986b0d8abaa56">uint48</a>));</div>
-<div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;  <a class="code" href="group__HMAC.html#ga1ef9c88a0a2053b442413a9cea3deb73">dtls_hmac_update</a>(hmac_ctx, record, <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>) + <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>));</div>
-<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;  <a class="code" href="group__HMAC.html#ga1ef9c88a0a2053b442413a9cea3deb73">dtls_hmac_update</a>(hmac_ctx, L, <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>));</div>
-<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;  <a class="code" href="group__HMAC.html#ga1ef9c88a0a2053b442413a9cea3deb73">dtls_hmac_update</a>(hmac_ctx, packet, length);</div>
-<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;  </div>
-<div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;  <a class="code" href="group__HMAC.html#gab98c992f3f9cc3c2d75077ddd46049bf">dtls_hmac_finalize</a>(hmac_ctx, buf);</div>
-<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;}</div>
-<div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;</div>
-<div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;<span class="keyword">static</span> <span class="keywordtype">size_t</span></div>
-<div class="line"><a name="l00283"></a><span class="lineno"><a class="line" href="crypto_8c.html#a8b75c06a8e364132816aaddb81db0f2c">  283</a></span>&#160;<a class="code" href="crypto_8c.html#a8b75c06a8e364132816aaddb81db0f2c">dtls_ccm_encrypt</a>(<a class="code" href="structaes128__ccm__t.html">aes128_ccm_t</a> *ccm_ctx, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *src, <span class="keywordtype">size_t</span> srclen,</div>
-<div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;         <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *buf, </div>
-<div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;         <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *nounce,</div>
-<div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;         <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *aad, <span class="keywordtype">size_t</span> la) {</div>
-<div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;  <span class="keywordtype">long</span> <span class="keywordtype">int</span> len;</div>
-<div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;</div>
-<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;  assert(ccm_ctx);</div>
-<div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;</div>
-<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;  len = <a class="code" href="ccm_8c.html#a40f4f23b5687e18dc1bce1c19101da42">dtls_ccm_encrypt_message</a>(&amp;ccm_ctx-&gt;<a class="code" href="structaes128__ccm__t.html#a5bdf410f025e4177ced456059bc8a371">ctx</a>, 8 <span class="comment">/* M */</span>, </div>
-<div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;                 <a class="code" href="numeric_8h.html#a24e753bacac6be5f30e18f8a2bdefda4">max</a>(2, 15 - <a class="code" href="ccm_8h.html#a2d0e7515c26737872fe840958ed140ac">DTLS_CCM_NONCE_SIZE</a>),</div>
-<div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;                 nounce,</div>
-<div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;                 buf, srclen, </div>
-<div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;                 aad, la);</div>
-<div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;  <span class="keywordflow">return</span> len;</div>
-<div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;}</div>
-<div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;</div>
-<div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;<span class="keyword">static</span> <span class="keywordtype">size_t</span></div>
-<div class="line"><a name="l00300"></a><span class="lineno"><a class="line" href="crypto_8c.html#a64f692530b9bb934f8852ca27c9ca2a1">  300</a></span>&#160;<a class="code" href="crypto_8c.html#a64f692530b9bb934f8852ca27c9ca2a1">dtls_ccm_decrypt</a>(<a class="code" href="structaes128__ccm__t.html">aes128_ccm_t</a> *ccm_ctx, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *src,</div>
-<div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;         <span class="keywordtype">size_t</span> srclen, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *buf,</div>
-<div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;         <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *nounce,</div>
-<div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;         <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *aad, <span class="keywordtype">size_t</span> la) {</div>
-<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;  <span class="keywordtype">long</span> <span class="keywordtype">int</span> len;</div>
-<div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;</div>
-<div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;  assert(ccm_ctx);</div>
-<div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;</div>
-<div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;  len = <a class="code" href="ccm_8c.html#aa3e92bdeca1d0730d48b8a85181d5b6d">dtls_ccm_decrypt_message</a>(&amp;ccm_ctx-&gt;<a class="code" href="structaes128__ccm__t.html#a5bdf410f025e4177ced456059bc8a371">ctx</a>, 8 <span class="comment">/* M */</span>, </div>
-<div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;                 <a class="code" href="numeric_8h.html#a24e753bacac6be5f30e18f8a2bdefda4">max</a>(2, 15 - <a class="code" href="ccm_8h.html#a2d0e7515c26737872fe840958ed140ac">DTLS_CCM_NONCE_SIZE</a>),</div>
-<div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;                 nounce,</div>
-<div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;                 buf, srclen, </div>
-<div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;                 aad, la);</div>
-<div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;  <span class="keywordflow">return</span> len;</div>
-<div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;}</div>
-<div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;</div>
-<div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;<span class="preprocessor">#ifdef DTLS_PSK</span></div>
-<div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;<span class="preprocessor"></span><span class="keywordtype">int</span></div>
-<div class="line"><a name="l00318"></a><span class="lineno"><a class="line" href="crypto_8h.html#aa53dfed4868e257d2485024b5c170bae">  318</a></span>&#160;<a class="code" href="crypto_8c.html#aa53dfed4868e257d2485024b5c170bae">dtls_psk_pre_master_secret</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *key, <span class="keywordtype">size_t</span> keylen,</div>
-<div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;               <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *result, <span class="keywordtype">size_t</span> result_len) {</div>
-<div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *p = result;</div>
-<div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;</div>
-<div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;  <span class="keywordflow">if</span> (result_len &lt; (2 * (<span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>) + keylen))) {</div>
-<div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;    <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;  }</div>
-<div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;</div>
-<div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;  <a class="code" href="numeric_8h.html#a074d352855e1ffde4c2ddb6a6fea01b9">dtls_int_to_uint16</a>(p, keylen);</div>
-<div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;  p += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>);</div>
-<div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;</div>
-<div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;  memset(p, 0, keylen);</div>
-<div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;  p += keylen;</div>
-<div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;</div>
-<div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;  memcpy(p, result, <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>));</div>
-<div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;  p += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>);</div>
-<div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;  </div>
-<div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;  memcpy(p, key, keylen);</div>
-<div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;</div>
-<div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;  <span class="keywordflow">return</span> 2 * (<span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>) + keylen);</div>
-<div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;}</div>
-<div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* DTLS_PSK */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;<span class="preprocessor">#ifdef DTLS_ECC</span></div>
-<div class="line"><a name="l00342"></a><span class="lineno"><a class="line" href="crypto_8c.html#aaa510b41aa69dc5f93a1bf5bdde4a9c4">  342</a></span>&#160;<span class="preprocessor"></span><span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="crypto_8c.html#aaa510b41aa69dc5f93a1bf5bdde4a9c4">dtls_ec_key_to_uint32</a>(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *key, <span class="keywordtype">size_t</span> key_size,</div>
-<div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;                  uint32_t *result) {</div>
-<div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;  <span class="keywordtype">int</span> i;</div>
-<div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;</div>
-<div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;  <span class="keywordflow">for</span> (i = (key_size / <span class="keyword">sizeof</span>(uint32_t)) - 1; i &gt;= 0 ; i--) {</div>
-<div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;    *result = <a class="code" href="numeric_8h.html#a91f840f763f90c6d88a267011edf86d0">dtls_uint32_to_int</a>(&amp;key[i * <span class="keyword">sizeof</span>(uint32_t)]);</div>
-<div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;    result++;</div>
-<div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;  }</div>
-<div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;}</div>
-<div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;</div>
-<div class="line"><a name="l00352"></a><span class="lineno"><a class="line" href="crypto_8c.html#a8cefde2bc97452f889600c6b17ff04a6">  352</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="crypto_8c.html#a8cefde2bc97452f889600c6b17ff04a6">dtls_ec_key_from_uint32</a>(<span class="keyword">const</span> uint32_t *key, <span class="keywordtype">size_t</span> key_size,</div>
-<div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;                    <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *result) {</div>
-<div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;  <span class="keywordtype">int</span> i;</div>
-<div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;</div>
-<div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;  <span class="keywordflow">for</span> (i = (key_size / <span class="keyword">sizeof</span>(uint32_t)) - 1; i &gt;= 0 ; i--) {</div>
-<div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;    <a class="code" href="numeric_8h.html#a6914ee523b27539f4e441bede8c072b4">dtls_int_to_uint32</a>(result, key[i]);</div>
-<div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;    result += 4;</div>
-<div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;  }</div>
-<div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;}</div>
-<div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;</div>
-<div class="line"><a name="l00362"></a><span class="lineno"><a class="line" href="crypto_8h.html#a5ae24f3621f545752732e318840d7e2b">  362</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="crypto_8c.html#a5ae24f3621f545752732e318840d7e2b">dtls_ec_key_from_uint32_asn1</a>(<span class="keyword">const</span> uint32_t *key, <span class="keywordtype">size_t</span> key_size,</div>
-<div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;                 <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *buf) {</div>
-<div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;  <span class="keywordtype">int</span> i;</div>
-<div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *buf_orig = buf;</div>
-<div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;  <span class="keywordtype">int</span> first = 1; </div>
-<div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;</div>
-<div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;  <span class="keywordflow">for</span> (i = (key_size / <span class="keyword">sizeof</span>(uint32_t)) - 1; i &gt;= 0 ; i--) {</div>
-<div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;    <span class="keywordflow">if</span> (key[i] == 0)</div>
-<div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;      <span class="keywordflow">continue</span>;</div>
-<div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;    <span class="comment">/* the first bit has to be set to zero, to indicate a poritive integer */</span></div>
-<div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;    <span class="keywordflow">if</span> (first &amp;&amp; key[i] &amp; 0x80000000) {</div>
-<div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;      *buf = 0;</div>
-<div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;      buf++;</div>
-<div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;      <a class="code" href="numeric_8h.html#a6914ee523b27539f4e441bede8c072b4">dtls_int_to_uint32</a>(buf, key[i]);</div>
-<div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;      buf += 4;      </div>
-<div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;    } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (first &amp;&amp; !(key[i] &amp; 0xFF800000)) {</div>
-<div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;      buf[0] = (key[i] &gt;&gt; 16) &amp; 0xff;</div>
-<div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;      buf[1] = (key[i] &gt;&gt; 8) &amp; 0xff;</div>
-<div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;      buf[2] = key[i] &amp; 0xff;</div>
-<div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;      buf += 3;</div>
-<div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;    } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (first &amp;&amp; !(key[i] &amp; 0xFFFF8000)) {</div>
-<div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;      buf[0] = (key[i] &gt;&gt; 8) &amp; 0xff;</div>
-<div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;      buf[1] = key[i] &amp; 0xff;</div>
-<div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;      buf += 2;</div>
-<div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160;    } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (first &amp;&amp; !(key[i] &amp; 0xFFFFFF80)) {</div>
-<div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;      buf[0] = key[i] &amp; 0xff;</div>
-<div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;      buf += 1;</div>
-<div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;    } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;      <a class="code" href="numeric_8h.html#a6914ee523b27539f4e441bede8c072b4">dtls_int_to_uint32</a>(buf, key[i]);</div>
-<div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;      buf += 4;</div>
-<div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;    }</div>
-<div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;    first = 0;</div>
-<div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;  }</div>
-<div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;  <span class="keywordflow">return</span> buf - buf_orig;</div>
-<div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;}</div>
-<div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;</div>
-<div class="line"><a name="l00398"></a><span class="lineno"><a class="line" href="crypto_8h.html#a5f9937088ea2e1d19e7d472fecae9aaa">  398</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="crypto_8c.html#a5f9937088ea2e1d19e7d472fecae9aaa">dtls_ecdh_pre_master_secret</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *priv_key,</div>
-<div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;                   <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *pub_key_x,</div>
-<div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;                                   <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *pub_key_y,</div>
-<div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;                                   <span class="keywordtype">size_t</span> key_size,</div>
-<div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;                                   <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *result,</div>
-<div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;                                   <span class="keywordtype">size_t</span> result_len) {</div>
-<div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;  uint32_t priv[8];</div>
-<div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;  uint32_t pub_x[8];</div>
-<div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;  uint32_t pub_y[8];</div>
-<div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;  uint32_t result_x[8];</div>
-<div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;  uint32_t result_y[8];</div>
-<div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;</div>
-<div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;  <span class="keywordflow">if</span> (result_len &lt; key_size) {</div>
-<div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;    <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;  }</div>
-<div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;</div>
-<div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;  <a class="code" href="crypto_8c.html#aaa510b41aa69dc5f93a1bf5bdde4a9c4">dtls_ec_key_to_uint32</a>(priv_key, key_size, priv);</div>
-<div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;  <a class="code" href="crypto_8c.html#aaa510b41aa69dc5f93a1bf5bdde4a9c4">dtls_ec_key_to_uint32</a>(pub_key_x, key_size, pub_x);</div>
-<div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;  <a class="code" href="crypto_8c.html#aaa510b41aa69dc5f93a1bf5bdde4a9c4">dtls_ec_key_to_uint32</a>(pub_key_y, key_size, pub_y);</div>
-<div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;</div>
-<div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;  ecc_ecdh(pub_x, pub_y, priv, result_x, result_y);</div>
-<div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;</div>
-<div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;  <a class="code" href="crypto_8c.html#a8cefde2bc97452f889600c6b17ff04a6">dtls_ec_key_from_uint32</a>(result_x, key_size, result);</div>
-<div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;  <span class="keywordflow">return</span> key_size;</div>
-<div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;}</div>
-<div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;</div>
-<div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;<span class="keywordtype">void</span></div>
-<div class="line"><a name="l00425"></a><span class="lineno"><a class="line" href="crypto_8h.html#a982fc9e78cd10d9323756b15b72c7970">  425</a></span>&#160;<a class="code" href="crypto_8c.html#a982fc9e78cd10d9323756b15b72c7970">dtls_ecdsa_generate_key</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *priv_key,</div>
-<div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;            <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *pub_key_x,</div>
-<div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;            <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *pub_key_y,</div>
-<div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;            <span class="keywordtype">size_t</span> key_size) {</div>
-<div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;  uint32_t priv[8];</div>
-<div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;  uint32_t pub_x[8];</div>
-<div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;  uint32_t pub_y[8];</div>
-<div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;</div>
-<div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;  <span class="keywordflow">do</span> {</div>
-<div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;    <a class="code" href="group__prng.html#ga3f4036a1abfcec552ab583a2dc37be6c">dtls_prng</a>((<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *)priv, key_size);</div>
-<div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;  } <span class="keywordflow">while</span> (!ecc_is_valid_key(priv));</div>
-<div class="line"><a name="l00436"></a><span class="lineno">  436</span>&#160;</div>
-<div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;  ecc_gen_pub_key(priv, pub_x, pub_y);</div>
-<div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;</div>
-<div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;  <a class="code" href="crypto_8c.html#a8cefde2bc97452f889600c6b17ff04a6">dtls_ec_key_from_uint32</a>(priv, key_size, priv_key);</div>
-<div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;  <a class="code" href="crypto_8c.html#a8cefde2bc97452f889600c6b17ff04a6">dtls_ec_key_from_uint32</a>(pub_x, key_size, pub_key_x);</div>
-<div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;  <a class="code" href="crypto_8c.html#a8cefde2bc97452f889600c6b17ff04a6">dtls_ec_key_from_uint32</a>(pub_y, key_size, pub_key_y);</div>
-<div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;}</div>
-<div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;</div>
-<div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;<span class="comment">/* rfc4492#section-5.4 */</span></div>
-<div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;<span class="keywordtype">void</span></div>
-<div class="line"><a name="l00446"></a><span class="lineno"><a class="line" href="crypto_8h.html#a49f03039780664684d110d83a228b163">  446</a></span>&#160;<a class="code" href="crypto_8c.html#a49f03039780664684d110d83a228b163">dtls_ecdsa_create_sig_hash</a>(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *priv_key, <span class="keywordtype">size_t</span> key_size,</div>
-<div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;               <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *sign_hash, <span class="keywordtype">size_t</span> sign_hash_size,</div>
-<div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160;               uint32_t point_r[9], uint32_t point_s[9]) {</div>
-<div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;  <span class="keywordtype">int</span> ret;</div>
-<div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;  uint32_t priv[8];</div>
-<div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160;  uint32_t hash[8];</div>
-<div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;  uint32_t rand[8];</div>
-<div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;  </div>
-<div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;  <a class="code" href="crypto_8c.html#aaa510b41aa69dc5f93a1bf5bdde4a9c4">dtls_ec_key_to_uint32</a>(priv_key, key_size, priv);</div>
-<div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;  <a class="code" href="crypto_8c.html#aaa510b41aa69dc5f93a1bf5bdde4a9c4">dtls_ec_key_to_uint32</a>(sign_hash, sign_hash_size, hash);</div>
-<div class="line"><a name="l00456"></a><span class="lineno">  456</span>&#160;  <span class="keywordflow">do</span> {</div>
-<div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;    <a class="code" href="group__prng.html#ga3f4036a1abfcec552ab583a2dc37be6c">dtls_prng</a>((<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *)rand, key_size);</div>
-<div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;    ret = ecc_ecdsa_sign(priv, hash, rand, point_r, point_s);</div>
-<div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;  } <span class="keywordflow">while</span> (ret);</div>
-<div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160;}</div>
-<div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160;</div>
-<div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160;<span class="keywordtype">void</span></div>
-<div class="line"><a name="l00463"></a><span class="lineno"><a class="line" href="crypto_8h.html#afa2d9b2a195a1d8e8c56b1af8cb7bc82">  463</a></span>&#160;<a class="code" href="crypto_8c.html#afa2d9b2a195a1d8e8c56b1af8cb7bc82">dtls_ecdsa_create_sig</a>(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *priv_key, <span class="keywordtype">size_t</span> key_size,</div>
-<div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160;              <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *client_random, <span class="keywordtype">size_t</span> client_random_size,</div>
-<div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;              <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *server_random, <span class="keywordtype">size_t</span> server_random_size,</div>
-<div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;              <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *keyx_params, <span class="keywordtype">size_t</span> keyx_params_size,</div>
-<div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;              uint32_t point_r[9], uint32_t point_s[9]) {</div>
-<div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;  <a class="code" href="hmac_8h.html#abb19650a510c73117da0e9b88d68f159">dtls_hash_ctx</a> <a class="code" href="structdtls__cipher__context__t.html#a02da63201e2ac7bc508e3bb54c5761dc">data</a>;</div>
-<div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> sha256hash[<a class="code" href="group__HMAC.html#ga060019cf2dab9903d58118fe1abe7018">DTLS_HMAC_DIGEST_SIZE</a>];</div>
-<div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;</div>
-<div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;  <a class="code" href="hmac_8h.html#afe0af64930ac5d6a51289df6d1eb4f52">dtls_hash_init</a>(&amp;data);</div>
-<div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;  <a class="code" href="hmac_8h.html#adb5ad07ab9a1adcdfdc20e13aa37bee6">dtls_hash_update</a>(&amp;data, client_random, client_random_size);</div>
-<div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;  <a class="code" href="hmac_8h.html#adb5ad07ab9a1adcdfdc20e13aa37bee6">dtls_hash_update</a>(&amp;data, server_random, server_random_size);</div>
-<div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;  <a class="code" href="hmac_8h.html#adb5ad07ab9a1adcdfdc20e13aa37bee6">dtls_hash_update</a>(&amp;data, keyx_params, keyx_params_size);</div>
-<div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160;  <a class="code" href="hmac_8h.html#a96801bbb62f4c9c872b22cd8e438e51e">dtls_hash_finalize</a>(sha256hash, &amp;data);</div>
-<div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;  </div>
-<div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160;  <a class="code" href="crypto_8c.html#a49f03039780664684d110d83a228b163">dtls_ecdsa_create_sig_hash</a>(priv_key, key_size, sha256hash,</div>
-<div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160;                 <span class="keyword">sizeof</span>(sha256hash), point_r, point_s);</div>
-<div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;}</div>
-<div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;</div>
-<div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160;<span class="comment">/* rfc4492#section-5.4 */</span></div>
-<div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160;<span class="keywordtype">int</span></div>
-<div class="line"><a name="l00483"></a><span class="lineno"><a class="line" href="crypto_8h.html#a802b3a2b267747a76d4557c6c9a899d7">  483</a></span>&#160;<a class="code" href="crypto_8c.html#a802b3a2b267747a76d4557c6c9a899d7">dtls_ecdsa_verify_sig_hash</a>(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *pub_key_x,</div>
-<div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;               <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *pub_key_y, <span class="keywordtype">size_t</span> key_size,</div>
-<div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;               <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *sign_hash, <span class="keywordtype">size_t</span> sign_hash_size,</div>
-<div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;               <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *result_r, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *result_s) {</div>
-<div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;  uint32_t pub_x[8];</div>
-<div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;  uint32_t pub_y[8];</div>
-<div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;  uint32_t hash[8];</div>
-<div class="line"><a name="l00490"></a><span class="lineno">  490</span>&#160;  uint32_t point_r[8];</div>
-<div class="line"><a name="l00491"></a><span class="lineno">  491</span>&#160;  uint32_t point_s[8];</div>
-<div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;</div>
-<div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160;  <a class="code" href="crypto_8c.html#aaa510b41aa69dc5f93a1bf5bdde4a9c4">dtls_ec_key_to_uint32</a>(pub_key_x, key_size, pub_x);</div>
-<div class="line"><a name="l00494"></a><span class="lineno">  494</span>&#160;  <a class="code" href="crypto_8c.html#aaa510b41aa69dc5f93a1bf5bdde4a9c4">dtls_ec_key_to_uint32</a>(pub_key_y, key_size, pub_y);</div>
-<div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160;  <a class="code" href="crypto_8c.html#aaa510b41aa69dc5f93a1bf5bdde4a9c4">dtls_ec_key_to_uint32</a>(result_r, key_size, point_r);</div>
-<div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;  <a class="code" href="crypto_8c.html#aaa510b41aa69dc5f93a1bf5bdde4a9c4">dtls_ec_key_to_uint32</a>(result_s, key_size, point_s);</div>
-<div class="line"><a name="l00497"></a><span class="lineno">  497</span>&#160;  <a class="code" href="crypto_8c.html#aaa510b41aa69dc5f93a1bf5bdde4a9c4">dtls_ec_key_to_uint32</a>(sign_hash, sign_hash_size, hash);</div>
-<div class="line"><a name="l00498"></a><span class="lineno">  498</span>&#160;</div>
-<div class="line"><a name="l00499"></a><span class="lineno">  499</span>&#160;  <span class="keywordflow">return</span> ecc_ecdsa_validate(pub_x, pub_y, hash, point_r, point_s);</div>
-<div class="line"><a name="l00500"></a><span class="lineno">  500</span>&#160;}</div>
-<div class="line"><a name="l00501"></a><span class="lineno">  501</span>&#160;</div>
-<div class="line"><a name="l00502"></a><span class="lineno">  502</span>&#160;<span class="keywordtype">int</span></div>
-<div class="line"><a name="l00503"></a><span class="lineno"><a class="line" href="crypto_8h.html#a035860da45ba2586a95c8ef7f539a3c9">  503</a></span>&#160;<a class="code" href="crypto_8c.html#a035860da45ba2586a95c8ef7f539a3c9">dtls_ecdsa_verify_sig</a>(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *pub_key_x,</div>
-<div class="line"><a name="l00504"></a><span class="lineno">  504</span>&#160;              <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *pub_key_y, <span class="keywordtype">size_t</span> key_size,</div>
-<div class="line"><a name="l00505"></a><span class="lineno">  505</span>&#160;              <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *client_random, <span class="keywordtype">size_t</span> client_random_size,</div>
-<div class="line"><a name="l00506"></a><span class="lineno">  506</span>&#160;              <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *server_random, <span class="keywordtype">size_t</span> server_random_size,</div>
-<div class="line"><a name="l00507"></a><span class="lineno">  507</span>&#160;              <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *keyx_params, <span class="keywordtype">size_t</span> keyx_params_size,</div>
-<div class="line"><a name="l00508"></a><span class="lineno">  508</span>&#160;              <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *result_r, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *result_s) {</div>
-<div class="line"><a name="l00509"></a><span class="lineno">  509</span>&#160;  <a class="code" href="hmac_8h.html#abb19650a510c73117da0e9b88d68f159">dtls_hash_ctx</a> <a class="code" href="structdtls__cipher__context__t.html#a02da63201e2ac7bc508e3bb54c5761dc">data</a>;</div>
-<div class="line"><a name="l00510"></a><span class="lineno">  510</span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> sha256hash[<a class="code" href="group__HMAC.html#ga060019cf2dab9903d58118fe1abe7018">DTLS_HMAC_DIGEST_SIZE</a>];</div>
-<div class="line"><a name="l00511"></a><span class="lineno">  511</span>&#160;  </div>
-<div class="line"><a name="l00512"></a><span class="lineno">  512</span>&#160;  <a class="code" href="hmac_8h.html#afe0af64930ac5d6a51289df6d1eb4f52">dtls_hash_init</a>(&amp;data);</div>
-<div class="line"><a name="l00513"></a><span class="lineno">  513</span>&#160;  <a class="code" href="hmac_8h.html#adb5ad07ab9a1adcdfdc20e13aa37bee6">dtls_hash_update</a>(&amp;data, client_random, client_random_size);</div>
-<div class="line"><a name="l00514"></a><span class="lineno">  514</span>&#160;  <a class="code" href="hmac_8h.html#adb5ad07ab9a1adcdfdc20e13aa37bee6">dtls_hash_update</a>(&amp;data, server_random, server_random_size);</div>
-<div class="line"><a name="l00515"></a><span class="lineno">  515</span>&#160;  <a class="code" href="hmac_8h.html#adb5ad07ab9a1adcdfdc20e13aa37bee6">dtls_hash_update</a>(&amp;data, keyx_params, keyx_params_size);</div>
-<div class="line"><a name="l00516"></a><span class="lineno">  516</span>&#160;  <a class="code" href="hmac_8h.html#a96801bbb62f4c9c872b22cd8e438e51e">dtls_hash_finalize</a>(sha256hash, &amp;data);</div>
-<div class="line"><a name="l00517"></a><span class="lineno">  517</span>&#160;</div>
-<div class="line"><a name="l00518"></a><span class="lineno">  518</span>&#160;  <span class="keywordflow">return</span> <a class="code" href="crypto_8c.html#a802b3a2b267747a76d4557c6c9a899d7">dtls_ecdsa_verify_sig_hash</a>(pub_key_x, pub_key_y, key_size, sha256hash,</div>
-<div class="line"><a name="l00519"></a><span class="lineno">  519</span>&#160;                    <span class="keyword">sizeof</span>(sha256hash), result_r, result_s);</div>
-<div class="line"><a name="l00520"></a><span class="lineno">  520</span>&#160;}</div>
-<div class="line"><a name="l00521"></a><span class="lineno">  521</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* DTLS_ECC */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00522"></a><span class="lineno">  522</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00523"></a><span class="lineno">  523</span>&#160;<span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00524"></a><span class="lineno"><a class="line" href="crypto_8h.html#a288c4ec1a5110ab3f44ab3cb7c289e69">  524</a></span>&#160;<a class="code" href="crypto_8c.html#ad58098f0e821f81b4f1a6672ead17ac5">dtls_encrypt</a>(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *src, <span class="keywordtype">size_t</span> length,</div>
-<div class="line"><a name="l00525"></a><span class="lineno">  525</span>&#160;         <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *buf,</div>
-<div class="line"><a name="l00526"></a><span class="lineno">  526</span>&#160;         <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *nounce,</div>
-<div class="line"><a name="l00527"></a><span class="lineno">  527</span>&#160;         <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *key, <span class="keywordtype">size_t</span> keylen,</div>
-<div class="line"><a name="l00528"></a><span class="lineno">  528</span>&#160;         <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *aad, <span class="keywordtype">size_t</span> la)</div>
-<div class="line"><a name="l00529"></a><span class="lineno">  529</span>&#160;{</div>
-<div class="line"><a name="l00530"></a><span class="lineno">  530</span>&#160;  <span class="keywordtype">int</span> ret;</div>
-<div class="line"><a name="l00531"></a><span class="lineno">  531</span>&#160;  <span class="keyword">struct </span><a class="code" href="structdtls__cipher__context__t.html">dtls_cipher_context_t</a> *ctx = <a class="code" href="crypto_8c.html#a5e6fa88c169e5d7289052600fc445c29">dtls_cipher_context_get</a>();</div>
-<div class="line"><a name="l00532"></a><span class="lineno">  532</span>&#160;</div>
-<div class="line"><a name="l00533"></a><span class="lineno">  533</span>&#160;  ret = rijndael_set_key_enc_only(&amp;ctx-&gt;<a class="code" href="structdtls__cipher__context__t.html#a02da63201e2ac7bc508e3bb54c5761dc">data</a>.<a class="code" href="structaes128__ccm__t.html#a5bdf410f025e4177ced456059bc8a371">ctx</a>, key, 8 * keylen);</div>
-<div class="line"><a name="l00534"></a><span class="lineno">  534</span>&#160;  <span class="keywordflow">if</span> (ret &lt; 0) {</div>
-<div class="line"><a name="l00535"></a><span class="lineno">  535</span>&#160;    <span class="comment">/* cleanup everything in case the key has the wrong size */</span></div>
-<div class="line"><a name="l00536"></a><span class="lineno">  536</span>&#160;    <a class="code" href="debug_8h.html#ae1c22127c92fab70da7bf9cae8536e5c">dtls_warn</a>(<span class="stringliteral">&quot;cannot set rijndael key\n&quot;</span>);</div>
-<div class="line"><a name="l00537"></a><span class="lineno">  537</span>&#160;    <span class="keywordflow">goto</span> error;</div>
-<div class="line"><a name="l00538"></a><span class="lineno">  538</span>&#160;  }</div>
-<div class="line"><a name="l00539"></a><span class="lineno">  539</span>&#160;</div>
-<div class="line"><a name="l00540"></a><span class="lineno">  540</span>&#160;  <span class="keywordflow">if</span> (src != buf)</div>
-<div class="line"><a name="l00541"></a><span class="lineno">  541</span>&#160;    memmove(buf, src, length);</div>
-<div class="line"><a name="l00542"></a><span class="lineno">  542</span>&#160;  ret = <a class="code" href="crypto_8c.html#a8b75c06a8e364132816aaddb81db0f2c">dtls_ccm_encrypt</a>(&amp;ctx-&gt;<a class="code" href="structdtls__cipher__context__t.html#a02da63201e2ac7bc508e3bb54c5761dc">data</a>, src, length, buf, nounce, aad, la);</div>
-<div class="line"><a name="l00543"></a><span class="lineno">  543</span>&#160;</div>
-<div class="line"><a name="l00544"></a><span class="lineno">  544</span>&#160;error:</div>
-<div class="line"><a name="l00545"></a><span class="lineno">  545</span>&#160;  <a class="code" href="crypto_8c.html#af65bc79ab89b4e162a0d30938d13109e">dtls_cipher_context_release</a>();</div>
-<div class="line"><a name="l00546"></a><span class="lineno">  546</span>&#160;  <span class="keywordflow">return</span> ret;</div>
-<div class="line"><a name="l00547"></a><span class="lineno">  547</span>&#160;}</div>
-<div class="line"><a name="l00548"></a><span class="lineno">  548</span>&#160;</div>
-<div class="line"><a name="l00549"></a><span class="lineno">  549</span>&#160;<span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00550"></a><span class="lineno"><a class="line" href="crypto_8h.html#a3a99a8753c2eb9baf1e03fe0ffbb813b">  550</a></span>&#160;<a class="code" href="crypto_8c.html#aac32554190e3970917a31ff01eed4080">dtls_decrypt</a>(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *src, <span class="keywordtype">size_t</span> length,</div>
-<div class="line"><a name="l00551"></a><span class="lineno">  551</span>&#160;         <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *buf,</div>
-<div class="line"><a name="l00552"></a><span class="lineno">  552</span>&#160;         <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *nounce,</div>
-<div class="line"><a name="l00553"></a><span class="lineno">  553</span>&#160;         <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *key, <span class="keywordtype">size_t</span> keylen,</div>
-<div class="line"><a name="l00554"></a><span class="lineno">  554</span>&#160;         <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *aad, <span class="keywordtype">size_t</span> la)</div>
-<div class="line"><a name="l00555"></a><span class="lineno">  555</span>&#160;{</div>
-<div class="line"><a name="l00556"></a><span class="lineno">  556</span>&#160;  <span class="keywordtype">int</span> ret;</div>
-<div class="line"><a name="l00557"></a><span class="lineno">  557</span>&#160;  <span class="keyword">struct </span><a class="code" href="structdtls__cipher__context__t.html">dtls_cipher_context_t</a> *ctx = <a class="code" href="crypto_8c.html#a5e6fa88c169e5d7289052600fc445c29">dtls_cipher_context_get</a>();</div>
-<div class="line"><a name="l00558"></a><span class="lineno">  558</span>&#160;</div>
-<div class="line"><a name="l00559"></a><span class="lineno">  559</span>&#160;  ret = rijndael_set_key_enc_only(&amp;ctx-&gt;<a class="code" href="structdtls__cipher__context__t.html#a02da63201e2ac7bc508e3bb54c5761dc">data</a>.<a class="code" href="structaes128__ccm__t.html#a5bdf410f025e4177ced456059bc8a371">ctx</a>, key, 8 * keylen);</div>
-<div class="line"><a name="l00560"></a><span class="lineno">  560</span>&#160;  <span class="keywordflow">if</span> (ret &lt; 0) {</div>
-<div class="line"><a name="l00561"></a><span class="lineno">  561</span>&#160;    <span class="comment">/* cleanup everything in case the key has the wrong size */</span></div>
-<div class="line"><a name="l00562"></a><span class="lineno">  562</span>&#160;    <a class="code" href="debug_8h.html#ae1c22127c92fab70da7bf9cae8536e5c">dtls_warn</a>(<span class="stringliteral">&quot;cannot set rijndael key\n&quot;</span>);</div>
-<div class="line"><a name="l00563"></a><span class="lineno">  563</span>&#160;    <span class="keywordflow">goto</span> error;</div>
-<div class="line"><a name="l00564"></a><span class="lineno">  564</span>&#160;  }</div>
-<div class="line"><a name="l00565"></a><span class="lineno">  565</span>&#160;</div>
-<div class="line"><a name="l00566"></a><span class="lineno">  566</span>&#160;  <span class="keywordflow">if</span> (src != buf)</div>
-<div class="line"><a name="l00567"></a><span class="lineno">  567</span>&#160;    memmove(buf, src, length);</div>
-<div class="line"><a name="l00568"></a><span class="lineno">  568</span>&#160;  ret = <a class="code" href="crypto_8c.html#a64f692530b9bb934f8852ca27c9ca2a1">dtls_ccm_decrypt</a>(&amp;ctx-&gt;<a class="code" href="structdtls__cipher__context__t.html#a02da63201e2ac7bc508e3bb54c5761dc">data</a>, src, length, buf, nounce, aad, la);</div>
-<div class="line"><a name="l00569"></a><span class="lineno">  569</span>&#160;</div>
-<div class="line"><a name="l00570"></a><span class="lineno">  570</span>&#160;error:</div>
-<div class="line"><a name="l00571"></a><span class="lineno">  571</span>&#160;  <a class="code" href="crypto_8c.html#af65bc79ab89b4e162a0d30938d13109e">dtls_cipher_context_release</a>();</div>
-<div class="line"><a name="l00572"></a><span class="lineno">  572</span>&#160;  <span class="keywordflow">return</span> ret;</div>
-<div class="line"><a name="l00573"></a><span class="lineno">  573</span>&#160;}</div>
-<div class="line"><a name="l00574"></a><span class="lineno">  574</span>&#160;</div>
-<div class="ttc" id="crypto_8c_html_af65bc79ab89b4e162a0d30938d13109e"><div class="ttname"><a href="crypto_8c.html#af65bc79ab89b4e162a0d30938d13109e">dtls_cipher_context_release</a></div><div class="ttdeci">static void dtls_cipher_context_release(void)</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8c_source.html#l00068">crypto.c:68</a></div></div>
-<div class="ttc" id="crypto_8c_html_aa1b91000e339073fd2a9344957c22cbe"><div class="ttname"><a href="crypto_8c.html#aa1b91000e339073fd2a9344957c22cbe">dtls_handshake_malloc</a></div><div class="ttdeci">static dtls_handshake_parameters_t * dtls_handshake_malloc()</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8c_source.html#l00080">crypto.c:80</a></div></div>
-<div class="ttc" id="global_8h_html_a1ff555e0b1443c4cb4d17ac2161d89b2ac5b79ee16e8c0e46873fa63fdb1ab9ca"><div class="ttname"><a href="global_8h.html#a1ff555e0b1443c4cb4d17ac2161d89b2ac5b79ee16e8c0e46873fa63fdb1ab9ca">TLS_COMPRESSION_NULL</a></div><div class="ttdef"><b>Definition:</b> <a href="global_8h_source.html#l00082">global.h:82</a></div></div>
-<div class="ttc" id="crypto_8c_html_aa17bcdc666796e52788f82ee003bb172"><div class="ttname"><a href="crypto_8c.html#aa17bcdc666796e52788f82ee003bb172">dtls_handshake_free</a></div><div class="ttdeci">void dtls_handshake_free(dtls_handshake_parameters_t *handshake)</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8c_source.html#l00146">crypto.c:146</a></div></div>
-<div class="ttc" id="numeric_8h_html_a91f840f763f90c6d88a267011edf86d0"><div class="ttname"><a href="numeric_8h.html#a91f840f763f90c6d88a267011edf86d0">dtls_uint32_to_int</a></div><div class="ttdeci">static uint32_t dtls_uint32_to_int(const unsigned char *field)</div><div class="ttdef"><b>Definition:</b> <a href="numeric_8h_source.html#l00112">numeric.h:112</a></div></div>
-<div class="ttc" id="structaes128__ccm__t_html"><div class="ttname"><a href="structaes128__ccm__t.html">aes128_ccm_t</a></div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00070">crypto.h:70</a></div></div>
-<div class="ttc" id="numeric_8h_html_a24e753bacac6be5f30e18f8a2bdefda4"><div class="ttname"><a href="numeric_8h.html#a24e753bacac6be5f30e18f8a2bdefda4">max</a></div><div class="ttdeci">#define max(A, B)</div><div class="ttdef"><b>Definition:</b> <a href="numeric_8h_source.html#l00036">numeric.h:36</a></div></div>
-<div class="ttc" id="structdtls__handshake__parameters__t_html_a56e7392a649731166fc82a523b0eb027"><div class="ttname"><a href="structdtls__handshake__parameters__t.html#a56e7392a649731166fc82a523b0eb027">dtls_handshake_parameters_t::hs_state</a></div><div class="ttdeci">dtls_hs_state_t hs_state</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00125">crypto.h:125</a></div></div>
-<div class="ttc" id="tinydtls_8h_html"><div class="ttname"><a href="tinydtls_8h.html">tinydtls.h</a></div><div class="ttdoc">public tinydtls API </div></div>
-<div class="ttc" id="crypto_8c_html_ad4a90eac1ed6a277c837d7f9dc0a923c"><div class="ttname"><a href="crypto_8c.html#ad4a90eac1ed6a277c837d7f9dc0a923c">cipher_context_mutex</a></div><div class="ttdeci">static pthread_mutex_t cipher_context_mutex</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8c_source.html#l00057">crypto.c:57</a></div></div>
-<div class="ttc" id="group__HMAC_html_ga1ef9c88a0a2053b442413a9cea3deb73"><div class="ttname"><a href="group__HMAC.html#ga1ef9c88a0a2053b442413a9cea3deb73">dtls_hmac_update</a></div><div class="ttdeci">void dtls_hmac_update(dtls_hmac_context_t *ctx, const unsigned char *input, size_t ilen)</div><div class="ttdef"><b>Definition:</b> <a href="hmac_8c_source.html#l00076">hmac.c:76</a></div></div>
-<div class="ttc" id="crypto_8c_html_a5f9937088ea2e1d19e7d472fecae9aaa"><div class="ttname"><a href="crypto_8c.html#a5f9937088ea2e1d19e7d472fecae9aaa">dtls_ecdh_pre_master_secret</a></div><div class="ttdeci">int dtls_ecdh_pre_master_secret(unsigned char *priv_key, unsigned char *pub_key_x, unsigned char *pub_key_y, size_t key_size, unsigned char *result, size_t result_len)</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8c_source.html#l00398">crypto.c:398</a></div></div>
-<div class="ttc" id="dtls__config_8h_html"><div class="ttname"><a href="dtls__config_8h.html">dtls_config.h</a></div></div>
-<div class="ttc" id="crypto_8c_html_aa53dfed4868e257d2485024b5c170bae"><div class="ttname"><a href="crypto_8c.html#aa53dfed4868e257d2485024b5c170bae">dtls_psk_pre_master_secret</a></div><div class="ttdeci">int dtls_psk_pre_master_secret(unsigned char *key, size_t keylen, unsigned char *result, size_t result_len)</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8c_source.html#l00318">crypto.c:318</a></div></div>
-<div class="ttc" id="structaes128__ccm__t_html_a5bdf410f025e4177ced456059bc8a371"><div class="ttname"><a href="structaes128__ccm__t.html#a5bdf410f025e4177ced456059bc8a371">aes128_ccm_t::ctx</a></div><div class="ttdeci">rijndael_ctx ctx</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00071">crypto.h:71</a></div></div>
-<div class="ttc" id="ccm_8c_html_aa3e92bdeca1d0730d48b8a85181d5b6d"><div class="ttname"><a href="ccm_8c.html#aa3e92bdeca1d0730d48b8a85181d5b6d">dtls_ccm_decrypt_message</a></div><div class="ttdeci">long int dtls_ccm_decrypt_message(rijndael_ctx *ctx, size_t M, size_t L, unsigned char nonce[DTLS_CCM_BLOCKSIZE], unsigned char *msg, size_t lm, const unsigned char *aad, size_t la)</div><div class="ttdef"><b>Definition:</b> <a href="ccm_8c_source.html#l00240">ccm.c:240</a></div></div>
-<div class="ttc" id="crypto_8c_html_aea7bd0a10cf289c033216a97c0ee701e"><div class="ttname"><a href="crypto_8c.html#aea7bd0a10cf289c033216a97c0ee701e">dtls_p_hash</a></div><div class="ttdeci">size_t dtls_p_hash(dtls_hashfunc_t h, const unsigned char *key, size_t keylen, const unsigned char *label, size_t labellen, const unsigned char *random1, size_t random1len, const unsigned char *random2, size_t random2len, unsigned char *buf, size_t buflen)</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8c_source.html#l00183">crypto.c:183</a></div></div>
-<div class="ttc" id="hmac_8h_html_abb19650a510c73117da0e9b88d68f159"><div class="ttname"><a href="hmac_8h.html#abb19650a510c73117da0e9b88d68f159">dtls_hash_ctx</a></div><div class="ttdeci">SHA256_CTX dtls_hash_ctx</div><div class="ttdef"><b>Definition:</b> <a href="hmac_8h_source.html#l00038">hmac.h:38</a></div></div>
-<div class="ttc" id="crypto_8c_html_ad58098f0e821f81b4f1a6672ead17ac5"><div class="ttname"><a href="crypto_8c.html#ad58098f0e821f81b4f1a6672ead17ac5">dtls_encrypt</a></div><div class="ttdeci">int dtls_encrypt(const unsigned char *src, size_t length, unsigned char *buf, unsigned char *nounce, unsigned char *key, size_t keylen, const unsigned char *aad, size_t la)</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8c_source.html#l00524">crypto.c:524</a></div></div>
-<div class="ttc" id="debug_8h_html"><div class="ttname"><a href="debug_8h.html">debug.h</a></div></div>
-<div class="ttc" id="crypto_8h_html"><div class="ttname"><a href="crypto_8h.html">crypto.h</a></div></div>
-<div class="ttc" id="group__HMAC_html_ga5b1a3c1dcb5461bda44dd70f7bd33181"><div class="ttname"><a href="group__HMAC.html#ga5b1a3c1dcb5461bda44dd70f7bd33181">dtls_hmac_free</a></div><div class="ttdeci">void dtls_hmac_free(dtls_hmac_context_t *ctx)</div><div class="ttdef"><b>Definition:</b> <a href="hmac_8c_source.html#l00121">hmac.c:121</a></div></div>
-<div class="ttc" id="crypto_8c_html_a49f03039780664684d110d83a228b163"><div class="ttname"><a href="crypto_8c.html#a49f03039780664684d110d83a228b163">dtls_ecdsa_create_sig_hash</a></div><div class="ttdeci">void dtls_ecdsa_create_sig_hash(const unsigned char *priv_key, size_t key_size, const unsigned char *sign_hash, size_t sign_hash_size, uint32_t point_r[9], uint32_t point_s[9])</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8c_source.html#l00446">crypto.c:446</a></div></div>
-<div class="ttc" id="structdtls__cipher__context__t_html_a02da63201e2ac7bc508e3bb54c5761dc"><div class="ttname"><a href="structdtls__cipher__context__t.html#a02da63201e2ac7bc508e3bb54c5761dc">dtls_cipher_context_t::data</a></div><div class="ttdeci">aes128_ccm_t data</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00076">crypto.h:76</a></div></div>
-<div class="ttc" id="crypto_8c_html_a86e6ce9d4b4afcef355836955697f52c"><div class="ttname"><a href="crypto_8c.html#a86e6ce9d4b4afcef355836955697f52c">crypto_init</a></div><div class="ttdeci">void crypto_init()</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8c_source.html#l00076">crypto.c:76</a></div></div>
-<div class="ttc" id="global_8h_html"><div class="ttname"><a href="global_8h.html">global.h</a></div></div>
-<div class="ttc" id="crypto_8c_html_a982fc9e78cd10d9323756b15b72c7970"><div class="ttname"><a href="crypto_8c.html#a982fc9e78cd10d9323756b15b72c7970">dtls_ecdsa_generate_key</a></div><div class="ttdeci">void dtls_ecdsa_generate_key(unsigned char *priv_key, unsigned char *pub_key_x, unsigned char *pub_key_y, size_t key_size)</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8c_source.html#l00425">crypto.c:425</a></div></div>
-<div class="ttc" id="crypto_8c_html_a5ae24f3621f545752732e318840d7e2b"><div class="ttname"><a href="crypto_8c.html#a5ae24f3621f545752732e318840d7e2b">dtls_ec_key_from_uint32_asn1</a></div><div class="ttdeci">int dtls_ec_key_from_uint32_asn1(const uint32_t *key, size_t key_size, unsigned char *buf)</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8c_source.html#l00362">crypto.c:362</a></div></div>
-<div class="ttc" id="global_8h_html_a0749f1df578b26eccab986b0d8abaa56"><div class="ttname"><a href="global_8h.html#a0749f1df578b26eccab986b0d8abaa56">uint48</a></div><div class="ttdeci">unsigned char uint48[6]</div><div class="ttdef"><b>Definition:</b> <a href="global_8h_source.html#l00051">global.h:51</a></div></div>
-<div class="ttc" id="crypto_8c_html_a035860da45ba2586a95c8ef7f539a3c9"><div class="ttname"><a href="crypto_8c.html#a035860da45ba2586a95c8ef7f539a3c9">dtls_ecdsa_verify_sig</a></div><div class="ttdeci">int dtls_ecdsa_verify_sig(const unsigned char *pub_key_x, const unsigned char *pub_key_y, size_t key_size, const unsigned char *client_random, size_t client_random_size, const unsigned char *server_random, size_t server_random_size, const unsigned char *keyx_params, size_t keyx_params_size, unsigned char *result_r, unsigned char *result_s)</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8c_source.html#l00503">crypto.c:503</a></div></div>
-<div class="ttc" id="crypto_8c_html_a8cefde2bc97452f889600c6b17ff04a6"><div class="ttname"><a href="crypto_8c.html#a8cefde2bc97452f889600c6b17ff04a6">dtls_ec_key_from_uint32</a></div><div class="ttdeci">static void dtls_ec_key_from_uint32(const uint32_t *key, size_t key_size, unsigned char *result)</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8c_source.html#l00352">crypto.c:352</a></div></div>
-<div class="ttc" id="group__HMAC_html_ga060019cf2dab9903d58118fe1abe7018"><div class="ttname"><a href="group__HMAC.html#ga060019cf2dab9903d58118fe1abe7018">DTLS_HMAC_DIGEST_SIZE</a></div><div class="ttdeci">#define DTLS_HMAC_DIGEST_SIZE</div><div class="ttdef"><b>Definition:</b> <a href="hmac_8h_source.html#l00074">hmac.h:74</a></div></div>
-<div class="ttc" id="crypto_8c_html_a120f7f398e1a71a5f16e5447842bcfb3"><div class="ttname"><a href="crypto_8c.html#a120f7f398e1a71a5f16e5447842bcfb3">dtls_handshake_dealloc</a></div><div class="ttdeci">static void dtls_handshake_dealloc(dtls_handshake_parameters_t *handshake)</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8c_source.html#l00084">crypto.c:84</a></div></div>
-<div class="ttc" id="debug_8h_html_a0f158325426415d9efb5a36bebf45844"><div class="ttname"><a href="debug_8h.html#a0f158325426415d9efb5a36bebf45844">dtls_debug</a></div><div class="ttdeci">#define dtls_debug(...)</div><div class="ttdef"><b>Definition:</b> <a href="debug_8h_source.html#l00139">debug.h:139</a></div></div>
-<div class="ttc" id="structdtls__hs__state__t_html_a991b95919538531d730f74045e4fe3b1"><div class="ttname"><a href="structdtls__hs__state__t.html#a991b95919538531d730f74045e4fe3b1">dtls_hs_state_t::hs_hash</a></div><div class="ttdeci">dtls_hash_ctx hs_hash</div><div class="ttdef"><b>Definition:</b> <a href="state_8h_source.html#l00062">state.h:62</a></div></div>
-<div class="ttc" id="ccm_8c_html_a40f4f23b5687e18dc1bce1c19101da42"><div class="ttname"><a href="ccm_8c.html#a40f4f23b5687e18dc1bce1c19101da42">dtls_ccm_encrypt_message</a></div><div class="ttdeci">long int dtls_ccm_encrypt_message(rijndael_ctx *ctx, size_t M, size_t L, unsigned char nonce[DTLS_CCM_BLOCKSIZE], unsigned char *msg, size_t lm, const unsigned char *aad, size_t la)</div><div class="ttdef"><b>Definition:</b> <a href="ccm_8c_source.html#l00176">ccm.c:176</a></div></div>
-<div class="ttc" id="crypto_8c_html_a8b75c06a8e364132816aaddb81db0f2c"><div class="ttname"><a href="crypto_8c.html#a8b75c06a8e364132816aaddb81db0f2c">dtls_ccm_encrypt</a></div><div class="ttdeci">static size_t dtls_ccm_encrypt(aes128_ccm_t *ccm_ctx, const unsigned char *src, size_t srclen, unsigned char *buf, unsigned char *nounce, const unsigned char *aad, size_t la)</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8c_source.html#l00283">crypto.c:283</a></div></div>
-<div class="ttc" id="crypto_8c_html_a25930cdb27a6ffcf05e2c2a9c95a6af8"><div class="ttname"><a href="crypto_8c.html#a25930cdb27a6ffcf05e2c2a9c95a6af8">dtls_handshake_new</a></div><div class="ttdeci">dtls_handshake_parameters_t * dtls_handshake_new()</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8c_source.html#l00123">crypto.c:123</a></div></div>
-<div class="ttc" id="group__HMAC_html_gaa1eb35fcb2c2eb69eebaefa8eb4a790d"><div class="ttname"><a href="group__HMAC.html#gaa1eb35fcb2c2eb69eebaefa8eb4a790d">dtls_hmac_init</a></div><div class="ttdeci">void dtls_hmac_init(dtls_hmac_context_t *ctx, const unsigned char *key, size_t klen)</div><div class="ttdef"><b>Definition:</b> <a href="hmac_8c_source.html#l00094">hmac.c:94</a></div></div>
-<div class="ttc" id="structdtls__hmac__context__t_html"><div class="ttname"><a href="structdtls__hmac__context__t.html">dtls_hmac_context_t</a></div><div class="ttdef"><b>Definition:</b> <a href="hmac_8h_source.html#l00095">hmac.h:95</a></div></div>
-<div class="ttc" id="group__HMAC_html_gac3e9ef037800963783e618eafd046702"><div class="ttname"><a href="group__HMAC.html#gac3e9ef037800963783e618eafd046702">dtls_hmac_new</a></div><div class="ttdeci">dtls_hmac_context_t * dtls_hmac_new(const unsigned char *key, size_t klen)</div><div class="ttdef"><b>Definition:</b> <a href="hmac_8c_source.html#l00083">hmac.c:83</a></div></div>
-<div class="ttc" id="hmac_8h_html_afe0af64930ac5d6a51289df6d1eb4f52"><div class="ttname"><a href="hmac_8h.html#afe0af64930ac5d6a51289df6d1eb4f52">dtls_hash_init</a></div><div class="ttdeci">static void dtls_hash_init(dtls_hash_t ctx)</div><div class="ttdef"><b>Definition:</b> <a href="hmac_8h_source.html#l00043">hmac.h:43</a></div></div>
-<div class="ttc" id="group__HMAC_html_gga698cfa036e69361a93dcdd9b19579b23a3690b7a5bf11282bcdaa199c11408dd3"><div class="ttname"><a href="group__HMAC.html#gga698cfa036e69361a93dcdd9b19579b23a3690b7a5bf11282bcdaa199c11408dd3">HASH_SHA256</a></div><div class="ttdef"><b>Definition:</b> <a href="hmac_8h_source.html#l00085">hmac.h:85</a></div></div>
-<div class="ttc" id="debug_8h_html_ad4c9c94c054579b73789fead587c8514"><div class="ttname"><a href="debug_8h.html#ad4c9c94c054579b73789fead587c8514">dtls_crit</a></div><div class="ttdeci">#define dtls_crit(...)</div><div class="ttdef"><b>Definition:</b> <a href="debug_8h_source.html#l00135">debug.h:135</a></div></div>
-<div class="ttc" id="global_8h_html_adde6aaee8457bee49c2a92621fe22b79"><div class="ttname"><a href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a></div><div class="ttdeci">unsigned char uint8</div><div class="ttdef"><b>Definition:</b> <a href="global_8h_source.html#l00047">global.h:47</a></div></div>
-<div class="ttc" id="crypto_8c_html_a64f692530b9bb934f8852ca27c9ca2a1"><div class="ttname"><a href="crypto_8c.html#a64f692530b9bb934f8852ca27c9ca2a1">dtls_ccm_decrypt</a></div><div class="ttdeci">static size_t dtls_ccm_decrypt(aes128_ccm_t *ccm_ctx, const unsigned char *src, size_t srclen, unsigned char *buf, unsigned char *nounce, const unsigned char *aad, size_t la)</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8c_source.html#l00300">crypto.c:300</a></div></div>
-<div class="ttc" id="numeric_8h_html_a074d352855e1ffde4c2ddb6a6fea01b9"><div class="ttname"><a href="numeric_8h.html#a074d352855e1ffde4c2ddb6a6fea01b9">dtls_int_to_uint16</a></div><div class="ttdeci">static int dtls_int_to_uint16(unsigned char *field, uint16_t value)</div><div class="ttdef"><b>Definition:</b> <a href="numeric_8h_source.html#l00046">numeric.h:46</a></div></div>
-<div class="ttc" id="hmac_8h_html_adb5ad07ab9a1adcdfdc20e13aa37bee6"><div class="ttname"><a href="hmac_8h.html#adb5ad07ab9a1adcdfdc20e13aa37bee6">dtls_hash_update</a></div><div class="ttdeci">static void dtls_hash_update(dtls_hash_t ctx, const unsigned char *input, size_t len)</div><div class="ttdef"><b>Definition:</b> <a href="hmac_8h_source.html#l00048">hmac.h:48</a></div></div>
-<div class="ttc" id="global_8h_html_ada7e71454d685b693df45b2c1ea0c59bacf33de998fd00f096eebbb0742d80abd"><div class="ttname"><a href="global_8h.html#ada7e71454d685b693df45b2c1ea0c59bacf33de998fd00f096eebbb0742d80abd">TLS_NULL_WITH_NULL_NULL</a></div><div class="ttdef"><b>Definition:</b> <a href="global_8h_source.html#l00075">global.h:75</a></div></div>
-<div class="ttc" id="dtls_8h_html"><div class="ttname"><a href="dtls_8h.html">dtls.h</a></div><div class="ttdoc">High level DTLS API and visible structures. </div></div>
-<div class="ttc" id="group__HMAC_html_gab98c992f3f9cc3c2d75077ddd46049bf"><div class="ttname"><a href="group__HMAC.html#gab98c992f3f9cc3c2d75077ddd46049bf">dtls_hmac_finalize</a></div><div class="ttdeci">int dtls_hmac_finalize(dtls_hmac_context_t *ctx, unsigned char *result)</div><div class="ttdef"><b>Definition:</b> <a href="hmac_8c_source.html#l00127">hmac.c:127</a></div></div>
-<div class="ttc" id="crypto_8c_html_afa2d9b2a195a1d8e8c56b1af8cb7bc82"><div class="ttname"><a href="crypto_8c.html#afa2d9b2a195a1d8e8c56b1af8cb7bc82">dtls_ecdsa_create_sig</a></div><div class="ttdeci">void dtls_ecdsa_create_sig(const unsigned char *priv_key, size_t key_size, const unsigned char *client_random, size_t client_random_size, const unsigned char *server_random, size_t server_random_size, const unsigned char *keyx_params, size_t keyx_params_size, uint32_t point_r[9], uint32_t point_s[9])</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8c_source.html#l00463">crypto.c:463</a></div></div>
-<div class="ttc" id="crypto_8c_html_aa58fc0b3953c6048834855a364432d8c"><div class="ttname"><a href="crypto_8c.html#aa58fc0b3953c6048834855a364432d8c">dtls_security_malloc</a></div><div class="ttdeci">static dtls_security_parameters_t * dtls_security_malloc()</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8c_source.html#l00088">crypto.c:88</a></div></div>
-<div class="ttc" id="crypto_8c_html_a802b3a2b267747a76d4557c6c9a899d7"><div class="ttname"><a href="crypto_8c.html#a802b3a2b267747a76d4557c6c9a899d7">dtls_ecdsa_verify_sig_hash</a></div><div class="ttdeci">int dtls_ecdsa_verify_sig_hash(const unsigned char *pub_key_x, const unsigned char *pub_key_y, size_t key_size, const unsigned char *sign_hash, size_t sign_hash_size, unsigned char *result_r, unsigned char *result_s)</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8c_source.html#l00483">crypto.c:483</a></div></div>
-<div class="ttc" id="crypto_8c_html_a9fd792e4bb85e55082e4bf32de0d4bdb"><div class="ttname"><a href="crypto_8c.html#a9fd792e4bb85e55082e4bf32de0d4bdb">cipher_context</a></div><div class="ttdeci">static struct dtls_cipher_context_t cipher_context</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8c_source.html#l00055">crypto.c:55</a></div></div>
-<div class="ttc" id="structdtls__security__parameters__t_html_a6a72df7ab1151f81e49d464175fcaf2a"><div class="ttname"><a href="structdtls__security__parameters__t.html#a6a72df7ab1151f81e49d464175fcaf2a">dtls_security_parameters_t::compression</a></div><div class="ttdeci">dtls_compression_t compression</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00100">crypto.h:100</a></div></div>
-<div class="ttc" id="structdtls__security__parameters__t_html_a21d9fac709d739535b0cbecce4c18830"><div class="ttname"><a href="structdtls__security__parameters__t.html#a21d9fac709d739535b0cbecce4c18830">dtls_security_parameters_t::cipher</a></div><div class="ttdeci">dtls_cipher_t cipher</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00102">crypto.h:102</a></div></div>
-<div class="ttc" id="crypto_8c_html_a444e2410b15ce27c6201204476d20497"><div class="ttname"><a href="crypto_8c.html#a444e2410b15ce27c6201204476d20497">dtls_security_dealloc</a></div><div class="ttdeci">static void dtls_security_dealloc(dtls_security_parameters_t *security)</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8c_source.html#l00092">crypto.c:92</a></div></div>
-<div class="ttc" id="crypto_8c_html_ad54069f2880b3c07185ebba736d02d17"><div class="ttname"><a href="crypto_8c.html#ad54069f2880b3c07185ebba736d02d17">dtls_security_free</a></div><div class="ttdeci">void dtls_security_free(dtls_security_parameters_t *security)</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8c_source.html#l00174">crypto.c:174</a></div></div>
-<div class="ttc" id="numeric_8h_html_a6914ee523b27539f4e441bede8c072b4"><div class="ttname"><a href="numeric_8h.html#a6914ee523b27539f4e441bede8c072b4">dtls_int_to_uint32</a></div><div class="ttdeci">static int dtls_int_to_uint32(unsigned char *field, uint32_t value)</div><div class="ttdef"><b>Definition:</b> <a href="numeric_8h_source.html#l00061">numeric.h:61</a></div></div>
-<div class="ttc" id="netq_8h_html"><div class="ttname"><a href="netq_8h.html">netq.h</a></div></div>
-<div class="ttc" id="crypto_8c_html_ab7ea6d487f3c6e67106df7f4d281804a"><div class="ttname"><a href="crypto_8c.html#ab7ea6d487f3c6e67106df7f4d281804a">HMAC_UPDATE_SEED</a></div><div class="ttdeci">#define HMAC_UPDATE_SEED(Context, Seed, Length)</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8c_source.html#l00052">crypto.c:52</a></div></div>
-<div class="ttc" id="group__HMAC_html_ga698cfa036e69361a93dcdd9b19579b23"><div class="ttname"><a href="group__HMAC.html#ga698cfa036e69361a93dcdd9b19579b23">dtls_hashfunc_t</a></div><div class="ttdeci">dtls_hashfunc_t</div><div class="ttdef"><b>Definition:</b> <a href="hmac_8h_source.html#l00083">hmac.h:83</a></div></div>
-<div class="ttc" id="debug_8h_html_ae1c22127c92fab70da7bf9cae8536e5c"><div class="ttname"><a href="debug_8h.html#ae1c22127c92fab70da7bf9cae8536e5c">dtls_warn</a></div><div class="ttdeci">#define dtls_warn(...)</div><div class="ttdef"><b>Definition:</b> <a href="debug_8h_source.html#l00136">debug.h:136</a></div></div>
-<div class="ttc" id="ccm_8h_html_a2d0e7515c26737872fe840958ed140ac"><div class="ttname"><a href="ccm_8h.html#a2d0e7515c26737872fe840958ed140ac">DTLS_CCM_NONCE_SIZE</a></div><div class="ttdeci">#define DTLS_CCM_NONCE_SIZE</div><div class="ttdef"><b>Definition:</b> <a href="ccm_8h_source.html#l00035">ccm.h:35</a></div></div>
-<div class="ttc" id="crypto_8c_html_a1d568085636a04b4706b7e50df802a7b"><div class="ttname"><a href="crypto_8c.html#a1d568085636a04b4706b7e50df802a7b">dtls_security_new</a></div><div class="ttdeci">dtls_security_parameters_t * dtls_security_new()</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8c_source.html#l00155">crypto.c:155</a></div></div>
-<div class="ttc" id="crypto_8c_html_a5e6fa88c169e5d7289052600fc445c29"><div class="ttname"><a href="crypto_8c.html#a5e6fa88c169e5d7289052600fc445c29">dtls_cipher_context_get</a></div><div class="ttdeci">static struct dtls_cipher_context_t * dtls_cipher_context_get(void)</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8c_source.html#l00060">crypto.c:60</a></div></div>
-<div class="ttc" id="group__prng_html_ga3f4036a1abfcec552ab583a2dc37be6c"><div class="ttname"><a href="group__prng.html#ga3f4036a1abfcec552ab583a2dc37be6c">dtls_prng</a></div><div class="ttdeci">static int dtls_prng(unsigned char *buf, size_t len)</div><div class="ttdef"><b>Definition:</b> <a href="prng_8h_source.html#l00033">prng.h:33</a></div></div>
-<div class="ttc" id="hmac_8h_html_a96801bbb62f4c9c872b22cd8e438e51e"><div class="ttname"><a href="hmac_8h.html#a96801bbb62f4c9c872b22cd8e438e51e">dtls_hash_finalize</a></div><div class="ttdeci">static size_t dtls_hash_finalize(unsigned char *buf, dtls_hash_t ctx)</div><div class="ttdef"><b>Definition:</b> <a href="hmac_8h_source.html#l00053">hmac.h:53</a></div></div>
-<div class="ttc" id="numeric_8h_html"><div class="ttname"><a href="numeric_8h.html">numeric.h</a></div></div>
-<div class="ttc" id="structdtls__cipher__context__t_html"><div class="ttname"><a href="structdtls__cipher__context__t.html">dtls_cipher_context_t</a></div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00074">crypto.h:74</a></div></div>
-<div class="ttc" id="prng_8h_html"><div class="ttname"><a href="prng_8h.html">prng.h</a></div><div class="ttdoc">Pseudo Random Numbers. </div></div>
-<div class="ttc" id="structdtls__security__parameters__t_html"><div class="ttname"><a href="structdtls__security__parameters__t.html">dtls_security_parameters_t</a></div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00099">crypto.h:99</a></div></div>
-<div class="ttc" id="structdtls__handshake__parameters__t_html"><div class="ttname"><a href="structdtls__handshake__parameters__t.html">dtls_handshake_parameters_t</a></div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00115">crypto.h:115</a></div></div>
-<div class="ttc" id="group__netq_html_gac72fd2ec9f1e6908c8a10705fb6555e2"><div class="ttname"><a href="group__netq.html#gac72fd2ec9f1e6908c8a10705fb6555e2">netq_delete_all</a></div><div class="ttdeci">void netq_delete_all(list_t queue)</div><div class="ttdef"><b>Definition:</b> <a href="netq_8c_source.html#l00133">netq.c:133</a></div></div>
-<div class="ttc" id="global_8h_html_a5e90b30856b81913af89565b55751da5"><div class="ttname"><a href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a></div><div class="ttdeci">unsigned char uint16[2]</div><div class="ttdef"><b>Definition:</b> <a href="global_8h_source.html#l00048">global.h:48</a></div></div>
-<div class="ttc" id="crypto_8c_html_a5e47576e502b5a6255f1b489a4915512"><div class="ttname"><a href="crypto_8c.html#a5e47576e502b5a6255f1b489a4915512">dtls_prf</a></div><div class="ttdeci">size_t dtls_prf(const unsigned char *key, size_t keylen, const unsigned char *label, size_t labellen, const unsigned char *random1, size_t random1len, const unsigned char *random2, size_t random2len, unsigned char *buf, size_t buflen)</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8c_source.html#l00249">crypto.c:249</a></div></div>
-<div class="ttc" id="ccm_8h_html"><div class="ttname"><a href="ccm_8h.html">ccm.h</a></div></div>
-<div class="ttc" id="crypto_8c_html_a1423f8111df1533241178461c10b50e3"><div class="ttname"><a href="crypto_8c.html#a1423f8111df1533241178461c10b50e3">dtls_mac</a></div><div class="ttdeci">void dtls_mac(dtls_hmac_context_t *hmac_ctx, const unsigned char *record, const unsigned char *packet, size_t length, unsigned char *buf)</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8c_source.html#l00266">crypto.c:266</a></div></div>
-<div class="ttc" id="crypto_8c_html_aac32554190e3970917a31ff01eed4080"><div class="ttname"><a href="crypto_8c.html#aac32554190e3970917a31ff01eed4080">dtls_decrypt</a></div><div class="ttdeci">int dtls_decrypt(const unsigned char *src, size_t length, unsigned char *buf, unsigned char *nounce, unsigned char *key, size_t keylen, const unsigned char *aad, size_t la)</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8c_source.html#l00550">crypto.c:550</a></div></div>
-<div class="ttc" id="crypto_8c_html_aaa510b41aa69dc5f93a1bf5bdde4a9c4"><div class="ttname"><a href="crypto_8c.html#aaa510b41aa69dc5f93a1bf5bdde4a9c4">dtls_ec_key_to_uint32</a></div><div class="ttdeci">static void dtls_ec_key_to_uint32(const unsigned char *key, size_t key_size, uint32_t *result)</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8c_source.html#l00342">crypto.c:342</a></div></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/crypto_8h.html b/external/wakaama/examples/shared/tinydtls/doc/html/crypto_8h.html
deleted file mode 100644 (file)
index 93c7220..0000000
+++ /dev/null
@@ -1,1881 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: crypto.h File Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#nested-classes">Data Structures</a> &#124;
-<a href="#define-members">Macros</a> &#124;
-<a href="#typedef-members">Typedefs</a> &#124;
-<a href="#enum-members">Enumerations</a> &#124;
-<a href="#func-members">Functions</a>  </div>
-  <div class="headertitle">
-<div class="title">crypto.h File Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock"><code>#include &lt;stdlib.h&gt;</code><br/>
-<code>#include &lt;stdint.h&gt;</code><br/>
-<code>#include &quot;<a class="el" href="t__list_8h_source.html">t_list.h</a>&quot;</code><br/>
-<code>#include &quot;aes/rijndael.h&quot;</code><br/>
-<code>#include &quot;<a class="el" href="global_8h_source.html">global.h</a>&quot;</code><br/>
-<code>#include &quot;<a class="el" href="state_8h_source.html">state.h</a>&quot;</code><br/>
-<code>#include &quot;<a class="el" href="numeric_8h_source.html">numeric.h</a>&quot;</code><br/>
-<code>#include &quot;<a class="el" href="hmac_8h_source.html">hmac.h</a>&quot;</code><br/>
-<code>#include &quot;<a class="el" href="ccm_8h_source.html">ccm.h</a>&quot;</code><br/>
-</div>
-<p><a href="crypto_8h_source.html">Go to the source code of this file.</a></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
-Data Structures</h2></td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structaes128__ccm__t.html">aes128_ccm_t</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdtls__cipher__context__t.html">dtls_cipher_context_t</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdtls__handshake__parameters__ecdsa__t.html">dtls_handshake_parameters_ecdsa_t</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdtls__handshake__parameters__psk__t.html">dtls_handshake_parameters_psk_t</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdtls__security__parameters__t.html">dtls_security_parameters_t</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdtls__handshake__parameters__t.html">dtls_handshake_parameters_t</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
-Macros</h2></td></tr>
-<tr class="memitem:a5962b0d908f9b15406ca53d27a33e08a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8h.html#a5962b0d908f9b15406ca53d27a33e08a">DTLS_MAC_KEY_LENGTH</a>&#160;&#160;&#160;0</td></tr>
-<tr class="separator:a5962b0d908f9b15406ca53d27a33e08a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a829b5d5e4d693fdb3de335a0e2017076"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8h.html#a829b5d5e4d693fdb3de335a0e2017076">DTLS_KEY_LENGTH</a>&#160;&#160;&#160;16 /* AES-128 */</td></tr>
-<tr class="separator:a829b5d5e4d693fdb3de335a0e2017076"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae86031f934f3f5f3af42dad5ff8e8757"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8h.html#ae86031f934f3f5f3af42dad5ff8e8757">DTLS_BLK_LENGTH</a>&#160;&#160;&#160;16 /* AES-128 */</td></tr>
-<tr class="separator:ae86031f934f3f5f3af42dad5ff8e8757"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4fa04874a476a8cc5048372b6d584dbe"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8h.html#a4fa04874a476a8cc5048372b6d584dbe">DTLS_MAC_LENGTH</a>&#160;&#160;&#160;<a class="el" href="group__HMAC.html#ga060019cf2dab9903d58118fe1abe7018">DTLS_HMAC_DIGEST_SIZE</a></td></tr>
-<tr class="separator:a4fa04874a476a8cc5048372b6d584dbe"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8106002d0d69d8da810321c65ac71385"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8h.html#a8106002d0d69d8da810321c65ac71385">DTLS_IV_LENGTH</a>&#160;&#160;&#160;4  /* length of nonce_explicit */</td></tr>
-<tr class="separator:a8106002d0d69d8da810321c65ac71385"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0df6db4f8c29f2b0aa5a1363b4f9127f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8h.html#a0df6db4f8c29f2b0aa5a1363b4f9127f">MAX_KEYBLOCK_LENGTH</a>&#160;&#160;&#160;(2 * <a class="el" href="crypto_8h.html#a5962b0d908f9b15406ca53d27a33e08a">DTLS_MAC_KEY_LENGTH</a> + 2 * <a class="el" href="crypto_8h.html#a829b5d5e4d693fdb3de335a0e2017076">DTLS_KEY_LENGTH</a> + 2 * <a class="el" href="crypto_8h.html#a8106002d0d69d8da810321c65ac71385">DTLS_IV_LENGTH</a>)</td></tr>
-<tr class="separator:a0df6db4f8c29f2b0aa5a1363b4f9127f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2648582ddf4c82abc01d8388bd3f15db"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8h.html#a2648582ddf4c82abc01d8388bd3f15db">DTLS_MASTER_SECRET_LENGTH</a>&#160;&#160;&#160;48</td></tr>
-<tr class="separator:a2648582ddf4c82abc01d8388bd3f15db"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5a0bdff7c0889f35601b4935098508a0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8h.html#a5a0bdff7c0889f35601b4935098508a0">DTLS_RANDOM_LENGTH</a>&#160;&#160;&#160;32</td></tr>
-<tr class="separator:a5a0bdff7c0889f35601b4935098508a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab96c8e0773a14d1ce1621eed1a78e2bd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8h.html#ab96c8e0773a14d1ce1621eed1a78e2bd">DTLS_PSK_MAX_CLIENT_IDENTITY_LEN</a>&#160;&#160;&#160;32</td></tr>
-<tr class="separator:ab96c8e0773a14d1ce1621eed1a78e2bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a59cd7c0b8724e1f9b910611623396080"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8h.html#a59cd7c0b8724e1f9b910611623396080">DTLS_PSK_MAX_KEY_LEN</a>&#160;&#160;&#160;32</td></tr>
-<tr class="separator:a59cd7c0b8724e1f9b910611623396080"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a72899232c09d09b86326c6f234addc02"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8h.html#a72899232c09d09b86326c6f234addc02">dtls_kb_client_mac_secret</a>(Param, Role)&#160;&#160;&#160;((Param)-&gt;key_block)</td></tr>
-<tr class="separator:a72899232c09d09b86326c6f234addc02"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac8fdf3770dcd956ca10d1044a57a7a3a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8h.html#ac8fdf3770dcd956ca10d1044a57a7a3a">dtls_kb_server_mac_secret</a>(Param, Role)&#160;&#160;&#160;(<a class="el" href="crypto_8h.html#a72899232c09d09b86326c6f234addc02">dtls_kb_client_mac_secret</a>(Param, Role) + <a class="el" href="crypto_8h.html#a5962b0d908f9b15406ca53d27a33e08a">DTLS_MAC_KEY_LENGTH</a>)</td></tr>
-<tr class="separator:ac8fdf3770dcd956ca10d1044a57a7a3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:acf318c989f5bb90b863154abbc408b66"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8h.html#acf318c989f5bb90b863154abbc408b66">dtls_kb_remote_mac_secret</a>(Param, Role)</td></tr>
-<tr class="separator:acf318c989f5bb90b863154abbc408b66"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa60519b0e9b775ccb0bdb46762f43418"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8h.html#aa60519b0e9b775ccb0bdb46762f43418">dtls_kb_local_mac_secret</a>(Param, Role)</td></tr>
-<tr class="separator:aa60519b0e9b775ccb0bdb46762f43418"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1f320854c9f4e9b2105649b3624976b0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8h.html#a1f320854c9f4e9b2105649b3624976b0">dtls_kb_mac_secret_size</a>(Param, Role)&#160;&#160;&#160;<a class="el" href="crypto_8h.html#a5962b0d908f9b15406ca53d27a33e08a">DTLS_MAC_KEY_LENGTH</a></td></tr>
-<tr class="separator:a1f320854c9f4e9b2105649b3624976b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab5659b0737d72a2fa1b1335952f9c305"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8h.html#ab5659b0737d72a2fa1b1335952f9c305">dtls_kb_client_write_key</a>(Param, Role)&#160;&#160;&#160;(<a class="el" href="crypto_8h.html#ac8fdf3770dcd956ca10d1044a57a7a3a">dtls_kb_server_mac_secret</a>(Param, Role) + <a class="el" href="crypto_8h.html#a5962b0d908f9b15406ca53d27a33e08a">DTLS_MAC_KEY_LENGTH</a>)</td></tr>
-<tr class="separator:ab5659b0737d72a2fa1b1335952f9c305"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aea906786dcfa12acb320df731c8db7f6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8h.html#aea906786dcfa12acb320df731c8db7f6">dtls_kb_server_write_key</a>(Param, Role)&#160;&#160;&#160;(<a class="el" href="crypto_8h.html#ab5659b0737d72a2fa1b1335952f9c305">dtls_kb_client_write_key</a>(Param, Role) + <a class="el" href="crypto_8h.html#a829b5d5e4d693fdb3de335a0e2017076">DTLS_KEY_LENGTH</a>)</td></tr>
-<tr class="separator:aea906786dcfa12acb320df731c8db7f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:addc8fcbbdd80ba924d0ded2a6bae97f4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8h.html#addc8fcbbdd80ba924d0ded2a6bae97f4">dtls_kb_remote_write_key</a>(Param, Role)</td></tr>
-<tr class="separator:addc8fcbbdd80ba924d0ded2a6bae97f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7c9e39188a2e50eb942ce8c7cd8add36"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8h.html#a7c9e39188a2e50eb942ce8c7cd8add36">dtls_kb_local_write_key</a>(Param, Role)</td></tr>
-<tr class="separator:a7c9e39188a2e50eb942ce8c7cd8add36"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a726ef8efa2e072c3c5e1ea1019e716aa"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8h.html#a726ef8efa2e072c3c5e1ea1019e716aa">dtls_kb_key_size</a>(Param, Role)&#160;&#160;&#160;<a class="el" href="crypto_8h.html#a829b5d5e4d693fdb3de335a0e2017076">DTLS_KEY_LENGTH</a></td></tr>
-<tr class="separator:a726ef8efa2e072c3c5e1ea1019e716aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1d3c04e5d39477a525b5255ab3240094"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8h.html#a1d3c04e5d39477a525b5255ab3240094">dtls_kb_client_iv</a>(Param, Role)&#160;&#160;&#160;(<a class="el" href="crypto_8h.html#aea906786dcfa12acb320df731c8db7f6">dtls_kb_server_write_key</a>(Param, Role) + <a class="el" href="crypto_8h.html#a829b5d5e4d693fdb3de335a0e2017076">DTLS_KEY_LENGTH</a>)</td></tr>
-<tr class="separator:a1d3c04e5d39477a525b5255ab3240094"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:acdd95c24ec6aebf14dac6ee4386a79be"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8h.html#acdd95c24ec6aebf14dac6ee4386a79be">dtls_kb_server_iv</a>(Param, Role)&#160;&#160;&#160;(<a class="el" href="crypto_8h.html#a1d3c04e5d39477a525b5255ab3240094">dtls_kb_client_iv</a>(Param, Role) + <a class="el" href="crypto_8h.html#a8106002d0d69d8da810321c65ac71385">DTLS_IV_LENGTH</a>)</td></tr>
-<tr class="separator:acdd95c24ec6aebf14dac6ee4386a79be"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7119d3239c34d7e7f219200792339541"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8h.html#a7119d3239c34d7e7f219200792339541">dtls_kb_remote_iv</a>(Param, Role)</td></tr>
-<tr class="separator:a7119d3239c34d7e7f219200792339541"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae23208578ac21350cb5915d11da0a2e3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8h.html#ae23208578ac21350cb5915d11da0a2e3">dtls_kb_local_iv</a>(Param, Role)</td></tr>
-<tr class="separator:ae23208578ac21350cb5915d11da0a2e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:adcdadf1870e2acb2993b1a8726d26997"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8h.html#adcdadf1870e2acb2993b1a8726d26997">dtls_kb_iv_size</a>(Param, Role)&#160;&#160;&#160;<a class="el" href="crypto_8h.html#a8106002d0d69d8da810321c65ac71385">DTLS_IV_LENGTH</a></td></tr>
-<tr class="separator:adcdadf1870e2acb2993b1a8726d26997"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a147bfdc558c2ec69ffdf388ae19ae01c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8h.html#a147bfdc558c2ec69ffdf388ae19ae01c">dtls_kb_size</a>(Param, Role)</td></tr>
-<tr class="separator:a147bfdc558c2ec69ffdf388ae19ae01c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5c3cbd4d9e514757deda211e97c9c758"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8h.html#a5c3cbd4d9e514757deda211e97c9c758">dtls_kb_digest_size</a>(Param, Role)&#160;&#160;&#160;<a class="el" href="crypto_8h.html#a4fa04874a476a8cc5048372b6d584dbe">DTLS_MAC_LENGTH</a></td></tr>
-<tr class="separator:a5c3cbd4d9e514757deda211e97c9c758"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9b039263057e157e1427c5d316133c3d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8h.html#a9b039263057e157e1427c5d316133c3d">DTLS_EC_KEY_SIZE</a>&#160;&#160;&#160;32</td></tr>
-<tr class="separator:a9b039263057e157e1427c5d316133c3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
-Typedefs</h2></td></tr>
-<tr class="memitem:a99482a87021e817524d15c33e89e309c"><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak"/>
-<a class="el" href="structdtls__cipher__context__t.html">dtls_cipher_context_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8h.html#a99482a87021e817524d15c33e89e309c">dtls_cipher_context_t</a></td></tr>
-<tr class="separator:a99482a87021e817524d15c33e89e309c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
-Enumerations</h2></td></tr>
-<tr class="memitem:a41f1aa1e1380c5f51d9af32c0a53f7b1"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8h.html#a41f1aa1e1380c5f51d9af32c0a53f7b1">dtls_crypto_alg</a> { <a class="el" href="crypto_8h.html#a41f1aa1e1380c5f51d9af32c0a53f7b1a1832208b0a725185016b59150ff74fc4">AES128</a> =0
- }</td></tr>
-<tr class="separator:a41f1aa1e1380c5f51d9af32c0a53f7b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3710d42871d602387a5147c05bf9f1ef"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8h.html#a3710d42871d602387a5147c05bf9f1ef">dtls_ecdh_curve</a> { <a class="el" href="crypto_8h.html#a3710d42871d602387a5147c05bf9f1efa517a66bf6725327c3240add3537f34ff">DTLS_ECDH_CURVE_SECP256R1</a>
- }</td></tr>
-<tr class="separator:a3710d42871d602387a5147c05bf9f1ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:aea7bd0a10cf289c033216a97c0ee701e"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8h.html#aea7bd0a10cf289c033216a97c0ee701e">dtls_p_hash</a> (<a class="el" href="group__HMAC.html#ga698cfa036e69361a93dcdd9b19579b23">dtls_hashfunc_t</a> h, const unsigned char *key, size_t keylen, const unsigned char *label, size_t labellen, const unsigned char *random1, size_t random1len, const unsigned char *random2, size_t random2len, unsigned char *buf, size_t buflen)</td></tr>
-<tr class="separator:aea7bd0a10cf289c033216a97c0ee701e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5e47576e502b5a6255f1b489a4915512"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8h.html#a5e47576e502b5a6255f1b489a4915512">dtls_prf</a> (const unsigned char *key, size_t keylen, const unsigned char *label, size_t labellen, const unsigned char *random1, size_t random1len, const unsigned char *random2, size_t random2len, unsigned char *buf, size_t buflen)</td></tr>
-<tr class="separator:a5e47576e502b5a6255f1b489a4915512"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1423f8111df1533241178461c10b50e3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8h.html#a1423f8111df1533241178461c10b50e3">dtls_mac</a> (<a class="el" href="structdtls__hmac__context__t.html">dtls_hmac_context_t</a> *hmac_ctx, const unsigned char *record, const unsigned char *packet, size_t length, unsigned char *buf)</td></tr>
-<tr class="separator:a1423f8111df1533241178461c10b50e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a288c4ec1a5110ab3f44ab3cb7c289e69"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8h.html#a288c4ec1a5110ab3f44ab3cb7c289e69">dtls_encrypt</a> (const unsigned char *src, size_t length, unsigned char *buf, unsigned char *nounce, unsigned char *key, size_t keylen, const unsigned char *aad, size_t aad_length)</td></tr>
-<tr class="separator:a288c4ec1a5110ab3f44ab3cb7c289e69"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3a99a8753c2eb9baf1e03fe0ffbb813b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8h.html#a3a99a8753c2eb9baf1e03fe0ffbb813b">dtls_decrypt</a> (const unsigned char *src, size_t length, unsigned char *buf, unsigned char *nounce, unsigned char *key, size_t keylen, const unsigned char *a_data, size_t a_data_length)</td></tr>
-<tr class="separator:a3a99a8753c2eb9baf1e03fe0ffbb813b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa53dfed4868e257d2485024b5c170bae"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8h.html#aa53dfed4868e257d2485024b5c170bae">dtls_psk_pre_master_secret</a> (unsigned char *key, size_t keylen, unsigned char *result, size_t result_len)</td></tr>
-<tr class="separator:aa53dfed4868e257d2485024b5c170bae"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5f9937088ea2e1d19e7d472fecae9aaa"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8h.html#a5f9937088ea2e1d19e7d472fecae9aaa">dtls_ecdh_pre_master_secret</a> (unsigned char *priv_key, unsigned char *pub_key_x, unsigned char *pub_key_y, size_t key_size, unsigned char *result, size_t result_len)</td></tr>
-<tr class="separator:a5f9937088ea2e1d19e7d472fecae9aaa"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a982fc9e78cd10d9323756b15b72c7970"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8h.html#a982fc9e78cd10d9323756b15b72c7970">dtls_ecdsa_generate_key</a> (unsigned char *priv_key, unsigned char *pub_key_x, unsigned char *pub_key_y, size_t key_size)</td></tr>
-<tr class="separator:a982fc9e78cd10d9323756b15b72c7970"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a49f03039780664684d110d83a228b163"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8h.html#a49f03039780664684d110d83a228b163">dtls_ecdsa_create_sig_hash</a> (const unsigned char *priv_key, size_t key_size, const unsigned char *sign_hash, size_t sign_hash_size, uint32_t point_r[9], uint32_t point_s[9])</td></tr>
-<tr class="separator:a49f03039780664684d110d83a228b163"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:afa2d9b2a195a1d8e8c56b1af8cb7bc82"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8h.html#afa2d9b2a195a1d8e8c56b1af8cb7bc82">dtls_ecdsa_create_sig</a> (const unsigned char *priv_key, size_t key_size, const unsigned char *client_random, size_t client_random_size, const unsigned char *server_random, size_t server_random_size, const unsigned char *keyx_params, size_t keyx_params_size, uint32_t point_r[9], uint32_t point_s[9])</td></tr>
-<tr class="separator:afa2d9b2a195a1d8e8c56b1af8cb7bc82"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a802b3a2b267747a76d4557c6c9a899d7"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8h.html#a802b3a2b267747a76d4557c6c9a899d7">dtls_ecdsa_verify_sig_hash</a> (const unsigned char *pub_key_x, const unsigned char *pub_key_y, size_t key_size, const unsigned char *sign_hash, size_t sign_hash_size, unsigned char *result_r, unsigned char *result_s)</td></tr>
-<tr class="separator:a802b3a2b267747a76d4557c6c9a899d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a035860da45ba2586a95c8ef7f539a3c9"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8h.html#a035860da45ba2586a95c8ef7f539a3c9">dtls_ecdsa_verify_sig</a> (const unsigned char *pub_key_x, const unsigned char *pub_key_y, size_t key_size, const unsigned char *client_random, size_t client_random_size, const unsigned char *server_random, size_t server_random_size, const unsigned char *keyx_params, size_t keyx_params_size, unsigned char *result_r, unsigned char *result_s)</td></tr>
-<tr class="separator:a035860da45ba2586a95c8ef7f539a3c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5ae24f3621f545752732e318840d7e2b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8h.html#a5ae24f3621f545752732e318840d7e2b">dtls_ec_key_from_uint32_asn1</a> (const uint32_t *key, size_t key_size, unsigned char *buf)</td></tr>
-<tr class="separator:a5ae24f3621f545752732e318840d7e2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a25930cdb27a6ffcf05e2c2a9c95a6af8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structdtls__handshake__parameters__t.html">dtls_handshake_parameters_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8h.html#a25930cdb27a6ffcf05e2c2a9c95a6af8">dtls_handshake_new</a> ()</td></tr>
-<tr class="separator:a25930cdb27a6ffcf05e2c2a9c95a6af8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa17bcdc666796e52788f82ee003bb172"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8h.html#aa17bcdc666796e52788f82ee003bb172">dtls_handshake_free</a> (<a class="el" href="structdtls__handshake__parameters__t.html">dtls_handshake_parameters_t</a> *handshake)</td></tr>
-<tr class="separator:aa17bcdc666796e52788f82ee003bb172"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1d568085636a04b4706b7e50df802a7b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structdtls__security__parameters__t.html">dtls_security_parameters_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8h.html#a1d568085636a04b4706b7e50df802a7b">dtls_security_new</a> ()</td></tr>
-<tr class="separator:a1d568085636a04b4706b7e50df802a7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad54069f2880b3c07185ebba736d02d17"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8h.html#ad54069f2880b3c07185ebba736d02d17">dtls_security_free</a> (<a class="el" href="structdtls__security__parameters__t.html">dtls_security_parameters_t</a> *security)</td></tr>
-<tr class="separator:ad54069f2880b3c07185ebba736d02d17"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a86e6ce9d4b4afcef355836955697f52c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crypto_8h.html#a86e6ce9d4b4afcef355836955697f52c">crypto_init</a> ()</td></tr>
-<tr class="separator:a86e6ce9d4b4afcef355836955697f52c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<h2 class="groupheader">Macro Definition Documentation</h2>
-<a class="anchor" id="ae86031f934f3f5f3af42dad5ff8e8757"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DTLS_BLK_LENGTH&#160;&#160;&#160;16 /* AES-128 */</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="crypto_8h_source.html#l00046">46</a> of file <a class="el" href="crypto_8h_source.html">crypto.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a9b039263057e157e1427c5d316133c3d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DTLS_EC_KEY_SIZE&#160;&#160;&#160;32</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="crypto_8h_source.html#l00309">309</a> of file <a class="el" href="crypto_8h_source.html">crypto.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a8106002d0d69d8da810321c65ac71385"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DTLS_IV_LENGTH&#160;&#160;&#160;4  /* length of nonce_explicit */</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="crypto_8h_source.html#l00048">48</a> of file <a class="el" href="crypto_8h_source.html">crypto.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a1d3c04e5d39477a525b5255ab3240094"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define dtls_kb_client_iv</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">Param, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">Role&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td>&#160;&#160;&#160;(<a class="el" href="crypto_8h.html#aea906786dcfa12acb320df731c8db7f6">dtls_kb_server_write_key</a>(Param, Role) + <a class="el" href="crypto_8h.html#a829b5d5e4d693fdb3de335a0e2017076">DTLS_KEY_LENGTH</a>)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="crypto_8h_source.html#l00168">168</a> of file <a class="el" href="crypto_8h_source.html">crypto.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a72899232c09d09b86326c6f234addc02"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define dtls_kb_client_mac_secret</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">Param, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">Role&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td>&#160;&#160;&#160;((Param)-&gt;key_block)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="crypto_8h_source.html#l00143">143</a> of file <a class="el" href="crypto_8h_source.html">crypto.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ab5659b0737d72a2fa1b1335952f9c305"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define dtls_kb_client_write_key</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">Param, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">Role&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td>&#160;&#160;&#160;(<a class="el" href="crypto_8h.html#ac8fdf3770dcd956ca10d1044a57a7a3a">dtls_kb_server_mac_secret</a>(Param, Role) + <a class="el" href="crypto_8h.html#a5962b0d908f9b15406ca53d27a33e08a">DTLS_MAC_KEY_LENGTH</a>)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="crypto_8h_source.html#l00155">155</a> of file <a class="el" href="crypto_8h_source.html">crypto.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a5c3cbd4d9e514757deda211e97c9c758"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define dtls_kb_digest_size</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">Param, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">Role&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td>&#160;&#160;&#160;<a class="el" href="crypto_8h.html#a4fa04874a476a8cc5048372b6d584dbe">DTLS_MAC_LENGTH</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="crypto_8h_source.html#l00187">187</a> of file <a class="el" href="crypto_8h_source.html">crypto.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="adcdadf1870e2acb2993b1a8726d26997"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define dtls_kb_iv_size</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">Param, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">Role&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td>&#160;&#160;&#160;<a class="el" href="crypto_8h.html#a8106002d0d69d8da810321c65ac71385">DTLS_IV_LENGTH</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="crypto_8h_source.html#l00180">180</a> of file <a class="el" href="crypto_8h_source.html">crypto.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a726ef8efa2e072c3c5e1ea1019e716aa"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define dtls_kb_key_size</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">Param, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">Role&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td>&#160;&#160;&#160;<a class="el" href="crypto_8h.html#a829b5d5e4d693fdb3de335a0e2017076">DTLS_KEY_LENGTH</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="crypto_8h_source.html#l00167">167</a> of file <a class="el" href="crypto_8h_source.html">crypto.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ae23208578ac21350cb5915d11da0a2e3"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define dtls_kb_local_iv</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">Param, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">Role&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<b>Value:</b><div class="fragment"><div class="line">((Role) == <a class="code" href="peer_8h.html#ae30cd4bcffed73f79f17c09e5a1452c8afd8391395303e28ee9b375232cb68a1e">DTLS_CLIENT</a>                      \</div>
-<div class="line">   ? <a class="code" href="crypto_8h.html#a1d3c04e5d39477a525b5255ab3240094">dtls_kb_client_iv</a>(Param, Role)                 \</div>
-<div class="line">   : <a class="code" href="crypto_8h.html#acdd95c24ec6aebf14dac6ee4386a79be">dtls_kb_server_iv</a>(Param, Role))</div>
-<div class="ttc" id="peer_8h_html_ae30cd4bcffed73f79f17c09e5a1452c8afd8391395303e28ee9b375232cb68a1e"><div class="ttname"><a href="peer_8h.html#ae30cd4bcffed73f79f17c09e5a1452c8afd8391395303e28ee9b375232cb68a1e">DTLS_CLIENT</a></div><div class="ttdef"><b>Definition:</b> <a href="peer_8h_source.html#l00047">peer.h:47</a></div></div>
-<div class="ttc" id="crypto_8h_html_a1d3c04e5d39477a525b5255ab3240094"><div class="ttname"><a href="crypto_8h.html#a1d3c04e5d39477a525b5255ab3240094">dtls_kb_client_iv</a></div><div class="ttdeci">#define dtls_kb_client_iv(Param, Role)</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00168">crypto.h:168</a></div></div>
-<div class="ttc" id="crypto_8h_html_acdd95c24ec6aebf14dac6ee4386a79be"><div class="ttname"><a href="crypto_8h.html#acdd95c24ec6aebf14dac6ee4386a79be">dtls_kb_server_iv</a></div><div class="ttdeci">#define dtls_kb_server_iv(Param, Role)</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00170">crypto.h:170</a></div></div>
-</div><!-- fragment -->
-<p>Definition at line <a class="el" href="crypto_8h_source.html#l00176">176</a> of file <a class="el" href="crypto_8h_source.html">crypto.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aa60519b0e9b775ccb0bdb46762f43418"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define dtls_kb_local_mac_secret</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">Param, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">Role&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<b>Value:</b><div class="fragment"><div class="line">((Role) == <a class="code" href="peer_8h.html#ae30cd4bcffed73f79f17c09e5a1452c8afd8391395303e28ee9b375232cb68a1e">DTLS_CLIENT</a>                      \</div>
-<div class="line">   ? <a class="code" href="crypto_8h.html#a72899232c09d09b86326c6f234addc02">dtls_kb_client_mac_secret</a>(Param, Role)             \</div>
-<div class="line">   : <a class="code" href="crypto_8h.html#ac8fdf3770dcd956ca10d1044a57a7a3a">dtls_kb_server_mac_secret</a>(Param, Role))</div>
-<div class="ttc" id="crypto_8h_html_ac8fdf3770dcd956ca10d1044a57a7a3a"><div class="ttname"><a href="crypto_8h.html#ac8fdf3770dcd956ca10d1044a57a7a3a">dtls_kb_server_mac_secret</a></div><div class="ttdeci">#define dtls_kb_server_mac_secret(Param, Role)</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00144">crypto.h:144</a></div></div>
-<div class="ttc" id="crypto_8h_html_a72899232c09d09b86326c6f234addc02"><div class="ttname"><a href="crypto_8h.html#a72899232c09d09b86326c6f234addc02">dtls_kb_client_mac_secret</a></div><div class="ttdeci">#define dtls_kb_client_mac_secret(Param, Role)</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00143">crypto.h:143</a></div></div>
-<div class="ttc" id="peer_8h_html_ae30cd4bcffed73f79f17c09e5a1452c8afd8391395303e28ee9b375232cb68a1e"><div class="ttname"><a href="peer_8h.html#ae30cd4bcffed73f79f17c09e5a1452c8afd8391395303e28ee9b375232cb68a1e">DTLS_CLIENT</a></div><div class="ttdef"><b>Definition:</b> <a href="peer_8h_source.html#l00047">peer.h:47</a></div></div>
-</div><!-- fragment -->
-<p>Definition at line <a class="el" href="crypto_8h_source.html#l00150">150</a> of file <a class="el" href="crypto_8h_source.html">crypto.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a7c9e39188a2e50eb942ce8c7cd8add36"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define dtls_kb_local_write_key</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">Param, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">Role&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<b>Value:</b><div class="fragment"><div class="line">((Role) == <a class="code" href="peer_8h.html#ae30cd4bcffed73f79f17c09e5a1452c8afd8391395303e28ee9b375232cb68a1e">DTLS_CLIENT</a>                      \</div>
-<div class="line">   ? <a class="code" href="crypto_8h.html#ab5659b0737d72a2fa1b1335952f9c305">dtls_kb_client_write_key</a>(Param, Role)              \</div>
-<div class="line">   : <a class="code" href="crypto_8h.html#aea906786dcfa12acb320df731c8db7f6">dtls_kb_server_write_key</a>(Param, Role))</div>
-<div class="ttc" id="crypto_8h_html_ab5659b0737d72a2fa1b1335952f9c305"><div class="ttname"><a href="crypto_8h.html#ab5659b0737d72a2fa1b1335952f9c305">dtls_kb_client_write_key</a></div><div class="ttdeci">#define dtls_kb_client_write_key(Param, Role)</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00155">crypto.h:155</a></div></div>
-<div class="ttc" id="crypto_8h_html_aea906786dcfa12acb320df731c8db7f6"><div class="ttname"><a href="crypto_8h.html#aea906786dcfa12acb320df731c8db7f6">dtls_kb_server_write_key</a></div><div class="ttdeci">#define dtls_kb_server_write_key(Param, Role)</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00157">crypto.h:157</a></div></div>
-<div class="ttc" id="peer_8h_html_ae30cd4bcffed73f79f17c09e5a1452c8afd8391395303e28ee9b375232cb68a1e"><div class="ttname"><a href="peer_8h.html#ae30cd4bcffed73f79f17c09e5a1452c8afd8391395303e28ee9b375232cb68a1e">DTLS_CLIENT</a></div><div class="ttdef"><b>Definition:</b> <a href="peer_8h_source.html#l00047">peer.h:47</a></div></div>
-</div><!-- fragment -->
-<p>Definition at line <a class="el" href="crypto_8h_source.html#l00163">163</a> of file <a class="el" href="crypto_8h_source.html">crypto.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a1f320854c9f4e9b2105649b3624976b0"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define dtls_kb_mac_secret_size</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">Param, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">Role&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td>&#160;&#160;&#160;<a class="el" href="crypto_8h.html#a5962b0d908f9b15406ca53d27a33e08a">DTLS_MAC_KEY_LENGTH</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="crypto_8h_source.html#l00154">154</a> of file <a class="el" href="crypto_8h_source.html">crypto.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a7119d3239c34d7e7f219200792339541"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define dtls_kb_remote_iv</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">Param, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">Role&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<b>Value:</b><div class="fragment"><div class="line">((Role) == <a class="code" href="peer_8h.html#ae30cd4bcffed73f79f17c09e5a1452c8a7c2a694fc87273c445ad661575b28255">DTLS_SERVER</a>                      \</div>
-<div class="line">   ? <a class="code" href="crypto_8h.html#a1d3c04e5d39477a525b5255ab3240094">dtls_kb_client_iv</a>(Param, Role)                 \</div>
-<div class="line">   : <a class="code" href="crypto_8h.html#acdd95c24ec6aebf14dac6ee4386a79be">dtls_kb_server_iv</a>(Param, Role))</div>
-<div class="ttc" id="peer_8h_html_ae30cd4bcffed73f79f17c09e5a1452c8a7c2a694fc87273c445ad661575b28255"><div class="ttname"><a href="peer_8h.html#ae30cd4bcffed73f79f17c09e5a1452c8a7c2a694fc87273c445ad661575b28255">DTLS_SERVER</a></div><div class="ttdef"><b>Definition:</b> <a href="peer_8h_source.html#l00047">peer.h:47</a></div></div>
-<div class="ttc" id="crypto_8h_html_a1d3c04e5d39477a525b5255ab3240094"><div class="ttname"><a href="crypto_8h.html#a1d3c04e5d39477a525b5255ab3240094">dtls_kb_client_iv</a></div><div class="ttdeci">#define dtls_kb_client_iv(Param, Role)</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00168">crypto.h:168</a></div></div>
-<div class="ttc" id="crypto_8h_html_acdd95c24ec6aebf14dac6ee4386a79be"><div class="ttname"><a href="crypto_8h.html#acdd95c24ec6aebf14dac6ee4386a79be">dtls_kb_server_iv</a></div><div class="ttdeci">#define dtls_kb_server_iv(Param, Role)</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00170">crypto.h:170</a></div></div>
-</div><!-- fragment -->
-<p>Definition at line <a class="el" href="crypto_8h_source.html#l00172">172</a> of file <a class="el" href="crypto_8h_source.html">crypto.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="acf318c989f5bb90b863154abbc408b66"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define dtls_kb_remote_mac_secret</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">Param, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">Role&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<b>Value:</b><div class="fragment"><div class="line">((Role) == <a class="code" href="peer_8h.html#ae30cd4bcffed73f79f17c09e5a1452c8a7c2a694fc87273c445ad661575b28255">DTLS_SERVER</a>                      \</div>
-<div class="line">   ? <a class="code" href="crypto_8h.html#a72899232c09d09b86326c6f234addc02">dtls_kb_client_mac_secret</a>(Param, Role)             \</div>
-<div class="line">   : <a class="code" href="crypto_8h.html#ac8fdf3770dcd956ca10d1044a57a7a3a">dtls_kb_server_mac_secret</a>(Param, Role))</div>
-<div class="ttc" id="crypto_8h_html_ac8fdf3770dcd956ca10d1044a57a7a3a"><div class="ttname"><a href="crypto_8h.html#ac8fdf3770dcd956ca10d1044a57a7a3a">dtls_kb_server_mac_secret</a></div><div class="ttdeci">#define dtls_kb_server_mac_secret(Param, Role)</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00144">crypto.h:144</a></div></div>
-<div class="ttc" id="peer_8h_html_ae30cd4bcffed73f79f17c09e5a1452c8a7c2a694fc87273c445ad661575b28255"><div class="ttname"><a href="peer_8h.html#ae30cd4bcffed73f79f17c09e5a1452c8a7c2a694fc87273c445ad661575b28255">DTLS_SERVER</a></div><div class="ttdef"><b>Definition:</b> <a href="peer_8h_source.html#l00047">peer.h:47</a></div></div>
-<div class="ttc" id="crypto_8h_html_a72899232c09d09b86326c6f234addc02"><div class="ttname"><a href="crypto_8h.html#a72899232c09d09b86326c6f234addc02">dtls_kb_client_mac_secret</a></div><div class="ttdeci">#define dtls_kb_client_mac_secret(Param, Role)</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00143">crypto.h:143</a></div></div>
-</div><!-- fragment -->
-<p>Definition at line <a class="el" href="crypto_8h_source.html#l00146">146</a> of file <a class="el" href="crypto_8h_source.html">crypto.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="addc8fcbbdd80ba924d0ded2a6bae97f4"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define dtls_kb_remote_write_key</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">Param, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">Role&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<b>Value:</b><div class="fragment"><div class="line">((Role) == <a class="code" href="peer_8h.html#ae30cd4bcffed73f79f17c09e5a1452c8a7c2a694fc87273c445ad661575b28255">DTLS_SERVER</a>                      \</div>
-<div class="line">   ? <a class="code" href="crypto_8h.html#ab5659b0737d72a2fa1b1335952f9c305">dtls_kb_client_write_key</a>(Param, Role)              \</div>
-<div class="line">   : <a class="code" href="crypto_8h.html#aea906786dcfa12acb320df731c8db7f6">dtls_kb_server_write_key</a>(Param, Role))</div>
-<div class="ttc" id="peer_8h_html_ae30cd4bcffed73f79f17c09e5a1452c8a7c2a694fc87273c445ad661575b28255"><div class="ttname"><a href="peer_8h.html#ae30cd4bcffed73f79f17c09e5a1452c8a7c2a694fc87273c445ad661575b28255">DTLS_SERVER</a></div><div class="ttdef"><b>Definition:</b> <a href="peer_8h_source.html#l00047">peer.h:47</a></div></div>
-<div class="ttc" id="crypto_8h_html_ab5659b0737d72a2fa1b1335952f9c305"><div class="ttname"><a href="crypto_8h.html#ab5659b0737d72a2fa1b1335952f9c305">dtls_kb_client_write_key</a></div><div class="ttdeci">#define dtls_kb_client_write_key(Param, Role)</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00155">crypto.h:155</a></div></div>
-<div class="ttc" id="crypto_8h_html_aea906786dcfa12acb320df731c8db7f6"><div class="ttname"><a href="crypto_8h.html#aea906786dcfa12acb320df731c8db7f6">dtls_kb_server_write_key</a></div><div class="ttdeci">#define dtls_kb_server_write_key(Param, Role)</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00157">crypto.h:157</a></div></div>
-</div><!-- fragment -->
-<p>Definition at line <a class="el" href="crypto_8h_source.html#l00159">159</a> of file <a class="el" href="crypto_8h_source.html">crypto.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="acdd95c24ec6aebf14dac6ee4386a79be"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define dtls_kb_server_iv</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">Param, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">Role&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td>&#160;&#160;&#160;(<a class="el" href="crypto_8h.html#a1d3c04e5d39477a525b5255ab3240094">dtls_kb_client_iv</a>(Param, Role) + <a class="el" href="crypto_8h.html#a8106002d0d69d8da810321c65ac71385">DTLS_IV_LENGTH</a>)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="crypto_8h_source.html#l00170">170</a> of file <a class="el" href="crypto_8h_source.html">crypto.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ac8fdf3770dcd956ca10d1044a57a7a3a"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define dtls_kb_server_mac_secret</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">Param, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">Role&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td>&#160;&#160;&#160;(<a class="el" href="crypto_8h.html#a72899232c09d09b86326c6f234addc02">dtls_kb_client_mac_secret</a>(Param, Role) + <a class="el" href="crypto_8h.html#a5962b0d908f9b15406ca53d27a33e08a">DTLS_MAC_KEY_LENGTH</a>)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="crypto_8h_source.html#l00144">144</a> of file <a class="el" href="crypto_8h_source.html">crypto.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aea906786dcfa12acb320df731c8db7f6"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define dtls_kb_server_write_key</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">Param, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">Role&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td>&#160;&#160;&#160;(<a class="el" href="crypto_8h.html#ab5659b0737d72a2fa1b1335952f9c305">dtls_kb_client_write_key</a>(Param, Role) + <a class="el" href="crypto_8h.html#a829b5d5e4d693fdb3de335a0e2017076">DTLS_KEY_LENGTH</a>)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="crypto_8h_source.html#l00157">157</a> of file <a class="el" href="crypto_8h_source.html">crypto.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a147bfdc558c2ec69ffdf388ae19ae01c"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define dtls_kb_size</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">Param, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">Role&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<b>Value:</b><div class="fragment"><div class="line">(2 * (<a class="code" href="crypto_8h.html#a1f320854c9f4e9b2105649b3624976b0">dtls_kb_mac_secret_size</a>(Param, Role) +                <a class="code" href="crypto_8h.html#a726ef8efa2e072c3c5e1ea1019e716aa">\</a></div>
-<div class="line"><a class="code" href="crypto_8h.html#a726ef8efa2e072c3c5e1ea1019e716aa">     dtls_kb_key_size</a>(Param, Role) + <a class="code" href="crypto_8h.html#adcdadf1870e2acb2993b1a8726d26997">dtls_kb_iv_size</a>(Param, Role)))</div>
-<div class="ttc" id="crypto_8h_html_adcdadf1870e2acb2993b1a8726d26997"><div class="ttname"><a href="crypto_8h.html#adcdadf1870e2acb2993b1a8726d26997">dtls_kb_iv_size</a></div><div class="ttdeci">#define dtls_kb_iv_size(Param, Role)</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00180">crypto.h:180</a></div></div>
-<div class="ttc" id="crypto_8h_html_a1f320854c9f4e9b2105649b3624976b0"><div class="ttname"><a href="crypto_8h.html#a1f320854c9f4e9b2105649b3624976b0">dtls_kb_mac_secret_size</a></div><div class="ttdeci">#define dtls_kb_mac_secret_size(Param, Role)</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00154">crypto.h:154</a></div></div>
-<div class="ttc" id="crypto_8h_html_a726ef8efa2e072c3c5e1ea1019e716aa"><div class="ttname"><a href="crypto_8h.html#a726ef8efa2e072c3c5e1ea1019e716aa">dtls_kb_key_size</a></div><div class="ttdeci">#define dtls_kb_key_size(Param, Role)</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00167">crypto.h:167</a></div></div>
-</div><!-- fragment -->
-<p>Definition at line <a class="el" href="crypto_8h_source.html#l00182">182</a> of file <a class="el" href="crypto_8h_source.html">crypto.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a829b5d5e4d693fdb3de335a0e2017076"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DTLS_KEY_LENGTH&#160;&#160;&#160;16 /* AES-128 */</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="crypto_8h_source.html#l00045">45</a> of file <a class="el" href="crypto_8h_source.html">crypto.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a5962b0d908f9b15406ca53d27a33e08a"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DTLS_MAC_KEY_LENGTH&#160;&#160;&#160;0</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="crypto_8h_source.html#l00044">44</a> of file <a class="el" href="crypto_8h_source.html">crypto.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a4fa04874a476a8cc5048372b6d584dbe"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DTLS_MAC_LENGTH&#160;&#160;&#160;<a class="el" href="group__HMAC.html#ga060019cf2dab9903d58118fe1abe7018">DTLS_HMAC_DIGEST_SIZE</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="crypto_8h_source.html#l00047">47</a> of file <a class="el" href="crypto_8h_source.html">crypto.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a2648582ddf4c82abc01d8388bd3f15db"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DTLS_MASTER_SECRET_LENGTH&#160;&#160;&#160;48</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Length of DTLS master_secret </p>
-
-<p>Definition at line <a class="el" href="crypto_8h_source.html#l00059">59</a> of file <a class="el" href="crypto_8h_source.html">crypto.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ab96c8e0773a14d1ce1621eed1a78e2bd"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DTLS_PSK_MAX_CLIENT_IDENTITY_LEN&#160;&#160;&#160;32</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="crypto_8h_source.html#l00089">89</a> of file <a class="el" href="crypto_8h_source.html">crypto.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a59cd7c0b8724e1f9b910611623396080"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DTLS_PSK_MAX_KEY_LEN&#160;&#160;&#160;32</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="crypto_8h_source.html#l00092">92</a> of file <a class="el" href="crypto_8h_source.html">crypto.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a5a0bdff7c0889f35601b4935098508a0"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DTLS_RANDOM_LENGTH&#160;&#160;&#160;32</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="crypto_8h_source.html#l00060">60</a> of file <a class="el" href="crypto_8h_source.html">crypto.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a0df6db4f8c29f2b0aa5a1363b4f9127f"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define MAX_KEYBLOCK_LENGTH&#160;&#160;&#160;(2 * <a class="el" href="crypto_8h.html#a5962b0d908f9b15406ca53d27a33e08a">DTLS_MAC_KEY_LENGTH</a> + 2 * <a class="el" href="crypto_8h.html#a829b5d5e4d693fdb3de335a0e2017076">DTLS_KEY_LENGTH</a> + 2 * <a class="el" href="crypto_8h.html#a8106002d0d69d8da810321c65ac71385">DTLS_IV_LENGTH</a>)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Maximum size of the generated keyblock. Note that MAX_KEYBLOCK_LENGTH must be large enough to hold the pre_master_secret, i.e. twice the length of the pre-shared key + 1. </p>
-
-<p>Definition at line <a class="el" href="crypto_8h_source.html#l00055">55</a> of file <a class="el" href="crypto_8h_source.html">crypto.h</a>.</p>
-
-</div>
-</div>
-<h2 class="groupheader">Typedef Documentation</h2>
-<a class="anchor" id="a99482a87021e817524d15c33e89e309c"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef struct <a class="el" href="structdtls__cipher__context__t.html">dtls_cipher_context_t</a>  <a class="el" href="structdtls__cipher__context__t.html">dtls_cipher_context_t</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<h2 class="groupheader">Enumeration Type Documentation</h2>
-<a class="anchor" id="a41f1aa1e1380c5f51d9af32c0a53f7b1"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">enum <a class="el" href="crypto_8h.html#a41f1aa1e1380c5f51d9af32c0a53f7b1">dtls_crypto_alg</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a41f1aa1e1380c5f51d9af32c0a53f7b1a1832208b0a725185016b59150ff74fc4"></a>AES128</em>&#160;</td><td class="fielddoc">
-</td></tr>
-</table>
-
-<p>Definition at line <a class="el" href="crypto_8h_source.html#l00062">62</a> of file <a class="el" href="crypto_8h_source.html">crypto.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a3710d42871d602387a5147c05bf9f1ef"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">enum <a class="el" href="crypto_8h.html#a3710d42871d602387a5147c05bf9f1ef">dtls_ecdh_curve</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a3710d42871d602387a5147c05bf9f1efa517a66bf6725327c3240add3537f34ff"></a>DTLS_ECDH_CURVE_SECP256R1</em>&#160;</td><td class="fielddoc">
-</td></tr>
-</table>
-
-<p>Definition at line <a class="el" href="crypto_8h_source.html#l00065">65</a> of file <a class="el" href="crypto_8h_source.html">crypto.h</a>.</p>
-
-</div>
-</div>
-<h2 class="groupheader">Function Documentation</h2>
-<a class="anchor" id="a86e6ce9d4b4afcef355836955697f52c"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void crypto_init </td>
-          <td>(</td>
-          <td class="paramname"></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="crypto_8c_source.html#l00076">76</a> of file <a class="el" href="crypto_8c_source.html">crypto.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a3a99a8753c2eb9baf1e03fe0ffbb813b"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int dtls_decrypt </td>
-          <td>(</td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>src</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>length</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">unsigned char *&#160;</td>
-          <td class="paramname"><em>buf</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">unsigned char *&#160;</td>
-          <td class="paramname"><em>nounce</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">unsigned char *&#160;</td>
-          <td class="paramname"><em>key</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>keylen</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>a_data</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>a_data_length</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Decrypts the given buffer <code>src</code> of given <code>length</code>, writing the result to <code>buf</code>. The function returns <code>-1</code> in case of an error, or the number of bytes written. Note that for block ciphers, <code>length</code> must be a multiple of the cipher's block size. A return value between <code>0</code> and the actual length indicates that only <code>n-1</code> block have been processed. Unlike <a class="el" href="crypto_8h.html#a288c4ec1a5110ab3f44ab3cb7c289e69">dtls_encrypt()</a>, the source and destination of <a class="el" href="crypto_8h.html#a3a99a8753c2eb9baf1e03fe0ffbb813b">dtls_decrypt()</a> may overlap.</p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">ctx</td><td>The cipher context to use. </td></tr>
-    <tr><td class="paramname">src</td><td>The buffer to decrypt. </td></tr>
-    <tr><td class="paramname">length</td><td>The length of the input buffer. </td></tr>
-    <tr><td class="paramname">buf</td><td>The result buffer. </td></tr>
-    <tr><td class="paramname">aad</td><td>additional authentication data for AEAD ciphers </td></tr>
-    <tr><td class="paramname">aad_length</td><td>actual size of <code>aad</code> </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Less than zero on error, the number of decrypted bytes otherwise. </dd></dl>
-
-<p>Definition at line <a class="el" href="crypto_8c_source.html#l00550">550</a> of file <a class="el" href="crypto_8c_source.html">crypto.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a5ae24f3621f545752732e318840d7e2b"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int dtls_ec_key_from_uint32_asn1 </td>
-          <td>(</td>
-          <td class="paramtype">const uint32_t *&#160;</td>
-          <td class="paramname"><em>key</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>key_size</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">unsigned char *&#160;</td>
-          <td class="paramname"><em>buf</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="crypto_8c_source.html#l00362">362</a> of file <a class="el" href="crypto_8c_source.html">crypto.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a5f9937088ea2e1d19e7d472fecae9aaa"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int dtls_ecdh_pre_master_secret </td>
-          <td>(</td>
-          <td class="paramtype">unsigned char *&#160;</td>
-          <td class="paramname"><em>priv_key</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">unsigned char *&#160;</td>
-          <td class="paramname"><em>pub_key_x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">unsigned char *&#160;</td>
-          <td class="paramname"><em>pub_key_y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>key_size</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">unsigned char *&#160;</td>
-          <td class="paramname"><em>result</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>result_len</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="crypto_8c_source.html#l00398">398</a> of file <a class="el" href="crypto_8c_source.html">crypto.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="afa2d9b2a195a1d8e8c56b1af8cb7bc82"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void dtls_ecdsa_create_sig </td>
-          <td>(</td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>priv_key</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>key_size</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>client_random</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>client_random_size</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>server_random</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>server_random_size</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>keyx_params</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>keyx_params_size</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">uint32_t&#160;</td>
-          <td class="paramname"><em>point_r</em>[9], </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">uint32_t&#160;</td>
-          <td class="paramname"><em>point_s</em>[9]&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="crypto_8c_source.html#l00463">463</a> of file <a class="el" href="crypto_8c_source.html">crypto.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a49f03039780664684d110d83a228b163"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void dtls_ecdsa_create_sig_hash </td>
-          <td>(</td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>priv_key</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>key_size</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>sign_hash</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>sign_hash_size</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">uint32_t&#160;</td>
-          <td class="paramname"><em>point_r</em>[9], </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">uint32_t&#160;</td>
-          <td class="paramname"><em>point_s</em>[9]&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="crypto_8c_source.html#l00446">446</a> of file <a class="el" href="crypto_8c_source.html">crypto.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a982fc9e78cd10d9323756b15b72c7970"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void dtls_ecdsa_generate_key </td>
-          <td>(</td>
-          <td class="paramtype">unsigned char *&#160;</td>
-          <td class="paramname"><em>priv_key</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">unsigned char *&#160;</td>
-          <td class="paramname"><em>pub_key_x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">unsigned char *&#160;</td>
-          <td class="paramname"><em>pub_key_y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>key_size</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="crypto_8c_source.html#l00425">425</a> of file <a class="el" href="crypto_8c_source.html">crypto.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a035860da45ba2586a95c8ef7f539a3c9"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int dtls_ecdsa_verify_sig </td>
-          <td>(</td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>pub_key_x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>pub_key_y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>key_size</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>client_random</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>client_random_size</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>server_random</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>server_random_size</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>keyx_params</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>keyx_params_size</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">unsigned char *&#160;</td>
-          <td class="paramname"><em>result_r</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">unsigned char *&#160;</td>
-          <td class="paramname"><em>result_s</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="crypto_8c_source.html#l00503">503</a> of file <a class="el" href="crypto_8c_source.html">crypto.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a802b3a2b267747a76d4557c6c9a899d7"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int dtls_ecdsa_verify_sig_hash </td>
-          <td>(</td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>pub_key_x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>pub_key_y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>key_size</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>sign_hash</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>sign_hash_size</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">unsigned char *&#160;</td>
-          <td class="paramname"><em>result_r</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">unsigned char *&#160;</td>
-          <td class="paramname"><em>result_s</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="crypto_8c_source.html#l00483">483</a> of file <a class="el" href="crypto_8c_source.html">crypto.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a288c4ec1a5110ab3f44ab3cb7c289e69"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int dtls_encrypt </td>
-          <td>(</td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>src</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>length</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">unsigned char *&#160;</td>
-          <td class="paramname"><em>buf</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">unsigned char *&#160;</td>
-          <td class="paramname"><em>nounce</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">unsigned char *&#160;</td>
-          <td class="paramname"><em>key</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>keylen</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>aad</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>aad_length</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Encrypts the specified <code>src</code> of given <code>length</code>, writing the result to <code>buf</code>. The cipher implementation may add more data to the result buffer such as an initialization vector or padding (e.g. for block cipers in CBC mode). The caller therefore must ensure that <code>buf</code> provides sufficient storage to hold the result. Usually this means ( 2 + <code>length</code> / blocksize ) * blocksize. The function returns a value less than zero on error or otherwise the number of bytes written.</p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">ctx</td><td>The cipher context to use. </td></tr>
-    <tr><td class="paramname">src</td><td>The data to encrypt. </td></tr>
-    <tr><td class="paramname">length</td><td>The actual size of of <code>src</code>. </td></tr>
-    <tr><td class="paramname">buf</td><td>The result buffer. <code>src</code> and <code>buf</code> must not overlap. </td></tr>
-    <tr><td class="paramname">aad</td><td>additional data for AEAD ciphers </td></tr>
-    <tr><td class="paramname">aad_length</td><td>actual size of <code>aad</code> </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The number of encrypted bytes on success, less than zero otherwise. </dd></dl>
-
-<p>Definition at line <a class="el" href="crypto_8c_source.html#l00524">524</a> of file <a class="el" href="crypto_8c_source.html">crypto.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aa17bcdc666796e52788f82ee003bb172"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void dtls_handshake_free </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__handshake__parameters__t.html">dtls_handshake_parameters_t</a> *&#160;</td>
-          <td class="paramname"><em>handshake</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="crypto_8c_source.html#l00146">146</a> of file <a class="el" href="crypto_8c_source.html">crypto.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a25930cdb27a6ffcf05e2c2a9c95a6af8"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="structdtls__handshake__parameters__t.html">dtls_handshake_parameters_t</a>* dtls_handshake_new </td>
-          <td>(</td>
-          <td class="paramname"></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="crypto_8c_source.html#l00123">123</a> of file <a class="el" href="crypto_8c_source.html">crypto.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a1423f8111df1533241178461c10b50e3"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void dtls_mac </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__hmac__context__t.html">dtls_hmac_context_t</a> *&#160;</td>
-          <td class="paramname"><em>hmac_ctx</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>record</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>packet</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>length</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">unsigned char *&#160;</td>
-          <td class="paramname"><em>buf</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Calculates MAC for record + cleartext packet and places the result in <code>buf</code>. The given <code>hmac_ctx</code> must be initialized with the HMAC function to use and the proper secret. As the DTLS mac calculation requires data from the record header, <code>record</code> must point to a buffer of at least <code>sizeof(dtls_record_header_t)</code> bytes. Usually, the remaining packet will be encrypted, therefore, the cleartext is passed separately in <code>packet</code>.</p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">hmac_ctx</td><td>The HMAC context to use for MAC calculation. </td></tr>
-    <tr><td class="paramname">record</td><td>The record header. </td></tr>
-    <tr><td class="paramname">packet</td><td>Cleartext payload to apply the MAC to. </td></tr>
-    <tr><td class="paramname">length</td><td>Size of <code>packet</code>. </td></tr>
-    <tr><td class="paramname">buf</td><td>A result buffer that is large enough to hold the generated digest. </td></tr>
-  </table>
-  </dd>
-</dl>
-
-<p>Definition at line <a class="el" href="crypto_8c_source.html#l00266">266</a> of file <a class="el" href="crypto_8c_source.html">crypto.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aea7bd0a10cf289c033216a97c0ee701e"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">size_t dtls_p_hash </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group__HMAC.html#ga698cfa036e69361a93dcdd9b19579b23">dtls_hashfunc_t</a>&#160;</td>
-          <td class="paramname"><em>h</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>key</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>keylen</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>label</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>labellen</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>random1</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>random1len</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>random2</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>random2len</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">unsigned char *&#160;</td>
-          <td class="paramname"><em>buf</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>buflen</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Expands the secret and key to a block of DTLS_HMAC_MAX size according to the algorithm specified in section 5 of RFC 4346.</p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">h</td><td>Identifier of the hash function to use. </td></tr>
-    <tr><td class="paramname">key</td><td>The secret. </td></tr>
-    <tr><td class="paramname">keylen</td><td>Length of <code>key</code>. </td></tr>
-    <tr><td class="paramname">seed</td><td>The seed. </td></tr>
-    <tr><td class="paramname">seedlen</td><td>Length of <code>seed</code>. </td></tr>
-    <tr><td class="paramname">buf</td><td>Output buffer where the result is XORed into The buffe must be capable to hold at least <code>buflen</code> bytes. </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The actual number of bytes written to <code>buf</code> or 0 on error. </dd></dl>
-
-<p>Definition at line <a class="el" href="crypto_8c_source.html#l00183">183</a> of file <a class="el" href="crypto_8c_source.html">crypto.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a5e47576e502b5a6255f1b489a4915512"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">size_t dtls_prf </td>
-          <td>(</td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>key</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>keylen</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>label</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>labellen</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>random1</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>random1len</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>random2</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>random2len</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">unsigned char *&#160;</td>
-          <td class="paramname"><em>buf</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>buflen</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>This function implements the TLS PRF for DTLS_VERSION. For version 1.0, the PRF is P_MD5 ^ P_SHA1 while version 1.2 uses P_SHA256. Currently, the actual PRF is selected at compile time. </p>
-
-<p>Definition at line <a class="el" href="crypto_8c_source.html#l00249">249</a> of file <a class="el" href="crypto_8c_source.html">crypto.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aa53dfed4868e257d2485024b5c170bae"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int dtls_psk_pre_master_secret </td>
-          <td>(</td>
-          <td class="paramtype">unsigned char *&#160;</td>
-          <td class="paramname"><em>key</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>keylen</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">unsigned char *&#160;</td>
-          <td class="paramname"><em>result</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>result_len</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Generates pre_master_sercet from given PSK and fills the result according to the "plain PSK" case in section 2 of RFC 4279. Diffie-Hellman and RSA key exchange are currently not supported.</p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">key</td><td>The shared key. </td></tr>
-    <tr><td class="paramname">keylen</td><td>Length of <code>key</code> in bytes. </td></tr>
-    <tr><td class="paramname">result</td><td>The derived pre master secret. </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The actual length of <code>result</code>. </dd></dl>
-
-<p>Definition at line <a class="el" href="crypto_8c_source.html#l00318">318</a> of file <a class="el" href="crypto_8c_source.html">crypto.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ad54069f2880b3c07185ebba736d02d17"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void dtls_security_free </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__security__parameters__t.html">dtls_security_parameters_t</a> *&#160;</td>
-          <td class="paramname"><em>security</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="crypto_8c_source.html#l00174">174</a> of file <a class="el" href="crypto_8c_source.html">crypto.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a1d568085636a04b4706b7e50df802a7b"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="structdtls__security__parameters__t.html">dtls_security_parameters_t</a>* dtls_security_new </td>
-          <td>(</td>
-          <td class="paramname"></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="crypto_8c_source.html#l00155">155</a> of file <a class="el" href="crypto_8c_source.html">crypto.c</a>.</p>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/crypto_8h_source.html b/external/wakaama/examples/shared/tinydtls/doc/html/crypto_8h_source.html
deleted file mode 100644 (file)
index 3f60acf..0000000
+++ /dev/null
@@ -1,408 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: crypto.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="header">
-  <div class="headertitle">
-<div class="title">crypto.h</div>  </div>
-</div><!--header-->
-<div class="contents">
-<a href="crypto_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/* dtls -- a very basic DTLS implementation</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> * Copyright (C) 2011--2012 Olaf Bergmann &lt;bergmann@tzi.org&gt;</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> * Copyright (C) 2013 Hauke Mehrtens &lt;hauke@hauke-m.de&gt;</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> * Permission is hereby granted, free of charge, to any person</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> * obtaining a copy of this software and associated documentation</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> * files (the &quot;Software&quot;), to deal in the Software without</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> * restriction, including without limitation the rights to use, copy,</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> * modify, merge, publish, distribute, sublicense, and/or sell copies</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * of the Software, and to permit persons to whom the Software is</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> * furnished to do so, subject to the following conditions:</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * The above copyright notice and this permission notice shall be</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> * included in all copies or substantial portions of the Software.</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> * THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND,</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment"> * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment"> * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment"> * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment"> * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment"> * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment"> * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment"> * SOFTWARE.</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;</div>
-<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#ifndef _DTLS_CRYPTO_H_</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define _DTLS_CRYPTO_H_</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &lt;stdlib.h&gt;</span>     <span class="comment">/* for rand() and srand() */</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &lt;stdint.h&gt;</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div>
-<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="t__list_8h.html">t_list.h</a>&quot;</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div>
-<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#include &quot;aes/rijndael.h&quot;</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;</div>
-<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="global_8h.html">global.h</a>&quot;</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="state_8h.html">state.h</a>&quot;</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="numeric_8h.html">numeric.h</a>&quot;</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="hmac_8h.html">hmac.h</a>&quot;</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ccm_8h.html">ccm.h</a>&quot;</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;</div>
-<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="comment">/* TLS_PSK_WITH_AES_128_CCM_8 */</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="crypto_8h.html#a5962b0d908f9b15406ca53d27a33e08a">   44</a></span>&#160;<span class="preprocessor">#define DTLS_MAC_KEY_LENGTH    0</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="crypto_8h.html#a829b5d5e4d693fdb3de335a0e2017076">   45</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define DTLS_KEY_LENGTH        16 </span><span class="comment">/* AES-128 */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="crypto_8h.html#ae86031f934f3f5f3af42dad5ff8e8757">   46</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define DTLS_BLK_LENGTH        16 </span><span class="comment">/* AES-128 */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="crypto_8h.html#a4fa04874a476a8cc5048372b6d584dbe">   47</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define DTLS_MAC_LENGTH        DTLS_HMAC_DIGEST_SIZE</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="crypto_8h.html#a8106002d0d69d8da810321c65ac71385">   48</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define DTLS_IV_LENGTH         4  </span><span class="comment">/* length of nonce_explicit */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="crypto_8h.html#a0df6db4f8c29f2b0aa5a1363b4f9127f">   55</a></span>&#160;<span class="preprocessor">#define MAX_KEYBLOCK_LENGTH  \</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor">  (2 * DTLS_MAC_KEY_LENGTH + 2 * DTLS_KEY_LENGTH + 2 * DTLS_IV_LENGTH)</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="crypto_8h.html#a2648582ddf4c82abc01d8388bd3f15db">   59</a></span>&#160;<span class="preprocessor">#define DTLS_MASTER_SECRET_LENGTH 48</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="crypto_8h.html#a5a0bdff7c0889f35601b4935098508a0">   60</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define DTLS_RANDOM_LENGTH 32</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="crypto_8h.html#a41f1aa1e1380c5f51d9af32c0a53f7b1">   62</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> { <a class="code" href="crypto_8h.html#a41f1aa1e1380c5f51d9af32c0a53f7b1a1832208b0a725185016b59150ff74fc4">AES128</a>=0 </div>
-<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;} <a class="code" href="crypto_8h.html#a41f1aa1e1380c5f51d9af32c0a53f7b1">dtls_crypto_alg</a>;</div>
-<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div>
-<div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="crypto_8h.html#a3710d42871d602387a5147c05bf9f1ef">   65</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
-<div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="crypto_8h.html#a3710d42871d602387a5147c05bf9f1efa517a66bf6725327c3240add3537f34ff">   66</a></span>&#160;  <a class="code" href="crypto_8h.html#a3710d42871d602387a5147c05bf9f1efa517a66bf6725327c3240add3537f34ff">DTLS_ECDH_CURVE_SECP256R1</a></div>
-<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;} <a class="code" href="crypto_8h.html#a3710d42871d602387a5147c05bf9f1ef">dtls_ecdh_curve</a>;</div>
-<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div>
-<div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="structaes128__ccm__t.html">   70</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
-<div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="structaes128__ccm__t.html#a5bdf410f025e4177ced456059bc8a371">   71</a></span>&#160;  rijndael_ctx <a class="code" href="structaes128__ccm__t.html#a5bdf410f025e4177ced456059bc8a371">ctx</a>;            </div>
-<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;} <a class="code" href="structaes128__ccm__t.html">aes128_ccm_t</a>;</div>
-<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;</div>
-<div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="structdtls__cipher__context__t.html">   74</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structdtls__cipher__context__t.html">dtls_cipher_context_t</a> {</div>
-<div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="structdtls__cipher__context__t.html#a02da63201e2ac7bc508e3bb54c5761dc">   76</a></span>&#160;  <a class="code" href="structaes128__ccm__t.html">aes128_ccm_t</a> <a class="code" href="structdtls__cipher__context__t.html#a02da63201e2ac7bc508e3bb54c5761dc">data</a>;        </div>
-<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;} <a class="code" href="crypto_8h.html#a99482a87021e817524d15c33e89e309c">dtls_cipher_context_t</a>;</div>
-<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;</div>
-<div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="structdtls__handshake__parameters__ecdsa__t.html">   79</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
-<div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="structdtls__handshake__parameters__ecdsa__t.html#aaa5b9eb0a00a615f7910294ed0739b5b">   80</a></span>&#160;  <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> own_eph_priv[32];</div>
-<div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="structdtls__handshake__parameters__ecdsa__t.html#aa941f98cb3a6dd1dd3c52fb68c37921f">   81</a></span>&#160;  <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> other_eph_pub_x[32];</div>
-<div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="structdtls__handshake__parameters__ecdsa__t.html#a56047d51afb4a38924db2000af74e83a">   82</a></span>&#160;  <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> other_eph_pub_y[32];</div>
-<div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="structdtls__handshake__parameters__ecdsa__t.html#a0d0470e6d450f955ef574f22cb74c5bf">   83</a></span>&#160;  <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> other_pub_x[32];</div>
-<div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="structdtls__handshake__parameters__ecdsa__t.html#af1fde768658a37d6e3a469842e0854b0">   84</a></span>&#160;  <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> other_pub_y[32];</div>
-<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;} <a class="code" href="structdtls__handshake__parameters__ecdsa__t.html">dtls_handshake_parameters_ecdsa_t</a>;</div>
-<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;</div>
-<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment">/* This is the maximal supported length of the psk client identity and psk</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="comment"> * server identity hint */</span></div>
-<div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="crypto_8h.html#ab96c8e0773a14d1ce1621eed1a78e2bd">   89</a></span>&#160;<span class="preprocessor">#define DTLS_PSK_MAX_CLIENT_IDENTITY_LEN   32</span></div>
-<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="comment">/* This is the maximal supported length of the pre-shared key. */</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="crypto_8h.html#a59cd7c0b8724e1f9b910611623396080">   92</a></span>&#160;<span class="preprocessor">#define DTLS_PSK_MAX_KEY_LEN 32</span></div>
-<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="structdtls__handshake__parameters__psk__t.html">   94</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
-<div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="structdtls__handshake__parameters__psk__t.html#a39ae0d1ead76e8bd5a3631ae8677be1b">   95</a></span>&#160;  uint16_t <a class="code" href="structdtls__handshake__parameters__psk__t.html#a39ae0d1ead76e8bd5a3631ae8677be1b">id_length</a>;</div>
-<div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="structdtls__handshake__parameters__psk__t.html#a6cce0754e4b9cf5469ddfec595be3084">   96</a></span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> identity[<a class="code" href="crypto_8h.html#ab96c8e0773a14d1ce1621eed1a78e2bd">DTLS_PSK_MAX_CLIENT_IDENTITY_LEN</a>];</div>
-<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;} <a class="code" href="structdtls__handshake__parameters__psk__t.html">dtls_handshake_parameters_psk_t</a>;</div>
-<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;</div>
-<div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="structdtls__security__parameters__t.html">   99</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
-<div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="structdtls__security__parameters__t.html#a6a72df7ab1151f81e49d464175fcaf2a">  100</a></span>&#160;  <a class="code" href="global_8h.html#a1ff555e0b1443c4cb4d17ac2161d89b2">dtls_compression_t</a> <a class="code" href="structdtls__security__parameters__t.html#a6a72df7ab1151f81e49d464175fcaf2a">compression</a>;   </div>
-<div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="structdtls__security__parameters__t.html#a21d9fac709d739535b0cbecce4c18830">  102</a></span>&#160;  <a class="code" href="global_8h.html#ada7e71454d685b693df45b2c1ea0c59b">dtls_cipher_t</a> <a class="code" href="structdtls__security__parameters__t.html#a21d9fac709d739535b0cbecce4c18830">cipher</a>;     </div>
-<div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="structdtls__security__parameters__t.html#a2bce1fa0bf77eeab8fadca824de602da">  103</a></span>&#160;  uint16_t <a class="code" href="structdtls__security__parameters__t.html#a2bce1fa0bf77eeab8fadca824de602da">epoch</a>;        </div>
-<div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="structdtls__security__parameters__t.html#a100dc82ee41004df1d9f211873332f87">  104</a></span>&#160;  uint64_t <a class="code" href="structdtls__security__parameters__t.html#a100dc82ee41004df1d9f211873332f87">rseq</a>;         </div>
-<div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="structdtls__security__parameters__t.html#a1c3a56ea4af8ff71e1ffe77221541f4d">  112</a></span>&#160;  <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> key_block[<a class="code" href="crypto_8h.html#a0df6db4f8c29f2b0aa5a1363b4f9127f">MAX_KEYBLOCK_LENGTH</a>];</div>
-<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;} <a class="code" href="structdtls__security__parameters__t.html">dtls_security_parameters_t</a>;</div>
-<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;</div>
-<div class="line"><a name="l00115"></a><span class="lineno"><a class="line" href="structdtls__handshake__parameters__t.html">  115</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
-<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;  <span class="keyword">union </span>{</div>
-<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;    <span class="keyword">struct </span>random_t {</div>
-<div class="line"><a name="l00118"></a><span class="lineno"><a class="line" href="structdtls__handshake__parameters__t.html#af37f38ce7c5f5e4ab62f16aacc2035f9">  118</a></span>&#160;      <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> client[<a class="code" href="crypto_8h.html#a5a0bdff7c0889f35601b4935098508a0">DTLS_RANDOM_LENGTH</a>]; </div>
-<div class="line"><a name="l00119"></a><span class="lineno"><a class="line" href="structdtls__handshake__parameters__t.html#a17344d2dab22a9c2c7f8bc9ef9137036">  119</a></span>&#160;      <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> server[<a class="code" href="crypto_8h.html#a5a0bdff7c0889f35601b4935098508a0">DTLS_RANDOM_LENGTH</a>]; </div>
-<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;    } random;</div>
-<div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="structdtls__handshake__parameters__t.html#a21ba88c7b062772beb75c5570d257898">  122</a></span>&#160;    <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> master_secret[<a class="code" href="crypto_8h.html#a2648582ddf4c82abc01d8388bd3f15db">DTLS_MASTER_SECRET_LENGTH</a>];</div>
-<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;  } tmp;</div>
-<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;  <a class="code" href="t__list_8h.html#ab5acb500a887e1957292f3dddc5c9b79">LIST_STRUCT</a>(reorder_queue);   </div>
-<div class="line"><a name="l00125"></a><span class="lineno"><a class="line" href="structdtls__handshake__parameters__t.html#a56e7392a649731166fc82a523b0eb027">  125</a></span>&#160;  <a class="code" href="structdtls__hs__state__t.html">dtls_hs_state_t</a> <a class="code" href="structdtls__handshake__parameters__t.html#a56e7392a649731166fc82a523b0eb027">hs_state</a>;  </div>
-<div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="structdtls__handshake__parameters__t.html#a67f85371953c8ae07ec110cb39c13125">  127</a></span>&#160;  <a class="code" href="global_8h.html#a1ff555e0b1443c4cb4d17ac2161d89b2">dtls_compression_t</a> <a class="code" href="structdtls__handshake__parameters__t.html#a67f85371953c8ae07ec110cb39c13125">compression</a>;       </div>
-<div class="line"><a name="l00128"></a><span class="lineno"><a class="line" href="structdtls__handshake__parameters__t.html#a5cc61a98763800b5b4e7617307649933">  128</a></span>&#160;  <a class="code" href="global_8h.html#ada7e71454d685b693df45b2c1ea0c59b">dtls_cipher_t</a> <a class="code" href="structdtls__handshake__parameters__t.html#a5cc61a98763800b5b4e7617307649933">cipher</a>;     </div>
-<div class="line"><a name="l00129"></a><span class="lineno"><a class="line" href="structdtls__handshake__parameters__t.html#ab17efe8550600d945ced029e43ca86d6">  129</a></span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> do_client_auth:1;</div>
-<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;  <span class="keyword">union </span>{</div>
-<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="preprocessor">#ifdef DTLS_ECC</span></div>
-<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="preprocessor"></span>    <a class="code" href="structdtls__handshake__parameters__ecdsa__t.html">dtls_handshake_parameters_ecdsa_t</a> ecdsa;</div>
-<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* DTLS_ECC */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#ifdef DTLS_PSK</span></div>
-<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;<span class="preprocessor"></span>    <a class="code" href="structdtls__handshake__parameters__psk__t.html">dtls_handshake_parameters_psk_t</a> psk;</div>
-<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* DTLS_PSK */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;<span class="preprocessor"></span>  } keyx;</div>
-<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;} <a class="code" href="structdtls__handshake__parameters__t.html">dtls_handshake_parameters_t</a>;</div>
-<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;</div>
-<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;<span class="comment">/* The following macros provide access to the components of the</span></div>
-<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="comment"> * key_block in the security parameters. */</span></div>
-<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;</div>
-<div class="line"><a name="l00143"></a><span class="lineno"><a class="line" href="crypto_8h.html#a72899232c09d09b86326c6f234addc02">  143</a></span>&#160;<span class="preprocessor">#define dtls_kb_client_mac_secret(Param, Role) ((Param)-&gt;key_block)</span></div>
-<div class="line"><a name="l00144"></a><span class="lineno"><a class="line" href="crypto_8h.html#ac8fdf3770dcd956ca10d1044a57a7a3a">  144</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define dtls_kb_server_mac_secret(Param, Role)              \</span></div>
-<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="preprocessor">  (dtls_kb_client_mac_secret(Param, Role) + DTLS_MAC_KEY_LENGTH)</span></div>
-<div class="line"><a name="l00146"></a><span class="lineno"><a class="line" href="crypto_8h.html#acf318c989f5bb90b863154abbc408b66">  146</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define dtls_kb_remote_mac_secret(Param, Role)              \</span></div>
-<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;<span class="preprocessor">  ((Role) == DTLS_SERVER                        \</span></div>
-<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;<span class="preprocessor">   ? dtls_kb_client_mac_secret(Param, Role)             \</span></div>
-<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;<span class="preprocessor">   : dtls_kb_server_mac_secret(Param, Role))</span></div>
-<div class="line"><a name="l00150"></a><span class="lineno"><a class="line" href="crypto_8h.html#aa60519b0e9b775ccb0bdb46762f43418">  150</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define dtls_kb_local_mac_secret(Param, Role)               \</span></div>
-<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;<span class="preprocessor">  ((Role) == DTLS_CLIENT                        \</span></div>
-<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;<span class="preprocessor">   ? dtls_kb_client_mac_secret(Param, Role)             \</span></div>
-<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;<span class="preprocessor">   : dtls_kb_server_mac_secret(Param, Role))</span></div>
-<div class="line"><a name="l00154"></a><span class="lineno"><a class="line" href="crypto_8h.html#a1f320854c9f4e9b2105649b3624976b0">  154</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define dtls_kb_mac_secret_size(Param, Role) DTLS_MAC_KEY_LENGTH</span></div>
-<div class="line"><a name="l00155"></a><span class="lineno"><a class="line" href="crypto_8h.html#ab5659b0737d72a2fa1b1335952f9c305">  155</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define dtls_kb_client_write_key(Param, Role)               \</span></div>
-<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="preprocessor">  (dtls_kb_server_mac_secret(Param, Role) + DTLS_MAC_KEY_LENGTH)</span></div>
-<div class="line"><a name="l00157"></a><span class="lineno"><a class="line" href="crypto_8h.html#aea906786dcfa12acb320df731c8db7f6">  157</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define dtls_kb_server_write_key(Param, Role)               \</span></div>
-<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;<span class="preprocessor">  (dtls_kb_client_write_key(Param, Role) + DTLS_KEY_LENGTH)</span></div>
-<div class="line"><a name="l00159"></a><span class="lineno"><a class="line" href="crypto_8h.html#addc8fcbbdd80ba924d0ded2a6bae97f4">  159</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define dtls_kb_remote_write_key(Param, Role)               \</span></div>
-<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;<span class="preprocessor">  ((Role) == DTLS_SERVER                        \</span></div>
-<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;<span class="preprocessor">   ? dtls_kb_client_write_key(Param, Role)              \</span></div>
-<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;<span class="preprocessor">   : dtls_kb_server_write_key(Param, Role))</span></div>
-<div class="line"><a name="l00163"></a><span class="lineno"><a class="line" href="crypto_8h.html#a7c9e39188a2e50eb942ce8c7cd8add36">  163</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define dtls_kb_local_write_key(Param, Role)                \</span></div>
-<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="preprocessor">  ((Role) == DTLS_CLIENT                        \</span></div>
-<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;<span class="preprocessor">   ? dtls_kb_client_write_key(Param, Role)              \</span></div>
-<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;<span class="preprocessor">   : dtls_kb_server_write_key(Param, Role))</span></div>
-<div class="line"><a name="l00167"></a><span class="lineno"><a class="line" href="crypto_8h.html#a726ef8efa2e072c3c5e1ea1019e716aa">  167</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define dtls_kb_key_size(Param, Role) DTLS_KEY_LENGTH</span></div>
-<div class="line"><a name="l00168"></a><span class="lineno"><a class="line" href="crypto_8h.html#a1d3c04e5d39477a525b5255ab3240094">  168</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define dtls_kb_client_iv(Param, Role)                  \</span></div>
-<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;<span class="preprocessor">  (dtls_kb_server_write_key(Param, Role) + DTLS_KEY_LENGTH)</span></div>
-<div class="line"><a name="l00170"></a><span class="lineno"><a class="line" href="crypto_8h.html#acdd95c24ec6aebf14dac6ee4386a79be">  170</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define dtls_kb_server_iv(Param, Role)                  \</span></div>
-<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="preprocessor">  (dtls_kb_client_iv(Param, Role) + DTLS_IV_LENGTH)</span></div>
-<div class="line"><a name="l00172"></a><span class="lineno"><a class="line" href="crypto_8h.html#a7119d3239c34d7e7f219200792339541">  172</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define dtls_kb_remote_iv(Param, Role)                  \</span></div>
-<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;<span class="preprocessor">  ((Role) == DTLS_SERVER                        \</span></div>
-<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<span class="preprocessor">   ? dtls_kb_client_iv(Param, Role)                 \</span></div>
-<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;<span class="preprocessor">   : dtls_kb_server_iv(Param, Role))</span></div>
-<div class="line"><a name="l00176"></a><span class="lineno"><a class="line" href="crypto_8h.html#ae23208578ac21350cb5915d11da0a2e3">  176</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define dtls_kb_local_iv(Param, Role)                   \</span></div>
-<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;<span class="preprocessor">  ((Role) == DTLS_CLIENT                        \</span></div>
-<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;<span class="preprocessor">   ? dtls_kb_client_iv(Param, Role)                 \</span></div>
-<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="preprocessor">   : dtls_kb_server_iv(Param, Role))</span></div>
-<div class="line"><a name="l00180"></a><span class="lineno"><a class="line" href="crypto_8h.html#adcdadf1870e2acb2993b1a8726d26997">  180</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define dtls_kb_iv_size(Param, Role) DTLS_IV_LENGTH</span></div>
-<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00182"></a><span class="lineno"><a class="line" href="crypto_8h.html#a147bfdc558c2ec69ffdf388ae19ae01c">  182</a></span>&#160;<span class="preprocessor">#define dtls_kb_size(Param, Role)                   \</span></div>
-<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;<span class="preprocessor">  (2 * (dtls_kb_mac_secret_size(Param, Role) +              \</span></div>
-<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;<span class="preprocessor">    dtls_kb_key_size(Param, Role) + dtls_kb_iv_size(Param, Role)))</span></div>
-<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;<span class="comment">/* just for consistency */</span></div>
-<div class="line"><a name="l00187"></a><span class="lineno"><a class="line" href="crypto_8h.html#a5c3cbd4d9e514757deda211e97c9c758">  187</a></span>&#160;<span class="preprocessor">#define dtls_kb_digest_size(Param, Role) DTLS_MAC_LENGTH</span></div>
-<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;<span class="keywordtype">size_t</span> <a class="code" href="crypto_8h.html#aea7bd0a10cf289c033216a97c0ee701e">dtls_p_hash</a>(<a class="code" href="group__HMAC.html#ga698cfa036e69361a93dcdd9b19579b23">dtls_hashfunc_t</a> h, </div>
-<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;           <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *key, <span class="keywordtype">size_t</span> keylen,</div>
-<div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;           <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *label, <span class="keywordtype">size_t</span> labellen,</div>
-<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;           <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *random1, <span class="keywordtype">size_t</span> random1len,</div>
-<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;           <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *random2, <span class="keywordtype">size_t</span> random2len,</div>
-<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;           <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *buf, <span class="keywordtype">size_t</span> buflen);</div>
-<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;</div>
-<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;<span class="keywordtype">size_t</span> <a class="code" href="crypto_8h.html#a5e47576e502b5a6255f1b489a4915512">dtls_prf</a>(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *key, <span class="keywordtype">size_t</span> keylen,</div>
-<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;        <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *label, <span class="keywordtype">size_t</span> labellen,</div>
-<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;        <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *random1, <span class="keywordtype">size_t</span> random1len,</div>
-<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;        <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *random2, <span class="keywordtype">size_t</span> random2len,</div>
-<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;        <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *buf, <span class="keywordtype">size_t</span> buflen);</div>
-<div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;</div>
-<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;<span class="keywordtype">void</span> <a class="code" href="crypto_8h.html#a1423f8111df1533241178461c10b50e3">dtls_mac</a>(<a class="code" href="structdtls__hmac__context__t.html">dtls_hmac_context_t</a> *hmac_ctx, </div>
-<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;          <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *record,</div>
-<div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;          <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *packet, <span class="keywordtype">size_t</span> length,</div>
-<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;          <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *buf);</div>
-<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;</div>
-<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;<span class="keywordtype">int</span> <a class="code" href="crypto_8h.html#a288c4ec1a5110ab3f44ab3cb7c289e69">dtls_encrypt</a>(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *src, <span class="keywordtype">size_t</span> length,</div>
-<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;         <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *buf,</div>
-<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;         <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *nounce,</div>
-<div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;         <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *key, <span class="keywordtype">size_t</span> keylen,</div>
-<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;         <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *aad, <span class="keywordtype">size_t</span> aad_length);</div>
-<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;</div>
-<div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;<span class="keywordtype">int</span> <a class="code" href="crypto_8h.html#a3a99a8753c2eb9baf1e03fe0ffbb813b">dtls_decrypt</a>(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *src, <span class="keywordtype">size_t</span> length,</div>
-<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;         <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *buf,</div>
-<div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;         <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *nounce,</div>
-<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;         <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *key, <span class="keywordtype">size_t</span> keylen,</div>
-<div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;         <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *a_data, <span class="keywordtype">size_t</span> a_data_length);</div>
-<div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;</div>
-<div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;<span class="comment">/* helper functions */</span></div>
-<div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;</div>
-<div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;<span class="keywordtype">int</span> <a class="code" href="crypto_8h.html#aa53dfed4868e257d2485024b5c170bae">dtls_psk_pre_master_secret</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *key, <span class="keywordtype">size_t</span> keylen,</div>
-<div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;                   <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *result, <span class="keywordtype">size_t</span> result_len);</div>
-<div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;</div>
-<div class="line"><a name="l00309"></a><span class="lineno"><a class="line" href="crypto_8h.html#a9b039263057e157e1427c5d316133c3d">  309</a></span>&#160;<span class="preprocessor">#define DTLS_EC_KEY_SIZE 32</span></div>
-<div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;<span class="keywordtype">int</span> <a class="code" href="crypto_8h.html#a5f9937088ea2e1d19e7d472fecae9aaa">dtls_ecdh_pre_master_secret</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *priv_key,</div>
-<div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;                <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *pub_key_x,</div>
-<div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;                                <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *pub_key_y,</div>
-<div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;                                <span class="keywordtype">size_t</span> key_size,</div>
-<div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;                                <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *result,</div>
-<div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;                                <span class="keywordtype">size_t</span> result_len);</div>
-<div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;</div>
-<div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;<span class="keywordtype">void</span> <a class="code" href="crypto_8h.html#a982fc9e78cd10d9323756b15b72c7970">dtls_ecdsa_generate_key</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *priv_key,</div>
-<div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;                 <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *pub_key_x,</div>
-<div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;                 <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *pub_key_y,</div>
-<div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;                 <span class="keywordtype">size_t</span> key_size);</div>
-<div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;</div>
-<div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;<span class="keywordtype">void</span> <a class="code" href="crypto_8h.html#a49f03039780664684d110d83a228b163">dtls_ecdsa_create_sig_hash</a>(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *priv_key, <span class="keywordtype">size_t</span> key_size,</div>
-<div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;                <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *sign_hash, <span class="keywordtype">size_t</span> sign_hash_size,</div>
-<div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;                uint32_t point_r[9], uint32_t point_s[9]);</div>
-<div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;</div>
-<div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;<span class="keywordtype">void</span> <a class="code" href="crypto_8h.html#afa2d9b2a195a1d8e8c56b1af8cb7bc82">dtls_ecdsa_create_sig</a>(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *priv_key, <span class="keywordtype">size_t</span> key_size,</div>
-<div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;               <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *client_random, <span class="keywordtype">size_t</span> client_random_size,</div>
-<div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;               <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *server_random, <span class="keywordtype">size_t</span> server_random_size,</div>
-<div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;               <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *keyx_params, <span class="keywordtype">size_t</span> keyx_params_size,</div>
-<div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;               uint32_t point_r[9], uint32_t point_s[9]);</div>
-<div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;</div>
-<div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;<span class="keywordtype">int</span> <a class="code" href="crypto_8h.html#a802b3a2b267747a76d4557c6c9a899d7">dtls_ecdsa_verify_sig_hash</a>(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *pub_key_x,</div>
-<div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;                   <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *pub_key_y, <span class="keywordtype">size_t</span> key_size,</div>
-<div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;                   <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *sign_hash, <span class="keywordtype">size_t</span> sign_hash_size,</div>
-<div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;                   <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *result_r, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *result_s);</div>
-<div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;</div>
-<div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;<span class="keywordtype">int</span> <a class="code" href="crypto_8h.html#a035860da45ba2586a95c8ef7f539a3c9">dtls_ecdsa_verify_sig</a>(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *pub_key_x,</div>
-<div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;              <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *pub_key_y, <span class="keywordtype">size_t</span> key_size,</div>
-<div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;              <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *client_random, <span class="keywordtype">size_t</span> client_random_size,</div>
-<div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;              <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *server_random, <span class="keywordtype">size_t</span> server_random_size,</div>
-<div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;              <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *keyx_params, <span class="keywordtype">size_t</span> keyx_params_size,</div>
-<div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;              <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *result_r, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *result_s);</div>
-<div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;</div>
-<div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;<span class="keywordtype">int</span> <a class="code" href="crypto_8h.html#a5ae24f3621f545752732e318840d7e2b">dtls_ec_key_from_uint32_asn1</a>(<span class="keyword">const</span> uint32_t *key, <span class="keywordtype">size_t</span> key_size,</div>
-<div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;                 <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *buf);</div>
-<div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;</div>
-<div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;</div>
-<div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;<a class="code" href="structdtls__handshake__parameters__t.html">dtls_handshake_parameters_t</a> *<a class="code" href="crypto_8h.html#a25930cdb27a6ffcf05e2c2a9c95a6af8">dtls_handshake_new</a>();</div>
-<div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;</div>
-<div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;<span class="keywordtype">void</span> <a class="code" href="crypto_8h.html#aa17bcdc666796e52788f82ee003bb172">dtls_handshake_free</a>(<a class="code" href="structdtls__handshake__parameters__t.html">dtls_handshake_parameters_t</a> *handshake);</div>
-<div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;</div>
-<div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;<a class="code" href="structdtls__security__parameters__t.html">dtls_security_parameters_t</a> *<a class="code" href="crypto_8h.html#a1d568085636a04b4706b7e50df802a7b">dtls_security_new</a>();</div>
-<div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;</div>
-<div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;<span class="keywordtype">void</span> <a class="code" href="crypto_8h.html#ad54069f2880b3c07185ebba736d02d17">dtls_security_free</a>(<a class="code" href="structdtls__security__parameters__t.html">dtls_security_parameters_t</a> *security);</div>
-<div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;<span class="keywordtype">void</span> <a class="code" href="crypto_8h.html#a86e6ce9d4b4afcef355836955697f52c">crypto_init</a>();</div>
-<div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;</div>
-<div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* _DTLS_CRYPTO_H_ */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;<span class="preprocessor"></span></div>
-<div class="ttc" id="crypto_8h_html_a5f9937088ea2e1d19e7d472fecae9aaa"><div class="ttname"><a href="crypto_8h.html#a5f9937088ea2e1d19e7d472fecae9aaa">dtls_ecdh_pre_master_secret</a></div><div class="ttdeci">int dtls_ecdh_pre_master_secret(unsigned char *priv_key, unsigned char *pub_key_x, unsigned char *pub_key_y, size_t key_size, unsigned char *result, size_t result_len)</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8c_source.html#l00398">crypto.c:398</a></div></div>
-<div class="ttc" id="structaes128__ccm__t_html"><div class="ttname"><a href="structaes128__ccm__t.html">aes128_ccm_t</a></div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00070">crypto.h:70</a></div></div>
-<div class="ttc" id="structdtls__handshake__parameters__t_html_a56e7392a649731166fc82a523b0eb027"><div class="ttname"><a href="structdtls__handshake__parameters__t.html#a56e7392a649731166fc82a523b0eb027">dtls_handshake_parameters_t::hs_state</a></div><div class="ttdeci">dtls_hs_state_t hs_state</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00125">crypto.h:125</a></div></div>
-<div class="ttc" id="crypto_8h_html_ad54069f2880b3c07185ebba736d02d17"><div class="ttname"><a href="crypto_8h.html#ad54069f2880b3c07185ebba736d02d17">dtls_security_free</a></div><div class="ttdeci">void dtls_security_free(dtls_security_parameters_t *security)</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8c_source.html#l00174">crypto.c:174</a></div></div>
-<div class="ttc" id="crypto_8h_html_a5e47576e502b5a6255f1b489a4915512"><div class="ttname"><a href="crypto_8h.html#a5e47576e502b5a6255f1b489a4915512">dtls_prf</a></div><div class="ttdeci">size_t dtls_prf(const unsigned char *key, size_t keylen, const unsigned char *label, size_t labellen, const unsigned char *random1, size_t random1len, const unsigned char *random2, size_t random2len, unsigned char *buf, size_t buflen)</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8c_source.html#l00249">crypto.c:249</a></div></div>
-<div class="ttc" id="structaes128__ccm__t_html_a5bdf410f025e4177ced456059bc8a371"><div class="ttname"><a href="structaes128__ccm__t.html#a5bdf410f025e4177ced456059bc8a371">aes128_ccm_t::ctx</a></div><div class="ttdeci">rijndael_ctx ctx</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00071">crypto.h:71</a></div></div>
-<div class="ttc" id="t__list_8h_html"><div class="ttname"><a href="t__list_8h.html">t_list.h</a></div><div class="ttdoc">Wrappers for list structures and functions. </div></div>
-<div class="ttc" id="structdtls__handshake__parameters__t_html_a5cc61a98763800b5b4e7617307649933"><div class="ttname"><a href="structdtls__handshake__parameters__t.html#a5cc61a98763800b5b4e7617307649933">dtls_handshake_parameters_t::cipher</a></div><div class="ttdeci">dtls_cipher_t cipher</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00128">crypto.h:128</a></div></div>
-<div class="ttc" id="crypto_8h_html_a3710d42871d602387a5147c05bf9f1efa517a66bf6725327c3240add3537f34ff"><div class="ttname"><a href="crypto_8h.html#a3710d42871d602387a5147c05bf9f1efa517a66bf6725327c3240add3537f34ff">DTLS_ECDH_CURVE_SECP256R1</a></div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00066">crypto.h:66</a></div></div>
-<div class="ttc" id="global_8h_html_a1ff555e0b1443c4cb4d17ac2161d89b2"><div class="ttname"><a href="global_8h.html#a1ff555e0b1443c4cb4d17ac2161d89b2">dtls_compression_t</a></div><div class="ttdeci">dtls_compression_t</div><div class="ttdef"><b>Definition:</b> <a href="global_8h_source.html#l00081">global.h:81</a></div></div>
-<div class="ttc" id="crypto_8h_html_a288c4ec1a5110ab3f44ab3cb7c289e69"><div class="ttname"><a href="crypto_8h.html#a288c4ec1a5110ab3f44ab3cb7c289e69">dtls_encrypt</a></div><div class="ttdeci">int dtls_encrypt(const unsigned char *src, size_t length, unsigned char *buf, unsigned char *nounce, unsigned char *key, size_t keylen, const unsigned char *aad, size_t aad_length)</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8c_source.html#l00524">crypto.c:524</a></div></div>
-<div class="ttc" id="crypto_8h_html_a1423f8111df1533241178461c10b50e3"><div class="ttname"><a href="crypto_8h.html#a1423f8111df1533241178461c10b50e3">dtls_mac</a></div><div class="ttdeci">void dtls_mac(dtls_hmac_context_t *hmac_ctx, const unsigned char *record, const unsigned char *packet, size_t length, unsigned char *buf)</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8c_source.html#l00266">crypto.c:266</a></div></div>
-<div class="ttc" id="crypto_8h_html_a25930cdb27a6ffcf05e2c2a9c95a6af8"><div class="ttname"><a href="crypto_8h.html#a25930cdb27a6ffcf05e2c2a9c95a6af8">dtls_handshake_new</a></div><div class="ttdeci">dtls_handshake_parameters_t * dtls_handshake_new()</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8c_source.html#l00123">crypto.c:123</a></div></div>
-<div class="ttc" id="crypto_8h_html_aa53dfed4868e257d2485024b5c170bae"><div class="ttname"><a href="crypto_8h.html#aa53dfed4868e257d2485024b5c170bae">dtls_psk_pre_master_secret</a></div><div class="ttdeci">int dtls_psk_pre_master_secret(unsigned char *key, size_t keylen, unsigned char *result, size_t result_len)</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8c_source.html#l00318">crypto.c:318</a></div></div>
-<div class="ttc" id="crypto_8h_html_a982fc9e78cd10d9323756b15b72c7970"><div class="ttname"><a href="crypto_8h.html#a982fc9e78cd10d9323756b15b72c7970">dtls_ecdsa_generate_key</a></div><div class="ttdeci">void dtls_ecdsa_generate_key(unsigned char *priv_key, unsigned char *pub_key_x, unsigned char *pub_key_y, size_t key_size)</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8c_source.html#l00425">crypto.c:425</a></div></div>
-<div class="ttc" id="crypto_8h_html_a3a99a8753c2eb9baf1e03fe0ffbb813b"><div class="ttname"><a href="crypto_8h.html#a3a99a8753c2eb9baf1e03fe0ffbb813b">dtls_decrypt</a></div><div class="ttdeci">int dtls_decrypt(const unsigned char *src, size_t length, unsigned char *buf, unsigned char *nounce, unsigned char *key, size_t keylen, const unsigned char *a_data, size_t a_data_length)</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8c_source.html#l00550">crypto.c:550</a></div></div>
-<div class="ttc" id="structdtls__cipher__context__t_html_a02da63201e2ac7bc508e3bb54c5761dc"><div class="ttname"><a href="structdtls__cipher__context__t.html#a02da63201e2ac7bc508e3bb54c5761dc">dtls_cipher_context_t::data</a></div><div class="ttdeci">aes128_ccm_t data</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00076">crypto.h:76</a></div></div>
-<div class="ttc" id="global_8h_html"><div class="ttname"><a href="global_8h.html">global.h</a></div></div>
-<div class="ttc" id="crypto_8h_html_aea7bd0a10cf289c033216a97c0ee701e"><div class="ttname"><a href="crypto_8h.html#aea7bd0a10cf289c033216a97c0ee701e">dtls_p_hash</a></div><div class="ttdeci">size_t dtls_p_hash(dtls_hashfunc_t h, const unsigned char *key, size_t keylen, const unsigned char *label, size_t labellen, const unsigned char *random1, size_t random1len, const unsigned char *random2, size_t random2len, unsigned char *buf, size_t buflen)</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8c_source.html#l00183">crypto.c:183</a></div></div>
-<div class="ttc" id="structdtls__handshake__parameters__ecdsa__t_html"><div class="ttname"><a href="structdtls__handshake__parameters__ecdsa__t.html">dtls_handshake_parameters_ecdsa_t</a></div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00079">crypto.h:79</a></div></div>
-<div class="ttc" id="crypto_8h_html_ab96c8e0773a14d1ce1621eed1a78e2bd"><div class="ttname"><a href="crypto_8h.html#ab96c8e0773a14d1ce1621eed1a78e2bd">DTLS_PSK_MAX_CLIENT_IDENTITY_LEN</a></div><div class="ttdeci">#define DTLS_PSK_MAX_CLIENT_IDENTITY_LEN</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00089">crypto.h:89</a></div></div>
-<div class="ttc" id="crypto_8h_html_a0df6db4f8c29f2b0aa5a1363b4f9127f"><div class="ttname"><a href="crypto_8h.html#a0df6db4f8c29f2b0aa5a1363b4f9127f">MAX_KEYBLOCK_LENGTH</a></div><div class="ttdeci">#define MAX_KEYBLOCK_LENGTH</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00055">crypto.h:55</a></div></div>
-<div class="ttc" id="hmac_8h_html"><div class="ttname"><a href="hmac_8h.html">hmac.h</a></div></div>
-<div class="ttc" id="structdtls__handshake__parameters__psk__t_html_a39ae0d1ead76e8bd5a3631ae8677be1b"><div class="ttname"><a href="structdtls__handshake__parameters__psk__t.html#a39ae0d1ead76e8bd5a3631ae8677be1b">dtls_handshake_parameters_psk_t::id_length</a></div><div class="ttdeci">uint16_t id_length</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00095">crypto.h:95</a></div></div>
-<div class="ttc" id="crypto_8h_html_aa17bcdc666796e52788f82ee003bb172"><div class="ttname"><a href="crypto_8h.html#aa17bcdc666796e52788f82ee003bb172">dtls_handshake_free</a></div><div class="ttdeci">void dtls_handshake_free(dtls_handshake_parameters_t *handshake)</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8c_source.html#l00146">crypto.c:146</a></div></div>
-<div class="ttc" id="crypto_8h_html_a5a0bdff7c0889f35601b4935098508a0"><div class="ttname"><a href="crypto_8h.html#a5a0bdff7c0889f35601b4935098508a0">DTLS_RANDOM_LENGTH</a></div><div class="ttdeci">#define DTLS_RANDOM_LENGTH</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00060">crypto.h:60</a></div></div>
-<div class="ttc" id="structdtls__handshake__parameters__psk__t_html"><div class="ttname"><a href="structdtls__handshake__parameters__psk__t.html">dtls_handshake_parameters_psk_t</a></div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00094">crypto.h:94</a></div></div>
-<div class="ttc" id="structdtls__hmac__context__t_html"><div class="ttname"><a href="structdtls__hmac__context__t.html">dtls_hmac_context_t</a></div><div class="ttdef"><b>Definition:</b> <a href="hmac_8h_source.html#l00095">hmac.h:95</a></div></div>
-<div class="ttc" id="crypto_8h_html_a3710d42871d602387a5147c05bf9f1ef"><div class="ttname"><a href="crypto_8h.html#a3710d42871d602387a5147c05bf9f1ef">dtls_ecdh_curve</a></div><div class="ttdeci">dtls_ecdh_curve</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00065">crypto.h:65</a></div></div>
-<div class="ttc" id="global_8h_html_adde6aaee8457bee49c2a92621fe22b79"><div class="ttname"><a href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a></div><div class="ttdeci">unsigned char uint8</div><div class="ttdef"><b>Definition:</b> <a href="global_8h_source.html#l00047">global.h:47</a></div></div>
-<div class="ttc" id="structdtls__handshake__parameters__t_html_a67f85371953c8ae07ec110cb39c13125"><div class="ttname"><a href="structdtls__handshake__parameters__t.html#a67f85371953c8ae07ec110cb39c13125">dtls_handshake_parameters_t::compression</a></div><div class="ttdeci">dtls_compression_t compression</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00127">crypto.h:127</a></div></div>
-<div class="ttc" id="structdtls__security__parameters__t_html_a100dc82ee41004df1d9f211873332f87"><div class="ttname"><a href="structdtls__security__parameters__t.html#a100dc82ee41004df1d9f211873332f87">dtls_security_parameters_t::rseq</a></div><div class="ttdeci">uint64_t rseq</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00104">crypto.h:104</a></div></div>
-<div class="ttc" id="structdtls__security__parameters__t_html_a6a72df7ab1151f81e49d464175fcaf2a"><div class="ttname"><a href="structdtls__security__parameters__t.html#a6a72df7ab1151f81e49d464175fcaf2a">dtls_security_parameters_t::compression</a></div><div class="ttdeci">dtls_compression_t compression</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00100">crypto.h:100</a></div></div>
-<div class="ttc" id="structdtls__security__parameters__t_html_a21d9fac709d739535b0cbecce4c18830"><div class="ttname"><a href="structdtls__security__parameters__t.html#a21d9fac709d739535b0cbecce4c18830">dtls_security_parameters_t::cipher</a></div><div class="ttdeci">dtls_cipher_t cipher</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00102">crypto.h:102</a></div></div>
-<div class="ttc" id="crypto_8h_html_a2648582ddf4c82abc01d8388bd3f15db"><div class="ttname"><a href="crypto_8h.html#a2648582ddf4c82abc01d8388bd3f15db">DTLS_MASTER_SECRET_LENGTH</a></div><div class="ttdeci">#define DTLS_MASTER_SECRET_LENGTH</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00059">crypto.h:59</a></div></div>
-<div class="ttc" id="crypto_8h_html_afa2d9b2a195a1d8e8c56b1af8cb7bc82"><div class="ttname"><a href="crypto_8h.html#afa2d9b2a195a1d8e8c56b1af8cb7bc82">dtls_ecdsa_create_sig</a></div><div class="ttdeci">void dtls_ecdsa_create_sig(const unsigned char *priv_key, size_t key_size, const unsigned char *client_random, size_t client_random_size, const unsigned char *server_random, size_t server_random_size, const unsigned char *keyx_params, size_t keyx_params_size, uint32_t point_r[9], uint32_t point_s[9])</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8c_source.html#l00463">crypto.c:463</a></div></div>
-<div class="ttc" id="crypto_8h_html_a802b3a2b267747a76d4557c6c9a899d7"><div class="ttname"><a href="crypto_8h.html#a802b3a2b267747a76d4557c6c9a899d7">dtls_ecdsa_verify_sig_hash</a></div><div class="ttdeci">int dtls_ecdsa_verify_sig_hash(const unsigned char *pub_key_x, const unsigned char *pub_key_y, size_t key_size, const unsigned char *sign_hash, size_t sign_hash_size, unsigned char *result_r, unsigned char *result_s)</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8c_source.html#l00483">crypto.c:483</a></div></div>
-<div class="ttc" id="state_8h_html"><div class="ttname"><a href="state_8h.html">state.h</a></div><div class="ttdoc">state information for DTLS FSM </div></div>
-<div class="ttc" id="crypto_8h_html_a5ae24f3621f545752732e318840d7e2b"><div class="ttname"><a href="crypto_8h.html#a5ae24f3621f545752732e318840d7e2b">dtls_ec_key_from_uint32_asn1</a></div><div class="ttdeci">int dtls_ec_key_from_uint32_asn1(const uint32_t *key, size_t key_size, unsigned char *buf)</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8c_source.html#l00362">crypto.c:362</a></div></div>
-<div class="ttc" id="t__list_8h_html_ab5acb500a887e1957292f3dddc5c9b79"><div class="ttname"><a href="t__list_8h.html#ab5acb500a887e1957292f3dddc5c9b79">LIST_STRUCT</a></div><div class="ttdeci">#define LIST_STRUCT(name)</div><div class="ttdef"><b>Definition:</b> <a href="t__list_8h_source.html#l00086">t_list.h:86</a></div></div>
-<div class="ttc" id="group__HMAC_html_ga698cfa036e69361a93dcdd9b19579b23"><div class="ttname"><a href="group__HMAC.html#ga698cfa036e69361a93dcdd9b19579b23">dtls_hashfunc_t</a></div><div class="ttdeci">dtls_hashfunc_t</div><div class="ttdef"><b>Definition:</b> <a href="hmac_8h_source.html#l00083">hmac.h:83</a></div></div>
-<div class="ttc" id="global_8h_html_ada7e71454d685b693df45b2c1ea0c59b"><div class="ttname"><a href="global_8h.html#ada7e71454d685b693df45b2c1ea0c59b">dtls_cipher_t</a></div><div class="ttdeci">dtls_cipher_t</div><div class="ttdef"><b>Definition:</b> <a href="global_8h_source.html#l00074">global.h:74</a></div></div>
-<div class="ttc" id="structdtls__hs__state__t_html"><div class="ttname"><a href="structdtls__hs__state__t.html">dtls_hs_state_t</a></div><div class="ttdef"><b>Definition:</b> <a href="state_8h_source.html#l00054">state.h:54</a></div></div>
-<div class="ttc" id="crypto_8h_html_a41f1aa1e1380c5f51d9af32c0a53f7b1a1832208b0a725185016b59150ff74fc4"><div class="ttname"><a href="crypto_8h.html#a41f1aa1e1380c5f51d9af32c0a53f7b1a1832208b0a725185016b59150ff74fc4">AES128</a></div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00062">crypto.h:62</a></div></div>
-<div class="ttc" id="crypto_8h_html_a41f1aa1e1380c5f51d9af32c0a53f7b1"><div class="ttname"><a href="crypto_8h.html#a41f1aa1e1380c5f51d9af32c0a53f7b1">dtls_crypto_alg</a></div><div class="ttdeci">dtls_crypto_alg</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00062">crypto.h:62</a></div></div>
-<div class="ttc" id="crypto_8h_html_a1d568085636a04b4706b7e50df802a7b"><div class="ttname"><a href="crypto_8h.html#a1d568085636a04b4706b7e50df802a7b">dtls_security_new</a></div><div class="ttdeci">dtls_security_parameters_t * dtls_security_new()</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8c_source.html#l00155">crypto.c:155</a></div></div>
-<div class="ttc" id="numeric_8h_html"><div class="ttname"><a href="numeric_8h.html">numeric.h</a></div></div>
-<div class="ttc" id="structdtls__cipher__context__t_html"><div class="ttname"><a href="structdtls__cipher__context__t.html">dtls_cipher_context_t</a></div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00074">crypto.h:74</a></div></div>
-<div class="ttc" id="structdtls__security__parameters__t_html"><div class="ttname"><a href="structdtls__security__parameters__t.html">dtls_security_parameters_t</a></div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00099">crypto.h:99</a></div></div>
-<div class="ttc" id="structdtls__security__parameters__t_html_a2bce1fa0bf77eeab8fadca824de602da"><div class="ttname"><a href="structdtls__security__parameters__t.html#a2bce1fa0bf77eeab8fadca824de602da">dtls_security_parameters_t::epoch</a></div><div class="ttdeci">uint16_t epoch</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00103">crypto.h:103</a></div></div>
-<div class="ttc" id="crypto_8h_html_a86e6ce9d4b4afcef355836955697f52c"><div class="ttname"><a href="crypto_8h.html#a86e6ce9d4b4afcef355836955697f52c">crypto_init</a></div><div class="ttdeci">void crypto_init()</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8c_source.html#l00076">crypto.c:76</a></div></div>
-<div class="ttc" id="structdtls__handshake__parameters__t_html"><div class="ttname"><a href="structdtls__handshake__parameters__t.html">dtls_handshake_parameters_t</a></div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00115">crypto.h:115</a></div></div>
-<div class="ttc" id="crypto_8h_html_a99482a87021e817524d15c33e89e309c"><div class="ttname"><a href="crypto_8h.html#a99482a87021e817524d15c33e89e309c">dtls_cipher_context_t</a></div><div class="ttdeci">struct dtls_cipher_context_t dtls_cipher_context_t</div></div>
-<div class="ttc" id="crypto_8h_html_a035860da45ba2586a95c8ef7f539a3c9"><div class="ttname"><a href="crypto_8h.html#a035860da45ba2586a95c8ef7f539a3c9">dtls_ecdsa_verify_sig</a></div><div class="ttdeci">int dtls_ecdsa_verify_sig(const unsigned char *pub_key_x, const unsigned char *pub_key_y, size_t key_size, const unsigned char *client_random, size_t client_random_size, const unsigned char *server_random, size_t server_random_size, const unsigned char *keyx_params, size_t keyx_params_size, unsigned char *result_r, unsigned char *result_s)</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8c_source.html#l00503">crypto.c:503</a></div></div>
-<div class="ttc" id="ccm_8h_html"><div class="ttname"><a href="ccm_8h.html">ccm.h</a></div></div>
-<div class="ttc" id="crypto_8h_html_a49f03039780664684d110d83a228b163"><div class="ttname"><a href="crypto_8h.html#a49f03039780664684d110d83a228b163">dtls_ecdsa_create_sig_hash</a></div><div class="ttdeci">void dtls_ecdsa_create_sig_hash(const unsigned char *priv_key, size_t key_size, const unsigned char *sign_hash, size_t sign_hash_size, uint32_t point_r[9], uint32_t point_s[9])</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8c_source.html#l00446">crypto.c:446</a></div></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/debug_8c.html b/external/wakaama/examples/shared/tinydtls/doc/html/debug_8c.html
deleted file mode 100644 (file)
index 45e2e15..0000000
+++ /dev/null
@@ -1,604 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: debug.c File Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#define-members">Macros</a> &#124;
-<a href="#func-members">Functions</a> &#124;
-<a href="#var-members">Variables</a>  </div>
-  <div class="headertitle">
-<div class="title">debug.c File Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock"><code>#include &quot;<a class="el" href="tinydtls_8h_source.html">tinydtls.h</a>&quot;</code><br/>
-<code>#include &quot;<a class="el" href="dtls__config_8h_source.html">dtls_config.h</a>&quot;</code><br/>
-<code>#include &lt;assert.h&gt;</code><br/>
-<code>#include &lt;stdarg.h&gt;</code><br/>
-<code>#include &lt;stdio.h&gt;</code><br/>
-<code>#include &lt;arpa/inet.h&gt;</code><br/>
-<code>#include &lt;time.h&gt;</code><br/>
-<code>#include &quot;<a class="el" href="global_8h_source.html">global.h</a>&quot;</code><br/>
-<code>#include &quot;<a class="el" href="debug_8h_source.html">debug.h</a>&quot;</code><br/>
-</div>
-<p><a href="debug_8c_source.html">Go to the source code of this file.</a></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
-Macros</h2></td></tr>
-<tr class="memitem:ac6afabdc09a49a433ee19d8a9486056d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="debug_8c.html#ac6afabdc09a49a433ee19d8a9486056d">min</a>(a, b)&#160;&#160;&#160;((a) &lt; (b) ? (a) : (b))</td></tr>
-<tr class="separator:ac6afabdc09a49a433ee19d8a9486056d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:a6ae22adf81d9aaf0a2ed74f7f7437971"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="debug_8c.html#a6ae22adf81d9aaf0a2ed74f7f7437971">dtls_package_name</a> ()</td></tr>
-<tr class="separator:a6ae22adf81d9aaf0a2ed74f7f7437971"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aab7b9dac4484be50856ab8b8a827d235"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="debug_8c.html#aab7b9dac4484be50856ab8b8a827d235">dtls_package_version</a> ()</td></tr>
-<tr class="separator:aab7b9dac4484be50856ab8b8a827d235"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0af8abc8cf3864ea04954b3537c7e07f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9d">log_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="debug_8c.html#a0af8abc8cf3864ea04954b3537c7e07f">dtls_get_log_level</a> ()</td></tr>
-<tr class="separator:a0af8abc8cf3864ea04954b3537c7e07f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae081a7241940f0195295cc37f39c1d02"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="debug_8c.html#ae081a7241940f0195295cc37f39c1d02">dtls_set_log_level</a> (<a class="el" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9d">log_t</a> level)</td></tr>
-<tr class="separator:ae081a7241940f0195295cc37f39c1d02"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4ac5b294de82b336108ebd436b271b17"><td class="memItemLeft" align="right" valign="top">static size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="debug_8c.html#a4ac5b294de82b336108ebd436b271b17">print_timestamp</a> (char *s, size_t len, time_t t)</td></tr>
-<tr class="separator:a4ac5b294de82b336108ebd436b271b17"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2ff663644d9ffbc6ac64b2da6cde5bfa"><td class="memItemLeft" align="right" valign="top">static size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="debug_8c.html#a2ff663644d9ffbc6ac64b2da6cde5bfa">dtls_strnlen</a> (const char *s, size_t maxlen)</td></tr>
-<tr class="separator:a2ff663644d9ffbc6ac64b2da6cde5bfa"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa6c8e3e1a02e7cb1567391d3a5ca8bf2"><td class="memItemLeft" align="right" valign="top">static size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="debug_8c.html#aa6c8e3e1a02e7cb1567391d3a5ca8bf2">dsrv_print_addr</a> (const <a class="el" href="structsession__t.html">session_t</a> *addr, char *buf, size_t len)</td></tr>
-<tr class="separator:aa6c8e3e1a02e7cb1567391d3a5ca8bf2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ace8ca7929ecfc486c3ef40828c79bfe5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="debug_8c.html#ace8ca7929ecfc486c3ef40828c79bfe5">dsrv_log</a> (<a class="el" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9d">log_t</a> level, char *format,...)</td></tr>
-<tr class="separator:ace8ca7929ecfc486c3ef40828c79bfe5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af5fe8134d8875eb856a4cd99313ec1b0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="debug_8c.html#af5fe8134d8875eb856a4cd99313ec1b0">hexdump</a> (const unsigned char *packet, int length)</td></tr>
-<tr class="separator:af5fe8134d8875eb856a4cd99313ec1b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7ee74b9f3941b0ec63f35da6b83fa240"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="debug_8c.html#a7ee74b9f3941b0ec63f35da6b83fa240">dump</a> (unsigned char *buf, size_t len)</td></tr>
-<tr class="separator:a7ee74b9f3941b0ec63f35da6b83fa240"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a66cb8756d40a3326315d9b5f003a5a76"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="debug_8c.html#a66cb8756d40a3326315d9b5f003a5a76">dtls_dsrv_log_addr</a> (<a class="el" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9d">log_t</a> level, const char *name, const <a class="el" href="structsession__t.html">session_t</a> *addr)</td></tr>
-<tr class="separator:a66cb8756d40a3326315d9b5f003a5a76"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8badc2780b90e28c6c4e1a3b410b31cc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="debug_8c.html#a8badc2780b90e28c6c4e1a3b410b31cc">dtls_dsrv_hexdump_log</a> (<a class="el" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9d">log_t</a> level, const char *name, const unsigned char *buf, size_t length, int extend)</td></tr>
-<tr class="separator:a8badc2780b90e28c6c4e1a3b410b31cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
-Variables</h2></td></tr>
-<tr class="memitem:a7a6dbd5278e0c21ff9434dc3de7b955d"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="debug_8c.html#a7a6dbd5278e0c21ff9434dc3de7b955d">maxlog</a> = <a class="el" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9dafd78dbf760d741729305d83727c14c70">DTLS_LOG_WARN</a></td></tr>
-<tr class="separator:a7a6dbd5278e0c21ff9434dc3de7b955d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aea3c9cd7c28ac0ebbc7473771751ed92"><td class="memItemLeft" align="right" valign="top">static char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="debug_8c.html#aea3c9cd7c28ac0ebbc7473771751ed92">loglevels</a> []</td></tr>
-<tr class="separator:aea3c9cd7c28ac0ebbc7473771751ed92"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<h2 class="groupheader">Macro Definition Documentation</h2>
-<a class="anchor" id="ac6afabdc09a49a433ee19d8a9486056d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define min</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">a, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">b&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td>&#160;&#160;&#160;((a) &lt; (b) ? (a) : (b))</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="debug_8c_source.html#l00114">114</a> of file <a class="el" href="debug_8c_source.html">debug.c</a>.</p>
-
-</div>
-</div>
-<h2 class="groupheader">Function Documentation</h2>
-<a class="anchor" id="ace8ca7929ecfc486c3ef40828c79bfe5"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void dsrv_log </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9d">log_t</a>&#160;</td>
-          <td class="paramname"><em>level</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">char *&#160;</td>
-          <td class="paramname"><em>format</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname"><em>...</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Writes the given text to <code>stdout</code>. The text is output only when <code>level</code> is below or equal to the log level that set by set_log_level(). </p>
-
-<p>Definition at line <a class="el" href="debug_8c_source.html#l00208">208</a> of file <a class="el" href="debug_8c_source.html">debug.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aa6c8e3e1a02e7cb1567391d3a5ca8bf2"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static size_t dsrv_print_addr </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="structsession__t.html">session_t</a> *&#160;</td>
-          <td class="paramname"><em>addr</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">char *&#160;</td>
-          <td class="paramname"><em>buf</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>len</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="debug_8c_source.html#l00118">118</a> of file <a class="el" href="debug_8c_source.html">debug.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a8badc2780b90e28c6c4e1a3b410b31cc"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void dtls_dsrv_hexdump_log </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9d">log_t</a>&#160;</td>
-          <td class="paramname"><em>level</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char *&#160;</td>
-          <td class="paramname"><em>name</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>buf</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>length</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>extend</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="debug_8c_source.html#l00290">290</a> of file <a class="el" href="debug_8c_source.html">debug.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a66cb8756d40a3326315d9b5f003a5a76"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void dtls_dsrv_log_addr </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9d">log_t</a>&#160;</td>
-          <td class="paramname"><em>level</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char *&#160;</td>
-          <td class="paramname"><em>name</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const <a class="el" href="structsession__t.html">session_t</a> *&#160;</td>
-          <td class="paramname"><em>addr</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="debug_8c_source.html#l00277">277</a> of file <a class="el" href="debug_8c_source.html">debug.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a0af8abc8cf3864ea04954b3537c7e07f"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9d">log_t</a> dtls_get_log_level </td>
-          <td>(</td>
-          <td class="paramname"></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Returns the current log level. </p>
-
-<p>Definition at line <a class="el" href="debug_8c_source.html#l00058">58</a> of file <a class="el" href="debug_8c_source.html">debug.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a6ae22adf81d9aaf0a2ed74f7f7437971"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">const char* dtls_package_name </td>
-          <td>(</td>
-          <td class="paramname"></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Returns a zero-terminated string with the name of this library. </p>
-
-<p>Definition at line <a class="el" href="debug_8c_source.html#l00049">49</a> of file <a class="el" href="debug_8c_source.html">debug.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aab7b9dac4484be50856ab8b8a827d235"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">const char* dtls_package_version </td>
-          <td>(</td>
-          <td class="paramname"></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Returns a zero-terminated string with the library version. </p>
-
-<p>Definition at line <a class="el" href="debug_8c_source.html#l00053">53</a> of file <a class="el" href="debug_8c_source.html">debug.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ae081a7241940f0195295cc37f39c1d02"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void dtls_set_log_level </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9d">log_t</a>&#160;</td>
-          <td class="paramname"><em>level</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Sets the log level to the specified value. </p>
-
-<p>Definition at line <a class="el" href="debug_8c_source.html#l00063">63</a> of file <a class="el" href="debug_8c_source.html">debug.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a2ff663644d9ffbc6ac64b2da6cde5bfa"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static size_t dtls_strnlen </td>
-          <td>(</td>
-          <td class="paramtype">const char *&#160;</td>
-          <td class="paramname"><em>s</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>maxlen</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-<p>A length-safe strlen() fake.</p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">s</td><td>The string to count characters != 0. </td></tr>
-    <tr><td class="paramname">maxlen</td><td>The maximum length of <code>s</code>.</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The length of <code>s</code>. </dd></dl>
-
-<p>Definition at line <a class="el" href="debug_8c_source.html#l00106">106</a> of file <a class="el" href="debug_8c_source.html">debug.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a7ee74b9f3941b0ec63f35da6b83fa240"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void dump </td>
-          <td>(</td>
-          <td class="paramtype">unsigned char *&#160;</td>
-          <td class="paramname"><em>buf</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>len</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>dump as narrow string of hex digits </p>
-
-<p>Definition at line <a class="el" href="debug_8c_source.html#l00272">272</a> of file <a class="el" href="debug_8c_source.html">debug.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="af5fe8134d8875eb856a4cd99313ec1b0"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void hexdump </td>
-          <td>(</td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>packet</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>length</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>dumps packets in usual hexdump format </p>
-
-<p>Definition at line <a class="el" href="debug_8c_source.html#l00252">252</a> of file <a class="el" href="debug_8c_source.html">debug.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a4ac5b294de82b336108ebd436b271b17"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static size_t print_timestamp </td>
-          <td>(</td>
-          <td class="paramtype">char *&#160;</td>
-          <td class="paramname"><em>s</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>len</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">time_t&#160;</td>
-          <td class="paramname"><em>t</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="debug_8c_source.html#l00075">75</a> of file <a class="el" href="debug_8c_source.html">debug.c</a>.</p>
-
-</div>
-</div>
-<h2 class="groupheader">Variable Documentation</h2>
-<a class="anchor" id="aea3c9cd7c28ac0ebbc7473771751ed92"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">char* loglevels[]</td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
-<div class="line">  <span class="stringliteral">&quot;EMRG&quot;</span>, <span class="stringliteral">&quot;ALRT&quot;</span>, <span class="stringliteral">&quot;CRIT&quot;</span>, <span class="stringliteral">&quot;WARN&quot;</span>, <span class="stringliteral">&quot;NOTE&quot;</span>, <span class="stringliteral">&quot;INFO&quot;</span>, <span class="stringliteral">&quot;DEBG&quot;</span> </div>
-<div class="line">}</div>
-</div><!-- fragment -->
-<p>Definition at line <a class="el" href="debug_8c_source.html#l00068">68</a> of file <a class="el" href="debug_8c_source.html">debug.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a7a6dbd5278e0c21ff9434dc3de7b955d"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">int maxlog = <a class="el" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9dafd78dbf760d741729305d83727c14c70">DTLS_LOG_WARN</a></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="debug_8c_source.html#l00047">47</a> of file <a class="el" href="debug_8c_source.html">debug.c</a>.</p>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/debug_8c_source.html b/external/wakaama/examples/shared/tinydtls/doc/html/debug_8c_source.html
deleted file mode 100644 (file)
index df6e5c8..0000000
+++ /dev/null
@@ -1,493 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: debug.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="header">
-  <div class="headertitle">
-<div class="title">debug.c</div>  </div>
-</div><!--header-->
-<div class="contents">
-<a href="debug_8c.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/* debug.c -- debug utilities</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> * Copyright (C) 2011--2012 Olaf Bergmann &lt;bergmann@tzi.org&gt;</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> * Permission is hereby granted, free of charge, to any person</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> * obtaining a copy of this software and associated documentation</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> * files (the &quot;Software&quot;), to deal in the Software without</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> * restriction, including without limitation the rights to use, copy,</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> * modify, merge, publish, distribute, sublicense, and/or sell copies</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> * of the Software, and to permit persons to whom the Software is</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * furnished to do so, subject to the following conditions:</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * The above copyright notice and this permission notice shall be</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * included in all copies or substantial portions of the Software.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> * THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND,</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment"> * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment"> * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment"> * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment"> * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment"> * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment"> * SOFTWARE.</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div>
-<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="tinydtls_8h.html">tinydtls.h</a>&quot;</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="dtls__config_8h.html">dtls_config.h</a>&quot;</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;</div>
-<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#if defined(HAVE_ASSERT_H) &amp;&amp; !defined(assert)</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &lt;assert.h&gt;</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#include &lt;stdarg.h&gt;</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#include &lt;stdio.h&gt;</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div>
-<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#ifdef HAVE_ARPA_INET_H</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &lt;arpa/inet.h&gt;</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor">#ifdef HAVE_TIME_H</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &lt;time.h&gt;</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="global_8h.html">global.h</a>&quot;</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="debug_8h.html">debug.h</a>&quot;</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;</div>
-<div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="debug_8c.html#a7a6dbd5278e0c21ff9434dc3de7b955d">   47</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="debug_8c.html#a7a6dbd5278e0c21ff9434dc3de7b955d">maxlog</a> = <a class="code" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9dafd78dbf760d741729305d83727c14c70">DTLS_LOG_WARN</a>;  <span class="comment">/* default maximum log level */</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;</div>
-<div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="debug_8h.html#a6ae22adf81d9aaf0a2ed74f7f7437971">   49</a></span>&#160;<span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="debug_8c.html#a6ae22adf81d9aaf0a2ed74f7f7437971">dtls_package_name</a>() {</div>
-<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;  <span class="keywordflow">return</span> <a class="code" href="config_8h.html#a1c0439e4355794c09b64274849eb0279">PACKAGE_NAME</a>;</div>
-<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;}</div>
-<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;</div>
-<div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="debug_8h.html#aab7b9dac4484be50856ab8b8a827d235">   53</a></span>&#160;<span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="debug_8c.html#aab7b9dac4484be50856ab8b8a827d235">dtls_package_version</a>() {</div>
-<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;  <span class="keywordflow">return</span> <a class="code" href="config_8h.html#aa326a05d5e30f9e9a4bb0b4469d5d0c0">PACKAGE_VERSION</a>;</div>
-<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;}</div>
-<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;</div>
-<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<a class="code" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9d">log_t</a> </div>
-<div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="debug_8h.html#a0af8abc8cf3864ea04954b3537c7e07f">   58</a></span>&#160;<a class="code" href="debug_8c.html#a0af8abc8cf3864ea04954b3537c7e07f">dtls_get_log_level</a>() {</div>
-<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;  <span class="keywordflow">return</span> <a class="code" href="debug_8c.html#a7a6dbd5278e0c21ff9434dc3de7b955d">maxlog</a>;</div>
-<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;}</div>
-<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div>
-<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keywordtype">void</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="debug_8h.html#ae081a7241940f0195295cc37f39c1d02">   63</a></span>&#160;<a class="code" href="debug_8c.html#ae081a7241940f0195295cc37f39c1d02">dtls_set_log_level</a>(<a class="code" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9d">log_t</a> level) {</div>
-<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;  <a class="code" href="debug_8c.html#a7a6dbd5278e0c21ff9434dc3de7b955d">maxlog</a> = level;</div>
-<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;}</div>
-<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div>
-<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="comment">/* this array has the same order as the type log_t */</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="debug_8c.html#aea3c9cd7c28ac0ebbc7473771751ed92">   68</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">char</span> *<a class="code" href="debug_8c.html#aea3c9cd7c28ac0ebbc7473771751ed92">loglevels</a>[] = {</div>
-<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;  <span class="stringliteral">&quot;EMRG&quot;</span>, <span class="stringliteral">&quot;ALRT&quot;</span>, <span class="stringliteral">&quot;CRIT&quot;</span>, <span class="stringliteral">&quot;WARN&quot;</span>, <span class="stringliteral">&quot;NOTE&quot;</span>, <span class="stringliteral">&quot;INFO&quot;</span>, <span class="stringliteral">&quot;DEBG&quot;</span> </div>
-<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;};</div>
-<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;</div>
-<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="preprocessor">#ifdef HAVE_TIME_H</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">size_t</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="debug_8c.html#a4ac5b294de82b336108ebd436b271b17">   75</a></span>&#160;<a class="code" href="debug_8c.html#a4ac5b294de82b336108ebd436b271b17">print_timestamp</a>(<span class="keywordtype">char</span> *s, <span class="keywordtype">size_t</span> len, time_t t) {</div>
-<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;  <span class="keyword">struct </span>tm *tmp;</div>
-<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;  tmp = localtime(&amp;t);</div>
-<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;  <span class="keywordflow">return</span> strftime(s, len, <span class="stringliteral">&quot;%b %d %H:%M:%S&quot;</span>, tmp);</div>
-<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;}</div>
-<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;</div>
-<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="preprocessor">#else </span><span class="comment">/* alternative implementation: just print the timestamp */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">size_t</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<a class="code" href="debug_8c.html#a4ac5b294de82b336108ebd436b271b17">print_timestamp</a>(<span class="keywordtype">char</span> *s, <span class="keywordtype">size_t</span> len, <a class="code" href="group__clock.html#ga6e6c13e871b82d881a01d1bc8df69d23">clock_time_t</a> t) {</div>
-<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="preprocessor">#ifdef HAVE_SNPRINTF</span></div>
-<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="preprocessor"></span>  <span class="keywordflow">return</span> snprintf(s, len, <span class="stringliteral">&quot;%u.%03u&quot;</span>, </div>
-<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;          (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>)(t / <a class="code" href="group__clock.html#gae3ced0551b26c9b99cb45a86f34d100a">CLOCK_SECOND</a>), </div>
-<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;          (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>)(t % <a class="code" href="group__clock.html#gae3ced0551b26c9b99cb45a86f34d100a">CLOCK_SECOND</a>));</div>
-<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="preprocessor">#else </span><span class="comment">/* HAVE_SNPRINTF */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="preprocessor"></span>  <span class="comment">/* @todo do manual conversion of timestamp */</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;  <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* HAVE_SNPRINTF */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;<span class="preprocessor"></span>}</div>
-<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;</div>
-<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* HAVE_TIME_H */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">size_t</span></div>
-<div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="debug_8c.html#a2ff663644d9ffbc6ac64b2da6cde5bfa">  106</a></span>&#160;<a class="code" href="debug_8c.html#a2ff663644d9ffbc6ac64b2da6cde5bfa">dtls_strnlen</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *s, <span class="keywordtype">size_t</span> maxlen) {</div>
-<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;  <span class="keywordtype">size_t</span> n = 0;</div>
-<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;  <span class="keywordflow">while</span>(*s++ &amp;&amp; n &lt; maxlen)</div>
-<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;    ++n;</div>
-<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;  <span class="keywordflow">return</span> n;</div>
-<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;}</div>
-<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;</div>
-<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;<span class="preprocessor">#ifndef min</span></div>
-<div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="debug_8c.html#ac6afabdc09a49a433ee19d8a9486056d">  114</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define min(a,b) ((a) &lt; (b) ? (a) : (b))</span></div>
-<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="keyword">static</span> <span class="keywordtype">size_t</span></div>
-<div class="line"><a name="l00118"></a><span class="lineno"><a class="line" href="debug_8c.html#aa6c8e3e1a02e7cb1567391d3a5ca8bf2">  118</a></span>&#160;<a class="code" href="debug_8c.html#aa6c8e3e1a02e7cb1567391d3a5ca8bf2">dsrv_print_addr</a>(<span class="keyword">const</span> <a class="code" href="structsession__t.html">session_t</a> *addr, <span class="keywordtype">char</span> *buf, <span class="keywordtype">size_t</span> len) {</div>
-<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;<span class="preprocessor">#ifdef HAVE_ARPA_INET_H</span></div>
-<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;<span class="preprocessor"></span>  <span class="keyword">const</span> <span class="keywordtype">void</span> *addrptr = NULL;</div>
-<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;  in_port_t port;</div>
-<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;  <span class="keywordtype">char</span> *p = buf;</div>
-<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;</div>
-<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;  <span class="keywordflow">switch</span> (addr-&gt;<a class="code" href="structsession__t.html#a0bb4423cd29b415a4cf6c32d5d9a43e4">addr</a>.<a class="code" href="structsession__t.html#a8d0a30ccc98425675a1b0e92e96eaa6a">sa</a>.sa_family) {</div>
-<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;  <span class="keywordflow">case</span> AF_INET: </div>
-<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;    <span class="keywordflow">if</span> (len &lt; INET_ADDRSTRLEN)</div>
-<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;      <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;  </div>
-<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;    addrptr = &amp;addr-&gt;<a class="code" href="structsession__t.html#a0bb4423cd29b415a4cf6c32d5d9a43e4">addr</a>.<a class="code" href="structsession__t.html#a86093095c1ab36b12180f9215fa2375e">sin</a>.sin_addr;</div>
-<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;    port = ntohs(addr-&gt;<a class="code" href="structsession__t.html#a0bb4423cd29b415a4cf6c32d5d9a43e4">addr</a>.<a class="code" href="structsession__t.html#a86093095c1ab36b12180f9215fa2375e">sin</a>.sin_port);</div>
-<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;    <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;  <span class="keywordflow">case</span> AF_INET6:</div>
-<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;    <span class="keywordflow">if</span> (len &lt; INET6_ADDRSTRLEN + 2)</div>
-<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;      <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;</div>
-<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;    *p++ = <span class="charliteral">&#39;[&#39;</span>;</div>
-<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;</div>
-<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;    addrptr = &amp;addr-&gt;<a class="code" href="structsession__t.html#a0bb4423cd29b415a4cf6c32d5d9a43e4">addr</a>.<a class="code" href="structsession__t.html#a2f337ce1989f3a9b5afeef1a95506bde">sin6</a>.sin6_addr;</div>
-<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;    port = ntohs(addr-&gt;<a class="code" href="structsession__t.html#a0bb4423cd29b415a4cf6c32d5d9a43e4">addr</a>.<a class="code" href="structsession__t.html#a2f337ce1989f3a9b5afeef1a95506bde">sin6</a>.sin6_port);</div>
-<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div>
-<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;    <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;  <span class="keywordflow">default</span>:</div>
-<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;    memcpy(buf, <span class="stringliteral">&quot;(unknown address type)&quot;</span>, <a class="code" href="debug_8c.html#ac6afabdc09a49a433ee19d8a9486056d">min</a>(22, len));</div>
-<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="debug_8c.html#ac6afabdc09a49a433ee19d8a9486056d">min</a>(22, len);</div>
-<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;  }</div>
-<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div>
-<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;  <span class="keywordflow">if</span> (inet_ntop(addr-&gt;<a class="code" href="structsession__t.html#a0bb4423cd29b415a4cf6c32d5d9a43e4">addr</a>.<a class="code" href="structsession__t.html#a8d0a30ccc98425675a1b0e92e96eaa6a">sa</a>.sa_family, addrptr, p, len) == 0) {</div>
-<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;    perror(<span class="stringliteral">&quot;dsrv_print_addr&quot;</span>);</div>
-<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;    <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;  }</div>
-<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;</div>
-<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;  p += <a class="code" href="debug_8c.html#a2ff663644d9ffbc6ac64b2da6cde5bfa">dtls_strnlen</a>(p, len);</div>
-<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;</div>
-<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;  <span class="keywordflow">if</span> (addr-&gt;<a class="code" href="structsession__t.html#a0bb4423cd29b415a4cf6c32d5d9a43e4">addr</a>.<a class="code" href="structsession__t.html#a8d0a30ccc98425675a1b0e92e96eaa6a">sa</a>.sa_family == AF_INET6) {</div>
-<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;    <span class="keywordflow">if</span> (p &lt; buf + len) {</div>
-<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;      *p++ = <span class="charliteral">&#39;]&#39;</span>;</div>
-<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;    } <span class="keywordflow">else</span> </div>
-<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;      <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;  }</div>
-<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;</div>
-<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;  p += snprintf(p, buf + len - p + 1, <span class="stringliteral">&quot;:%d&quot;</span>, port);</div>
-<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;</div>
-<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;  <span class="keywordflow">return</span> p - buf;</div>
-<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="preprocessor">#else </span><span class="comment">/* HAVE_ARPA_INET_H */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;<span class="preprocessor"></span><span class="preprocessor"># if WITH_CONTIKI</span></div>
-<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;<span class="preprocessor"></span>  <span class="keywordtype">char</span> *p = buf;</div>
-<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;<span class="preprocessor">#  ifdef UIP_CONF_IPV6</span></div>
-<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;<span class="preprocessor"></span>  uint8_t i;</div>
-<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">char</span> hex[] = <span class="stringliteral">&quot;0123456789ABCDEF&quot;</span>;</div>
-<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;</div>
-<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;  <span class="keywordflow">if</span> (len &lt; 41)</div>
-<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;    <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;</div>
-<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;  *p++ = <span class="charliteral">&#39;[&#39;</span>;</div>
-<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;</div>
-<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;  <span class="keywordflow">for</span> (i=0; i &lt; 16; i += 2) {</div>
-<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;    <span class="keywordflow">if</span> (i) {</div>
-<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;      *p++ = <span class="charliteral">&#39;:&#39;</span>;</div>
-<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;    }</div>
-<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;    *p++ = hex[(addr-&gt;<a class="code" href="structsession__t.html#a0bb4423cd29b415a4cf6c32d5d9a43e4">addr</a>.u8[i] &amp; 0xf0) &gt;&gt; 4];</div>
-<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;    *p++ = hex[(addr-&gt;<a class="code" href="structsession__t.html#a0bb4423cd29b415a4cf6c32d5d9a43e4">addr</a>.u8[i] &amp; 0x0f)];</div>
-<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;    *p++ = hex[(addr-&gt;<a class="code" href="structsession__t.html#a0bb4423cd29b415a4cf6c32d5d9a43e4">addr</a>.u8[i+1] &amp; 0xf0) &gt;&gt; 4];</div>
-<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;    *p++ = hex[(addr-&gt;<a class="code" href="structsession__t.html#a0bb4423cd29b415a4cf6c32d5d9a43e4">addr</a>.u8[i+1] &amp; 0x0f)];</div>
-<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;  }</div>
-<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;  *p++ = <span class="charliteral">&#39;]&#39;</span>;</div>
-<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;<span class="preprocessor">#  else </span><span class="comment">/* UIP_CONF_IPV6 */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#   warning &quot;IPv4 network addresses will not be included in debug output&quot;</span></div>
-<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;  <span class="keywordflow">if</span> (len &lt; 21)</div>
-<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;    <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;<span class="preprocessor">#  endif </span><span class="comment">/* UIP_CONF_IPV6 */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;<span class="preprocessor"></span>  <span class="keywordflow">if</span> (buf + len - p &lt; 6)</div>
-<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;    <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;</div>
-<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;  p += sprintf(p, <span class="stringliteral">&quot;:%d&quot;</span>, uip_htons(addr-&gt;port));</div>
-<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;</div>
-<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;  <span class="keywordflow">return</span> p - buf;</div>
-<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="preprocessor"># else </span><span class="comment">/* WITH_CONTIKI */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;<span class="preprocessor"></span>  <span class="comment">/* TODO: output addresses manually */</span></div>
-<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;<span class="preprocessor">#   warning &quot;inet_ntop() not available, network addresses will not be included in debug output&quot;</span></div>
-<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;<span class="preprocessor"></span><span class="preprocessor"># endif </span><span class="comment">/* WITH_CONTIKI */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;<span class="preprocessor"></span>  <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;<span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<span class="preprocessor"></span>}</div>
-<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;</div>
-<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;<span class="preprocessor">#ifndef WITH_CONTIKI</span></div>
-<div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;<span class="preprocessor"></span><span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00208"></a><span class="lineno"><a class="line" href="debug_8h.html#ace8ca7929ecfc486c3ef40828c79bfe5">  208</a></span>&#160;<a class="code" href="debug_8c.html#ace8ca7929ecfc486c3ef40828c79bfe5">dsrv_log</a>(<a class="code" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9d">log_t</a> level, <span class="keywordtype">char</span> *format, ...) {</div>
-<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;  <span class="keyword">static</span> <span class="keywordtype">char</span> timebuf[32];</div>
-<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;  va_list ap;</div>
-<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;  FILE *log_fd;</div>
-<div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;</div>
-<div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;  <span class="keywordflow">if</span> (<a class="code" href="debug_8c.html#a7a6dbd5278e0c21ff9434dc3de7b955d">maxlog</a> &lt; level)</div>
-<div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;    <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;</div>
-<div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;  log_fd = level &lt;= <a class="code" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9dae376c811a8735fe72f67131ba1a1428d">DTLS_LOG_CRIT</a> ? stderr : stdout;</div>
-<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;</div>
-<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;  <span class="keywordflow">if</span> (<a class="code" href="debug_8c.html#a4ac5b294de82b336108ebd436b271b17">print_timestamp</a>(timebuf,<span class="keyword">sizeof</span>(timebuf), time(NULL)))</div>
-<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;    fprintf(log_fd, <span class="stringliteral">&quot;%s &quot;</span>, timebuf);</div>
-<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;</div>
-<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;  <span class="keywordflow">if</span> (level &lt;= <a class="code" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9da87f82ea2bdc3f03d9f6d3355a5f8a020">DTLS_LOG_DEBUG</a>) </div>
-<div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;    fprintf(log_fd, <span class="stringliteral">&quot;%s &quot;</span>, <a class="code" href="debug_8c.html#aea3c9cd7c28ac0ebbc7473771751ed92">loglevels</a>[level]);</div>
-<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;</div>
-<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;  va_start(ap, format);</div>
-<div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;  vfprintf(log_fd, format, ap);</div>
-<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;  va_end(ap);</div>
-<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;  fflush(log_fd);</div>
-<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;}</div>
-<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;<span class="preprocessor">#elif defined (HAVE_VPRINTF) </span><span class="comment">/* WITH_CONTIKI */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;<span class="preprocessor"></span><span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;<a class="code" href="debug_8c.html#ace8ca7929ecfc486c3ef40828c79bfe5">dsrv_log</a>(<a class="code" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9d">log_t</a> level, <span class="keywordtype">char</span> *format, ...) {</div>
-<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;  <span class="keyword">static</span> <span class="keywordtype">char</span> timebuf[32];</div>
-<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;  va_list ap;</div>
-<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;</div>
-<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;  <span class="keywordflow">if</span> (<a class="code" href="debug_8c.html#a7a6dbd5278e0c21ff9434dc3de7b955d">maxlog</a> &lt; level)</div>
-<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;    <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;</div>
-<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;  <span class="keywordflow">if</span> (<a class="code" href="debug_8c.html#a4ac5b294de82b336108ebd436b271b17">print_timestamp</a>(timebuf,<span class="keyword">sizeof</span>(timebuf), clock_time()))</div>
-<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;    <a class="code" href="debug_8h.html#a1f464e950a4fa11e8821b5c725921a15">PRINTF</a>(<span class="stringliteral">&quot;%s &quot;</span>, timebuf);</div>
-<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;</div>
-<div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;  <span class="keywordflow">if</span> (level &lt;= <a class="code" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9da87f82ea2bdc3f03d9f6d3355a5f8a020">DTLS_LOG_DEBUG</a>) </div>
-<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;    <a class="code" href="debug_8h.html#a1f464e950a4fa11e8821b5c725921a15">PRINTF</a>(<span class="stringliteral">&quot;%s &quot;</span>, <a class="code" href="debug_8c.html#aea3c9cd7c28ac0ebbc7473771751ed92">loglevels</a>[level]);</div>
-<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;</div>
-<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;  va_start(ap, format);</div>
-<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;  vprintf(format, ap);</div>
-<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;  va_end(ap);</div>
-<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;}</div>
-<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* WITH_CONTIKI */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;<span class="preprocessor">#ifndef NDEBUG</span></div>
-<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00252"></a><span class="lineno"><a class="line" href="debug_8h.html#af5fe8134d8875eb856a4cd99313ec1b0">  252</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="debug_8c.html#af5fe8134d8875eb856a4cd99313ec1b0">hexdump</a>(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *packet, <span class="keywordtype">int</span> length) {</div>
-<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;  <span class="keywordtype">int</span> n = 0;</div>
-<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;</div>
-<div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;  <span class="keywordflow">while</span> (length--) { </div>
-<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;    <span class="keywordflow">if</span> (n % 16 == 0)</div>
-<div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;      printf(<span class="stringliteral">&quot;%08X &quot;</span>,n);</div>
-<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;</div>
-<div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;    printf(<span class="stringliteral">&quot;%02X &quot;</span>, *packet++);</div>
-<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;    </div>
-<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;    n++;</div>
-<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;    <span class="keywordflow">if</span> (n % 8 == 0) {</div>
-<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;      <span class="keywordflow">if</span> (n % 16 == 0)</div>
-<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;    printf(<span class="stringliteral">&quot;\n&quot;</span>);</div>
-<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;      <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;    printf(<span class="stringliteral">&quot; &quot;</span>);</div>
-<div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;    }</div>
-<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;  }</div>
-<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;}</div>
-<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;</div>
-<div class="line"><a name="l00272"></a><span class="lineno"><a class="line" href="debug_8h.html#a7ee74b9f3941b0ec63f35da6b83fa240">  272</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="debug_8c.html#a7ee74b9f3941b0ec63f35da6b83fa240">dump</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *buf, <span class="keywordtype">size_t</span> len) {</div>
-<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;  <span class="keywordflow">while</span> (len--) </div>
-<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;    printf(<span class="stringliteral">&quot;%02x&quot;</span>, *buf++);</div>
-<div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;}</div>
-<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;</div>
-<div class="line"><a name="l00277"></a><span class="lineno"><a class="line" href="debug_8h.html#a66cb8756d40a3326315d9b5f003a5a76">  277</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="debug_8c.html#a66cb8756d40a3326315d9b5f003a5a76">dtls_dsrv_log_addr</a>(<a class="code" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9d">log_t</a> level, <span class="keyword">const</span> <span class="keywordtype">char</span> *name, <span class="keyword">const</span> <a class="code" href="structsession__t.html">session_t</a> *addr)</div>
-<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;{</div>
-<div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;  <span class="keywordtype">char</span> addrbuf[73];</div>
-<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;  <span class="keywordtype">int</span> len;</div>
-<div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;</div>
-<div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;  len = <a class="code" href="debug_8c.html#aa6c8e3e1a02e7cb1567391d3a5ca8bf2">dsrv_print_addr</a>(addr, addrbuf, <span class="keyword">sizeof</span>(addrbuf));</div>
-<div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;  <span class="keywordflow">if</span> (!len)</div>
-<div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;    <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;  <a class="code" href="debug_8c.html#ace8ca7929ecfc486c3ef40828c79bfe5">dsrv_log</a>(level, <span class="stringliteral">&quot;%s: %s\n&quot;</span>, name, addrbuf);</div>
-<div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;}</div>
-<div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;</div>
-<div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;<span class="preprocessor">#ifndef WITH_CONTIKI</span></div>
-<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;<span class="preprocessor"></span><span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00290"></a><span class="lineno"><a class="line" href="debug_8h.html#a8badc2780b90e28c6c4e1a3b410b31cc">  290</a></span>&#160;<a class="code" href="debug_8c.html#a8badc2780b90e28c6c4e1a3b410b31cc">dtls_dsrv_hexdump_log</a>(<a class="code" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9d">log_t</a> level, <span class="keyword">const</span> <span class="keywordtype">char</span> *name, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *buf, <span class="keywordtype">size_t</span> length, <span class="keywordtype">int</span> extend) {</div>
-<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;  <span class="keyword">static</span> <span class="keywordtype">char</span> timebuf[32];</div>
-<div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;  FILE *log_fd;</div>
-<div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;  <span class="keywordtype">int</span> n = 0;</div>
-<div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;</div>
-<div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;  <span class="keywordflow">if</span> (<a class="code" href="debug_8c.html#a7a6dbd5278e0c21ff9434dc3de7b955d">maxlog</a> &lt; level)</div>
-<div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;    <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;</div>
-<div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;  log_fd = level &lt;= <a class="code" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9dae376c811a8735fe72f67131ba1a1428d">DTLS_LOG_CRIT</a> ? stderr : stdout;</div>
-<div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;</div>
-<div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;  <span class="keywordflow">if</span> (<a class="code" href="debug_8c.html#a4ac5b294de82b336108ebd436b271b17">print_timestamp</a>(timebuf, <span class="keyword">sizeof</span>(timebuf), time(NULL)))</div>
-<div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;    fprintf(log_fd, <span class="stringliteral">&quot;%s &quot;</span>, timebuf);</div>
-<div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;</div>
-<div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;  <span class="keywordflow">if</span> (level &lt;= <a class="code" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9da87f82ea2bdc3f03d9f6d3355a5f8a020">DTLS_LOG_DEBUG</a>) </div>
-<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;    fprintf(log_fd, <span class="stringliteral">&quot;%s &quot;</span>, <a class="code" href="debug_8c.html#aea3c9cd7c28ac0ebbc7473771751ed92">loglevels</a>[level]);</div>
-<div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;</div>
-<div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;  <span class="keywordflow">if</span> (extend) {</div>
-<div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;    fprintf(log_fd, <span class="stringliteral">&quot;%s: (%zu bytes):\n&quot;</span>, name, length);</div>
-<div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;</div>
-<div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;    <span class="keywordflow">while</span> (length--) {</div>
-<div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;      <span class="keywordflow">if</span> (n % 16 == 0)</div>
-<div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;    fprintf(log_fd, <span class="stringliteral">&quot;%08X &quot;</span>, n);</div>
-<div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;</div>
-<div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;      fprintf(log_fd, <span class="stringliteral">&quot;%02X &quot;</span>, *buf++);</div>
-<div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;</div>
-<div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;      n++;</div>
-<div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;      <span class="keywordflow">if</span> (n % 8 == 0) {</div>
-<div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;    <span class="keywordflow">if</span> (n % 16 == 0)</div>
-<div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;      fprintf(log_fd, <span class="stringliteral">&quot;\n&quot;</span>);</div>
-<div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;    <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;      fprintf(log_fd, <span class="stringliteral">&quot; &quot;</span>);</div>
-<div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;      }</div>
-<div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;    }</div>
-<div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;  } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;    fprintf(log_fd, <span class="stringliteral">&quot;%s: (%zu bytes): &quot;</span>, name, length);</div>
-<div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;    <span class="keywordflow">while</span> (length--) </div>
-<div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;      fprintf(log_fd, <span class="stringliteral">&quot;%02X&quot;</span>, *buf++);</div>
-<div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;  }</div>
-<div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;  fprintf(log_fd, <span class="stringliteral">&quot;\n&quot;</span>);</div>
-<div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;</div>
-<div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;  fflush(log_fd);</div>
-<div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;}</div>
-<div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;<span class="preprocessor">#else </span><span class="comment">/* WITH_CONTIKI */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;<span class="preprocessor"></span><span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;<a class="code" href="debug_8c.html#a8badc2780b90e28c6c4e1a3b410b31cc">dtls_dsrv_hexdump_log</a>(<a class="code" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9d">log_t</a> level, <span class="keyword">const</span> <span class="keywordtype">char</span> *name, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *buf, <span class="keywordtype">size_t</span> length, <span class="keywordtype">int</span> extend) {</div>
-<div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;  <span class="keyword">static</span> <span class="keywordtype">char</span> timebuf[32];</div>
-<div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;  <span class="keywordtype">int</span> n = 0;</div>
-<div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;</div>
-<div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;  <span class="keywordflow">if</span> (<a class="code" href="debug_8c.html#a7a6dbd5278e0c21ff9434dc3de7b955d">maxlog</a> &lt; level)</div>
-<div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;    <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;</div>
-<div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;  <span class="keywordflow">if</span> (<a class="code" href="debug_8c.html#a4ac5b294de82b336108ebd436b271b17">print_timestamp</a>(timebuf,<span class="keyword">sizeof</span>(timebuf), clock_time()))</div>
-<div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;    <a class="code" href="debug_8h.html#a1f464e950a4fa11e8821b5c725921a15">PRINTF</a>(<span class="stringliteral">&quot;%s &quot;</span>, timebuf);</div>
-<div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;</div>
-<div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;  <span class="keywordflow">if</span> (level &gt;= 0 &amp;&amp; level &lt;= <a class="code" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9da87f82ea2bdc3f03d9f6d3355a5f8a020">DTLS_LOG_DEBUG</a>) </div>
-<div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;    <a class="code" href="debug_8h.html#a1f464e950a4fa11e8821b5c725921a15">PRINTF</a>(<span class="stringliteral">&quot;%s &quot;</span>, <a class="code" href="debug_8c.html#aea3c9cd7c28ac0ebbc7473771751ed92">loglevels</a>[level]);</div>
-<div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;</div>
-<div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;  <span class="keywordflow">if</span> (extend) {</div>
-<div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;    <a class="code" href="debug_8h.html#a1f464e950a4fa11e8821b5c725921a15">PRINTF</a>(<span class="stringliteral">&quot;%s: (%zu bytes):\n&quot;</span>, name, length);</div>
-<div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;</div>
-<div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;    <span class="keywordflow">while</span> (length--) {</div>
-<div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;      <span class="keywordflow">if</span> (n % 16 == 0)</div>
-<div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;    <a class="code" href="debug_8h.html#a1f464e950a4fa11e8821b5c725921a15">PRINTF</a>(<span class="stringliteral">&quot;%08X &quot;</span>, n);</div>
-<div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;</div>
-<div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;      <a class="code" href="debug_8h.html#a1f464e950a4fa11e8821b5c725921a15">PRINTF</a>(<span class="stringliteral">&quot;%02X &quot;</span>, *buf++);</div>
-<div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;</div>
-<div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;      n++;</div>
-<div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;      <span class="keywordflow">if</span> (n % 8 == 0) {</div>
-<div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;    <span class="keywordflow">if</span> (n % 16 == 0)</div>
-<div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;      <a class="code" href="debug_8h.html#a1f464e950a4fa11e8821b5c725921a15">PRINTF</a>(<span class="stringliteral">&quot;\n&quot;</span>);</div>
-<div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;    <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;      <a class="code" href="debug_8h.html#a1f464e950a4fa11e8821b5c725921a15">PRINTF</a>(<span class="stringliteral">&quot; &quot;</span>);</div>
-<div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;      }</div>
-<div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;    }</div>
-<div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;  } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;    <a class="code" href="debug_8h.html#a1f464e950a4fa11e8821b5c725921a15">PRINTF</a>(<span class="stringliteral">&quot;%s: (%zu bytes): &quot;</span>, name, length);</div>
-<div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;    <span class="keywordflow">while</span> (length--) </div>
-<div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;      <a class="code" href="debug_8h.html#a1f464e950a4fa11e8821b5c725921a15">PRINTF</a>(<span class="stringliteral">&quot;%02X&quot;</span>, *buf++);</div>
-<div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;  }</div>
-<div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;  <a class="code" href="debug_8h.html#a1f464e950a4fa11e8821b5c725921a15">PRINTF</a>(<span class="stringliteral">&quot;\n&quot;</span>);</div>
-<div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;}</div>
-<div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* WITH_CONTIKI */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* NDEBUG */</span><span class="preprocessor"></span></div>
-<div class="ttc" id="tinydtls_8h_html"><div class="ttname"><a href="tinydtls_8h.html">tinydtls.h</a></div><div class="ttdoc">public tinydtls API </div></div>
-<div class="ttc" id="debug_8h_html_a5cae2fb7fec0dd9e63cf2d755642cd9d"><div class="ttname"><a href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9d">log_t</a></div><div class="ttdeci">log_t</div><div class="ttdef"><b>Definition:</b> <a href="debug_8h_source.html#l00066">debug.h:66</a></div></div>
-<div class="ttc" id="debug_8c_html_a4ac5b294de82b336108ebd436b271b17"><div class="ttname"><a href="debug_8c.html#a4ac5b294de82b336108ebd436b271b17">print_timestamp</a></div><div class="ttdeci">static size_t print_timestamp(char *s, size_t len, time_t t)</div><div class="ttdef"><b>Definition:</b> <a href="debug_8c_source.html#l00075">debug.c:75</a></div></div>
-<div class="ttc" id="debug_8c_html_a0af8abc8cf3864ea04954b3537c7e07f"><div class="ttname"><a href="debug_8c.html#a0af8abc8cf3864ea04954b3537c7e07f">dtls_get_log_level</a></div><div class="ttdeci">log_t dtls_get_log_level()</div><div class="ttdef"><b>Definition:</b> <a href="debug_8c_source.html#l00058">debug.c:58</a></div></div>
-<div class="ttc" id="dtls__config_8h_html"><div class="ttname"><a href="dtls__config_8h.html">dtls_config.h</a></div></div>
-<div class="ttc" id="debug_8c_html_aea3c9cd7c28ac0ebbc7473771751ed92"><div class="ttname"><a href="debug_8c.html#aea3c9cd7c28ac0ebbc7473771751ed92">loglevels</a></div><div class="ttdeci">static char * loglevels[]</div><div class="ttdef"><b>Definition:</b> <a href="debug_8c_source.html#l00068">debug.c:68</a></div></div>
-<div class="ttc" id="debug_8c_html_ace8ca7929ecfc486c3ef40828c79bfe5"><div class="ttname"><a href="debug_8c.html#ace8ca7929ecfc486c3ef40828c79bfe5">dsrv_log</a></div><div class="ttdeci">void dsrv_log(log_t level, char *format,...)</div><div class="ttdef"><b>Definition:</b> <a href="debug_8c_source.html#l00208">debug.c:208</a></div></div>
-<div class="ttc" id="debug_8h_html"><div class="ttname"><a href="debug_8h.html">debug.h</a></div></div>
-<div class="ttc" id="structsession__t_html"><div class="ttname"><a href="structsession__t.html">session_t</a></div><div class="ttdef"><b>Definition:</b> <a href="session_8h_source.html#l00049">session.h:49</a></div></div>
-<div class="ttc" id="debug_8c_html_a8badc2780b90e28c6c4e1a3b410b31cc"><div class="ttname"><a href="debug_8c.html#a8badc2780b90e28c6c4e1a3b410b31cc">dtls_dsrv_hexdump_log</a></div><div class="ttdeci">void dtls_dsrv_hexdump_log(log_t level, const char *name, const unsigned char *buf, size_t length, int extend)</div><div class="ttdef"><b>Definition:</b> <a href="debug_8c_source.html#l00290">debug.c:290</a></div></div>
-<div class="ttc" id="debug_8h_html_a5cae2fb7fec0dd9e63cf2d755642cd9dafd78dbf760d741729305d83727c14c70"><div class="ttname"><a href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9dafd78dbf760d741729305d83727c14c70">DTLS_LOG_WARN</a></div><div class="ttdef"><b>Definition:</b> <a href="debug_8h_source.html#l00066">debug.h:66</a></div></div>
-<div class="ttc" id="debug_8c_html_ac6afabdc09a49a433ee19d8a9486056d"><div class="ttname"><a href="debug_8c.html#ac6afabdc09a49a433ee19d8a9486056d">min</a></div><div class="ttdeci">#define min(a, b)</div><div class="ttdef"><b>Definition:</b> <a href="debug_8c_source.html#l00114">debug.c:114</a></div></div>
-<div class="ttc" id="debug_8h_html_a1f464e950a4fa11e8821b5c725921a15"><div class="ttname"><a href="debug_8h.html#a1f464e950a4fa11e8821b5c725921a15">PRINTF</a></div><div class="ttdeci">#define PRINTF(...)</div><div class="ttdef"><b>Definition:</b> <a href="debug_8h_source.html#l00057">debug.h:57</a></div></div>
-<div class="ttc" id="debug_8c_html_ae081a7241940f0195295cc37f39c1d02"><div class="ttname"><a href="debug_8c.html#ae081a7241940f0195295cc37f39c1d02">dtls_set_log_level</a></div><div class="ttdeci">void dtls_set_log_level(log_t level)</div><div class="ttdef"><b>Definition:</b> <a href="debug_8c_source.html#l00063">debug.c:63</a></div></div>
-<div class="ttc" id="global_8h_html"><div class="ttname"><a href="global_8h.html">global.h</a></div></div>
-<div class="ttc" id="group__clock_html_ga6e6c13e871b82d881a01d1bc8df69d23"><div class="ttname"><a href="group__clock.html#ga6e6c13e871b82d881a01d1bc8df69d23">clock_time_t</a></div><div class="ttdeci">uint32_t clock_time_t</div><div class="ttdef"><b>Definition:</b> <a href="dtls__time_8h_source.html#l00055">dtls_time.h:55</a></div></div>
-<div class="ttc" id="debug_8c_html_aa6c8e3e1a02e7cb1567391d3a5ca8bf2"><div class="ttname"><a href="debug_8c.html#aa6c8e3e1a02e7cb1567391d3a5ca8bf2">dsrv_print_addr</a></div><div class="ttdeci">static size_t dsrv_print_addr(const session_t *addr, char *buf, size_t len)</div><div class="ttdef"><b>Definition:</b> <a href="debug_8c_source.html#l00118">debug.c:118</a></div></div>
-<div class="ttc" id="debug_8c_html_aab7b9dac4484be50856ab8b8a827d235"><div class="ttname"><a href="debug_8c.html#aab7b9dac4484be50856ab8b8a827d235">dtls_package_version</a></div><div class="ttdeci">const char * dtls_package_version()</div><div class="ttdef"><b>Definition:</b> <a href="debug_8c_source.html#l00053">debug.c:53</a></div></div>
-<div class="ttc" id="config_8h_html_a1c0439e4355794c09b64274849eb0279"><div class="ttname"><a href="config_8h.html#a1c0439e4355794c09b64274849eb0279">PACKAGE_NAME</a></div><div class="ttdeci">#define PACKAGE_NAME</div><div class="ttdef"><b>Definition:</b> <a href="config_8h_source.html#l00099">config.h:99</a></div></div>
-<div class="ttc" id="group__clock_html_gae3ced0551b26c9b99cb45a86f34d100a"><div class="ttname"><a href="group__clock.html#gae3ced0551b26c9b99cb45a86f34d100a">CLOCK_SECOND</a></div><div class="ttdeci">#define CLOCK_SECOND</div><div class="ttdef"><b>Definition:</b> <a href="dtls__time_8h_source.html#l00052">dtls_time.h:52</a></div></div>
-<div class="ttc" id="debug_8c_html_a66cb8756d40a3326315d9b5f003a5a76"><div class="ttname"><a href="debug_8c.html#a66cb8756d40a3326315d9b5f003a5a76">dtls_dsrv_log_addr</a></div><div class="ttdeci">void dtls_dsrv_log_addr(log_t level, const char *name, const session_t *addr)</div><div class="ttdef"><b>Definition:</b> <a href="debug_8c_source.html#l00277">debug.c:277</a></div></div>
-<div class="ttc" id="structsession__t_html_a8d0a30ccc98425675a1b0e92e96eaa6a"><div class="ttname"><a href="structsession__t.html#a8d0a30ccc98425675a1b0e92e96eaa6a">session_t::sa</a></div><div class="ttdeci">struct sockaddr sa</div><div class="ttdef"><b>Definition:</b> <a href="session_8h_source.html#l00052">session.h:52</a></div></div>
-<div class="ttc" id="debug_8c_html_a7a6dbd5278e0c21ff9434dc3de7b955d"><div class="ttname"><a href="debug_8c.html#a7a6dbd5278e0c21ff9434dc3de7b955d">maxlog</a></div><div class="ttdeci">static int maxlog</div><div class="ttdef"><b>Definition:</b> <a href="debug_8c_source.html#l00047">debug.c:47</a></div></div>
-<div class="ttc" id="structsession__t_html_a0bb4423cd29b415a4cf6c32d5d9a43e4"><div class="ttname"><a href="structsession__t.html#a0bb4423cd29b415a4cf6c32d5d9a43e4">session_t::addr</a></div><div class="ttdeci">union session_t::@2 addr</div></div>
-<div class="ttc" id="debug_8c_html_a7ee74b9f3941b0ec63f35da6b83fa240"><div class="ttname"><a href="debug_8c.html#a7ee74b9f3941b0ec63f35da6b83fa240">dump</a></div><div class="ttdeci">void dump(unsigned char *buf, size_t len)</div><div class="ttdef"><b>Definition:</b> <a href="debug_8c_source.html#l00272">debug.c:272</a></div></div>
-<div class="ttc" id="debug_8c_html_af5fe8134d8875eb856a4cd99313ec1b0"><div class="ttname"><a href="debug_8c.html#af5fe8134d8875eb856a4cd99313ec1b0">hexdump</a></div><div class="ttdeci">void hexdump(const unsigned char *packet, int length)</div><div class="ttdef"><b>Definition:</b> <a href="debug_8c_source.html#l00252">debug.c:252</a></div></div>
-<div class="ttc" id="debug_8c_html_a2ff663644d9ffbc6ac64b2da6cde5bfa"><div class="ttname"><a href="debug_8c.html#a2ff663644d9ffbc6ac64b2da6cde5bfa">dtls_strnlen</a></div><div class="ttdeci">static size_t dtls_strnlen(const char *s, size_t maxlen)</div><div class="ttdef"><b>Definition:</b> <a href="debug_8c_source.html#l00106">debug.c:106</a></div></div>
-<div class="ttc" id="debug_8h_html_a5cae2fb7fec0dd9e63cf2d755642cd9dae376c811a8735fe72f67131ba1a1428d"><div class="ttname"><a href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9dae376c811a8735fe72f67131ba1a1428d">DTLS_LOG_CRIT</a></div><div class="ttdef"><b>Definition:</b> <a href="debug_8h_source.html#l00066">debug.h:66</a></div></div>
-<div class="ttc" id="config_8h_html_aa326a05d5e30f9e9a4bb0b4469d5d0c0"><div class="ttname"><a href="config_8h.html#aa326a05d5e30f9e9a4bb0b4469d5d0c0">PACKAGE_VERSION</a></div><div class="ttdeci">#define PACKAGE_VERSION</div><div class="ttdef"><b>Definition:</b> <a href="config_8h_source.html#l00111">config.h:111</a></div></div>
-<div class="ttc" id="structsession__t_html_a2f337ce1989f3a9b5afeef1a95506bde"><div class="ttname"><a href="structsession__t.html#a2f337ce1989f3a9b5afeef1a95506bde">session_t::sin6</a></div><div class="ttdeci">struct sockaddr_in6 sin6</div><div class="ttdef"><b>Definition:</b> <a href="session_8h_source.html#l00055">session.h:55</a></div></div>
-<div class="ttc" id="debug_8h_html_a5cae2fb7fec0dd9e63cf2d755642cd9da87f82ea2bdc3f03d9f6d3355a5f8a020"><div class="ttname"><a href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9da87f82ea2bdc3f03d9f6d3355a5f8a020">DTLS_LOG_DEBUG</a></div><div class="ttdef"><b>Definition:</b> <a href="debug_8h_source.html#l00067">debug.h:67</a></div></div>
-<div class="ttc" id="debug_8c_html_a6ae22adf81d9aaf0a2ed74f7f7437971"><div class="ttname"><a href="debug_8c.html#a6ae22adf81d9aaf0a2ed74f7f7437971">dtls_package_name</a></div><div class="ttdeci">const char * dtls_package_name()</div><div class="ttdef"><b>Definition:</b> <a href="debug_8c_source.html#l00049">debug.c:49</a></div></div>
-<div class="ttc" id="structsession__t_html_a86093095c1ab36b12180f9215fa2375e"><div class="ttname"><a href="structsession__t.html#a86093095c1ab36b12180f9215fa2375e">session_t::sin</a></div><div class="ttdeci">struct sockaddr_in sin</div><div class="ttdef"><b>Definition:</b> <a href="session_8h_source.html#l00054">session.h:54</a></div></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/debug_8h.html b/external/wakaama/examples/shared/tinydtls/doc/html/debug_8h.html
deleted file mode 100644 (file)
index 7ddaba6..0000000
+++ /dev/null
@@ -1,685 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: debug.h File Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#define-members">Macros</a> &#124;
-<a href="#enum-members">Enumerations</a> &#124;
-<a href="#func-members">Functions</a>  </div>
-  <div class="headertitle">
-<div class="title">debug.h File Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock"><code>#include &lt;stdlib.h&gt;</code><br/>
-<code>#include &quot;<a class="el" href="dtls__config_8h_source.html">dtls_config.h</a>&quot;</code><br/>
-<code>#include &quot;<a class="el" href="global_8h_source.html">global.h</a>&quot;</code><br/>
-<code>#include &quot;<a class="el" href="session_8h_source.html">session.h</a>&quot;</code><br/>
-</div>
-<p><a href="debug_8h_source.html">Go to the source code of this file.</a></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
-Macros</h2></td></tr>
-<tr class="memitem:a1f464e950a4fa11e8821b5c725921a15"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="debug_8h.html#a1f464e950a4fa11e8821b5c725921a15">PRINTF</a>(...)</td></tr>
-<tr class="separator:a1f464e950a4fa11e8821b5c725921a15"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a94fa8dba0861075ba507ea0417fd83c8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="debug_8h.html#a94fa8dba0861075ba507ea0417fd83c8">dtls_emerg</a>(...)&#160;&#160;&#160;<a class="el" href="debug_8h.html#ace8ca7929ecfc486c3ef40828c79bfe5">dsrv_log</a>(<a class="el" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9daaa080e6de827addce6dc6af232ecba3e">DTLS_LOG_EMERG</a>, __VA_ARGS__)</td></tr>
-<tr class="separator:a94fa8dba0861075ba507ea0417fd83c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab22e3494f6186183820142ba279fe9ae"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="debug_8h.html#ab22e3494f6186183820142ba279fe9ae">dtls_alert</a>(...)&#160;&#160;&#160;<a class="el" href="debug_8h.html#ace8ca7929ecfc486c3ef40828c79bfe5">dsrv_log</a>(<a class="el" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9da5d02ea1ea67cb762b8821f35d7cccd9e">DTLS_LOG_ALERT</a>, __VA_ARGS__)</td></tr>
-<tr class="separator:ab22e3494f6186183820142ba279fe9ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad4c9c94c054579b73789fead587c8514"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="debug_8h.html#ad4c9c94c054579b73789fead587c8514">dtls_crit</a>(...)&#160;&#160;&#160;<a class="el" href="debug_8h.html#ace8ca7929ecfc486c3ef40828c79bfe5">dsrv_log</a>(<a class="el" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9dae376c811a8735fe72f67131ba1a1428d">DTLS_LOG_CRIT</a>, __VA_ARGS__)</td></tr>
-<tr class="separator:ad4c9c94c054579b73789fead587c8514"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae1c22127c92fab70da7bf9cae8536e5c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="debug_8h.html#ae1c22127c92fab70da7bf9cae8536e5c">dtls_warn</a>(...)&#160;&#160;&#160;<a class="el" href="debug_8h.html#ace8ca7929ecfc486c3ef40828c79bfe5">dsrv_log</a>(<a class="el" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9dafd78dbf760d741729305d83727c14c70">DTLS_LOG_WARN</a>, __VA_ARGS__)</td></tr>
-<tr class="separator:ae1c22127c92fab70da7bf9cae8536e5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:add9bf011215b9fc36abc5c80722c876e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="debug_8h.html#add9bf011215b9fc36abc5c80722c876e">dtls_notice</a>(...)&#160;&#160;&#160;<a class="el" href="debug_8h.html#ace8ca7929ecfc486c3ef40828c79bfe5">dsrv_log</a>(<a class="el" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9da5f9ff4e9574b821a0c43261c9a9dca09">DTLS_LOG_NOTICE</a>, __VA_ARGS__)</td></tr>
-<tr class="separator:add9bf011215b9fc36abc5c80722c876e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:afde5692e7a590b0dd016d5753284c175"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="debug_8h.html#afde5692e7a590b0dd016d5753284c175">dtls_info</a>(...)&#160;&#160;&#160;<a class="el" href="debug_8h.html#ace8ca7929ecfc486c3ef40828c79bfe5">dsrv_log</a>(<a class="el" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9da9b79f1b32df348f97ce4366d0f0454c7">DTLS_LOG_INFO</a>, __VA_ARGS__)</td></tr>
-<tr class="separator:afde5692e7a590b0dd016d5753284c175"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0f158325426415d9efb5a36bebf45844"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="debug_8h.html#a0f158325426415d9efb5a36bebf45844">dtls_debug</a>(...)&#160;&#160;&#160;<a class="el" href="debug_8h.html#ace8ca7929ecfc486c3ef40828c79bfe5">dsrv_log</a>(<a class="el" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9da87f82ea2bdc3f03d9f6d3355a5f8a020">DTLS_LOG_DEBUG</a>, __VA_ARGS__)</td></tr>
-<tr class="separator:a0f158325426415d9efb5a36bebf45844"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a24b1e8ecaa65f684d879ed9d5c37119d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="debug_8h.html#a24b1e8ecaa65f684d879ed9d5c37119d">dtls_debug_hexdump</a>(name, buf, length)&#160;&#160;&#160;<a class="el" href="debug_8h.html#a8badc2780b90e28c6c4e1a3b410b31cc">dtls_dsrv_hexdump_log</a>(<a class="el" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9da87f82ea2bdc3f03d9f6d3355a5f8a020">DTLS_LOG_DEBUG</a>, name, buf, length, 1)</td></tr>
-<tr class="separator:a24b1e8ecaa65f684d879ed9d5c37119d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab27d2c7cae1e8022e93562ecda9140b6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="debug_8h.html#ab27d2c7cae1e8022e93562ecda9140b6">dtls_debug_dump</a>(name, buf, length)&#160;&#160;&#160;<a class="el" href="debug_8h.html#a8badc2780b90e28c6c4e1a3b410b31cc">dtls_dsrv_hexdump_log</a>(<a class="el" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9da87f82ea2bdc3f03d9f6d3355a5f8a020">DTLS_LOG_DEBUG</a>, name, buf, length, 0)</td></tr>
-<tr class="separator:ab27d2c7cae1e8022e93562ecda9140b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
-Enumerations</h2></td></tr>
-<tr class="memitem:a5cae2fb7fec0dd9e63cf2d755642cd9d"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9d">log_t</a> { <br/>
-&#160;&#160;<a class="el" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9daaa080e6de827addce6dc6af232ecba3e">DTLS_LOG_EMERG</a> =0, 
-<a class="el" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9da5d02ea1ea67cb762b8821f35d7cccd9e">DTLS_LOG_ALERT</a>, 
-<a class="el" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9dae376c811a8735fe72f67131ba1a1428d">DTLS_LOG_CRIT</a>, 
-<a class="el" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9dafd78dbf760d741729305d83727c14c70">DTLS_LOG_WARN</a>, 
-<br/>
-&#160;&#160;<a class="el" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9da5f9ff4e9574b821a0c43261c9a9dca09">DTLS_LOG_NOTICE</a>, 
-<a class="el" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9da9b79f1b32df348f97ce4366d0f0454c7">DTLS_LOG_INFO</a>, 
-<a class="el" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9da87f82ea2bdc3f03d9f6d3355a5f8a020">DTLS_LOG_DEBUG</a>
-<br/>
- }</td></tr>
-<tr class="separator:a5cae2fb7fec0dd9e63cf2d755642cd9d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:a4a3c60a1e54594e78cd207c57ddb1378"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="debug_8h.html#a4a3c60a1e54594e78cd207c57ddb1378">check_stack</a> ()</td></tr>
-<tr class="separator:a4a3c60a1e54594e78cd207c57ddb1378"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6ae22adf81d9aaf0a2ed74f7f7437971"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="debug_8h.html#a6ae22adf81d9aaf0a2ed74f7f7437971">dtls_package_name</a> ()</td></tr>
-<tr class="separator:a6ae22adf81d9aaf0a2ed74f7f7437971"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aab7b9dac4484be50856ab8b8a827d235"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="debug_8h.html#aab7b9dac4484be50856ab8b8a827d235">dtls_package_version</a> ()</td></tr>
-<tr class="separator:aab7b9dac4484be50856ab8b8a827d235"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0af8abc8cf3864ea04954b3537c7e07f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9d">log_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="debug_8h.html#a0af8abc8cf3864ea04954b3537c7e07f">dtls_get_log_level</a> ()</td></tr>
-<tr class="separator:a0af8abc8cf3864ea04954b3537c7e07f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae081a7241940f0195295cc37f39c1d02"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="debug_8h.html#ae081a7241940f0195295cc37f39c1d02">dtls_set_log_level</a> (<a class="el" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9d">log_t</a> level)</td></tr>
-<tr class="separator:ae081a7241940f0195295cc37f39c1d02"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ace8ca7929ecfc486c3ef40828c79bfe5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="debug_8h.html#ace8ca7929ecfc486c3ef40828c79bfe5">dsrv_log</a> (<a class="el" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9d">log_t</a> level, char *format,...)</td></tr>
-<tr class="separator:ace8ca7929ecfc486c3ef40828c79bfe5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af5fe8134d8875eb856a4cd99313ec1b0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="debug_8h.html#af5fe8134d8875eb856a4cd99313ec1b0">hexdump</a> (const unsigned char *packet, int length)</td></tr>
-<tr class="separator:af5fe8134d8875eb856a4cd99313ec1b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7ee74b9f3941b0ec63f35da6b83fa240"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="debug_8h.html#a7ee74b9f3941b0ec63f35da6b83fa240">dump</a> (unsigned char *buf, size_t len)</td></tr>
-<tr class="separator:a7ee74b9f3941b0ec63f35da6b83fa240"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8badc2780b90e28c6c4e1a3b410b31cc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="debug_8h.html#a8badc2780b90e28c6c4e1a3b410b31cc">dtls_dsrv_hexdump_log</a> (<a class="el" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9d">log_t</a> level, const char *name, const unsigned char *buf, size_t length, int extend)</td></tr>
-<tr class="separator:a8badc2780b90e28c6c4e1a3b410b31cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a66cb8756d40a3326315d9b5f003a5a76"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="debug_8h.html#a66cb8756d40a3326315d9b5f003a5a76">dtls_dsrv_log_addr</a> (<a class="el" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9d">log_t</a> level, const char *name, const <a class="el" href="structsession__t.html">session_t</a> *addr)</td></tr>
-<tr class="separator:a66cb8756d40a3326315d9b5f003a5a76"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<h2 class="groupheader">Macro Definition Documentation</h2>
-<a class="anchor" id="ab22e3494f6186183820142ba279fe9ae"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define dtls_alert</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname"><em>...</em></td><td>)</td>
-          <td>&#160;&#160;&#160;<a class="el" href="debug_8h.html#ace8ca7929ecfc486c3ef40828c79bfe5">dsrv_log</a>(<a class="el" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9da5d02ea1ea67cb762b8821f35d7cccd9e">DTLS_LOG_ALERT</a>, __VA_ARGS__)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="debug_8h_source.html#l00134">134</a> of file <a class="el" href="debug_8h_source.html">debug.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ad4c9c94c054579b73789fead587c8514"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define dtls_crit</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname"><em>...</em></td><td>)</td>
-          <td>&#160;&#160;&#160;<a class="el" href="debug_8h.html#ace8ca7929ecfc486c3ef40828c79bfe5">dsrv_log</a>(<a class="el" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9dae376c811a8735fe72f67131ba1a1428d">DTLS_LOG_CRIT</a>, __VA_ARGS__)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="debug_8h_source.html#l00135">135</a> of file <a class="el" href="debug_8h_source.html">debug.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a0f158325426415d9efb5a36bebf45844"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define dtls_debug</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname"><em>...</em></td><td>)</td>
-          <td>&#160;&#160;&#160;<a class="el" href="debug_8h.html#ace8ca7929ecfc486c3ef40828c79bfe5">dsrv_log</a>(<a class="el" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9da87f82ea2bdc3f03d9f6d3355a5f8a020">DTLS_LOG_DEBUG</a>, __VA_ARGS__)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="debug_8h_source.html#l00139">139</a> of file <a class="el" href="debug_8h_source.html">debug.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ab27d2c7cae1e8022e93562ecda9140b6"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define dtls_debug_dump</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">name, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">buf, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">length&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td>&#160;&#160;&#160;<a class="el" href="debug_8h.html#a8badc2780b90e28c6c4e1a3b410b31cc">dtls_dsrv_hexdump_log</a>(<a class="el" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9da87f82ea2bdc3f03d9f6d3355a5f8a020">DTLS_LOG_DEBUG</a>, name, buf, length, 0)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="debug_8h_source.html#l00141">141</a> of file <a class="el" href="debug_8h_source.html">debug.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a24b1e8ecaa65f684d879ed9d5c37119d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define dtls_debug_hexdump</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">name, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">buf, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">length&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td>&#160;&#160;&#160;<a class="el" href="debug_8h.html#a8badc2780b90e28c6c4e1a3b410b31cc">dtls_dsrv_hexdump_log</a>(<a class="el" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9da87f82ea2bdc3f03d9f6d3355a5f8a020">DTLS_LOG_DEBUG</a>, name, buf, length, 1)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="debug_8h_source.html#l00140">140</a> of file <a class="el" href="debug_8h_source.html">debug.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a94fa8dba0861075ba507ea0417fd83c8"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define dtls_emerg</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname"><em>...</em></td><td>)</td>
-          <td>&#160;&#160;&#160;<a class="el" href="debug_8h.html#ace8ca7929ecfc486c3ef40828c79bfe5">dsrv_log</a>(<a class="el" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9daaa080e6de827addce6dc6af232ecba3e">DTLS_LOG_EMERG</a>, __VA_ARGS__)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="debug_8h_source.html#l00133">133</a> of file <a class="el" href="debug_8h_source.html">debug.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="afde5692e7a590b0dd016d5753284c175"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define dtls_info</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname"><em>...</em></td><td>)</td>
-          <td>&#160;&#160;&#160;<a class="el" href="debug_8h.html#ace8ca7929ecfc486c3ef40828c79bfe5">dsrv_log</a>(<a class="el" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9da9b79f1b32df348f97ce4366d0f0454c7">DTLS_LOG_INFO</a>, __VA_ARGS__)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="debug_8h_source.html#l00138">138</a> of file <a class="el" href="debug_8h_source.html">debug.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="add9bf011215b9fc36abc5c80722c876e"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define dtls_notice</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname"><em>...</em></td><td>)</td>
-          <td>&#160;&#160;&#160;<a class="el" href="debug_8h.html#ace8ca7929ecfc486c3ef40828c79bfe5">dsrv_log</a>(<a class="el" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9da5f9ff4e9574b821a0c43261c9a9dca09">DTLS_LOG_NOTICE</a>, __VA_ARGS__)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="debug_8h_source.html#l00137">137</a> of file <a class="el" href="debug_8h_source.html">debug.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ae1c22127c92fab70da7bf9cae8536e5c"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define dtls_warn</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname"><em>...</em></td><td>)</td>
-          <td>&#160;&#160;&#160;<a class="el" href="debug_8h.html#ace8ca7929ecfc486c3ef40828c79bfe5">dsrv_log</a>(<a class="el" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9dafd78dbf760d741729305d83727c14c70">DTLS_LOG_WARN</a>, __VA_ARGS__)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="debug_8h_source.html#l00136">136</a> of file <a class="el" href="debug_8h_source.html">debug.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a1f464e950a4fa11e8821b5c725921a15"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PRINTF</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname"><em>...</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="debug_8h_source.html#l00057">57</a> of file <a class="el" href="debug_8h_source.html">debug.h</a>.</p>
-
-</div>
-</div>
-<h2 class="groupheader">Enumeration Type Documentation</h2>
-<a class="anchor" id="a5cae2fb7fec0dd9e63cf2d755642cd9d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">enum <a class="el" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9d">log_t</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Pre-defined log levels akin to what is used in <b>syslog</b>. </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a5cae2fb7fec0dd9e63cf2d755642cd9daaa080e6de827addce6dc6af232ecba3e"></a>DTLS_LOG_EMERG</em>&#160;</td><td class="fielddoc">
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a5cae2fb7fec0dd9e63cf2d755642cd9da5d02ea1ea67cb762b8821f35d7cccd9e"></a>DTLS_LOG_ALERT</em>&#160;</td><td class="fielddoc">
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a5cae2fb7fec0dd9e63cf2d755642cd9dae376c811a8735fe72f67131ba1a1428d"></a>DTLS_LOG_CRIT</em>&#160;</td><td class="fielddoc">
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a5cae2fb7fec0dd9e63cf2d755642cd9dafd78dbf760d741729305d83727c14c70"></a>DTLS_LOG_WARN</em>&#160;</td><td class="fielddoc">
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a5cae2fb7fec0dd9e63cf2d755642cd9da5f9ff4e9574b821a0c43261c9a9dca09"></a>DTLS_LOG_NOTICE</em>&#160;</td><td class="fielddoc">
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a5cae2fb7fec0dd9e63cf2d755642cd9da9b79f1b32df348f97ce4366d0f0454c7"></a>DTLS_LOG_INFO</em>&#160;</td><td class="fielddoc">
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a5cae2fb7fec0dd9e63cf2d755642cd9da87f82ea2bdc3f03d9f6d3355a5f8a020"></a>DTLS_LOG_DEBUG</em>&#160;</td><td class="fielddoc">
-</td></tr>
-</table>
-
-<p>Definition at line <a class="el" href="debug_8h_source.html#l00066">66</a> of file <a class="el" href="debug_8h_source.html">debug.h</a>.</p>
-
-</div>
-</div>
-<h2 class="groupheader">Function Documentation</h2>
-<a class="anchor" id="a4a3c60a1e54594e78cd207c57ddb1378"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static void check_stack </td>
-          <td>(</td>
-          <td class="paramname"></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="debug_8h_source.html#l00059">59</a> of file <a class="el" href="debug_8h_source.html">debug.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ace8ca7929ecfc486c3ef40828c79bfe5"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void dsrv_log </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9d">log_t</a>&#160;</td>
-          <td class="paramname"><em>level</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">char *&#160;</td>
-          <td class="paramname"><em>format</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname"><em>...</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Writes the given text to <code>stdout</code>. The text is output only when <code>level</code> is below or equal to the log level that set by set_log_level(). </p>
-
-<p>Definition at line <a class="el" href="debug_8c_source.html#l00208">208</a> of file <a class="el" href="debug_8c_source.html">debug.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a8badc2780b90e28c6c4e1a3b410b31cc"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void dtls_dsrv_hexdump_log </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9d">log_t</a>&#160;</td>
-          <td class="paramname"><em>level</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char *&#160;</td>
-          <td class="paramname"><em>name</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>buf</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>length</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>extend</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="debug_8c_source.html#l00290">290</a> of file <a class="el" href="debug_8c_source.html">debug.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a66cb8756d40a3326315d9b5f003a5a76"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void dtls_dsrv_log_addr </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9d">log_t</a>&#160;</td>
-          <td class="paramname"><em>level</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char *&#160;</td>
-          <td class="paramname"><em>name</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const <a class="el" href="structsession__t.html">session_t</a> *&#160;</td>
-          <td class="paramname"><em>addr</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="debug_8c_source.html#l00277">277</a> of file <a class="el" href="debug_8c_source.html">debug.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a0af8abc8cf3864ea04954b3537c7e07f"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9d">log_t</a> dtls_get_log_level </td>
-          <td>(</td>
-          <td class="paramname"></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Returns the current log level. </p>
-
-<p>Definition at line <a class="el" href="debug_8c_source.html#l00058">58</a> of file <a class="el" href="debug_8c_source.html">debug.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a6ae22adf81d9aaf0a2ed74f7f7437971"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">const char* dtls_package_name </td>
-          <td>(</td>
-          <td class="paramname"></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Returns a zero-terminated string with the name of this library. </p>
-
-<p>Definition at line <a class="el" href="debug_8c_source.html#l00049">49</a> of file <a class="el" href="debug_8c_source.html">debug.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aab7b9dac4484be50856ab8b8a827d235"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">const char* dtls_package_version </td>
-          <td>(</td>
-          <td class="paramname"></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Returns a zero-terminated string with the library version. </p>
-
-<p>Definition at line <a class="el" href="debug_8c_source.html#l00053">53</a> of file <a class="el" href="debug_8c_source.html">debug.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ae081a7241940f0195295cc37f39c1d02"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void dtls_set_log_level </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9d">log_t</a>&#160;</td>
-          <td class="paramname"><em>level</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Sets the log level to the specified value. </p>
-
-<p>Definition at line <a class="el" href="debug_8c_source.html#l00063">63</a> of file <a class="el" href="debug_8c_source.html">debug.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a7ee74b9f3941b0ec63f35da6b83fa240"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void dump </td>
-          <td>(</td>
-          <td class="paramtype">unsigned char *&#160;</td>
-          <td class="paramname"><em>buf</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>len</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>dump as narrow string of hex digits </p>
-
-<p>Definition at line <a class="el" href="debug_8c_source.html#l00272">272</a> of file <a class="el" href="debug_8c_source.html">debug.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="af5fe8134d8875eb856a4cd99313ec1b0"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void hexdump </td>
-          <td>(</td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>packet</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>length</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>dumps packets in usual hexdump format </p>
-
-<p>Definition at line <a class="el" href="debug_8c_source.html#l00252">252</a> of file <a class="el" href="debug_8c_source.html">debug.c</a>.</p>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/debug_8h_source.html b/external/wakaama/examples/shared/tinydtls/doc/html/debug_8h_source.html
deleted file mode 100644 (file)
index 99f7e4d..0000000
+++ /dev/null
@@ -1,252 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: debug.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="header">
-  <div class="headertitle">
-<div class="title">debug.h</div>  </div>
-</div><!--header-->
-<div class="contents">
-<a href="debug_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/* debug.h -- debug utilities</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> * Copyright (C) 2011--2012 Olaf Bergmann &lt;bergmann@tzi.org&gt;</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> * Permission is hereby granted, free of charge, to any person</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> * obtaining a copy of this software and associated documentation</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> * files (the &quot;Software&quot;), to deal in the Software without</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> * restriction, including without limitation the rights to use, copy,</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> * modify, merge, publish, distribute, sublicense, and/or sell copies</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> * of the Software, and to permit persons to whom the Software is</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * furnished to do so, subject to the following conditions:</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * The above copyright notice and this permission notice shall be</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * included in all copies or substantial portions of the Software.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> * THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND,</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment"> * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment"> * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment"> * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment"> * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment"> * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment"> * SOFTWARE.</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div>
-<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#ifndef _DTLS_DEBUG_H_</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define _DTLS_DEBUG_H_</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &lt;stdlib.h&gt;</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div>
-<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="dtls__config_8h.html">dtls_config.h</a>&quot;</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="global_8h.html">global.h</a>&quot;</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="session_8h.html">session.h</a>&quot;</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div>
-<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#ifdef WITH_CONTIKI</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor"></span><span class="preprocessor"># ifndef DEBUG</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#  define DEBUG DEBUG_PRINT</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor"></span><span class="preprocessor"># endif </span><span class="comment">/* DEBUG */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &quot;net/ip/uip-debug.h&quot;</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div>
-<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#ifdef CONTIKI_TARGET_MBXXX</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor"></span><span class="keyword">extern</span> <span class="keywordtype">char</span> __Stack_Init, _estack;</div>
-<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div>
-<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="debug_8h.html#a4a3c60a1e54594e78cd207c57ddb1378">check_stack</a>() {</div>
-<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">char</span> *p = &amp;__Stack_Init;</div>
-<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;  <span class="keywordflow">while</span> (p &lt; &amp;_estack &amp;&amp; *p == 0x38) {</div>
-<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;    p++;</div>
-<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;  }</div>
-<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;</div>
-<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;  <a class="code" href="debug_8h.html#a1f464e950a4fa11e8821b5c725921a15">PRINTF</a>(<span class="stringliteral">&quot;Stack: %d bytes used (%d free)\n&quot;</span>, &amp;_estack - p, p - &amp;__Stack_Init);</div>
-<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;}</div>
-<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">#else </span><span class="comment">/* CONTIKI_TARGET_MBXXX */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="preprocessor"></span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="debug_8h.html#a4a3c60a1e54594e78cd207c57ddb1378">check_stack</a>() {</div>
-<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;}</div>
-<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* CONTIKI_TARGET_MBXXX */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#else </span><span class="comment">/* WITH_CONTKI */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="debug_8h.html#a1f464e950a4fa11e8821b5c725921a15">   57</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PRINTF(...)</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="debug_8h.html#a4a3c60a1e54594e78cd207c57ddb1378">   59</a></span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="debug_8h.html#a4a3c60a1e54594e78cd207c57ddb1378">check_stack</a>() {</div>
-<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;}</div>
-<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">struct </span>__session_t;</div>
-<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div>
-<div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9d">   66</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> { <a class="code" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9daaa080e6de827addce6dc6af232ecba3e">DTLS_LOG_EMERG</a>=0, <a class="code" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9da5d02ea1ea67cb762b8821f35d7cccd9e">DTLS_LOG_ALERT</a>, <a class="code" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9dae376c811a8735fe72f67131ba1a1428d">DTLS_LOG_CRIT</a>, <a class="code" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9dafd78dbf760d741729305d83727c14c70">DTLS_LOG_WARN</a>, </div>
-<div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9da5f9ff4e9574b821a0c43261c9a9dca09">   67</a></span>&#160;       <a class="code" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9da5f9ff4e9574b821a0c43261c9a9dca09">DTLS_LOG_NOTICE</a>, <a class="code" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9da9b79f1b32df348f97ce4366d0f0454c7">DTLS_LOG_INFO</a>, <a class="code" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9da87f82ea2bdc3f03d9f6d3355a5f8a020">DTLS_LOG_DEBUG</a></div>
-<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;} <a class="code" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9d">log_t</a>;</div>
-<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div>
-<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="debug_8h.html#a6ae22adf81d9aaf0a2ed74f7f7437971">dtls_package_name</a>();</div>
-<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</div>
-<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="debug_8h.html#aab7b9dac4484be50856ab8b8a827d235">dtls_package_version</a>();</div>
-<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div>
-<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="preprocessor">#ifndef NDEBUG</span></div>
-<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<a class="code" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9d">log_t</a> <a class="code" href="debug_8h.html#a0af8abc8cf3864ea04954b3537c7e07f">dtls_get_log_level</a>();</div>
-<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;</div>
-<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keywordtype">void</span> <a class="code" href="debug_8h.html#ae081a7241940f0195295cc37f39c1d02">dtls_set_log_level</a>(<a class="code" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9d">log_t</a> level);</div>
-<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div>
-<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="preprocessor">#ifdef HAVE_VPRINTF</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="preprocessor"></span><span class="keywordtype">void</span> <a class="code" href="debug_8h.html#ace8ca7929ecfc486c3ef40828c79bfe5">dsrv_log</a>(<a class="code" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9d">log_t</a> level, <span class="keywordtype">char</span> *format, ...);</div>
-<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define dsrv_log(level, format, ...) PRINTF(format, ##__VA_ARGS__)</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="keywordtype">void</span> <a class="code" href="debug_8h.html#af5fe8134d8875eb856a4cd99313ec1b0">hexdump</a>(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *packet, <span class="keywordtype">int</span> length);</div>
-<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;</div>
-<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keywordtype">void</span> <a class="code" href="debug_8h.html#a7ee74b9f3941b0ec63f35da6b83fa240">dump</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *buf, <span class="keywordtype">size_t</span> len);</div>
-<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;</div>
-<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;<span class="keywordtype">void</span> <a class="code" href="debug_8h.html#a8badc2780b90e28c6c4e1a3b410b31cc">dtls_dsrv_hexdump_log</a>(<a class="code" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9d">log_t</a> level, <span class="keyword">const</span> <span class="keywordtype">char</span> *name, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *buf, <span class="keywordtype">size_t</span> length, <span class="keywordtype">int</span> extend);</div>
-<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;</div>
-<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;<span class="keywordtype">void</span> <a class="code" href="debug_8h.html#a66cb8756d40a3326315d9b5f003a5a76">dtls_dsrv_log_addr</a>(<a class="code" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9d">log_t</a> level, <span class="keyword">const</span> <span class="keywordtype">char</span> *name, <span class="keyword">const</span> <a class="code" href="structsession__t.html">session_t</a> *addr);</div>
-<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;</div>
-<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="preprocessor">#else </span><span class="comment">/* NDEBUG */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9d">log_t</a> <a class="code" href="debug_8h.html#a0af8abc8cf3864ea04954b3537c7e07f">dtls_get_log_level</a>()</div>
-<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;{</div>
-<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;  <span class="keywordflow">return</span> <a class="code" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9daaa080e6de827addce6dc6af232ecba3e">DTLS_LOG_EMERG</a>;</div>
-<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;}</div>
-<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;</div>
-<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="debug_8h.html#ae081a7241940f0195295cc37f39c1d02">dtls_set_log_level</a>(<a class="code" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9d">log_t</a> level)</div>
-<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;{}</div>
-<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;</div>
-<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="debug_8h.html#ace8ca7929ecfc486c3ef40828c79bfe5">dsrv_log</a>(<a class="code" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9d">log_t</a> level, <span class="keywordtype">char</span> *format, ...)</div>
-<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;{}</div>
-<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;</div>
-<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="debug_8h.html#af5fe8134d8875eb856a4cd99313ec1b0">hexdump</a>(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *packet, <span class="keywordtype">int</span> length)</div>
-<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;{}</div>
-<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;</div>
-<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="debug_8h.html#a7ee74b9f3941b0ec63f35da6b83fa240">dump</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *buf, <span class="keywordtype">size_t</span> len)</div>
-<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;{}</div>
-<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;</div>
-<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<a class="code" href="debug_8h.html#a8badc2780b90e28c6c4e1a3b410b31cc">dtls_dsrv_hexdump_log</a>(<a class="code" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9d">log_t</a> level, <span class="keyword">const</span> <span class="keywordtype">char</span> *name, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *buf, <span class="keywordtype">size_t</span> length, <span class="keywordtype">int</span> extend)</div>
-<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;{}</div>
-<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;</div>
-<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;<a class="code" href="debug_8h.html#a66cb8756d40a3326315d9b5f003a5a76">dtls_dsrv_log_addr</a>(<a class="code" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9d">log_t</a> level, <span class="keyword">const</span> <span class="keywordtype">char</span> *name, <span class="keyword">const</span> <span class="keyword">struct</span> __session_t *addr)</div>
-<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;{}</div>
-<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;</div>
-<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* NDEBUG */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="comment">/* A set of convenience macros for common log levels. */</span></div>
-<div class="line"><a name="l00133"></a><span class="lineno"><a class="line" href="debug_8h.html#a94fa8dba0861075ba507ea0417fd83c8">  133</a></span>&#160;<span class="preprocessor">#define dtls_emerg(...) dsrv_log(DTLS_LOG_EMERG, __VA_ARGS__)</span></div>
-<div class="line"><a name="l00134"></a><span class="lineno"><a class="line" href="debug_8h.html#ab22e3494f6186183820142ba279fe9ae">  134</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define dtls_alert(...) dsrv_log(DTLS_LOG_ALERT, __VA_ARGS__)</span></div>
-<div class="line"><a name="l00135"></a><span class="lineno"><a class="line" href="debug_8h.html#ad4c9c94c054579b73789fead587c8514">  135</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define dtls_crit(...) dsrv_log(DTLS_LOG_CRIT, __VA_ARGS__)</span></div>
-<div class="line"><a name="l00136"></a><span class="lineno"><a class="line" href="debug_8h.html#ae1c22127c92fab70da7bf9cae8536e5c">  136</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define dtls_warn(...) dsrv_log(DTLS_LOG_WARN, __VA_ARGS__)</span></div>
-<div class="line"><a name="l00137"></a><span class="lineno"><a class="line" href="debug_8h.html#add9bf011215b9fc36abc5c80722c876e">  137</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define dtls_notice(...) dsrv_log(DTLS_LOG_NOTICE, __VA_ARGS__)</span></div>
-<div class="line"><a name="l00138"></a><span class="lineno"><a class="line" href="debug_8h.html#afde5692e7a590b0dd016d5753284c175">  138</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define dtls_info(...) dsrv_log(DTLS_LOG_INFO, __VA_ARGS__)</span></div>
-<div class="line"><a name="l00139"></a><span class="lineno"><a class="line" href="debug_8h.html#a0f158325426415d9efb5a36bebf45844">  139</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define dtls_debug(...) dsrv_log(DTLS_LOG_DEBUG, __VA_ARGS__)</span></div>
-<div class="line"><a name="l00140"></a><span class="lineno"><a class="line" href="debug_8h.html#a24b1e8ecaa65f684d879ed9d5c37119d">  140</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define dtls_debug_hexdump(name, buf, length) dtls_dsrv_hexdump_log(DTLS_LOG_DEBUG, name, buf, length, 1)</span></div>
-<div class="line"><a name="l00141"></a><span class="lineno"><a class="line" href="debug_8h.html#ab27d2c7cae1e8022e93562ecda9140b6">  141</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define dtls_debug_dump(name, buf, length) dtls_dsrv_hexdump_log(DTLS_LOG_DEBUG, name, buf, length, 0)</span></div>
-<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* _DTLS_DEBUG_H_ */</span><span class="preprocessor"></span></div>
-<div class="ttc" id="debug_8h_html_a5cae2fb7fec0dd9e63cf2d755642cd9da5d02ea1ea67cb762b8821f35d7cccd9e"><div class="ttname"><a href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9da5d02ea1ea67cb762b8821f35d7cccd9e">DTLS_LOG_ALERT</a></div><div class="ttdef"><b>Definition:</b> <a href="debug_8h_source.html#l00066">debug.h:66</a></div></div>
-<div class="ttc" id="debug_8h_html_a7ee74b9f3941b0ec63f35da6b83fa240"><div class="ttname"><a href="debug_8h.html#a7ee74b9f3941b0ec63f35da6b83fa240">dump</a></div><div class="ttdeci">void dump(unsigned char *buf, size_t len)</div><div class="ttdef"><b>Definition:</b> <a href="debug_8c_source.html#l00272">debug.c:272</a></div></div>
-<div class="ttc" id="debug_8h_html_ae081a7241940f0195295cc37f39c1d02"><div class="ttname"><a href="debug_8h.html#ae081a7241940f0195295cc37f39c1d02">dtls_set_log_level</a></div><div class="ttdeci">void dtls_set_log_level(log_t level)</div><div class="ttdef"><b>Definition:</b> <a href="debug_8c_source.html#l00063">debug.c:63</a></div></div>
-<div class="ttc" id="debug_8h_html_a66cb8756d40a3326315d9b5f003a5a76"><div class="ttname"><a href="debug_8h.html#a66cb8756d40a3326315d9b5f003a5a76">dtls_dsrv_log_addr</a></div><div class="ttdeci">void dtls_dsrv_log_addr(log_t level, const char *name, const session_t *addr)</div><div class="ttdef"><b>Definition:</b> <a href="debug_8c_source.html#l00277">debug.c:277</a></div></div>
-<div class="ttc" id="debug_8h_html_a5cae2fb7fec0dd9e63cf2d755642cd9d"><div class="ttname"><a href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9d">log_t</a></div><div class="ttdeci">log_t</div><div class="ttdef"><b>Definition:</b> <a href="debug_8h_source.html#l00066">debug.h:66</a></div></div>
-<div class="ttc" id="dtls__config_8h_html"><div class="ttname"><a href="dtls__config_8h.html">dtls_config.h</a></div></div>
-<div class="ttc" id="structsession__t_html"><div class="ttname"><a href="structsession__t.html">session_t</a></div><div class="ttdef"><b>Definition:</b> <a href="session_8h_source.html#l00049">session.h:49</a></div></div>
-<div class="ttc" id="debug_8h_html_a5cae2fb7fec0dd9e63cf2d755642cd9dafd78dbf760d741729305d83727c14c70"><div class="ttname"><a href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9dafd78dbf760d741729305d83727c14c70">DTLS_LOG_WARN</a></div><div class="ttdef"><b>Definition:</b> <a href="debug_8h_source.html#l00066">debug.h:66</a></div></div>
-<div class="ttc" id="session_8h_html"><div class="ttname"><a href="session_8h.html">session.h</a></div></div>
-<div class="ttc" id="debug_8h_html_a1f464e950a4fa11e8821b5c725921a15"><div class="ttname"><a href="debug_8h.html#a1f464e950a4fa11e8821b5c725921a15">PRINTF</a></div><div class="ttdeci">#define PRINTF(...)</div><div class="ttdef"><b>Definition:</b> <a href="debug_8h_source.html#l00057">debug.h:57</a></div></div>
-<div class="ttc" id="global_8h_html"><div class="ttname"><a href="global_8h.html">global.h</a></div></div>
-<div class="ttc" id="debug_8h_html_a6ae22adf81d9aaf0a2ed74f7f7437971"><div class="ttname"><a href="debug_8h.html#a6ae22adf81d9aaf0a2ed74f7f7437971">dtls_package_name</a></div><div class="ttdeci">const char * dtls_package_name()</div><div class="ttdef"><b>Definition:</b> <a href="debug_8c_source.html#l00049">debug.c:49</a></div></div>
-<div class="ttc" id="debug_8h_html_a8badc2780b90e28c6c4e1a3b410b31cc"><div class="ttname"><a href="debug_8h.html#a8badc2780b90e28c6c4e1a3b410b31cc">dtls_dsrv_hexdump_log</a></div><div class="ttdeci">void dtls_dsrv_hexdump_log(log_t level, const char *name, const unsigned char *buf, size_t length, int extend)</div><div class="ttdef"><b>Definition:</b> <a href="debug_8c_source.html#l00290">debug.c:290</a></div></div>
-<div class="ttc" id="debug_8h_html_af5fe8134d8875eb856a4cd99313ec1b0"><div class="ttname"><a href="debug_8h.html#af5fe8134d8875eb856a4cd99313ec1b0">hexdump</a></div><div class="ttdeci">void hexdump(const unsigned char *packet, int length)</div><div class="ttdef"><b>Definition:</b> <a href="debug_8c_source.html#l00252">debug.c:252</a></div></div>
-<div class="ttc" id="debug_8h_html_a4a3c60a1e54594e78cd207c57ddb1378"><div class="ttname"><a href="debug_8h.html#a4a3c60a1e54594e78cd207c57ddb1378">check_stack</a></div><div class="ttdeci">static void check_stack()</div><div class="ttdef"><b>Definition:</b> <a href="debug_8h_source.html#l00059">debug.h:59</a></div></div>
-<div class="ttc" id="debug_8h_html_a0af8abc8cf3864ea04954b3537c7e07f"><div class="ttname"><a href="debug_8h.html#a0af8abc8cf3864ea04954b3537c7e07f">dtls_get_log_level</a></div><div class="ttdeci">log_t dtls_get_log_level()</div><div class="ttdef"><b>Definition:</b> <a href="debug_8c_source.html#l00058">debug.c:58</a></div></div>
-<div class="ttc" id="debug_8h_html_ace8ca7929ecfc486c3ef40828c79bfe5"><div class="ttname"><a href="debug_8h.html#ace8ca7929ecfc486c3ef40828c79bfe5">dsrv_log</a></div><div class="ttdeci">void dsrv_log(log_t level, char *format,...)</div><div class="ttdef"><b>Definition:</b> <a href="debug_8c_source.html#l00208">debug.c:208</a></div></div>
-<div class="ttc" id="debug_8h_html_aab7b9dac4484be50856ab8b8a827d235"><div class="ttname"><a href="debug_8h.html#aab7b9dac4484be50856ab8b8a827d235">dtls_package_version</a></div><div class="ttdeci">const char * dtls_package_version()</div><div class="ttdef"><b>Definition:</b> <a href="debug_8c_source.html#l00053">debug.c:53</a></div></div>
-<div class="ttc" id="debug_8h_html_a5cae2fb7fec0dd9e63cf2d755642cd9dae376c811a8735fe72f67131ba1a1428d"><div class="ttname"><a href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9dae376c811a8735fe72f67131ba1a1428d">DTLS_LOG_CRIT</a></div><div class="ttdef"><b>Definition:</b> <a href="debug_8h_source.html#l00066">debug.h:66</a></div></div>
-<div class="ttc" id="debug_8h_html_a5cae2fb7fec0dd9e63cf2d755642cd9da5f9ff4e9574b821a0c43261c9a9dca09"><div class="ttname"><a href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9da5f9ff4e9574b821a0c43261c9a9dca09">DTLS_LOG_NOTICE</a></div><div class="ttdef"><b>Definition:</b> <a href="debug_8h_source.html#l00067">debug.h:67</a></div></div>
-<div class="ttc" id="debug_8h_html_a5cae2fb7fec0dd9e63cf2d755642cd9da9b79f1b32df348f97ce4366d0f0454c7"><div class="ttname"><a href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9da9b79f1b32df348f97ce4366d0f0454c7">DTLS_LOG_INFO</a></div><div class="ttdef"><b>Definition:</b> <a href="debug_8h_source.html#l00067">debug.h:67</a></div></div>
-<div class="ttc" id="debug_8h_html_a5cae2fb7fec0dd9e63cf2d755642cd9daaa080e6de827addce6dc6af232ecba3e"><div class="ttname"><a href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9daaa080e6de827addce6dc6af232ecba3e">DTLS_LOG_EMERG</a></div><div class="ttdef"><b>Definition:</b> <a href="debug_8h_source.html#l00066">debug.h:66</a></div></div>
-<div class="ttc" id="debug_8h_html_a5cae2fb7fec0dd9e63cf2d755642cd9da87f82ea2bdc3f03d9f6d3355a5f8a020"><div class="ttname"><a href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9da87f82ea2bdc3f03d9f6d3355a5f8a020">DTLS_LOG_DEBUG</a></div><div class="ttdef"><b>Definition:</b> <a href="debug_8h_source.html#l00067">debug.h:67</a></div></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/doxygen.css b/external/wakaama/examples/shared/tinydtls/doc/html/doxygen.css
deleted file mode 100644 (file)
index f0f36f8..0000000
+++ /dev/null
@@ -1,1366 +0,0 @@
-/* The standard CSS for doxygen 1.8.6 */
-
-body, table, div, p, dl {
-       font: 400 14px/22px Roboto,sans-serif;
-}
-
-/* @group Heading Levels */
-
-h1.groupheader {
-       font-size: 150%;
-}
-
-.title {
-       font: 400 14px/28px Roboto,sans-serif;
-       font-size: 150%;
-       font-weight: bold;
-       margin: 10px 2px;
-}
-
-h2.groupheader {
-       border-bottom: 1px solid #879ECB;
-       color: #354C7B;
-       font-size: 150%;
-       font-weight: normal;
-       margin-top: 1.75em;
-       padding-top: 8px;
-       padding-bottom: 4px;
-       width: 100%;
-}
-
-h3.groupheader {
-       font-size: 100%;
-}
-
-h1, h2, h3, h4, h5, h6 {
-       -webkit-transition: text-shadow 0.5s linear;
-       -moz-transition: text-shadow 0.5s linear;
-       -ms-transition: text-shadow 0.5s linear;
-       -o-transition: text-shadow 0.5s linear;
-       transition: text-shadow 0.5s linear;
-       margin-right: 15px;
-}
-
-h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow {
-       text-shadow: 0 0 15px cyan;
-}
-
-dt {
-       font-weight: bold;
-}
-
-div.multicol {
-       -moz-column-gap: 1em;
-       -webkit-column-gap: 1em;
-       -moz-column-count: 3;
-       -webkit-column-count: 3;
-}
-
-p.startli, p.startdd {
-       margin-top: 2px;
-}
-
-p.starttd {
-       margin-top: 0px;
-}
-
-p.endli {
-       margin-bottom: 0px;
-}
-
-p.enddd {
-       margin-bottom: 4px;
-}
-
-p.endtd {
-       margin-bottom: 2px;
-}
-
-/* @end */
-
-caption {
-       font-weight: bold;
-}
-
-span.legend {
-        font-size: 70%;
-        text-align: center;
-}
-
-h3.version {
-        font-size: 90%;
-        text-align: center;
-}
-
-div.qindex, div.navtab{
-       background-color: #EBEFF6;
-       border: 1px solid #A3B4D7;
-       text-align: center;
-}
-
-div.qindex, div.navpath {
-       width: 100%;
-       line-height: 140%;
-}
-
-div.navtab {
-       margin-right: 15px;
-}
-
-/* @group Link Styling */
-
-a {
-       color: #3D578C;
-       font-weight: normal;
-       text-decoration: none;
-}
-
-.contents a:visited {
-       color: #4665A2;
-}
-
-a:hover {
-       text-decoration: underline;
-}
-
-a.qindex {
-       font-weight: bold;
-}
-
-a.qindexHL {
-       font-weight: bold;
-       background-color: #9CAFD4;
-       color: #ffffff;
-       border: 1px double #869DCA;
-}
-
-.contents a.qindexHL:visited {
-        color: #ffffff;
-}
-
-a.el {
-       font-weight: bold;
-}
-
-a.elRef {
-}
-
-a.code, a.code:visited, a.line, a.line:visited {
-       color: #4665A2; 
-}
-
-a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited {
-       color: #4665A2; 
-}
-
-/* @end */
-
-dl.el {
-       margin-left: -1cm;
-}
-
-pre.fragment {
-        border: 1px solid #C4CFE5;
-        background-color: #FBFCFD;
-        padding: 4px 6px;
-        margin: 4px 8px 4px 2px;
-        overflow: auto;
-        word-wrap: break-word;
-        font-size:  9pt;
-        line-height: 125%;
-        font-family: monospace, fixed;
-        font-size: 105%;
-}
-
-div.fragment {
-        padding: 4px 6px;
-        margin: 4px 8px 4px 2px;
-       background-color: #FBFCFD;
-       border: 1px solid #C4CFE5;
-}
-
-div.line {
-       font-family: monospace, fixed;
-        font-size: 13px;
-       min-height: 13px;
-       line-height: 1.0;
-       text-wrap: unrestricted;
-       white-space: -moz-pre-wrap; /* Moz */
-       white-space: -pre-wrap;     /* Opera 4-6 */
-       white-space: -o-pre-wrap;   /* Opera 7 */
-       white-space: pre-wrap;      /* CSS3  */
-       word-wrap: break-word;      /* IE 5.5+ */
-       text-indent: -53px;
-       padding-left: 53px;
-       padding-bottom: 0px;
-       margin: 0px;
-       -webkit-transition-property: background-color, box-shadow;
-       -webkit-transition-duration: 0.5s;
-       -moz-transition-property: background-color, box-shadow;
-       -moz-transition-duration: 0.5s;
-       -ms-transition-property: background-color, box-shadow;
-       -ms-transition-duration: 0.5s;
-       -o-transition-property: background-color, box-shadow;
-       -o-transition-duration: 0.5s;
-       transition-property: background-color, box-shadow;
-       transition-duration: 0.5s;
-}
-
-div.line.glow {
-       background-color: cyan;
-       box-shadow: 0 0 10px cyan;
-}
-
-
-span.lineno {
-       padding-right: 4px;
-       text-align: right;
-       border-right: 2px solid #0F0;
-       background-color: #E8E8E8;
-        white-space: pre;
-}
-span.lineno a {
-       background-color: #D8D8D8;
-}
-
-span.lineno a:hover {
-       background-color: #C8C8C8;
-}
-
-div.ah {
-       background-color: black;
-       font-weight: bold;
-       color: #ffffff;
-       margin-bottom: 3px;
-       margin-top: 3px;
-       padding: 0.2em;
-       border: solid thin #333;
-       border-radius: 0.5em;
-       -webkit-border-radius: .5em;
-       -moz-border-radius: .5em;
-       box-shadow: 2px 2px 3px #999;
-       -webkit-box-shadow: 2px 2px 3px #999;
-       -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
-       background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444));
-       background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000);
-}
-
-div.groupHeader {
-       margin-left: 16px;
-       margin-top: 12px;
-       font-weight: bold;
-}
-
-div.groupText {
-       margin-left: 16px;
-       font-style: italic;
-}
-
-body {
-       background-color: white;
-       color: black;
-        margin: 0;
-}
-
-div.contents {
-       margin-top: 10px;
-       margin-left: 12px;
-       margin-right: 8px;
-}
-
-td.indexkey {
-       background-color: #EBEFF6;
-       font-weight: bold;
-       border: 1px solid #C4CFE5;
-       margin: 2px 0px 2px 0;
-       padding: 2px 10px;
-        white-space: nowrap;
-        vertical-align: top;
-}
-
-td.indexvalue {
-       background-color: #EBEFF6;
-       border: 1px solid #C4CFE5;
-       padding: 2px 10px;
-       margin: 2px 0px;
-}
-
-tr.memlist {
-       background-color: #EEF1F7;
-}
-
-p.formulaDsp {
-       text-align: center;
-}
-
-img.formulaDsp {
-       
-}
-
-img.formulaInl {
-       vertical-align: middle;
-}
-
-div.center {
-       text-align: center;
-        margin-top: 0px;
-        margin-bottom: 0px;
-        padding: 0px;
-}
-
-div.center img {
-       border: 0px;
-}
-
-address.footer {
-       text-align: right;
-       padding-right: 12px;
-}
-
-img.footer {
-       border: 0px;
-       vertical-align: middle;
-}
-
-/* @group Code Colorization */
-
-span.keyword {
-       color: #008000
-}
-
-span.keywordtype {
-       color: #604020
-}
-
-span.keywordflow {
-       color: #e08000
-}
-
-span.comment {
-       color: #800000
-}
-
-span.preprocessor {
-       color: #806020
-}
-
-span.stringliteral {
-       color: #002080
-}
-
-span.charliteral {
-       color: #008080
-}
-
-span.vhdldigit { 
-       color: #ff00ff 
-}
-
-span.vhdlchar { 
-       color: #000000 
-}
-
-span.vhdlkeyword { 
-       color: #700070 
-}
-
-span.vhdllogic { 
-       color: #ff0000 
-}
-
-blockquote {
-        background-color: #F7F8FB;
-        border-left: 2px solid #9CAFD4;
-        margin: 0 24px 0 4px;
-        padding: 0 12px 0 16px;
-}
-
-/* @end */
-
-/*
-.search {
-       color: #003399;
-       font-weight: bold;
-}
-
-form.search {
-       margin-bottom: 0px;
-       margin-top: 0px;
-}
-
-input.search {
-       font-size: 75%;
-       color: #000080;
-       font-weight: normal;
-       background-color: #e8eef2;
-}
-*/
-
-td.tiny {
-       font-size: 75%;
-}
-
-.dirtab {
-       padding: 4px;
-       border-collapse: collapse;
-       border: 1px solid #A3B4D7;
-}
-
-th.dirtab {
-       background: #EBEFF6;
-       font-weight: bold;
-}
-
-hr {
-       height: 0px;
-       border: none;
-       border-top: 1px solid #4A6AAA;
-}
-
-hr.footer {
-       height: 1px;
-}
-
-/* @group Member Descriptions */
-
-table.memberdecls {
-       border-spacing: 0px;
-       padding: 0px;
-}
-
-.memberdecls td, .fieldtable tr {
-       -webkit-transition-property: background-color, box-shadow;
-       -webkit-transition-duration: 0.5s;
-       -moz-transition-property: background-color, box-shadow;
-       -moz-transition-duration: 0.5s;
-       -ms-transition-property: background-color, box-shadow;
-       -ms-transition-duration: 0.5s;
-       -o-transition-property: background-color, box-shadow;
-       -o-transition-duration: 0.5s;
-       transition-property: background-color, box-shadow;
-       transition-duration: 0.5s;
-}
-
-.memberdecls td.glow, .fieldtable tr.glow {
-       background-color: cyan;
-       box-shadow: 0 0 15px cyan;
-}
-
-.mdescLeft, .mdescRight,
-.memItemLeft, .memItemRight,
-.memTemplItemLeft, .memTemplItemRight, .memTemplParams {
-       background-color: #F9FAFC;
-       border: none;
-       margin: 4px;
-       padding: 1px 0 0 8px;
-}
-
-.mdescLeft, .mdescRight {
-       padding: 0px 8px 4px 8px;
-       color: #555;
-}
-
-.memSeparator {
-        border-bottom: 1px solid #DEE4F0;
-        line-height: 1px;
-        margin: 0px;
-        padding: 0px;
-}
-
-.memItemLeft, .memTemplItemLeft {
-        white-space: nowrap;
-}
-
-.memItemRight {
-       width: 100%;
-}
-
-.memTemplParams {
-       color: #4665A2;
-        white-space: nowrap;
-       font-size: 80%;
-}
-
-/* @end */
-
-/* @group Member Details */
-
-/* Styles for detailed member documentation */
-
-.memtemplate {
-       font-size: 80%;
-       color: #4665A2;
-       font-weight: normal;
-       margin-left: 9px;
-}
-
-.memnav {
-       background-color: #EBEFF6;
-       border: 1px solid #A3B4D7;
-       text-align: center;
-       margin: 2px;
-       margin-right: 15px;
-       padding: 2px;
-}
-
-.mempage {
-       width: 100%;
-}
-
-.memitem {
-       padding: 0;
-       margin-bottom: 10px;
-       margin-right: 5px;
-        -webkit-transition: box-shadow 0.5s linear;
-        -moz-transition: box-shadow 0.5s linear;
-        -ms-transition: box-shadow 0.5s linear;
-        -o-transition: box-shadow 0.5s linear;
-        transition: box-shadow 0.5s linear;
-        display: table !important;
-        width: 100%;
-}
-
-.memitem.glow {
-         box-shadow: 0 0 15px cyan;
-}
-
-.memname {
-        font-weight: bold;
-        margin-left: 6px;
-}
-
-.memname td {
-       vertical-align: bottom;
-}
-
-.memproto, dl.reflist dt {
-        border-top: 1px solid #A8B8D9;
-        border-left: 1px solid #A8B8D9;
-        border-right: 1px solid #A8B8D9;
-        padding: 6px 0px 6px 0px;
-        color: #253555;
-        font-weight: bold;
-        text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
-        background-image:url('nav_f.png');
-        background-repeat:repeat-x;
-        background-color: #E2E8F2;
-        /* opera specific markup */
-        box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
-        border-top-right-radius: 4px;
-        border-top-left-radius: 4px;
-        /* firefox specific markup */
-        -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
-        -moz-border-radius-topright: 4px;
-        -moz-border-radius-topleft: 4px;
-        /* webkit specific markup */
-        -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
-        -webkit-border-top-right-radius: 4px;
-        -webkit-border-top-left-radius: 4px;
-
-}
-
-.memdoc, dl.reflist dd {
-        border-bottom: 1px solid #A8B8D9;      
-        border-left: 1px solid #A8B8D9;      
-        border-right: 1px solid #A8B8D9; 
-        padding: 6px 10px 2px 10px;
-        background-color: #FBFCFD;
-        border-top-width: 0;
-        background-image:url('nav_g.png');
-        background-repeat:repeat-x;
-        background-color: #FFFFFF;
-        /* opera specific markup */
-        border-bottom-left-radius: 4px;
-        border-bottom-right-radius: 4px;
-        box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
-        /* firefox specific markup */
-        -moz-border-radius-bottomleft: 4px;
-        -moz-border-radius-bottomright: 4px;
-        -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
-        /* webkit specific markup */
-        -webkit-border-bottom-left-radius: 4px;
-        -webkit-border-bottom-right-radius: 4px;
-        -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
-}
-
-dl.reflist dt {
-        padding: 5px;
-}
-
-dl.reflist dd {
-        margin: 0px 0px 10px 0px;
-        padding: 5px;
-}
-
-.paramkey {
-       text-align: right;
-}
-
-.paramtype {
-       white-space: nowrap;
-}
-
-.paramname {
-       color: #602020;
-       white-space: nowrap;
-}
-.paramname em {
-       font-style: normal;
-}
-.paramname code {
-        line-height: 14px;
-}
-
-.params, .retval, .exception, .tparams {
-        margin-left: 0px;
-        padding-left: 0px;
-}       
-
-.params .paramname, .retval .paramname {
-        font-weight: bold;
-        vertical-align: top;
-}
-        
-.params .paramtype {
-        font-style: italic;
-        vertical-align: top;
-}       
-        
-.params .paramdir {
-        font-family: "courier new",courier,monospace;
-        vertical-align: top;
-}
-
-table.mlabels {
-       border-spacing: 0px;
-}
-
-td.mlabels-left {
-       width: 100%;
-       padding: 0px;
-}
-
-td.mlabels-right {
-       vertical-align: bottom;
-       padding: 0px;
-       white-space: nowrap;
-}
-
-span.mlabels {
-        margin-left: 8px;
-}
-
-span.mlabel {
-        background-color: #728DC1;
-        border-top:1px solid #5373B4;
-        border-left:1px solid #5373B4;
-        border-right:1px solid #C4CFE5;
-        border-bottom:1px solid #C4CFE5;
-       text-shadow: none;
-       color: white;
-       margin-right: 4px;
-       padding: 2px 3px;
-       border-radius: 3px;
-       font-size: 7pt;
-       white-space: nowrap;
-       vertical-align: middle;
-}
-
-
-
-/* @end */
-
-/* these are for tree view when not used as main index */
-
-div.directory {
-        margin: 10px 0px;
-        border-top: 1px solid #A8B8D9;
-        border-bottom: 1px solid #A8B8D9;
-        width: 100%;
-}
-
-.directory table {
-        border-collapse:collapse;
-}
-
-.directory td {
-        margin: 0px;
-        padding: 0px;
-       vertical-align: top;
-}
-
-.directory td.entry {
-        white-space: nowrap;
-        padding-right: 6px;
-       padding-top: 3px;
-}
-
-.directory td.entry a {
-        outline:none;
-}
-
-.directory td.entry a img {
-        border: none;
-}
-
-.directory td.desc {
-        width: 100%;
-        padding-left: 6px;
-       padding-right: 6px;
-       padding-top: 3px;
-       border-left: 1px solid rgba(0,0,0,0.05);
-}
-
-.directory tr.even {
-       padding-left: 6px;
-       background-color: #F7F8FB;
-}
-
-.directory img {
-       vertical-align: -30%;
-}
-
-.directory .levels {
-        white-space: nowrap;
-        width: 100%;
-        text-align: right;
-        font-size: 9pt;
-}
-
-.directory .levels span {
-        cursor: pointer;
-        padding-left: 2px;
-        padding-right: 2px;
-       color: #3D578C;
-}
-
-div.dynheader {
-        margin-top: 8px;
-       -webkit-touch-callout: none;
-       -webkit-user-select: none;
-       -khtml-user-select: none;
-       -moz-user-select: none;
-       -ms-user-select: none;
-       user-select: none;
-}
-
-address {
-       font-style: normal;
-       color: #2A3D61;
-}
-
-table.doxtable {
-       border-collapse:collapse;
-        margin-top: 4px;
-        margin-bottom: 4px;
-}
-
-table.doxtable td, table.doxtable th {
-       border: 1px solid #2D4068;
-       padding: 3px 7px 2px;
-}
-
-table.doxtable th {
-       background-color: #374F7F;
-       color: #FFFFFF;
-       font-size: 110%;
-       padding-bottom: 4px;
-       padding-top: 5px;
-}
-
-table.fieldtable {
-        /*width: 100%;*/
-        margin-bottom: 10px;
-        border: 1px solid #A8B8D9;
-        border-spacing: 0px;
-        -moz-border-radius: 4px;
-        -webkit-border-radius: 4px;
-        border-radius: 4px;
-        -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
-        -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);
-        box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);
-}
-
-.fieldtable td, .fieldtable th {
-        padding: 3px 7px 2px;
-}
-
-.fieldtable td.fieldtype, .fieldtable td.fieldname {
-        white-space: nowrap;
-        border-right: 1px solid #A8B8D9;
-        border-bottom: 1px solid #A8B8D9;
-        vertical-align: top;
-}
-
-.fieldtable td.fieldname {
-        padding-top: 3px;
-}
-
-.fieldtable td.fielddoc {
-        border-bottom: 1px solid #A8B8D9;
-        /*width: 100%;*/
-}
-
-.fieldtable td.fielddoc p:first-child {
-        margin-top: 0px;
-}       
-        
-.fieldtable td.fielddoc p:last-child {
-        margin-bottom: 2px;
-}
-
-.fieldtable tr:last-child td {
-        border-bottom: none;
-}
-
-.fieldtable th {
-        background-image:url('nav_f.png');
-        background-repeat:repeat-x;
-        background-color: #E2E8F2;
-        font-size: 90%;
-        color: #253555;
-        padding-bottom: 4px;
-        padding-top: 5px;
-        text-align:left;
-        -moz-border-radius-topleft: 4px;
-        -moz-border-radius-topright: 4px;
-        -webkit-border-top-left-radius: 4px;
-        -webkit-border-top-right-radius: 4px;
-        border-top-left-radius: 4px;
-        border-top-right-radius: 4px;
-        border-bottom: 1px solid #A8B8D9;
-}
-
-
-.tabsearch {
-       top: 0px;
-       left: 10px;
-       height: 36px;
-       background-image: url('tab_b.png');
-       z-index: 101;
-       overflow: hidden;
-       font-size: 13px;
-}
-
-.navpath ul
-{
-       font-size: 11px;
-       background-image:url('tab_b.png');
-       background-repeat:repeat-x;
-       background-position: 0 -5px;
-       height:30px;
-       line-height:30px;
-       color:#8AA0CC;
-       border:solid 1px #C2CDE4;
-       overflow:hidden;
-       margin:0px;
-       padding:0px;
-}
-
-.navpath li
-{
-       list-style-type:none;
-       float:left;
-       padding-left:10px;
-       padding-right:15px;
-       background-image:url('bc_s.png');
-       background-repeat:no-repeat;
-       background-position:right;
-       color:#364D7C;
-}
-
-.navpath li.navelem a
-{
-       height:32px;
-       display:block;
-       text-decoration: none;
-       outline: none;
-       color: #283A5D;
-       font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;
-       text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
-       text-decoration: none;        
-}
-
-.navpath li.navelem a:hover
-{
-       color:#6884BD;
-}
-
-.navpath li.footer
-{
-        list-style-type:none;
-        float:right;
-        padding-left:10px;
-        padding-right:15px;
-        background-image:none;
-        background-repeat:no-repeat;
-        background-position:right;
-        color:#364D7C;
-        font-size: 8pt;
-}
-
-
-div.summary
-{
-       float: right;
-       font-size: 8pt;
-       padding-right: 5px;
-       width: 50%;
-       text-align: right;
-}       
-
-div.summary a
-{
-       white-space: nowrap;
-}
-
-div.ingroups
-{
-       font-size: 8pt;
-       width: 50%;
-       text-align: left;
-}
-
-div.ingroups a
-{
-       white-space: nowrap;
-}
-
-div.header
-{
-        background-image:url('nav_h.png');
-        background-repeat:repeat-x;
-       background-color: #F9FAFC;
-       margin:  0px;
-       border-bottom: 1px solid #C4CFE5;
-}
-
-div.headertitle
-{
-       padding: 5px 5px 5px 10px;
-}
-
-dl
-{
-        padding: 0 0 0 10px;
-}
-
-/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */
-dl.section
-{
-       margin-left: 0px;
-       padding-left: 0px;
-}
-
-dl.note
-{
-        margin-left:-7px;
-        padding-left: 3px;
-        border-left:4px solid;
-        border-color: #D0C000;
-}
-
-dl.warning, dl.attention
-{
-        margin-left:-7px;
-        padding-left: 3px;
-        border-left:4px solid;
-        border-color: #FF0000;
-}
-
-dl.pre, dl.post, dl.invariant
-{
-        margin-left:-7px;
-        padding-left: 3px;
-        border-left:4px solid;
-        border-color: #00D000;
-}
-
-dl.deprecated
-{
-        margin-left:-7px;
-        padding-left: 3px;
-        border-left:4px solid;
-        border-color: #505050;
-}
-
-dl.todo
-{
-        margin-left:-7px;
-        padding-left: 3px;
-        border-left:4px solid;
-        border-color: #00C0E0;
-}
-
-dl.test
-{
-        margin-left:-7px;
-        padding-left: 3px;
-        border-left:4px solid;
-        border-color: #3030E0;
-}
-
-dl.bug
-{
-        margin-left:-7px;
-        padding-left: 3px;
-        border-left:4px solid;
-        border-color: #C08050;
-}
-
-dl.section dd {
-       margin-bottom: 6px;
-}
-
-
-#projectlogo
-{
-       text-align: center;
-       vertical-align: bottom;
-       border-collapse: separate;
-}
-#projectlogo img
-{ 
-       border: 0px none;
-}
-#projectname
-{
-       font: 300% Tahoma, Arial,sans-serif;
-       margin: 0px;
-       padding: 2px 0px;
-}
-    
-#projectbrief
-{
-       font: 120% Tahoma, Arial,sans-serif;
-       margin: 0px;
-       padding: 0px;
-}
-
-#projectnumber
-{
-       font: 50% Tahoma, Arial,sans-serif;
-       margin: 0px;
-       padding: 0px;
-}
-
-#titlearea
-{
-       padding: 0px;
-       margin: 0px;
-       width: 100%;
-       border-bottom: 1px solid #5373B4;
-}
-
-.image
-{
-        text-align: center;
-}
-
-.dotgraph
-{
-        text-align: center;
-}
-
-.mscgraph
-{
-        text-align: center;
-}
-
-.diagraph
-{
-        text-align: center;
-}
-
-.caption
-{
-       font-weight: bold;
-}
-
-div.zoom
-{
-       border: 1px solid #90A5CE;
-}
-
-dl.citelist {
-        margin-bottom:50px;
-}
-
-dl.citelist dt {
-        color:#334975;
-        float:left;
-        font-weight:bold;
-        margin-right:10px;
-        padding:5px;
-}
-
-dl.citelist dd {
-        margin:2px 0;
-        padding:5px 0;
-}
-
-div.toc {
-        padding: 14px 25px;
-        background-color: #F4F6FA;
-        border: 1px solid #D8DFEE;
-        border-radius: 7px 7px 7px 7px;
-        float: right;
-        height: auto;
-        margin: 0 20px 10px 10px;
-        width: 200px;
-}
-
-div.toc li {
-        background: url("bdwn.png") no-repeat scroll 0 5px transparent;
-        font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif;
-        margin-top: 5px;
-        padding-left: 10px;
-        padding-top: 2px;
-}
-
-div.toc h3 {
-        font: bold 12px/1.2 Arial,FreeSans,sans-serif;
-       color: #4665A2;
-        border-bottom: 0 none;
-        margin: 0;
-}
-
-div.toc ul {
-        list-style: none outside none;
-        border: medium none;
-        padding: 0px;
-}       
-
-div.toc li.level1 {
-        margin-left: 0px;
-}
-
-div.toc li.level2 {
-        margin-left: 15px;
-}
-
-div.toc li.level3 {
-        margin-left: 30px;
-}
-
-div.toc li.level4 {
-        margin-left: 45px;
-}
-
-.inherit_header {
-        font-weight: bold;
-        color: gray;
-        cursor: pointer;
-       -webkit-touch-callout: none;
-       -webkit-user-select: none;
-       -khtml-user-select: none;
-       -moz-user-select: none;
-       -ms-user-select: none;
-       user-select: none;
-}
-
-.inherit_header td {
-        padding: 6px 0px 2px 5px;
-}
-
-.inherit {
-        display: none;
-}
-
-tr.heading h2 {
-        margin-top: 12px;
-        margin-bottom: 4px;
-}
-
-/* tooltip related style info */
-
-.ttc {
-        position: absolute;
-        display: none;
-}
-
-#powerTip {
-       cursor: default;
-       white-space: nowrap;
-       background-color: white;
-       border: 1px solid gray;
-       border-radius: 4px 4px 4px 4px;
-       box-shadow: 1px 1px 7px gray;
-       display: none;
-       font-size: smaller;
-       max-width: 80%;
-       opacity: 0.9;
-       padding: 1ex 1em 1em;
-       position: absolute;
-       z-index: 2147483647;
-}
-
-#powerTip div.ttdoc {
-        color: grey;
-       font-style: italic;
-}
-
-#powerTip div.ttname a {
-        font-weight: bold;
-}
-
-#powerTip div.ttname {
-        font-weight: bold;
-}
-
-#powerTip div.ttdeci {
-        color: #006318;
-}
-
-#powerTip div {
-        margin: 0px;
-        padding: 0px;
-        font: 12px/16px Roboto,sans-serif;
-}
-
-#powerTip:before, #powerTip:after {
-       content: "";
-       position: absolute;
-       margin: 0px;
-}
-
-#powerTip.n:after,  #powerTip.n:before,
-#powerTip.s:after,  #powerTip.s:before,
-#powerTip.w:after,  #powerTip.w:before,
-#powerTip.e:after,  #powerTip.e:before,
-#powerTip.ne:after, #powerTip.ne:before,
-#powerTip.se:after, #powerTip.se:before,
-#powerTip.nw:after, #powerTip.nw:before,
-#powerTip.sw:after, #powerTip.sw:before {
-       border: solid transparent;
-       content: " ";
-       height: 0;
-       width: 0;
-       position: absolute;
-}
-
-#powerTip.n:after,  #powerTip.s:after,
-#powerTip.w:after,  #powerTip.e:after,
-#powerTip.nw:after, #powerTip.ne:after,
-#powerTip.sw:after, #powerTip.se:after {
-       border-color: rgba(255, 255, 255, 0);
-}
-
-#powerTip.n:before,  #powerTip.s:before,
-#powerTip.w:before,  #powerTip.e:before,
-#powerTip.nw:before, #powerTip.ne:before,
-#powerTip.sw:before, #powerTip.se:before {
-       border-color: rgba(128, 128, 128, 0);
-}
-
-#powerTip.n:after,  #powerTip.n:before,
-#powerTip.ne:after, #powerTip.ne:before,
-#powerTip.nw:after, #powerTip.nw:before {
-       top: 100%;
-}
-
-#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after {
-       border-top-color: #ffffff;
-       border-width: 10px;
-       margin: 0px -10px;
-}
-#powerTip.n:before {
-       border-top-color: #808080;
-       border-width: 11px;
-       margin: 0px -11px;
-}
-#powerTip.n:after, #powerTip.n:before {
-       left: 50%;
-}
-
-#powerTip.nw:after, #powerTip.nw:before {
-       right: 14px;
-}
-
-#powerTip.ne:after, #powerTip.ne:before {
-       left: 14px;
-}
-
-#powerTip.s:after,  #powerTip.s:before,
-#powerTip.se:after, #powerTip.se:before,
-#powerTip.sw:after, #powerTip.sw:before {
-       bottom: 100%;
-}
-
-#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after {
-       border-bottom-color: #ffffff;
-       border-width: 10px;
-       margin: 0px -10px;
-}
-
-#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before {
-       border-bottom-color: #808080;
-       border-width: 11px;
-       margin: 0px -11px;
-}
-
-#powerTip.s:after, #powerTip.s:before {
-       left: 50%;
-}
-
-#powerTip.sw:after, #powerTip.sw:before {
-       right: 14px;
-}
-
-#powerTip.se:after, #powerTip.se:before {
-       left: 14px;
-}
-
-#powerTip.e:after, #powerTip.e:before {
-       left: 100%;
-}
-#powerTip.e:after {
-       border-left-color: #ffffff;
-       border-width: 10px;
-       top: 50%;
-       margin-top: -10px;
-}
-#powerTip.e:before {
-       border-left-color: #808080;
-       border-width: 11px;
-       top: 50%;
-       margin-top: -11px;
-}
-
-#powerTip.w:after, #powerTip.w:before {
-       right: 100%;
-}
-#powerTip.w:after {
-       border-right-color: #ffffff;
-       border-width: 10px;
-       top: 50%;
-       margin-top: -10px;
-}
-#powerTip.w:before {
-       border-right-color: #808080;
-       border-width: 11px;
-       top: 50%;
-       margin-top: -11px;
-}
-
-@media print
-{
-  #top { display: none; }
-  #side-nav { display: none; }
-  #nav-path { display: none; }
-  body { overflow:visible; }
-  h1, h2, h3, h4, h5, h6 { page-break-after: avoid; }
-  .summary { display: none; }
-  .memitem { page-break-inside: avoid; }
-  #doc-content
-  {
-    margin-left:0 !important;
-    height:auto !important;
-    width:auto !important;
-    overflow:inherit;
-    display:inline;
-  }
-}
-
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/doxygen.png b/external/wakaama/examples/shared/tinydtls/doc/html/doxygen.png
deleted file mode 100644 (file)
index 3ff17d8..0000000
Binary files a/external/wakaama/examples/shared/tinydtls/doc/html/doxygen.png and /dev/null differ
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/dtls_8c.html b/external/wakaama/examples/shared/tinydtls/doc/html/dtls_8c.html
deleted file mode 100644 (file)
index c0ad0f5..0000000
+++ /dev/null
@@ -1,4768 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: dtls.c File Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#define-members">Macros</a> &#124;
-<a href="#func-members">Functions</a> &#124;
-<a href="#var-members">Variables</a>  </div>
-  <div class="headertitle">
-<div class="title">dtls.c File Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock"><code>#include &quot;<a class="el" href="tinydtls_8h_source.html">tinydtls.h</a>&quot;</code><br/>
-<code>#include &quot;<a class="el" href="dtls__config_8h_source.html">dtls_config.h</a>&quot;</code><br/>
-<code>#include &quot;<a class="el" href="dtls__time_8h_source.html">dtls_time.h</a>&quot;</code><br/>
-<code>#include &lt;stdio.h&gt;</code><br/>
-<code>#include &lt;stdlib.h&gt;</code><br/>
-<code>#include &lt;assert.h&gt;</code><br/>
-<code>#include &quot;<a class="el" href="uthash_8h_source.html">uthash.h</a>&quot;</code><br/>
-<code>#include &quot;<a class="el" href="debug_8h_source.html">debug.h</a>&quot;</code><br/>
-<code>#include &quot;<a class="el" href="numeric_8h_source.html">numeric.h</a>&quot;</code><br/>
-<code>#include &quot;<a class="el" href="netq_8h_source.html">netq.h</a>&quot;</code><br/>
-<code>#include &quot;<a class="el" href="dtls_8h_source.html">dtls.h</a>&quot;</code><br/>
-<code>#include &quot;<a class="el" href="alert_8h_source.html">alert.h</a>&quot;</code><br/>
-<code>#include &quot;<a class="el" href="session_8h_source.html">session.h</a>&quot;</code><br/>
-<code>#include &quot;<a class="el" href="prng_8h_source.html">prng.h</a>&quot;</code><br/>
-<code>#include &quot;sha2/sha2.h&quot;</code><br/>
-</div>
-<p><a href="dtls_8c_source.html">Go to the source code of this file.</a></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
-Macros</h2></td></tr>
-<tr class="memitem:aebefc949b2298e7de7b95b715874d407"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#aebefc949b2298e7de7b95b715874d407">dtls_set_version</a>(H, V)&#160;&#160;&#160;<a class="el" href="numeric_8h.html#a074d352855e1ffde4c2ddb6a6fea01b9">dtls_int_to_uint16</a>((H)-&gt;version, (V))</td></tr>
-<tr class="separator:aebefc949b2298e7de7b95b715874d407"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8e0ab8b3ce70468c29820cafe96cd365"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a8e0ab8b3ce70468c29820cafe96cd365">dtls_set_content_type</a>(H, V)&#160;&#160;&#160;((H)-&gt;content_type = (V) &amp; 0xff)</td></tr>
-<tr class="separator:a8e0ab8b3ce70468c29820cafe96cd365"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9f723101896941fa44ea701c4dfd3591"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a9f723101896941fa44ea701c4dfd3591">dtls_set_length</a>(H, V)&#160;&#160;&#160;((H)-&gt;length = (V))</td></tr>
-<tr class="separator:a9f723101896941fa44ea701c4dfd3591"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa02d6b65a8864468c2b8cfbe79084467"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#aa02d6b65a8864468c2b8cfbe79084467">dtls_get_content_type</a>(H)&#160;&#160;&#160;((H)-&gt;content_type &amp; 0xff)</td></tr>
-<tr class="separator:aa02d6b65a8864468c2b8cfbe79084467"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a22d6bcdee257de4be562aee0be9c87fb"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a22d6bcdee257de4be562aee0be9c87fb">dtls_get_version</a>(H)&#160;&#160;&#160;<a class="el" href="numeric_8h.html#ae32dd0743658f1aa5a723d5a8357521f">dtls_uint16_to_int</a>((H)-&gt;version)</td></tr>
-<tr class="separator:a22d6bcdee257de4be562aee0be9c87fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a175d8e65080497463d13caf20e961500"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a175d8e65080497463d13caf20e961500">dtls_get_epoch</a>(H)&#160;&#160;&#160;<a class="el" href="numeric_8h.html#ae32dd0743658f1aa5a723d5a8357521f">dtls_uint16_to_int</a>((H)-&gt;epoch)</td></tr>
-<tr class="separator:a175d8e65080497463d13caf20e961500"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a41f28f63e60a1a0b45a77d62bb5380e7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a41f28f63e60a1a0b45a77d62bb5380e7">dtls_get_sequence_number</a>(H)&#160;&#160;&#160;dtls_uint48_to_ulong((H)-&gt;sequence_number)</td></tr>
-<tr class="separator:a41f28f63e60a1a0b45a77d62bb5380e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aad633ed0a80e25b3884d119a8d8aeaff"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#aad633ed0a80e25b3884d119a8d8aeaff">dtls_get_fragment_length</a>(H)&#160;&#160;&#160;<a class="el" href="numeric_8h.html#a238931e9197ce422acfba569deb2af71">dtls_uint24_to_int</a>((H)-&gt;fragment_length)</td></tr>
-<tr class="separator:aad633ed0a80e25b3884d119a8d8aeaff"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0ce6e5416f5479558116b881d3eb1ad6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a0ce6e5416f5479558116b881d3eb1ad6">HASH_FIND_PEER</a>(head, sess, out)&#160;&#160;&#160;<a class="el" href="uthash_8h.html#ad4a1cd39c3044936c0e49d3f372c9dbf">HASH_FIND</a>(hh,head,sess,sizeof(<a class="el" href="structsession__t.html">session_t</a>),out)</td></tr>
-<tr class="separator:a0ce6e5416f5479558116b881d3eb1ad6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:acf0d50c9f224c0677988f13e947e9523"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#acf0d50c9f224c0677988f13e947e9523">HASH_ADD_PEER</a>(head, sess, add)&#160;&#160;&#160;<a class="el" href="uthash_8h.html#aaf01358e257c8d838eb5e4b189f0c399">HASH_ADD</a>(hh,head,sess,sizeof(<a class="el" href="structsession__t.html">session_t</a>),add)</td></tr>
-<tr class="separator:acf0d50c9f224c0677988f13e947e9523"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0844494b0b76acb7bcf832ae74fb25c0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a0844494b0b76acb7bcf832ae74fb25c0">HASH_DEL_PEER</a>(head, delptr)&#160;&#160;&#160;<a class="el" href="uthash_8h.html#a3f83117e1108d63844a58d2d79c3b980">HASH_DELETE</a>(hh,head,delptr)</td></tr>
-<tr class="separator:a0844494b0b76acb7bcf832ae74fb25c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae97c368900c13dc7074c09e8848afa8f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#ae97c368900c13dc7074c09e8848afa8f">DTLS_RH_LENGTH</a>&#160;&#160;&#160;sizeof(<a class="el" href="dtls_8h.html#a81936df7abb2c16aa897e3018aa24399">dtls_record_header_t</a>)</td></tr>
-<tr class="separator:ae97c368900c13dc7074c09e8848afa8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a520419d1976b301c508721faed549b4f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a520419d1976b301c508721faed549b4f">DTLS_HS_LENGTH</a>&#160;&#160;&#160;sizeof(<a class="el" href="dtls_8h.html#a5c6625ffcf61189392768253e8919a45">dtls_handshake_header_t</a>)</td></tr>
-<tr class="separator:a520419d1976b301c508721faed549b4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:affe47ee08ad0e6a54d4f0c2a7f412675"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#affe47ee08ad0e6a54d4f0c2a7f412675">DTLS_CH_LENGTH</a>&#160;&#160;&#160;sizeof(<a class="el" href="dtls_8h.html#aa9ebc35a08295c2ae09d4248ba8e6456">dtls_client_hello_t</a>) /* no variable length fields! */</td></tr>
-<tr class="separator:affe47ee08ad0e6a54d4f0c2a7f412675"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:abd652cf0e4512727591d3ec8ca066ace"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#abd652cf0e4512727591d3ec8ca066ace">DTLS_COOKIE_LENGTH_MAX</a>&#160;&#160;&#160;32</td></tr>
-<tr class="separator:abd652cf0e4512727591d3ec8ca066ace"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa5a4609da11d9496490853de9c2bf6fa"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#aa5a4609da11d9496490853de9c2bf6fa">DTLS_CH_LENGTH_MAX</a>&#160;&#160;&#160;sizeof(<a class="el" href="dtls_8h.html#aa9ebc35a08295c2ae09d4248ba8e6456">dtls_client_hello_t</a>) + <a class="el" href="dtls_8c.html#abd652cf0e4512727591d3ec8ca066ace">DTLS_COOKIE_LENGTH_MAX</a> + 12 + 26</td></tr>
-<tr class="separator:aa5a4609da11d9496490853de9c2bf6fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a85d3d5311baabdaa06b7824528eef4e5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a85d3d5311baabdaa06b7824528eef4e5">DTLS_HV_LENGTH</a>&#160;&#160;&#160;sizeof(<a class="el" href="dtls_8h.html#abd61d526ef995e63a6debfd8ddda9e98">dtls_hello_verify_t</a>)</td></tr>
-<tr class="separator:a85d3d5311baabdaa06b7824528eef4e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:afcca5dc5ebcc9eb8141ca0b49b647676"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#afcca5dc5ebcc9eb8141ca0b49b647676">DTLS_SH_LENGTH</a>&#160;&#160;&#160;(2 + <a class="el" href="crypto_8h.html#a5a0bdff7c0889f35601b4935098508a0">DTLS_RANDOM_LENGTH</a> + 1 + 2 + 1)</td></tr>
-<tr class="separator:afcca5dc5ebcc9eb8141ca0b49b647676"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6570b93f9f19e6abceef85c566fe3696"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a6570b93f9f19e6abceef85c566fe3696">DTLS_CE_LENGTH</a>&#160;&#160;&#160;(3 + 3 + 27 + <a class="el" href="crypto_8h.html#a9b039263057e157e1427c5d316133c3d">DTLS_EC_KEY_SIZE</a> + <a class="el" href="crypto_8h.html#a9b039263057e157e1427c5d316133c3d">DTLS_EC_KEY_SIZE</a>)</td></tr>
-<tr class="separator:a6570b93f9f19e6abceef85c566fe3696"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad9481c39cd66eac3059df28aef1e9843"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#ad9481c39cd66eac3059df28aef1e9843">DTLS_SKEXEC_LENGTH</a>&#160;&#160;&#160;(1 + 2 + 1 + 1 + <a class="el" href="crypto_8h.html#a9b039263057e157e1427c5d316133c3d">DTLS_EC_KEY_SIZE</a> + <a class="el" href="crypto_8h.html#a9b039263057e157e1427c5d316133c3d">DTLS_EC_KEY_SIZE</a> + 1 + 1 + 2 + 70)</td></tr>
-<tr class="separator:ad9481c39cd66eac3059df28aef1e9843"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4c0c656efcfd0e33595914171e51ae6d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a4c0c656efcfd0e33595914171e51ae6d">DTLS_SKEXECPSK_LENGTH_MIN</a>&#160;&#160;&#160;2</td></tr>
-<tr class="separator:a4c0c656efcfd0e33595914171e51ae6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8a4dc9af457241380a01c8e38fdc4e2d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a8a4dc9af457241380a01c8e38fdc4e2d">DTLS_SKEXECPSK_LENGTH_MAX</a>&#160;&#160;&#160;2 + <a class="el" href="crypto_8h.html#ab96c8e0773a14d1ce1621eed1a78e2bd">DTLS_PSK_MAX_CLIENT_IDENTITY_LEN</a></td></tr>
-<tr class="separator:a8a4dc9af457241380a01c8e38fdc4e2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a674da4ca826bf1206ec8053f4c9eb336"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a674da4ca826bf1206ec8053f4c9eb336">DTLS_CKXPSK_LENGTH_MIN</a>&#160;&#160;&#160;2</td></tr>
-<tr class="separator:a674da4ca826bf1206ec8053f4c9eb336"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5ddccf12706c8d18d80b7759454ca164"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a5ddccf12706c8d18d80b7759454ca164">DTLS_CKXEC_LENGTH</a>&#160;&#160;&#160;(1 + 1 + <a class="el" href="crypto_8h.html#a9b039263057e157e1427c5d316133c3d">DTLS_EC_KEY_SIZE</a> + <a class="el" href="crypto_8h.html#a9b039263057e157e1427c5d316133c3d">DTLS_EC_KEY_SIZE</a>)</td></tr>
-<tr class="separator:a5ddccf12706c8d18d80b7759454ca164"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0bcce8fa79dc3187eb5f1655798ac816"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a0bcce8fa79dc3187eb5f1655798ac816">DTLS_CV_LENGTH</a>&#160;&#160;&#160;(1 + 1 + 2 + 1 + 1 + 1 + 1 + <a class="el" href="crypto_8h.html#a9b039263057e157e1427c5d316133c3d">DTLS_EC_KEY_SIZE</a> + 1 + 1 + <a class="el" href="crypto_8h.html#a9b039263057e157e1427c5d316133c3d">DTLS_EC_KEY_SIZE</a>)</td></tr>
-<tr class="separator:a0bcce8fa79dc3187eb5f1655798ac816"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a21644ea2de742395df1e3b3281ba4f63"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a21644ea2de742395df1e3b3281ba4f63">DTLS_FIN_LENGTH</a>&#160;&#160;&#160;12</td></tr>
-<tr class="separator:a21644ea2de742395df1e3b3281ba4f63"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a76388c15f1b77d3c5b9d8068e8c0a087"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a76388c15f1b77d3c5b9d8068e8c0a087">HS_HDR_LENGTH</a>&#160;&#160;&#160;<a class="el" href="dtls_8c.html#ae97c368900c13dc7074c09e8848afa8f">DTLS_RH_LENGTH</a> + <a class="el" href="dtls_8c.html#a520419d1976b301c508721faed549b4f">DTLS_HS_LENGTH</a></td></tr>
-<tr class="separator:a76388c15f1b77d3c5b9d8068e8c0a087"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a07a808dc78df3141fe5caba2a3e2226b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a07a808dc78df3141fe5caba2a3e2226b">HV_HDR_LENGTH</a>&#160;&#160;&#160;<a class="el" href="dtls_8c.html#a76388c15f1b77d3c5b9d8068e8c0a087">HS_HDR_LENGTH</a> + <a class="el" href="dtls_8c.html#a85d3d5311baabdaa06b7824528eef4e5">DTLS_HV_LENGTH</a></td></tr>
-<tr class="separator:a07a808dc78df3141fe5caba2a3e2226b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa5a8f0d3793bb3b194ca364b596ab01d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#aa5a8f0d3793bb3b194ca364b596ab01d">HIGH</a>(V)&#160;&#160;&#160;(((V) &gt;&gt; 8) &amp; 0xff)</td></tr>
-<tr class="separator:aa5a8f0d3793bb3b194ca364b596ab01d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a69edf0296cf64026686d4ff4424d4e8f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a69edf0296cf64026686d4ff4424d4e8f">LOW</a>(V)&#160;&#160;&#160;((V) &amp; 0xff)</td></tr>
-<tr class="separator:a69edf0296cf64026686d4ff4424d4e8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a35d050593196252c1826ac2e82cbac0b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a35d050593196252c1826ac2e82cbac0b">DTLS_RECORD_HEADER</a>(M)&#160;&#160;&#160;((<a class="el" href="dtls_8h.html#a81936df7abb2c16aa897e3018aa24399">dtls_record_header_t</a> *)(M))</td></tr>
-<tr class="separator:a35d050593196252c1826ac2e82cbac0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2cc930733d35ea870c7a0a131bee0d7a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a2cc930733d35ea870c7a0a131bee0d7a">DTLS_HANDSHAKE_HEADER</a>(M)&#160;&#160;&#160;((<a class="el" href="dtls_8h.html#a5c6625ffcf61189392768253e8919a45">dtls_handshake_header_t</a> *)(M))</td></tr>
-<tr class="separator:a2cc930733d35ea870c7a0a131bee0d7a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a354c84e6c783c5d0cdbf905c27e77dc4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a354c84e6c783c5d0cdbf905c27e77dc4">HANDSHAKE</a>(M)&#160;&#160;&#160;((<a class="el" href="dtls_8h.html#a5c6625ffcf61189392768253e8919a45">dtls_handshake_header_t</a> *)((M) + <a class="el" href="dtls_8c.html#ae97c368900c13dc7074c09e8848afa8f">DTLS_RH_LENGTH</a>))</td></tr>
-<tr class="separator:a354c84e6c783c5d0cdbf905c27e77dc4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0800e26c09602d197e929fcc8ba783d5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a0800e26c09602d197e929fcc8ba783d5">CLIENTHELLO</a>(M)&#160;&#160;&#160;((<a class="el" href="dtls_8h.html#aa9ebc35a08295c2ae09d4248ba8e6456">dtls_client_hello_t</a> *)((M) + <a class="el" href="dtls_8c.html#a76388c15f1b77d3c5b9d8068e8c0a087">HS_HDR_LENGTH</a>))</td></tr>
-<tr class="separator:a0800e26c09602d197e929fcc8ba783d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a09a0896d586ff27855ced6930cc17023"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a09a0896d586ff27855ced6930cc17023">SKIP_VAR_FIELD</a>(P, L, T)</td></tr>
-<tr class="separator:a09a0896d586ff27855ced6930cc17023"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:abac8adda40bcb694e059e38f6ac115f9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#abac8adda40bcb694e059e38f6ac115f9">PRF_LABEL</a>(Label)&#160;&#160;&#160;prf_label_##Label</td></tr>
-<tr class="separator:abac8adda40bcb694e059e38f6ac115f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a83b260e812e69f1dae18497d167770a9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a83b260e812e69f1dae18497d167770a9">PRF_LABEL_SIZE</a>(Label)&#160;&#160;&#160;(sizeof(<a class="el" href="dtls_8c.html#abac8adda40bcb694e059e38f6ac115f9">PRF_LABEL</a>(Label)) - 1)</td></tr>
-<tr class="separator:a83b260e812e69f1dae18497d167770a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3e132aba78de736930255d40ef3f2d34"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a3e132aba78de736930255d40ef3f2d34">CALL</a>(Context, which,...)</td></tr>
-<tr class="separator:a3e132aba78de736930255d40ef3f2d34"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aee0f4f3d8541ea6ab9c204761cc6082e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#aee0f4f3d8541ea6ab9c204761cc6082e">A_DATA_LEN</a>&#160;&#160;&#160;13</td></tr>
-<tr class="separator:aee0f4f3d8541ea6ab9c204761cc6082e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9279d8f0e7c7b30f968ed085b5a3136f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a9279d8f0e7c7b30f968ed085b5a3136f">MUST_HASH</a>(Type, Data, Length)</td></tr>
-<tr class="separator:a9279d8f0e7c7b30f968ed085b5a3136f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a97496e1be0f2fe54873b35ee8bf0d462"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a97496e1be0f2fe54873b35ee8bf0d462">mycookie</a>&#160;&#160;&#160;(buf + <a class="el" href="dtls_8c.html#a85d3d5311baabdaa06b7824528eef4e5">DTLS_HV_LENGTH</a>)</td></tr>
-<tr class="separator:a97496e1be0f2fe54873b35ee8bf0d462"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab7a17e13b17da97cbef046b20cd7280f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#ab7a17e13b17da97cbef046b20cd7280f">R_KEY_OFFSET</a>&#160;&#160;&#160;(1 + 1 + 2 + 1 + 1 + 1 + 1)</td></tr>
-<tr class="separator:ab7a17e13b17da97cbef046b20cd7280f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2cf5795397ac5779f281543fc0f44ae9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a2cf5795397ac5779f281543fc0f44ae9">S_KEY_OFFSET</a>(len_s)&#160;&#160;&#160;(<a class="el" href="dtls_8c.html#ab7a17e13b17da97cbef046b20cd7280f">R_KEY_OFFSET</a> + (len_s) + 1 + 1)</td></tr>
-<tr class="separator:a2cf5795397ac5779f281543fc0f44ae9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aee0f4f3d8541ea6ab9c204761cc6082e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#aee0f4f3d8541ea6ab9c204761cc6082e">A_DATA_LEN</a>&#160;&#160;&#160;13</td></tr>
-<tr class="separator:aee0f4f3d8541ea6ab9c204761cc6082e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:a9e02f1c6e70dab40e56d5131a259521a"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structdtls__context__t.html">dtls_context_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a9e02f1c6e70dab40e56d5131a259521a">malloc_context</a> ()</td></tr>
-<tr class="separator:a9e02f1c6e70dab40e56d5131a259521a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa2f1fb16f297640b319ff0d864139ea5"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#aa2f1fb16f297640b319ff0d864139ea5">free_context</a> (<a class="el" href="structdtls__context__t.html">dtls_context_t</a> *context)</td></tr>
-<tr class="separator:aa2f1fb16f297640b319ff0d864139ea5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac203466e393ac9030d405c8f0496e9cd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#ac203466e393ac9030d405c8f0496e9cd">dtls_init</a> ()</td></tr>
-<tr class="separator:ac203466e393ac9030d405c8f0496e9cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa89745c0af073102c9c350d28a84214d"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#aa89745c0af073102c9c350d28a84214d">dtls_send_multi</a> (<a class="el" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *peer, <a class="el" href="structdtls__security__parameters__t.html">dtls_security_parameters_t</a> *security, <a class="el" href="structsession__t.html">session_t</a> *session, unsigned char type, <a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *buf_array[], size_t buf_len_array[], size_t buf_array_len)</td></tr>
-<tr class="separator:aa89745c0af073102c9c350d28a84214d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:afdd0d094bfd136f65455e23fda087cd6"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#afdd0d094bfd136f65455e23fda087cd6">dtls_send</a> (<a class="el" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *peer, unsigned char type, <a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *buf, size_t buflen)</td></tr>
-<tr class="separator:afdd0d094bfd136f65455e23fda087cd6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3742f5067d1b0693d6a41e70d4ecd5b5"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a3742f5067d1b0693d6a41e70d4ecd5b5">dtls_stop_retransmission</a> (<a class="el" href="structdtls__context__t.html">dtls_context_t</a> *context, <a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *peer)</td></tr>
-<tr class="separator:a3742f5067d1b0693d6a41e70d4ecd5b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a70333bea2db35153177347b5c7700cab"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a70333bea2db35153177347b5c7700cab">dtls_get_peer</a> (const <a class="el" href="structdtls__context__t.html">dtls_context_t</a> *ctx, const <a class="el" href="structsession__t.html">session_t</a> *session)</td></tr>
-<tr class="separator:a70333bea2db35153177347b5c7700cab"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae4a2961a027959f907145f82ca9107c3"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#ae4a2961a027959f907145f82ca9107c3">dtls_add_peer</a> (<a class="el" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *peer)</td></tr>
-<tr class="separator:ae4a2961a027959f907145f82ca9107c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1e338587fb19c794c8d19bc2801f2eb2"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a1e338587fb19c794c8d19bc2801f2eb2">dtls_write</a> (struct <a class="el" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="el" href="structsession__t.html">session_t</a> *dst, <a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *buf, size_t len)</td></tr>
-<tr class="separator:a1e338587fb19c794c8d19bc2801f2eb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8546683053c19be38b23aa9042139f4b"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a8546683053c19be38b23aa9042139f4b">dtls_get_cookie</a> (<a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *msg, size_t msglen, <a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> **cookie)</td></tr>
-<tr class="separator:a8546683053c19be38b23aa9042139f4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a45841106ebcb5b1373c0312842b90943"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a45841106ebcb5b1373c0312842b90943">dtls_create_cookie</a> (<a class="el" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="el" href="structsession__t.html">session_t</a> *session, <a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *msg, size_t msglen, <a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *cookie, int *clen)</td></tr>
-<tr class="separator:a45841106ebcb5b1373c0312842b90943"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aaafa285eb634873480c0ff429edd8064"><td class="memItemLeft" align="right" valign="top">static unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#aaafa285eb634873480c0ff429edd8064">is_record</a> (<a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *msg, size_t msglen)</td></tr>
-<tr class="separator:aaafa285eb634873480c0ff429edd8064"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a734cf32b1c8b99e21d57006da24fd808"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a734cf32b1c8b99e21d57006da24fd808">dtls_set_record_header</a> (<a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> type, <a class="el" href="structdtls__security__parameters__t.html">dtls_security_parameters_t</a> *security, <a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *buf)</td></tr>
-<tr class="separator:a734cf32b1c8b99e21d57006da24fd808"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab43d3a34ddaf0f5bfaa2b0b3e76e25d1"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#ab43d3a34ddaf0f5bfaa2b0b3e76e25d1">dtls_set_handshake_header</a> (<a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> type, <a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *peer, int length, int frag_offset, int frag_length, <a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *buf)</td></tr>
-<tr class="separator:ab43d3a34ddaf0f5bfaa2b0b3e76e25d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8098a728e5fff33ceeb7f57ebd48a212"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a8098a728e5fff33ceeb7f57ebd48a212">is_tls_ecdhe_ecdsa_with_aes_128_ccm_8</a> (<a class="el" href="global_8h.html#ada7e71454d685b693df45b2c1ea0c59b">dtls_cipher_t</a> cipher)</td></tr>
-<tr class="separator:a8098a728e5fff33ceeb7f57ebd48a212"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8bb6e8bb947b943d2af4c1886a8e72ba"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a8bb6e8bb947b943d2af4c1886a8e72ba">is_tls_psk_with_aes_128_ccm_8</a> (<a class="el" href="global_8h.html#ada7e71454d685b693df45b2c1ea0c59b">dtls_cipher_t</a> cipher)</td></tr>
-<tr class="separator:a8bb6e8bb947b943d2af4c1886a8e72ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3bbccb275cb23e84c0a148a157955770"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a3bbccb275cb23e84c0a148a157955770">is_psk_supported</a> (<a class="el" href="structdtls__context__t.html">dtls_context_t</a> *ctx)</td></tr>
-<tr class="separator:a3bbccb275cb23e84c0a148a157955770"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:abb41f4bb9b8e4218ef5115ce70ebdc21"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#abb41f4bb9b8e4218ef5115ce70ebdc21">is_ecdsa_supported</a> (<a class="el" href="structdtls__context__t.html">dtls_context_t</a> *ctx, int is_client)</td></tr>
-<tr class="separator:abb41f4bb9b8e4218ef5115ce70ebdc21"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a599f0d6e9134869e55b64c4f8720ebfa"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a599f0d6e9134869e55b64c4f8720ebfa">is_ecdsa_client_auth_supported</a> (<a class="el" href="structdtls__context__t.html">dtls_context_t</a> *ctx)</td></tr>
-<tr class="separator:a599f0d6e9134869e55b64c4f8720ebfa"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a37965d10b44a63ea6adbf28b9dc79b75"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a37965d10b44a63ea6adbf28b9dc79b75">known_cipher</a> (<a class="el" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="el" href="global_8h.html#ada7e71454d685b693df45b2c1ea0c59b">dtls_cipher_t</a> code, int is_client)</td></tr>
-<tr class="separator:a37965d10b44a63ea6adbf28b9dc79b75"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4b3eda5556d76e045b42b93055944ddd"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a4b3eda5556d76e045b42b93055944ddd">dtls_debug_keyblock</a> (<a class="el" href="structdtls__security__parameters__t.html">dtls_security_parameters_t</a> *config)</td></tr>
-<tr class="separator:a4b3eda5556d76e045b42b93055944ddd"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a00707f0f82235a2432338e77dae0911d"><td class="memItemLeft" align="right" valign="top">static char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a00707f0f82235a2432338e77dae0911d">dtls_handshake_type_to_name</a> (int type)</td></tr>
-<tr class="separator:a00707f0f82235a2432338e77dae0911d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a94199c9fa65db19e0f761e3ff973eb4b"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a94199c9fa65db19e0f761e3ff973eb4b">calculate_key_block</a> (<a class="el" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="el" href="structdtls__handshake__parameters__t.html">dtls_handshake_parameters_t</a> *handshake, <a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *peer, <a class="el" href="structsession__t.html">session_t</a> *session, <a class="el" href="peer_8h.html#ae30cd4bcffed73f79f17c09e5a1452c8">dtls_peer_type</a> role)</td></tr>
-<tr class="separator:a94199c9fa65db19e0f761e3ff973eb4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad699a00b7ff5a71fa5b7fbc79a4dd9a8"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#ad699a00b7ff5a71fa5b7fbc79a4dd9a8">verify_ext_eliptic_curves</a> (<a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *data, size_t data_length)</td></tr>
-<tr class="separator:ad699a00b7ff5a71fa5b7fbc79a4dd9a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af073bf7cefa5e49e0c939e853678d417"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#af073bf7cefa5e49e0c939e853678d417">verify_ext_cert_type</a> (<a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *data, size_t data_length)</td></tr>
-<tr class="separator:af073bf7cefa5e49e0c939e853678d417"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a04a3580764ffd4f253ce6be858806c95"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a04a3580764ffd4f253ce6be858806c95">verify_ext_ec_point_formats</a> (<a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *data, size_t data_length)</td></tr>
-<tr class="separator:a04a3580764ffd4f253ce6be858806c95"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad8c8390d0a1592207c4ea6dd0a623a9a"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#ad8c8390d0a1592207c4ea6dd0a623a9a">dtls_check_tls_extension</a> (<a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *peer, <a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *data, size_t data_length, int client_hello)</td></tr>
-<tr class="separator:ad8c8390d0a1592207c4ea6dd0a623a9a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a63f2c7e75b86bb2839b8fedf3fa9c93d"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a63f2c7e75b86bb2839b8fedf3fa9c93d">dtls_update_parameters</a> (<a class="el" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *peer, <a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *data, size_t data_length)</td></tr>
-<tr class="separator:a63f2c7e75b86bb2839b8fedf3fa9c93d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab9251eac8015afc7985ff4398657ea3f"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#ab9251eac8015afc7985ff4398657ea3f">check_client_keyexchange</a> (<a class="el" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="el" href="structdtls__handshake__parameters__t.html">dtls_handshake_parameters_t</a> *handshake, <a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *data, size_t length)</td></tr>
-<tr class="separator:ab9251eac8015afc7985ff4398657ea3f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3db09acb5894f17f4745d7556555bea7"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a3db09acb5894f17f4745d7556555bea7">update_hs_hash</a> (<a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *peer, <a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *data, size_t length)</td></tr>
-<tr class="separator:a3db09acb5894f17f4745d7556555bea7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a22ab7a79391c2204337237949d69dad8"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a22ab7a79391c2204337237949d69dad8">copy_hs_hash</a> (<a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *peer, <a class="el" href="hmac_8h.html#abb19650a510c73117da0e9b88d68f159">dtls_hash_ctx</a> *hs_hash)</td></tr>
-<tr class="separator:a22ab7a79391c2204337237949d69dad8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:adb41bf916dc34af5cd79003a9243b727"><td class="memItemLeft" align="right" valign="top">static size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#adb41bf916dc34af5cd79003a9243b727">finalize_hs_hash</a> (<a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *peer, <a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *buf)</td></tr>
-<tr class="separator:adb41bf916dc34af5cd79003a9243b727"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a82181208ec1e9f42896f0606e0036c1d"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a82181208ec1e9f42896f0606e0036c1d">clear_hs_hash</a> (<a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *peer)</td></tr>
-<tr class="separator:a82181208ec1e9f42896f0606e0036c1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a91b2653747ca1e4058ae3b350019188b"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a91b2653747ca1e4058ae3b350019188b">check_finished</a> (<a class="el" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *peer, <a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *data, size_t data_length)</td></tr>
-<tr class="separator:a91b2653747ca1e4058ae3b350019188b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab9733484b9a23775b1bc8b3d723282e5"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#ab9733484b9a23775b1bc8b3d723282e5">dtls_prepare_record</a> (<a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *peer, <a class="el" href="structdtls__security__parameters__t.html">dtls_security_parameters_t</a> *security, unsigned char type, <a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *data_array[], size_t data_len_array[], size_t data_array_len, <a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *sendbuf, size_t *rlen)</td></tr>
-<tr class="separator:ab9733484b9a23775b1bc8b3d723282e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4f06884f659f6a5120be7e0b86d29880"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a4f06884f659f6a5120be7e0b86d29880">dtls_send_handshake_msg_hash</a> (<a class="el" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *peer, <a class="el" href="structsession__t.html">session_t</a> *session, <a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> header_type, <a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *data, size_t data_length, int add_hash)</td></tr>
-<tr class="separator:a4f06884f659f6a5120be7e0b86d29880"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a872c53139e76cab7ec387cc54ae1a11b"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a872c53139e76cab7ec387cc54ae1a11b">dtls_send_handshake_msg</a> (<a class="el" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *peer, <a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> header_type, <a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *data, size_t data_length)</td></tr>
-<tr class="separator:a872c53139e76cab7ec387cc54ae1a11b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4aac4fa55afe2d19342136acaaaf9641"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a4aac4fa55afe2d19342136acaaaf9641">dtls_send_alert</a> (<a class="el" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *peer, <a class="el" href="alert_8h.html#ab6264d1b950719f1c2e00b122cad871f">dtls_alert_level_t</a> level, <a class="el" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbd">dtls_alert_t</a> description)</td></tr>
-<tr class="separator:a4aac4fa55afe2d19342136acaaaf9641"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa90f5eb6954137d5e098e29143c2586a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#aa90f5eb6954137d5e098e29143c2586a">dtls_close</a> (<a class="el" href="structdtls__context__t.html">dtls_context_t</a> *ctx, const <a class="el" href="structsession__t.html">session_t</a> *remote)</td></tr>
-<tr class="separator:aa90f5eb6954137d5e098e29143c2586a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a81061928e291b6a3e7701f6a7f51b6f3"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a81061928e291b6a3e7701f6a7f51b6f3">dtls_destroy_peer</a> (<a class="el" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *peer, int unlink)</td></tr>
-<tr class="separator:a81061928e291b6a3e7701f6a7f51b6f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a604f68a801e55b884f7f7f1d2f1b9c9f"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a604f68a801e55b884f7f7f1d2f1b9c9f">dtls_verify_peer</a> (<a class="el" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *peer, <a class="el" href="structsession__t.html">session_t</a> *session, <a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *data, size_t data_length)</td></tr>
-<tr class="separator:a604f68a801e55b884f7f7f1d2f1b9c9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af8409ba213cb87dbf9ed16ef87995c54"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#af8409ba213cb87dbf9ed16ef87995c54">dtls_check_ecdsa_signature_elem</a> (<a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *data, size_t data_length, unsigned char **result_r, unsigned char **result_s)</td></tr>
-<tr class="separator:af8409ba213cb87dbf9ed16ef87995c54"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a017195b30506fbdf32fff55af9276a02"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a017195b30506fbdf32fff55af9276a02">check_client_certificate_verify</a> (<a class="el" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *peer, <a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *data, size_t data_length)</td></tr>
-<tr class="separator:a017195b30506fbdf32fff55af9276a02"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7730a402edfca00c35bc1c7c09eb2fb9"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a7730a402edfca00c35bc1c7c09eb2fb9">dtls_send_server_hello</a> (<a class="el" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *peer)</td></tr>
-<tr class="separator:a7730a402edfca00c35bc1c7c09eb2fb9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6b92c487825aa888acc0b55f5adc0220"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a6b92c487825aa888acc0b55f5adc0220">dtls_send_certificate_ecdsa</a> (<a class="el" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *peer, const <a class="el" href="structdtls__ecdsa__key__t.html">dtls_ecdsa_key_t</a> *key)</td></tr>
-<tr class="separator:a6b92c487825aa888acc0b55f5adc0220"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7d7af4d19c7abef4583c1667ec449a5d"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a7d7af4d19c7abef4583c1667ec449a5d">dtls_add_ecdsa_signature_elem</a> (<a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *p, uint32_t *point_r, uint32_t *point_s)</td></tr>
-<tr class="separator:a7d7af4d19c7abef4583c1667ec449a5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a80275f06c14cbbc18095bc2f61022d15"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a80275f06c14cbbc18095bc2f61022d15">dtls_send_server_key_exchange_ecdh</a> (<a class="el" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *peer, const <a class="el" href="structdtls__ecdsa__key__t.html">dtls_ecdsa_key_t</a> *key)</td></tr>
-<tr class="separator:a80275f06c14cbbc18095bc2f61022d15"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a00f6591bce49f6122dab9827c8774ba3"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a00f6591bce49f6122dab9827c8774ba3">dtls_send_server_key_exchange_psk</a> (<a class="el" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *peer, const unsigned char *psk_hint, size_t len)</td></tr>
-<tr class="separator:a00f6591bce49f6122dab9827c8774ba3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a51ab17e2a5ac1566ba4249b787bb98a3"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a51ab17e2a5ac1566ba4249b787bb98a3">dtls_send_server_certificate_request</a> (<a class="el" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *peer)</td></tr>
-<tr class="separator:a51ab17e2a5ac1566ba4249b787bb98a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad6ebff8518bb1d53ba888baf6898ee21"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#ad6ebff8518bb1d53ba888baf6898ee21">dtls_send_server_hello_done</a> (<a class="el" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *peer)</td></tr>
-<tr class="separator:ad6ebff8518bb1d53ba888baf6898ee21"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:afc54bc2ed42b4b65ad8f01abca9a8772"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#afc54bc2ed42b4b65ad8f01abca9a8772">dtls_send_server_hello_msgs</a> (<a class="el" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *peer)</td></tr>
-<tr class="separator:afc54bc2ed42b4b65ad8f01abca9a8772"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9cfb3c9e63f378d0d8e3d3d0c60537a5"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a9cfb3c9e63f378d0d8e3d3d0c60537a5">dtls_send_ccs</a> (<a class="el" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *peer)</td></tr>
-<tr class="separator:a9cfb3c9e63f378d0d8e3d3d0c60537a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a12e4cab07baba9eae2a0182f4e0bf72d"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a12e4cab07baba9eae2a0182f4e0bf72d">dtls_send_client_key_exchange</a> (<a class="el" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *peer)</td></tr>
-<tr class="separator:a12e4cab07baba9eae2a0182f4e0bf72d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:adfe6fc0d0d66e9ffaef25c2c126b1c34"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#adfe6fc0d0d66e9ffaef25c2c126b1c34">dtls_send_certificate_verify_ecdh</a> (<a class="el" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *peer, const <a class="el" href="structdtls__ecdsa__key__t.html">dtls_ecdsa_key_t</a> *key)</td></tr>
-<tr class="separator:adfe6fc0d0d66e9ffaef25c2c126b1c34"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a112e0d83a0e576b5d22df60241900a67"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a112e0d83a0e576b5d22df60241900a67">dtls_send_finished</a> (<a class="el" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *peer, const unsigned char *label, size_t labellen)</td></tr>
-<tr class="separator:a112e0d83a0e576b5d22df60241900a67"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aecd3ffe8bf8a3970d3e091ce8e7c6476"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#aecd3ffe8bf8a3970d3e091ce8e7c6476">dtls_send_client_hello</a> (<a class="el" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *peer, <a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> cookie[], size_t cookie_length)</td></tr>
-<tr class="separator:aecd3ffe8bf8a3970d3e091ce8e7c6476"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:afcc64c0abfd9b157b71a47e5a5a78b26"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#afcc64c0abfd9b157b71a47e5a5a78b26">check_server_hello</a> (<a class="el" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *peer, <a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *data, size_t data_length)</td></tr>
-<tr class="separator:afcc64c0abfd9b157b71a47e5a5a78b26"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2b598b29d3148bfc02e826d94bbc0642"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a2b598b29d3148bfc02e826d94bbc0642">check_server_hello_verify_request</a> (<a class="el" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *peer, <a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *data, size_t data_length)</td></tr>
-<tr class="separator:a2b598b29d3148bfc02e826d94bbc0642"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a88db0e7ffa0836761bef7b62ac3d2fb7"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a88db0e7ffa0836761bef7b62ac3d2fb7">check_server_certificate</a> (<a class="el" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *peer, <a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *data, size_t data_length)</td></tr>
-<tr class="separator:a88db0e7ffa0836761bef7b62ac3d2fb7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3de5b3956733293d3e19d83d3cc8d9bb"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a3de5b3956733293d3e19d83d3cc8d9bb">check_server_key_exchange_ecdsa</a> (<a class="el" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *peer, <a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *data, size_t data_length)</td></tr>
-<tr class="separator:a3de5b3956733293d3e19d83d3cc8d9bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a915dccbe7e71d52d2650378f3aaad054"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a915dccbe7e71d52d2650378f3aaad054">check_server_key_exchange_psk</a> (<a class="el" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *peer, <a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *data, size_t data_length)</td></tr>
-<tr class="separator:a915dccbe7e71d52d2650378f3aaad054"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a61ddc44bfdb8a92b72911a402aa0164e"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a61ddc44bfdb8a92b72911a402aa0164e">check_certificate_request</a> (<a class="el" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *peer, <a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *data, size_t data_length)</td></tr>
-<tr class="separator:a61ddc44bfdb8a92b72911a402aa0164e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aca393c29148080d4dfa343c8ec283928"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#aca393c29148080d4dfa343c8ec283928">check_server_hellodone</a> (<a class="el" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *peer, <a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *data, size_t data_length)</td></tr>
-<tr class="separator:aca393c29148080d4dfa343c8ec283928"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:adc4e7aa5066240a362341bbdb998bc71"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#adc4e7aa5066240a362341bbdb998bc71">decrypt_verify</a> (<a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *peer, <a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *packet, size_t length, <a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> **cleartext)</td></tr>
-<tr class="separator:adc4e7aa5066240a362341bbdb998bc71"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab3af0ee4375c0da833aacec49c6fd8ad"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#ab3af0ee4375c0da833aacec49c6fd8ad">dtls_send_hello_request</a> (<a class="el" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *peer)</td></tr>
-<tr class="separator:ab3af0ee4375c0da833aacec49c6fd8ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5676a0ceeeabd1ec38d378212f7af4a1"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a5676a0ceeeabd1ec38d378212f7af4a1">dtls_renegotiate</a> (<a class="el" href="structdtls__context__t.html">dtls_context_t</a> *ctx, const <a class="el" href="structsession__t.html">session_t</a> *dst)</td></tr>
-<tr class="separator:a5676a0ceeeabd1ec38d378212f7af4a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a24e7d6ad9fc0d87b7285615123bdd43d"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a24e7d6ad9fc0d87b7285615123bdd43d">handle_handshake_msg</a> (<a class="el" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *peer, <a class="el" href="structsession__t.html">session_t</a> *session, const <a class="el" href="peer_8h.html#ae30cd4bcffed73f79f17c09e5a1452c8">dtls_peer_type</a> role, const <a class="el" href="state_8h.html#aea0e57fd5b857535960534b53361aa35">dtls_state_t</a> state, <a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *data, size_t data_length)</td></tr>
-<tr class="separator:a24e7d6ad9fc0d87b7285615123bdd43d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab199f50f39a96464ff7b532f2635ce9d"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#ab199f50f39a96464ff7b532f2635ce9d">handle_handshake</a> (<a class="el" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *peer, <a class="el" href="structsession__t.html">session_t</a> *session, const <a class="el" href="peer_8h.html#ae30cd4bcffed73f79f17c09e5a1452c8">dtls_peer_type</a> role, const <a class="el" href="state_8h.html#aea0e57fd5b857535960534b53361aa35">dtls_state_t</a> state, <a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *data, size_t data_length)</td></tr>
-<tr class="separator:ab199f50f39a96464ff7b532f2635ce9d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4d7a16c9d0cd28666a2cc8ec471aa664"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a4d7a16c9d0cd28666a2cc8ec471aa664">handle_ccs</a> (<a class="el" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *peer, <a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *record_header, <a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *data, size_t data_length)</td></tr>
-<tr class="separator:a4d7a16c9d0cd28666a2cc8ec471aa664"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a445994c602b105608f277c6fc066301d"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a445994c602b105608f277c6fc066301d">handle_alert</a> (<a class="el" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *peer, <a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *record_header, <a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *data, size_t data_length)</td></tr>
-<tr class="separator:a445994c602b105608f277c6fc066301d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4c7a26bc520ac2ac88b4758e0fb84f1e"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a4c7a26bc520ac2ac88b4758e0fb84f1e">dtls_alert_send_from_err</a> (<a class="el" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *peer, <a class="el" href="structsession__t.html">session_t</a> *session, int err)</td></tr>
-<tr class="separator:a4c7a26bc520ac2ac88b4758e0fb84f1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae272fea7269714fe7a67d6da64961731"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#ae272fea7269714fe7a67d6da64961731">dtls_handle_message</a> (<a class="el" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="el" href="structsession__t.html">session_t</a> *session, <a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *msg, int msglen)</td></tr>
-<tr class="separator:ae272fea7269714fe7a67d6da64961731"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a11f53d301448aa8f1dbcfaf77441bd9c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structdtls__context__t.html">dtls_context_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a11f53d301448aa8f1dbcfaf77441bd9c">dtls_new_context</a> (void *app_data)</td></tr>
-<tr class="separator:a11f53d301448aa8f1dbcfaf77441bd9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3171c099d25ed29e31326526b8e1de84"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a3171c099d25ed29e31326526b8e1de84">dtls_free_context</a> (<a class="el" href="structdtls__context__t.html">dtls_context_t</a> *ctx)</td></tr>
-<tr class="separator:a3171c099d25ed29e31326526b8e1de84"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad60bf1197fa1a074f91aed508cfefa62"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#ad60bf1197fa1a074f91aed508cfefa62">dtls_connect_peer</a> (<a class="el" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *peer)</td></tr>
-<tr class="separator:ad60bf1197fa1a074f91aed508cfefa62"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a187f5e145bb869a732fbed426929a4e9"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a187f5e145bb869a732fbed426929a4e9">dtls_connect</a> (<a class="el" href="structdtls__context__t.html">dtls_context_t</a> *ctx, const <a class="el" href="structsession__t.html">session_t</a> *dst)</td></tr>
-<tr class="separator:a187f5e145bb869a732fbed426929a4e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa57a9ccb1344c5baf8bd3adf35f3beeb"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#aa57a9ccb1344c5baf8bd3adf35f3beeb">dtls_retransmit</a> (<a class="el" href="structdtls__context__t.html">dtls_context_t</a> *context, <a class="el" href="structnetq__t.html">netq_t</a> *node)</td></tr>
-<tr class="separator:aa57a9ccb1344c5baf8bd3adf35f3beeb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab50d1ee589e91d07032d0a65768dee82"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#ab50d1ee589e91d07032d0a65768dee82">dtls_check_retransmit</a> (<a class="el" href="structdtls__context__t.html">dtls_context_t</a> *context, <a class="el" href="group__clock.html#ga6e6c13e871b82d881a01d1bc8df69d23">clock_time_t</a> *next)</td></tr>
-<tr class="separator:ab50d1ee589e91d07032d0a65768dee82"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
-Variables</h2></td></tr>
-<tr class="memitem:a784ec579660900e758a9b7de84150c9b"><td class="memItemLeft" align="right" valign="top">static const unsigned char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a784ec579660900e758a9b7de84150c9b">prf_label_master</a> [] = &quot;master secret&quot;</td></tr>
-<tr class="separator:a784ec579660900e758a9b7de84150c9b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a42886cd9a1fd728f47ea40d38dfabcda"><td class="memItemLeft" align="right" valign="top">static const unsigned char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a42886cd9a1fd728f47ea40d38dfabcda">prf_label_key</a> [] = &quot;key expansion&quot;</td></tr>
-<tr class="separator:a42886cd9a1fd728f47ea40d38dfabcda"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:abba2a2562813493d98b5671a4c5c082b"><td class="memItemLeft" align="right" valign="top">static const unsigned char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#abba2a2562813493d98b5671a4c5c082b">prf_label_client</a> [] = &quot;client&quot;</td></tr>
-<tr class="separator:abba2a2562813493d98b5671a4c5c082b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aacf8643991dec574dcb09a280357ae4f"><td class="memItemLeft" align="right" valign="top">static const unsigned char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#aacf8643991dec574dcb09a280357ae4f">prf_label_server</a> [] = &quot;server&quot;</td></tr>
-<tr class="separator:aacf8643991dec574dcb09a280357ae4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a45d793d73836bf96dacb1d558f81b6c7"><td class="memItemLeft" align="right" valign="top">static const unsigned char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#a45d793d73836bf96dacb1d558f81b6c7">prf_label_finished</a> [] = &quot; finished&quot;</td></tr>
-<tr class="separator:a45d793d73836bf96dacb1d558f81b6c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aecdb18ea2b899994542ec46b23528738"><td class="memItemLeft" align="right" valign="top">static const unsigned char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#aecdb18ea2b899994542ec46b23528738">cert_asn1_header</a> []</td></tr>
-<tr class="separator:aecdb18ea2b899994542ec46b23528738"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae35671d94ccea5f335546ce409aed601"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8c.html#ae35671d94ccea5f335546ce409aed601">compression_methods</a> []</td></tr>
-<tr class="separator:ae35671d94ccea5f335546ce409aed601"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<h2 class="groupheader">Macro Definition Documentation</h2>
-<a class="anchor" id="aee0f4f3d8541ea6ab9c204761cc6082e"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define A_DATA_LEN&#160;&#160;&#160;13</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="aee0f4f3d8541ea6ab9c204761cc6082e"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define A_DATA_LEN&#160;&#160;&#160;13</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a3e132aba78de736930255d40ef3f2d34"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define CALL</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">Context, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">which, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname"><em>...</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<b>Value:</b><div class="fragment"><div class="line">((Context)-&gt;h &amp;&amp; (Context)-&gt;h-&gt;which                    \</div>
-<div class="line">   ? (Context)-&gt;h-&gt;which((Context), ##__VA_ARGS__)          \</div>
-<div class="line">   : -1)</div>
-</div><!-- fragment -->
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l00174">174</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a0800e26c09602d197e929fcc8ba783d5"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define CLIENTHELLO</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">M</td><td>)</td>
-          <td>&#160;&#160;&#160;((<a class="el" href="dtls_8h.html#aa9ebc35a08295c2ae09d4248ba8e6456">dtls_client_hello_t</a> *)((M) + <a class="el" href="dtls_8c.html#a76388c15f1b77d3c5b9d8068e8c0a087">HS_HDR_LENGTH</a>))</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l00099">99</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a6570b93f9f19e6abceef85c566fe3696"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DTLS_CE_LENGTH&#160;&#160;&#160;(3 + 3 + 27 + <a class="el" href="crypto_8h.html#a9b039263057e157e1427c5d316133c3d">DTLS_EC_KEY_SIZE</a> + <a class="el" href="crypto_8h.html#a9b039263057e157e1427c5d316133c3d">DTLS_EC_KEY_SIZE</a>)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l00080">80</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="affe47ee08ad0e6a54d4f0c2a7f412675"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DTLS_CH_LENGTH&#160;&#160;&#160;sizeof(<a class="el" href="dtls_8h.html#aa9ebc35a08295c2ae09d4248ba8e6456">dtls_client_hello_t</a>) /* no variable length fields! */</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l00075">75</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aa5a4609da11d9496490853de9c2bf6fa"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DTLS_CH_LENGTH_MAX&#160;&#160;&#160;sizeof(<a class="el" href="dtls_8h.html#aa9ebc35a08295c2ae09d4248ba8e6456">dtls_client_hello_t</a>) + <a class="el" href="dtls_8c.html#abd652cf0e4512727591d3ec8ca066ace">DTLS_COOKIE_LENGTH_MAX</a> + 12 + 26</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l00077">77</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a5ddccf12706c8d18d80b7759454ca164"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DTLS_CKXEC_LENGTH&#160;&#160;&#160;(1 + 1 + <a class="el" href="crypto_8h.html#a9b039263057e157e1427c5d316133c3d">DTLS_EC_KEY_SIZE</a> + <a class="el" href="crypto_8h.html#a9b039263057e157e1427c5d316133c3d">DTLS_EC_KEY_SIZE</a>)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l00085">85</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a674da4ca826bf1206ec8053f4c9eb336"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DTLS_CKXPSK_LENGTH_MIN&#160;&#160;&#160;2</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l00084">84</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="abd652cf0e4512727591d3ec8ca066ace"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DTLS_COOKIE_LENGTH_MAX&#160;&#160;&#160;32</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l00076">76</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a0bcce8fa79dc3187eb5f1655798ac816"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DTLS_CV_LENGTH&#160;&#160;&#160;(1 + 1 + 2 + 1 + 1 + 1 + 1 + <a class="el" href="crypto_8h.html#a9b039263057e157e1427c5d316133c3d">DTLS_EC_KEY_SIZE</a> + 1 + 1 + <a class="el" href="crypto_8h.html#a9b039263057e157e1427c5d316133c3d">DTLS_EC_KEY_SIZE</a>)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l00086">86</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a21644ea2de742395df1e3b3281ba4f63"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DTLS_FIN_LENGTH&#160;&#160;&#160;12</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l00087">87</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aa02d6b65a8864468c2b8cfbe79084467"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define dtls_get_content_type</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">H</td><td>)</td>
-          <td>&#160;&#160;&#160;((H)-&gt;content_type &amp; 0xff)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l00058">58</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a175d8e65080497463d13caf20e961500"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define dtls_get_epoch</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">H</td><td>)</td>
-          <td>&#160;&#160;&#160;<a class="el" href="numeric_8h.html#ae32dd0743658f1aa5a723d5a8357521f">dtls_uint16_to_int</a>((H)-&gt;epoch)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l00060">60</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aad633ed0a80e25b3884d119a8d8aeaff"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define dtls_get_fragment_length</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">H</td><td>)</td>
-          <td>&#160;&#160;&#160;<a class="el" href="numeric_8h.html#a238931e9197ce422acfba569deb2af71">dtls_uint24_to_int</a>((H)-&gt;fragment_length)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l00062">62</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a41f28f63e60a1a0b45a77d62bb5380e7"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define dtls_get_sequence_number</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">H</td><td>)</td>
-          <td>&#160;&#160;&#160;dtls_uint48_to_ulong((H)-&gt;sequence_number)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l00061">61</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a22d6bcdee257de4be562aee0be9c87fb"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define dtls_get_version</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">H</td><td>)</td>
-          <td>&#160;&#160;&#160;<a class="el" href="numeric_8h.html#ae32dd0743658f1aa5a723d5a8357521f">dtls_uint16_to_int</a>((H)-&gt;version)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l00059">59</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a2cc930733d35ea870c7a0a131bee0d7a"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DTLS_HANDSHAKE_HEADER</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">M</td><td>)</td>
-          <td>&#160;&#160;&#160;((<a class="el" href="dtls_8h.html#a5c6625ffcf61189392768253e8919a45">dtls_handshake_header_t</a> *)(M))</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l00096">96</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a520419d1976b301c508721faed549b4f"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DTLS_HS_LENGTH&#160;&#160;&#160;sizeof(<a class="el" href="dtls_8h.html#a5c6625ffcf61189392768253e8919a45">dtls_handshake_header_t</a>)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l00074">74</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a85d3d5311baabdaa06b7824528eef4e5"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DTLS_HV_LENGTH&#160;&#160;&#160;sizeof(<a class="el" href="dtls_8h.html#abd61d526ef995e63a6debfd8ddda9e98">dtls_hello_verify_t</a>)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l00078">78</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a35d050593196252c1826ac2e82cbac0b"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DTLS_RECORD_HEADER</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">M</td><td>)</td>
-          <td>&#160;&#160;&#160;((<a class="el" href="dtls_8h.html#a81936df7abb2c16aa897e3018aa24399">dtls_record_header_t</a> *)(M))</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l00095">95</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ae97c368900c13dc7074c09e8848afa8f"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DTLS_RH_LENGTH&#160;&#160;&#160;sizeof(<a class="el" href="dtls_8h.html#a81936df7abb2c16aa897e3018aa24399">dtls_record_header_t</a>)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l00073">73</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a8e0ab8b3ce70468c29820cafe96cd365"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define dtls_set_content_type</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">H, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">V&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td>&#160;&#160;&#160;((H)-&gt;content_type = (V) &amp; 0xff)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l00055">55</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a9f723101896941fa44ea701c4dfd3591"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define dtls_set_length</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">H, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">V&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td>&#160;&#160;&#160;((H)-&gt;length = (V))</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l00056">56</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aebefc949b2298e7de7b95b715874d407"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define dtls_set_version</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">H, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">V&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td>&#160;&#160;&#160;<a class="el" href="numeric_8h.html#a074d352855e1ffde4c2ddb6a6fea01b9">dtls_int_to_uint16</a>((H)-&gt;version, (V))</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l00054">54</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="afcca5dc5ebcc9eb8141ca0b49b647676"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DTLS_SH_LENGTH&#160;&#160;&#160;(2 + <a class="el" href="crypto_8h.html#a5a0bdff7c0889f35601b4935098508a0">DTLS_RANDOM_LENGTH</a> + 1 + 2 + 1)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l00079">79</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ad9481c39cd66eac3059df28aef1e9843"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DTLS_SKEXEC_LENGTH&#160;&#160;&#160;(1 + 2 + 1 + 1 + <a class="el" href="crypto_8h.html#a9b039263057e157e1427c5d316133c3d">DTLS_EC_KEY_SIZE</a> + <a class="el" href="crypto_8h.html#a9b039263057e157e1427c5d316133c3d">DTLS_EC_KEY_SIZE</a> + 1 + 1 + 2 + 70)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l00081">81</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a8a4dc9af457241380a01c8e38fdc4e2d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DTLS_SKEXECPSK_LENGTH_MAX&#160;&#160;&#160;2 + <a class="el" href="crypto_8h.html#ab96c8e0773a14d1ce1621eed1a78e2bd">DTLS_PSK_MAX_CLIENT_IDENTITY_LEN</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l00083">83</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a4c0c656efcfd0e33595914171e51ae6d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DTLS_SKEXECPSK_LENGTH_MIN&#160;&#160;&#160;2</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l00082">82</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a354c84e6c783c5d0cdbf905c27e77dc4"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HANDSHAKE</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">M</td><td>)</td>
-          <td>&#160;&#160;&#160;((<a class="el" href="dtls_8h.html#a5c6625ffcf61189392768253e8919a45">dtls_handshake_header_t</a> *)((M) + <a class="el" href="dtls_8c.html#ae97c368900c13dc7074c09e8848afa8f">DTLS_RH_LENGTH</a>))</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l00098">98</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="acf0d50c9f224c0677988f13e947e9523"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HASH_ADD_PEER</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">head, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">sess, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">add&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td>&#160;&#160;&#160;<a class="el" href="uthash_8h.html#aaf01358e257c8d838eb5e4b189f0c399">HASH_ADD</a>(hh,head,sess,sizeof(<a class="el" href="structsession__t.html">session_t</a>),add)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l00067">67</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a0844494b0b76acb7bcf832ae74fb25c0"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HASH_DEL_PEER</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">head, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">delptr&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td>&#160;&#160;&#160;<a class="el" href="uthash_8h.html#a3f83117e1108d63844a58d2d79c3b980">HASH_DELETE</a>(hh,head,delptr)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l00069">69</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a0ce6e5416f5479558116b881d3eb1ad6"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HASH_FIND_PEER</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">head, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">sess, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">out&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td>&#160;&#160;&#160;<a class="el" href="uthash_8h.html#ad4a1cd39c3044936c0e49d3f372c9dbf">HASH_FIND</a>(hh,head,sess,sizeof(<a class="el" href="structsession__t.html">session_t</a>),out)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l00065">65</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aa5a8f0d3793bb3b194ca364b596ab01d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HIGH</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">V</td><td>)</td>
-          <td>&#160;&#160;&#160;(((V) &gt;&gt; 8) &amp; 0xff)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l00092">92</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a76388c15f1b77d3c5b9d8068e8c0a087"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HS_HDR_LENGTH&#160;&#160;&#160;<a class="el" href="dtls_8c.html#ae97c368900c13dc7074c09e8848afa8f">DTLS_RH_LENGTH</a> + <a class="el" href="dtls_8c.html#a520419d1976b301c508721faed549b4f">DTLS_HS_LENGTH</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l00089">89</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a07a808dc78df3141fe5caba2a3e2226b"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HV_HDR_LENGTH&#160;&#160;&#160;<a class="el" href="dtls_8c.html#a76388c15f1b77d3c5b9d8068e8c0a087">HS_HDR_LENGTH</a> + <a class="el" href="dtls_8c.html#a85d3d5311baabdaa06b7824528eef4e5">DTLS_HV_LENGTH</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l00090">90</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a69edf0296cf64026686d4ff4424d4e8f"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define LOW</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">V</td><td>)</td>
-          <td>&#160;&#160;&#160;((V) &amp; 0xff)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l00093">93</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a9279d8f0e7c7b30f968ed085b5a3136f"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define MUST_HASH</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">Type, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">Data, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">Length&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Returns true if the message <code>Data</code> is a handshake message that must be included in the calculation of verify_data in the Finished message.</p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">Type</td><td>The message type. Only handshake messages but the initial Client Hello and Hello Verify Request are included in the hash, </td></tr>
-    <tr><td class="paramname">Data</td><td>The PDU to examine. </td></tr>
-    <tr><td class="paramname">Length</td><td>The length of <code>Data</code>.</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd><code>1</code> if <code>Data</code> must be included in hash, <code>0</code> otherwise. </dd></dl>
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l01384">1384</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a97496e1be0f2fe54873b35ee8bf0d462"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define mycookie&#160;&#160;&#160;(buf + <a class="el" href="dtls_8c.html#a85d3d5311baabdaa06b7824528eef4e5">DTLS_HV_LENGTH</a>)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="abac8adda40bcb694e059e38f6ac115f9"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PRF_LABEL</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">Label</td><td>)</td>
-          <td>&#160;&#160;&#160;prf_label_##Label</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l00114">114</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a83b260e812e69f1dae18497d167770a9"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PRF_LABEL_SIZE</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">Label</td><td>)</td>
-          <td>&#160;&#160;&#160;(sizeof(<a class="el" href="dtls_8c.html#abac8adda40bcb694e059e38f6ac115f9">PRF_LABEL</a>(Label)) - 1)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l00115">115</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ab7a17e13b17da97cbef046b20cd7280f"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define R_KEY_OFFSET&#160;&#160;&#160;(1 + 1 + 2 + 1 + 1 + 1 + 1)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a2cf5795397ac5779f281543fc0f44ae9"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define S_KEY_OFFSET</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">len_s</td><td>)</td>
-          <td>&#160;&#160;&#160;(<a class="el" href="dtls_8c.html#ab7a17e13b17da97cbef046b20cd7280f">R_KEY_OFFSET</a> + (len_s) + 1 + 1)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a09a0896d586ff27855ced6930cc17023"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define SKIP_VAR_FIELD</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">P, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">L, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">T&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<b>Value:</b><div class="fragment"><div class="line">{                       \</div>
-<div class="line">    if (L &lt; dtls_ ## T ## _to_int(P) + <span class="keyword">sizeof</span>(T))           \</div>
-<div class="line">      goto error;                           \</div>
-<div class="line">    L -= dtls_ ## T ## _to_int(P) + <span class="keyword">sizeof</span>(T);              \</div>
-<div class="line">    P += dtls_ ## T ## _to_int(P) + <span class="keyword">sizeof</span>(T);              \</div>
-<div class="line">  }</div>
-</div><!-- fragment -->
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l00106">106</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<h2 class="groupheader">Function Documentation</h2>
-<a class="anchor" id="a94199c9fa65db19e0f761e3ff973eb4b"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int calculate_key_block </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__context__t.html">dtls_context_t</a> *&#160;</td>
-          <td class="paramname"><em>ctx</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="structdtls__handshake__parameters__t.html">dtls_handshake_parameters_t</a> *&#160;</td>
-          <td class="paramname"><em>handshake</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *&#160;</td>
-          <td class="paramname"><em>peer</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="structsession__t.html">session_t</a> *&#160;</td>
-          <td class="paramname"><em>session</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="peer_8h.html#ae30cd4bcffed73f79f17c09e5a1452c8">dtls_peer_type</a>&#160;</td>
-          <td class="paramname"><em>role</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-<p>Calculate the pre master secret and after that calculate the master-secret. </p>
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l00599">599</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a61ddc44bfdb8a92b72911a402aa0164e"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int check_certificate_request </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__context__t.html">dtls_context_t</a> *&#160;</td>
-          <td class="paramname"><em>ctx</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *&#160;</td>
-          <td class="paramname"><em>peer</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *&#160;</td>
-          <td class="paramname"><em>data</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>data_length</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l02726">2726</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a017195b30506fbdf32fff55af9276a02"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int check_client_certificate_verify </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__context__t.html">dtls_context_t</a> *&#160;</td>
-          <td class="paramname"><em>ctx</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *&#160;</td>
-          <td class="paramname"><em>peer</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *&#160;</td>
-          <td class="paramname"><em>data</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>data_length</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l01691">1691</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ab9251eac8015afc7985ff4398657ea3f"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int check_client_keyexchange </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__context__t.html">dtls_context_t</a> *&#160;</td>
-          <td class="paramname"><em>ctx</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="structdtls__handshake__parameters__t.html">dtls_handshake_parameters_t</a> *&#160;</td>
-          <td class="paramname"><em>handshake</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *&#160;</td>
-          <td class="paramname"><em>data</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>length</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-<p>Parse the ClientKeyExchange and update the internal handshake state with the new data. </p>
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l01005">1005</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a91b2653747ca1e4058ae3b350019188b"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int check_finished </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__context__t.html">dtls_context_t</a> *&#160;</td>
-          <td class="paramname"><em>ctx</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *&#160;</td>
-          <td class="paramname"><em>peer</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *&#160;</td>
-          <td class="paramname"><em>data</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>data_length</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-<p>Checks if <code>record</code> + <code>data</code> contain a Finished message with valid verify_data.</p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">ctx</td><td>The current DTLS context. </td></tr>
-    <tr><td class="paramname">peer</td><td>The remote peer of the security association. </td></tr>
-    <tr><td class="paramname">data</td><td>The cleartext payload of the message. </td></tr>
-    <tr><td class="paramname">data_length</td><td>Actual length of <code>data</code>. </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd><code>0</code> if the Finished message is valid, <code>negative</code> number otherwise. </dd></dl>
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l01104">1104</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a88db0e7ffa0836761bef7b62ac3d2fb7"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int check_server_certificate </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__context__t.html">dtls_context_t</a> *&#160;</td>
-          <td class="paramname"><em>ctx</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *&#160;</td>
-          <td class="paramname"><em>peer</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *&#160;</td>
-          <td class="paramname"><em>data</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>data_length</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l02552">2552</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="afcc64c0abfd9b157b71a47e5a5a78b26"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int check_server_hello </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__context__t.html">dtls_context_t</a> *&#160;</td>
-          <td class="paramname"><em>ctx</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *&#160;</td>
-          <td class="paramname"><em>peer</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *&#160;</td>
-          <td class="paramname"><em>data</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>data_length</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l02460">2460</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a2b598b29d3148bfc02e826d94bbc0642"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int check_server_hello_verify_request </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__context__t.html">dtls_context_t</a> *&#160;</td>
-          <td class="paramname"><em>ctx</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *&#160;</td>
-          <td class="paramname"><em>peer</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *&#160;</td>
-          <td class="paramname"><em>data</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>data_length</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l02530">2530</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aca393c29148080d4dfa343c8ec283928"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int check_server_hellodone </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__context__t.html">dtls_context_t</a> *&#160;</td>
-          <td class="paramname"><em>ctx</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *&#160;</td>
-          <td class="paramname"><em>peer</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *&#160;</td>
-          <td class="paramname"><em>data</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>data_length</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l02804">2804</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a3de5b3956733293d3e19d83d3cc8d9bb"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int check_server_key_exchange_ecdsa </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__context__t.html">dtls_context_t</a> *&#160;</td>
-          <td class="paramname"><em>ctx</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *&#160;</td>
-          <td class="paramname"><em>peer</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *&#160;</td>
-          <td class="paramname"><em>data</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>data_length</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l02604">2604</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a915dccbe7e71d52d2650378f3aaad054"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int check_server_key_exchange_psk </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__context__t.html">dtls_context_t</a> *&#160;</td>
-          <td class="paramname"><em>ctx</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *&#160;</td>
-          <td class="paramname"><em>peer</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *&#160;</td>
-          <td class="paramname"><em>data</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>data_length</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l02687">2687</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a82181208ec1e9f42896f0606e0036c1d"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static void clear_hs_hash </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *&#160;</td>
-          <td class="paramname"><em>peer</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l01087">1087</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a22ab7a79391c2204337237949d69dad8"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static void copy_hs_hash </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *&#160;</td>
-          <td class="paramname"><em>peer</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="hmac_8h.html#abb19650a510c73117da0e9b88d68f159">dtls_hash_ctx</a> *&#160;</td>
-          <td class="paramname"><em>hs_hash</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l01076">1076</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="adc4e7aa5066240a362341bbdb998bc71"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int decrypt_verify </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *&#160;</td>
-          <td class="paramname"><em>peer</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *&#160;</td>
-          <td class="paramname"><em>packet</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>length</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> **&#160;</td>
-          <td class="paramname"><em>cleartext</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-<p>length of additional_data for the AEAD cipher which consists of seq_num(2+6) + type(1) + version(2) + length(2)</p>
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l02877">2877</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a7d7af4d19c7abef4583c1667ec449a5d"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static <a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>* dtls_add_ecdsa_signature_elem </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *&#160;</td>
-          <td class="paramname"><em>p</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">uint32_t *&#160;</td>
-          <td class="paramname"><em>point_r</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">uint32_t *&#160;</td>
-          <td class="paramname"><em>point_s</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l01867">1867</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ae4a2961a027959f907145f82ca9107c3"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static void dtls_add_peer </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__context__t.html">dtls_context_t</a> *&#160;</td>
-          <td class="paramname"><em>ctx</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *&#160;</td>
-          <td class="paramname"><em>peer</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l00227">227</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a4c7a26bc520ac2ac88b4758e0fb84f1e"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int dtls_alert_send_from_err </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__context__t.html">dtls_context_t</a> *&#160;</td>
-          <td class="paramname"><em>ctx</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *&#160;</td>
-          <td class="paramname"><em>peer</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="structsession__t.html">session_t</a> *&#160;</td>
-          <td class="paramname"><em>session</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>err</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l03559">3559</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="af8409ba213cb87dbf9ed16ef87995c54"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int dtls_check_ecdsa_signature_elem </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *&#160;</td>
-          <td class="paramname"><em>data</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>data_length</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">unsigned char **&#160;</td>
-          <td class="paramname"><em>result_r</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">unsigned char **&#160;</td>
-          <td class="paramname"><em>result_s</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l01611">1611</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ab50d1ee589e91d07032d0a65768dee82"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void dtls_check_retransmit </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__context__t.html">dtls_context_t</a> *&#160;</td>
-          <td class="paramname"><em>context</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="group__clock.html#ga6e6c13e871b82d881a01d1bc8df69d23">clock_time_t</a> *&#160;</td>
-          <td class="paramname"><em>next</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Checks sendqueue of given DTLS context object for any outstanding packets to be transmitted.</p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">context</td><td>The DTLS context object to use. </td></tr>
-    <tr><td class="paramname">next</td><td>If not NULL, <code>next</code> is filled with the timestamp of the next scheduled retransmission, or <code>0</code> when no packets are waiting. </td></tr>
-  </table>
-  </dd>
-</dl>
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l03957">3957</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ad8c8390d0a1592207c4ea6dd0a623a9a"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int dtls_check_tls_extension </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *&#160;</td>
-          <td class="paramname"><em>peer</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *&#160;</td>
-          <td class="paramname"><em>data</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>data_length</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>client_hello</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l00777">777</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aa90f5eb6954137d5e098e29143c2586a"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int dtls_close </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__context__t.html">dtls_context_t</a> *&#160;</td>
-          <td class="paramname"><em>ctx</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const <a class="el" href="structsession__t.html">session_t</a> *&#160;</td>
-          <td class="paramname"><em>remote</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Closes the DTLS connection associated with <code>remote</code>. This function returns zero on success, and a value less than zero on error. </p>
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l01494">1494</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a187f5e145bb869a732fbed426929a4e9"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int dtls_connect </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__context__t.html">dtls_context_t</a> *&#160;</td>
-          <td class="paramname"><em>ctx</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const <a class="el" href="structsession__t.html">session_t</a> *&#160;</td>
-          <td class="paramname"><em>dst</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Establishes a DTLS channel with the specified remote peer <code>dst</code>. This function returns <code>0</code> if that channel already exists, a value greater than zero when a new ClientHello message was sent, and a value less than zero on error.</p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">ctx</td><td>The DTLS context to use. </td></tr>
-    <tr><td class="paramname">dst</td><td>The remote party to connect to. </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>A value less than zero on error, greater or equal otherwise. </dd></dl>
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l03862">3862</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ad60bf1197fa1a074f91aed508cfefa62"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int dtls_connect_peer </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__context__t.html">dtls_context_t</a> *&#160;</td>
-          <td class="paramname"><em>ctx</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *&#160;</td>
-          <td class="paramname"><em>peer</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Establishes a DTLS channel with the specified remote peer. This function returns <code>0</code> if that channel already exists, a value greater than zero when a new ClientHello message was sent, and a value less than zero on error.</p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">ctx</td><td>The DTLS context to use. </td></tr>
-    <tr><td class="paramname">peer</td><td>The peer object that describes the session. </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>A value less than zero on error, greater or equal otherwise. </dd></dl>
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l03826">3826</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a45841106ebcb5b1373c0312842b90943"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int dtls_create_cookie </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__context__t.html">dtls_context_t</a> *&#160;</td>
-          <td class="paramname"><em>ctx</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="structsession__t.html">session_t</a> *&#160;</td>
-          <td class="paramname"><em>session</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *&#160;</td>
-          <td class="paramname"><em>msg</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>msglen</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *&#160;</td>
-          <td class="paramname"><em>cookie</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int *&#160;</td>
-          <td class="paramname"><em>clen</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l00286">286</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a4b3eda5556d76e045b42b93055944ddd"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static void dtls_debug_keyblock </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__security__parameters__t.html">dtls_security_parameters_t</a> *&#160;</td>
-          <td class="paramname"><em>config</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-<p>Dump out the cipher keys and IVs used for the symetric cipher. </p>
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l00533">533</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a81061928e291b6a3e7701f6a7f51b6f3"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static void dtls_destroy_peer </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__context__t.html">dtls_context_t</a> *&#160;</td>
-          <td class="paramname"><em>ctx</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *&#160;</td>
-          <td class="paramname"><em>peer</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>unlink</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l01508">1508</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a3171c099d25ed29e31326526b8e1de84"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void dtls_free_context </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__context__t.html">dtls_context_t</a> *&#160;</td>
-          <td class="paramname"><em>ctx</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Releases any storage that has been allocated for <code>ctx</code>. </p>
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l03802">3802</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a8546683053c19be38b23aa9042139f4b"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int dtls_get_cookie </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *&#160;</td>
-          <td class="paramname"><em>msg</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>msglen</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> **&#160;</td>
-          <td class="paramname"><em>cookie</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l00261">261</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a70333bea2db35153177347b5c7700cab"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="structdtls__peer__t.html">dtls_peer_t</a>* dtls_get_peer </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="structdtls__context__t.html">dtls_context_t</a> *&#160;</td>
-          <td class="paramname"><em>context</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const <a class="el" href="structsession__t.html">session_t</a> *&#160;</td>
-          <td class="paramname"><em>session</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Check if <code>session</code> is associated with a peer object in <code>context</code>. This function returns a pointer to the peer if found, NULL otherwise.</p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">context</td><td>The DTLS context to search. </td></tr>
-    <tr><td class="paramname">session</td><td>The remote address and local interface </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>A pointer to the peer associated with <code>session</code> or NULL if none exists. </dd></dl>
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l00212">212</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ae272fea7269714fe7a67d6da64961731"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int dtls_handle_message </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__context__t.html">dtls_context_t</a> *&#160;</td>
-          <td class="paramname"><em>ctx</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="structsession__t.html">session_t</a> *&#160;</td>
-          <td class="paramname"><em>session</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *&#160;</td>
-          <td class="paramname"><em>msg</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>msglen</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Handles incoming data as DTLS message from given peer. </p>
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l03591">3591</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a00707f0f82235a2432338e77dae0911d"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static char* dtls_handshake_type_to_name </td>
-          <td>(</td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>type</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-<p>returns the name of the goven handshake type number. see IANA for a full list of types: <a href="https://www.iana.org/assignments/tls-parameters/tls-parameters.xml#tls-parameters-7">https://www.iana.org/assignments/tls-parameters/tls-parameters.xml#tls-parameters-7</a> </p>
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l00565">565</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ac203466e393ac9030d405c8f0496e9cd"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void dtls_init </td>
-          <td>(</td>
-          <td class="paramname"></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>This function initializes the tinyDTLS memory management and must be called first. </p>
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l00163">163</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a11f53d301448aa8f1dbcfaf77441bd9c"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="structdtls__context__t.html">dtls_context_t</a>* dtls_new_context </td>
-          <td>(</td>
-          <td class="paramtype">void *&#160;</td>
-          <td class="paramname"><em>app_data</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Creates a new context object. The storage allocated for the new object must be released with <a class="el" href="dtls_8h.html#a3171c099d25ed29e31326526b8e1de84">dtls_free_context()</a>. </p>
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l03740">3740</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ab9733484b9a23775b1bc8b3d723282e5"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int dtls_prepare_record </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *&#160;</td>
-          <td class="paramname"><em>peer</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="structdtls__security__parameters__t.html">dtls_security_parameters_t</a> *&#160;</td>
-          <td class="paramname"><em>security</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">unsigned char&#160;</td>
-          <td class="paramname"><em>type</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *&#160;</td>
-          <td class="paramname"><em>data_array</em>[], </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>data_len_array</em>[], </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>data_array_len</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *&#160;</td>
-          <td class="paramname"><em>sendbuf</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t *&#160;</td>
-          <td class="paramname"><em>rlen</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-<p>Prepares the payload given in <code>data</code> for sending with <a class="el" href="dtls_8c.html#afdd0d094bfd136f65455e23fda087cd6">dtls_send()</a>. The <code>data</code> is encrypted and compressed according to the current security parameters of <code>peer</code>. The result of this operation is put into <code>sendbuf</code> with a prepended record header of type <code>type</code> ready for sending. As some cipher suites add a MAC before encryption, <code>data</code> must be large enough to hold this data as well (usually <code><a class="el" href="crypto_8h.html#a5c3cbd4d9e514757deda211e97c9c758">dtls_kb_digest_size(CURRENT_CONFIG(peer))</a></code>.</p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">peer</td><td>The remote peer the packet will be sent to. </td></tr>
-    <tr><td class="paramname">security</td><td>The encryption paramater used to encrypt </td></tr>
-    <tr><td class="paramname">type</td><td>The content type of this record. </td></tr>
-    <tr><td class="paramname">data_array</td><td>Array with payloads in correct order. </td></tr>
-    <tr><td class="paramname">data_len_array</td><td>sizes of the payloads in correct order. </td></tr>
-    <tr><td class="paramname">data_array_len</td><td>The number of payloads given. </td></tr>
-    <tr><td class="paramname">sendbuf</td><td>The output buffer where the encrypted record will be placed. </td></tr>
-    <tr><td class="paramname">rlen</td><td>This parameter must be initialized with the maximum size of <code>sendbuf</code> and will be updated to hold the actual size of the stored packet on success. On error, the value of <code>rlen</code> is undefined. </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Less than zero on error, or greater than zero success. </dd></dl>
-<p>length of additional_data for the AEAD cipher which consists of seq_num(2+6) + type(1) + version(2) + length(2)</p>
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l01180">1180</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a5676a0ceeeabd1ec38d378212f7af4a1"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int dtls_renegotiate </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__context__t.html">dtls_context_t</a> *&#160;</td>
-          <td class="paramname"><em>ctx</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const <a class="el" href="structsession__t.html">session_t</a> *&#160;</td>
-          <td class="paramname"><em>dst</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l02956">2956</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aa57a9ccb1344c5baf8bd3adf35f3beeb"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static void dtls_retransmit </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__context__t.html">dtls_context_t</a> *&#160;</td>
-          <td class="paramname"><em>context</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="structnetq__t.html">netq_t</a> *&#160;</td>
-          <td class="paramname"><em>node</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l03890">3890</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="afdd0d094bfd136f65455e23fda087cd6"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int dtls_send </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__context__t.html">dtls_context_t</a> *&#160;</td>
-          <td class="paramname"><em>ctx</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *&#160;</td>
-          <td class="paramname"><em>peer</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">unsigned char&#160;</td>
-          <td class="paramname"><em>type</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *&#160;</td>
-          <td class="paramname"><em>buf</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>buflen</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-<p>Sends the fragment of length <code>buflen</code> given in <code>buf</code> to the specified <code>peer</code>. The data will be MAC-protected and encrypted according to the selected cipher and split into one or more DTLS records of the specified <code>type</code>. This function returns the number of bytes that were sent, or <code>-1</code> if an error occurred.</p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">ctx</td><td>The DTLS context to use. </td></tr>
-    <tr><td class="paramname">peer</td><td>The remote peer. </td></tr>
-    <tr><td class="paramname">type</td><td>The content type of the record. </td></tr>
-    <tr><td class="paramname">buf</td><td>The data to send. </td></tr>
-    <tr><td class="paramname">buflen</td><td>The actual length of <code>buf</code>. </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Less than zero on error, the number of bytes written otherwise. </dd></dl>
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l00200">200</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a4aac4fa55afe2d19342136acaaaf9641"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int dtls_send_alert </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__context__t.html">dtls_context_t</a> *&#160;</td>
-          <td class="paramname"><em>ctx</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *&#160;</td>
-          <td class="paramname"><em>peer</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="alert_8h.html#ab6264d1b950719f1c2e00b122cad871f">dtls_alert_level_t</a>&#160;</td>
-          <td class="paramname"><em>level</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbd">dtls_alert_t</a>&#160;</td>
-          <td class="paramname"><em>description</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l01485">1485</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a9cfb3c9e63f378d0d8e3d3d0c60537a5"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int dtls_send_ccs </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__context__t.html">dtls_context_t</a> *&#160;</td>
-          <td class="paramname"><em>ctx</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *&#160;</td>
-          <td class="paramname"><em>peer</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l02156">2156</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a6b92c487825aa888acc0b55f5adc0220"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int dtls_send_certificate_ecdsa </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__context__t.html">dtls_context_t</a> *&#160;</td>
-          <td class="paramname"><em>ctx</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *&#160;</td>
-          <td class="paramname"><em>peer</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const <a class="el" href="structdtls__ecdsa__key__t.html">dtls_ecdsa_key_t</a> *&#160;</td>
-          <td class="paramname"><em>key</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l01834">1834</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="adfe6fc0d0d66e9ffaef25c2c126b1c34"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int dtls_send_certificate_verify_ecdh </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__context__t.html">dtls_context_t</a> *&#160;</td>
-          <td class="paramname"><em>ctx</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *&#160;</td>
-          <td class="paramname"><em>peer</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const <a class="el" href="structdtls__ecdsa__key__t.html">dtls_ecdsa_key_t</a> *&#160;</td>
-          <td class="paramname"><em>key</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l02241">2241</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aecd3ffe8bf8a3970d3e091ce8e7c6476"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int dtls_send_client_hello </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__context__t.html">dtls_context_t</a> *&#160;</td>
-          <td class="paramname"><em>ctx</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *&#160;</td>
-          <td class="paramname"><em>peer</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>&#160;</td>
-          <td class="paramname"><em>cookie</em>[], </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>cookie_length</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l02308">2308</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a12e4cab07baba9eae2a0182f4e0bf72d"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int dtls_send_client_key_exchange </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__context__t.html">dtls_context_t</a> *&#160;</td>
-          <td class="paramname"><em>ctx</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *&#160;</td>
-          <td class="paramname"><em>peer</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l02164">2164</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a112e0d83a0e576b5d22df60241900a67"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int dtls_send_finished </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__context__t.html">dtls_context_t</a> *&#160;</td>
-          <td class="paramname"><em>ctx</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *&#160;</td>
-          <td class="paramname"><em>peer</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>label</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>labellen</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l02277">2277</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a872c53139e76cab7ec387cc54ae1a11b"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int dtls_send_handshake_msg </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__context__t.html">dtls_context_t</a> *&#160;</td>
-          <td class="paramname"><em>ctx</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *&#160;</td>
-          <td class="paramname"><em>peer</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>&#160;</td>
-          <td class="paramname"><em>header_type</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *&#160;</td>
-          <td class="paramname"><em>data</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>data_length</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l01361">1361</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a4f06884f659f6a5120be7e0b86d29880"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int dtls_send_handshake_msg_hash </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__context__t.html">dtls_context_t</a> *&#160;</td>
-          <td class="paramname"><em>ctx</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *&#160;</td>
-          <td class="paramname"><em>peer</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="structsession__t.html">session_t</a> *&#160;</td>
-          <td class="paramname"><em>session</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>&#160;</td>
-          <td class="paramname"><em>header_type</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *&#160;</td>
-          <td class="paramname"><em>data</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>data_length</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>add_hash</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l01323">1323</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ab3af0ee4375c0da833aacec49c6fd8ad"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int dtls_send_hello_request </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__context__t.html">dtls_context_t</a> *&#160;</td>
-          <td class="paramname"><em>ctx</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *&#160;</td>
-          <td class="paramname"><em>peer</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l02948">2948</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aa89745c0af073102c9c350d28a84214d"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int dtls_send_multi </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__context__t.html">dtls_context_t</a> *&#160;</td>
-          <td class="paramname"><em>ctx</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *&#160;</td>
-          <td class="paramname"><em>peer</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="structdtls__security__parameters__t.html">dtls_security_parameters_t</a> *&#160;</td>
-          <td class="paramname"><em>security</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="structsession__t.html">session_t</a> *&#160;</td>
-          <td class="paramname"><em>session</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">unsigned char&#160;</td>
-          <td class="paramname"><em>type</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *&#160;</td>
-          <td class="paramname"><em>buf_array</em>[], </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>buf_len_array</em>[], </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>buf_array_len</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-<p>Sends the data passed in <code>buf</code> as a DTLS record of type <code>type</code> to the given peer. The data will be encrypted and compressed according to the security parameters for <code>peer</code>.</p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">ctx</td><td>The DTLS context in effect. </td></tr>
-    <tr><td class="paramname">peer</td><td>The remote party where the packet is sent. </td></tr>
-    <tr><td class="paramname">type</td><td>The content type of this record. </td></tr>
-    <tr><td class="paramname">buf</td><td>The data to send. </td></tr>
-    <tr><td class="paramname">buflen</td><td>The number of bytes to send from <code>buf</code>. </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Less than zero in case of an error or the number of bytes that have been sent otherwise. </dd></dl>
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l01407">1407</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a51ab17e2a5ac1566ba4249b787bb98a3"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int dtls_send_server_certificate_request </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__context__t.html">dtls_context_t</a> *&#160;</td>
-          <td class="paramname"><em>ctx</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *&#160;</td>
-          <td class="paramname"><em>peer</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l02019">2019</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a7730a402edfca00c35bc1c7c09eb2fb9"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int dtls_send_server_hello </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__context__t.html">dtls_context_t</a> *&#160;</td>
-          <td class="paramname"><em>ctx</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *&#160;</td>
-          <td class="paramname"><em>peer</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l01736">1736</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ad6ebff8518bb1d53ba888baf6898ee21"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int dtls_send_server_hello_done </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__context__t.html">dtls_context_t</a> *&#160;</td>
-          <td class="paramname"><em>ctx</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *&#160;</td>
-          <td class="paramname"><em>peer</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l02061">2061</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="afc54bc2ed42b4b65ad8f01abca9a8772"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int dtls_send_server_hello_msgs </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__context__t.html">dtls_context_t</a> *&#160;</td>
-          <td class="paramname"><em>ctx</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *&#160;</td>
-          <td class="paramname"><em>peer</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l02073">2073</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a80275f06c14cbbc18095bc2f61022d15"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int dtls_send_server_key_exchange_ecdh </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__context__t.html">dtls_context_t</a> *&#160;</td>
-          <td class="paramname"><em>ctx</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *&#160;</td>
-          <td class="paramname"><em>peer</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const <a class="el" href="structdtls__ecdsa__key__t.html">dtls_ecdsa_key_t</a> *&#160;</td>
-          <td class="paramname"><em>key</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l01924">1924</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a00f6591bce49f6122dab9827c8774ba3"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int dtls_send_server_key_exchange_psk </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__context__t.html">dtls_context_t</a> *&#160;</td>
-          <td class="paramname"><em>ctx</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *&#160;</td>
-          <td class="paramname"><em>peer</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>psk_hint</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>len</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l01989">1989</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ab43d3a34ddaf0f5bfaa2b0b3e76e25d1"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static <a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>* dtls_set_handshake_header </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>&#160;</td>
-          <td class="paramname"><em>type</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *&#160;</td>
-          <td class="paramname"><em>peer</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>length</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>frag_offset</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>frag_length</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *&#160;</td>
-          <td class="paramname"><em>buf</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-<p>Initializes <code>buf</code> as handshake header. The caller must ensure that <code>buf</code> is capable of holding at least <code>sizeof(dtls_handshake_header_t)</code> bytes. Increments message sequence number counter of <code>peer</code>. </p>
-<dl class="section return"><dt>Returns</dt><dd>pointer to the next byte after <code>buf</code> </dd></dl>
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l00424">424</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a734cf32b1c8b99e21d57006da24fd808"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static <a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>* dtls_set_record_header </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>&#160;</td>
-          <td class="paramname"><em>type</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="structdtls__security__parameters__t.html">dtls_security_parameters_t</a> *&#160;</td>
-          <td class="paramname"><em>security</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *&#160;</td>
-          <td class="paramname"><em>buf</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-<p>Initializes <code>buf</code> as record header. The caller must ensure that <code>buf</code> is capable of holding at least <code>sizeof(dtls_record_header_t)</code> bytes. Increments sequence number counter of <code>security</code>. </p>
-<dl class="section return"><dt>Returns</dt><dd>pointer to the next byte after the written header. The length will be set to 0 and has to be changed before sending. </dd></dl>
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l00390">390</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a3742f5067d1b0693d6a41e70d4ecd5b5"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static void dtls_stop_retransmission </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__context__t.html">dtls_context_t</a> *&#160;</td>
-          <td class="paramname"><em>context</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *&#160;</td>
-          <td class="paramname"><em>peer</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-<p>Stops ongoing retransmissions of handshake messages for <code>peer</code>. </p>
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l03941">3941</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a63f2c7e75b86bb2839b8fedf3fa9c93d"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int dtls_update_parameters </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__context__t.html">dtls_context_t</a> *&#160;</td>
-          <td class="paramname"><em>ctx</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *&#160;</td>
-          <td class="paramname"><em>peer</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *&#160;</td>
-          <td class="paramname"><em>data</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>data_length</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-<p>Parses the ClientHello from the client and updates the internal handshake parameters with the new data for the given <code>peer</code>. When the ClientHello handshake message in <code>data</code> does not contain a cipher suite or compression method, it is copied from the the current security parameters.</p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">ctx</td><td>The current DTLS context. </td></tr>
-    <tr><td class="paramname">peer</td><td>The remote peer whose security parameters are about to change. </td></tr>
-    <tr><td class="paramname">data</td><td>The handshake message with a ClientHello. </td></tr>
-    <tr><td class="paramname">data_length</td><td>The actual size of <code>data</code>. </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd><code>-Something</code> if an error occurred, <code>0</code> on success. </dd></dl>
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l00900">900</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a604f68a801e55b884f7f7f1d2f1b9c9f"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int dtls_verify_peer </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__context__t.html">dtls_context_t</a> *&#160;</td>
-          <td class="paramname"><em>ctx</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *&#160;</td>
-          <td class="paramname"><em>peer</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="structsession__t.html">session_t</a> *&#160;</td>
-          <td class="paramname"><em>session</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *&#160;</td>
-          <td class="paramname"><em>data</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>data_length</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-<p>Checks a received Client Hello message for a valid cookie. When the Client Hello contains no cookie, the function fails and a Hello Verify Request is sent to the peer (using the write callback function registered with <code>ctx</code>). The return value is <code>-1</code> on error, <code>0</code> when undecided, and <code>1</code> if the Client Hello was good.</p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">ctx</td><td>The DTLS context. </td></tr>
-    <tr><td class="paramname">peer</td><td>The remote party we are talking to, if any. </td></tr>
-    <tr><td class="paramname">session</td><td>Transport address of the remote peer. </td></tr>
-    <tr><td class="paramname">msg</td><td>The received datagram. </td></tr>
-    <tr><td class="paramname">msglen</td><td>Length of <code>msg</code>. </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd><code>1</code> if msg is a Client Hello with a valid cookie, <code>0</code> or <code>-1</code> otherwise. </dd></dl>
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l01540">1540</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a1e338587fb19c794c8d19bc2801f2eb2"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int dtls_write </td>
-          <td>(</td>
-          <td class="paramtype">struct <a class="el" href="structdtls__context__t.html">dtls_context_t</a> *&#160;</td>
-          <td class="paramname"><em>ctx</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="structsession__t.html">session_t</a> *&#160;</td>
-          <td class="paramname"><em>session</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *&#160;</td>
-          <td class="paramname"><em>buf</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>len</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Writes the application data given in <code>buf</code> to the peer specified by <code>session</code>.</p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">ctx</td><td>The DTLS context to use. </td></tr>
-    <tr><td class="paramname">session</td><td>The remote transport address and local interface. </td></tr>
-    <tr><td class="paramname">buf</td><td>The data to write. </td></tr>
-    <tr><td class="paramname">len</td><td>The actual length of <code>data</code>.</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The number of bytes written or <code>-1</code> on error. </dd></dl>
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l00236">236</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="adb41bf916dc34af5cd79003a9243b727"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static size_t finalize_hs_hash </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *&#160;</td>
-          <td class="paramname"><em>peer</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *&#160;</td>
-          <td class="paramname"><em>buf</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l01082">1082</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aa2f1fb16f297640b319ff0d864139ea5"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static void free_context </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__context__t.html">dtls_context_t</a> *&#160;</td>
-          <td class="paramname"><em>context</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l00157">157</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a445994c602b105608f277c6fc066301d"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int handle_alert </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__context__t.html">dtls_context_t</a> *&#160;</td>
-          <td class="paramname"><em>ctx</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *&#160;</td>
-          <td class="paramname"><em>peer</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *&#160;</td>
-          <td class="paramname"><em>record_header</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *&#160;</td>
-          <td class="paramname"><em>data</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>data_length</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-<p>Handles incoming Alert messages. This function returns <code>1</code> if the connection should be closed and the peer is to be invalidated. </p>
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l03496">3496</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a4d7a16c9d0cd28666a2cc8ec471aa664"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int handle_ccs </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__context__t.html">dtls_context_t</a> *&#160;</td>
-          <td class="paramname"><em>ctx</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *&#160;</td>
-          <td class="paramname"><em>peer</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *&#160;</td>
-          <td class="paramname"><em>record_header</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *&#160;</td>
-          <td class="paramname"><em>data</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>data_length</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l03457">3457</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ab199f50f39a96464ff7b532f2635ce9d"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int handle_handshake </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__context__t.html">dtls_context_t</a> *&#160;</td>
-          <td class="paramname"><em>ctx</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *&#160;</td>
-          <td class="paramname"><em>peer</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="structsession__t.html">session_t</a> *&#160;</td>
-          <td class="paramname"><em>session</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const <a class="el" href="peer_8h.html#ae30cd4bcffed73f79f17c09e5a1452c8">dtls_peer_type</a>&#160;</td>
-          <td class="paramname"><em>role</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const <a class="el" href="state_8h.html#aea0e57fd5b857535960534b53361aa35">dtls_state_t</a>&#160;</td>
-          <td class="paramname"><em>state</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *&#160;</td>
-          <td class="paramname"><em>data</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>data_length</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l03347">3347</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a24e7d6ad9fc0d87b7285615123bdd43d"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int handle_handshake_msg </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__context__t.html">dtls_context_t</a> *&#160;</td>
-          <td class="paramname"><em>ctx</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *&#160;</td>
-          <td class="paramname"><em>peer</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="structsession__t.html">session_t</a> *&#160;</td>
-          <td class="paramname"><em>session</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const <a class="el" href="peer_8h.html#ae30cd4bcffed73f79f17c09e5a1452c8">dtls_peer_type</a>&#160;</td>
-          <td class="paramname"><em>role</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const <a class="el" href="state_8h.html#aea0e57fd5b857535960534b53361aa35">dtls_state_t</a>&#160;</td>
-          <td class="paramname"><em>state</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *&#160;</td>
-          <td class="paramname"><em>data</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>data_length</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l02992">2992</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a599f0d6e9134869e55b64c4f8720ebfa"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int is_ecdsa_client_auth_supported </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__context__t.html">dtls_context_t</a> *&#160;</td>
-          <td class="paramname"><em>ctx</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-<p>Returns true if the application is configured for ecdhe_ecdsa with client authentication </p>
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l00503">503</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="abb41f4bb9b8e4218ef5115ce70ebdc21"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int is_ecdsa_supported </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__context__t.html">dtls_context_t</a> *&#160;</td>
-          <td class="paramname"><em>ctx</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>is_client</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-<p>returns true if the application is configured for ecdhe_ecdsa </p>
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l00491">491</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a3bbccb275cb23e84c0a148a157955770"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int is_psk_supported </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__context__t.html">dtls_context_t</a> *&#160;</td>
-          <td class="paramname"><em>ctx</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-<p>returns true if the application is configured for psk </p>
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l00481">481</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aaafa285eb634873480c0ff429edd8064"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static unsigned int is_record </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *&#160;</td>
-          <td class="paramname"><em>msg</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>msglen</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-<p>Checks if <code>msg</code> points to a valid DTLS record. If </p>
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l00361">361</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a8098a728e5fff33ceeb7f57ebd48a212"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int is_tls_ecdhe_ecdsa_with_aes_128_ccm_8 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="global_8h.html#ada7e71454d685b693df45b2c1ea0c59b">dtls_cipher_t</a>&#160;</td>
-          <td class="paramname"><em>cipher</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-<p>returns true if the cipher matches TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8 </p>
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l00461">461</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a8bb6e8bb947b943d2af4c1886a8e72ba"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int is_tls_psk_with_aes_128_ccm_8 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="global_8h.html#ada7e71454d685b693df45b2c1ea0c59b">dtls_cipher_t</a>&#160;</td>
-          <td class="paramname"><em>cipher</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-<p>returns true if the cipher matches TLS_PSK_WITH_AES_128_CCM_8 </p>
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l00471">471</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a37965d10b44a63ea6adbf28b9dc79b75"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int known_cipher </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__context__t.html">dtls_context_t</a> *&#160;</td>
-          <td class="paramname"><em>ctx</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="global_8h.html#ada7e71454d685b693df45b2c1ea0c59b">dtls_cipher_t</a>&#160;</td>
-          <td class="paramname"><em>code</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>is_client</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-<p>Returns <code>1</code> if <code>code</code> is a cipher suite other than <code>TLS_NULL_WITH_NULL_NULL</code> that we recognize.</p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">ctx</td><td>The current DTLS context </td></tr>
-    <tr><td class="paramname">code</td><td>The cipher suite identifier to check </td></tr>
-    <tr><td class="paramname">is_client</td><td>1 for a dtls client, 0 for server </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd><code>1</code> iff <code>code</code> is recognized, </dd></dl>
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l00522">522</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a9e02f1c6e70dab40e56d5131a259521a"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static <a class="el" href="structdtls__context__t.html">dtls_context_t</a>* malloc_context </td>
-          <td>(</td>
-          <td class="paramname"></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l00152">152</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a3db09acb5894f17f4745d7556555bea7"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static void update_hs_hash </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *&#160;</td>
-          <td class="paramname"><em>peer</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *&#160;</td>
-          <td class="paramname"><em>data</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>length</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l01070">1070</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="af073bf7cefa5e49e0c939e853678d417"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int verify_ext_cert_type </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *&#160;</td>
-          <td class="paramname"><em>data</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>data_length</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l00725">725</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a04a3580764ffd4f253ce6be858806c95"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int verify_ext_ec_point_formats </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *&#160;</td>
-          <td class="paramname"><em>data</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>data_length</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l00749">749</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ad699a00b7ff5a71fa5b7fbc79a4dd9a8"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int verify_ext_eliptic_curves </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *&#160;</td>
-          <td class="paramname"><em>data</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>data_length</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l00701">701</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<h2 class="groupheader">Variable Documentation</h2>
-<a class="anchor" id="aecdb18ea2b899994542ec46b23528738"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">const unsigned char cert_asn1_header[]</td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
-<div class="line">  0x30, 0x59, </div>
-<div class="line">    0x30, 0x13, </div>
-<div class="line">      0x06, 0x07, </div>
-<div class="line">        0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x02, 0x01,</div>
-<div class="line">      0x06, 0x08, </div>
-<div class="line">        0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x03, 0x01, 0x07,</div>
-<div class="line">      0x03, 0x42, 0x00, </div>
-<div class="line">         0x04 </div>
-<div class="line">}</div>
-</div><!-- fragment -->
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l00124">124</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ae35671d94ccea5f335546ce409aed601"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> compression_methods[]</td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
-<div class="line">  <a class="code" href="global_8h.html#a1ff555e0b1443c4cb4d17ac2161d89b2ac5b79ee16e8c0e46873fa63fdb1ab9ca">TLS_COMPRESSION_NULL</a></div>
-<div class="line">}</div>
-<div class="ttc" id="global_8h_html_a1ff555e0b1443c4cb4d17ac2161d89b2ac5b79ee16e8c0e46873fa63fdb1ab9ca"><div class="ttname"><a href="global_8h.html#a1ff555e0b1443c4cb4d17ac2161d89b2ac5b79ee16e8c0e46873fa63fdb1ab9ca">TLS_COMPRESSION_NULL</a></div><div class="ttdef"><b>Definition:</b> <a href="global_8h_source.html#l00082">global.h:82</a></div></div>
-</div><!-- fragment --><p>only one compression method is currently defined </p>
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l00456">456</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="abba2a2562813493d98b5671a4c5c082b"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">const unsigned char prf_label_client[] = &quot;client&quot;</td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l00119">119</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a45d793d73836bf96dacb1d558f81b6c7"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">const unsigned char prf_label_finished[] = &quot; finished&quot;</td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l00121">121</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a42886cd9a1fd728f47ea40d38dfabcda"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">const unsigned char prf_label_key[] = &quot;key expansion&quot;</td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l00118">118</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a784ec579660900e758a9b7de84150c9b"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">const unsigned char prf_label_master[] = &quot;master secret&quot;</td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l00117">117</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aacf8643991dec574dcb09a280357ae4f"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">const unsigned char prf_label_server[] = &quot;server&quot;</td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l00120">120</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/dtls_8c_source.html b/external/wakaama/examples/shared/tinydtls/doc/html/dtls_8c_source.html
deleted file mode 100644 (file)
index 3877981..0000000
+++ /dev/null
@@ -1,4299 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: dtls.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="header">
-  <div class="headertitle">
-<div class="title">dtls.c</div>  </div>
-</div><!--header-->
-<div class="contents">
-<a href="dtls_8c.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/* dtls -- a very basic DTLS implementation</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> * Copyright (C) 2011--2012,2014 Olaf Bergmann &lt;bergmann@tzi.org&gt;</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> * Copyright (C) 2013 Hauke Mehrtens &lt;hauke@hauke-m.de&gt;</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> * Permission is hereby granted, free of charge, to any person</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> * obtaining a copy of this software and associated documentation</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> * files (the &quot;Software&quot;), to deal in the Software without</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> * restriction, including without limitation the rights to use, copy,</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> * modify, merge, publish, distribute, sublicense, and/or sell copies</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * of the Software, and to permit persons to whom the Software is</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> * furnished to do so, subject to the following conditions:</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * The above copyright notice and this permission notice shall be</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> * included in all copies or substantial portions of the Software.</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> * THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND,</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment"> * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment"> * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment"> * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment"> * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment"> * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment"> * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment"> * SOFTWARE.</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;</div>
-<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="tinydtls_8h.html">tinydtls.h</a>&quot;</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="dtls__config_8h.html">dtls_config.h</a>&quot;</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="dtls__time_8h.html">dtls_time.h</a>&quot;</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div>
-<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &lt;stdio.h&gt;</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &lt;stdlib.h&gt;</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#ifdef HAVE_ASSERT_H</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &lt;assert.h&gt;</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#ifndef WITH_CONTIKI</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &lt;stdlib.h&gt;</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="uthash_8h.html">uthash.h</a>&quot;</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* WITH_CONTIKI */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="debug_8h.html">debug.h</a>&quot;</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="numeric_8h.html">numeric.h</a>&quot;</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="netq_8h.html">netq.h</a>&quot;</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="dtls_8h.html">dtls.h</a>&quot;</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</div>
-<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="alert_8h.html">alert.h</a>&quot;</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="session_8h.html">session.h</a>&quot;</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="prng_8h.html">prng.h</a>&quot;</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;</div>
-<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">#ifdef WITH_SHA256</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#  include &quot;sha2/sha2.h&quot;</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="dtls_8c.html#aebefc949b2298e7de7b95b715874d407">   54</a></span>&#160;<span class="preprocessor">#define dtls_set_version(H,V) dtls_int_to_uint16((H)-&gt;version, (V))</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="dtls_8c.html#a8e0ab8b3ce70468c29820cafe96cd365">   55</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define dtls_set_content_type(H,V) ((H)-&gt;content_type = (V) &amp; 0xff)</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="dtls_8c.html#a9f723101896941fa44ea701c4dfd3591">   56</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define dtls_set_length(H,V)  ((H)-&gt;length = (V))</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="dtls_8c.html#aa02d6b65a8864468c2b8cfbe79084467">   58</a></span>&#160;<span class="preprocessor">#define dtls_get_content_type(H) ((H)-&gt;content_type &amp; 0xff)</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="dtls_8c.html#a22d6bcdee257de4be562aee0be9c87fb">   59</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define dtls_get_version(H) dtls_uint16_to_int((H)-&gt;version)</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="dtls_8c.html#a175d8e65080497463d13caf20e961500">   60</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define dtls_get_epoch(H) dtls_uint16_to_int((H)-&gt;epoch)</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="dtls_8c.html#a41f28f63e60a1a0b45a77d62bb5380e7">   61</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define dtls_get_sequence_number(H) dtls_uint48_to_ulong((H)-&gt;sequence_number)</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="dtls_8c.html#aad633ed0a80e25b3884d119a8d8aeaff">   62</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define dtls_get_fragment_length(H) dtls_uint24_to_int((H)-&gt;fragment_length)</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="preprocessor">#ifndef WITH_CONTIKI</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="dtls_8c.html#a0ce6e5416f5479558116b881d3eb1ad6">   65</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define HASH_FIND_PEER(head,sess,out)       \</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="preprocessor">  HASH_FIND(hh,head,sess,sizeof(session_t),out)</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="dtls_8c.html#acf0d50c9f224c0677988f13e947e9523">   67</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define HASH_ADD_PEER(head,sess,add)        \</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="preprocessor">  HASH_ADD(hh,head,sess,sizeof(session_t),add)</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="dtls_8c.html#a0844494b0b76acb7bcf832ae74fb25c0">   69</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define HASH_DEL_PEER(head,delptr)      \</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="preprocessor">  HASH_DELETE(hh,head,delptr)</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif </span><span class="comment">/* WITH_CONTIKI */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="dtls_8c.html#ae97c368900c13dc7074c09e8848afa8f">   73</a></span>&#160;<span class="preprocessor">#define DTLS_RH_LENGTH sizeof(dtls_record_header_t)</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="dtls_8c.html#a520419d1976b301c508721faed549b4f">   74</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define DTLS_HS_LENGTH sizeof(dtls_handshake_header_t)</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="dtls_8c.html#affe47ee08ad0e6a54d4f0c2a7f412675">   75</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define DTLS_CH_LENGTH sizeof(dtls_client_hello_t) </span><span class="comment">/* no variable length fields! */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="dtls_8c.html#abd652cf0e4512727591d3ec8ca066ace">   76</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define DTLS_COOKIE_LENGTH_MAX 32</span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="dtls_8c.html#aa5a4609da11d9496490853de9c2bf6fa">   77</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define DTLS_CH_LENGTH_MAX sizeof(dtls_client_hello_t) + DTLS_COOKIE_LENGTH_MAX + 12 + 26</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="dtls_8c.html#a85d3d5311baabdaa06b7824528eef4e5">   78</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define DTLS_HV_LENGTH sizeof(dtls_hello_verify_t)</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="dtls_8c.html#afcca5dc5ebcc9eb8141ca0b49b647676">   79</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define DTLS_SH_LENGTH (2 + DTLS_RANDOM_LENGTH + 1 + 2 + 1)</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="dtls_8c.html#a6570b93f9f19e6abceef85c566fe3696">   80</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define DTLS_CE_LENGTH (3 + 3 + 27 + DTLS_EC_KEY_SIZE + DTLS_EC_KEY_SIZE)</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="dtls_8c.html#ad9481c39cd66eac3059df28aef1e9843">   81</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define DTLS_SKEXEC_LENGTH (1 + 2 + 1 + 1 + DTLS_EC_KEY_SIZE + DTLS_EC_KEY_SIZE + 1 + 1 + 2 + 70)</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="dtls_8c.html#a4c0c656efcfd0e33595914171e51ae6d">   82</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define DTLS_SKEXECPSK_LENGTH_MIN 2</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="dtls_8c.html#a8a4dc9af457241380a01c8e38fdc4e2d">   83</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define DTLS_SKEXECPSK_LENGTH_MAX 2 + DTLS_PSK_MAX_CLIENT_IDENTITY_LEN</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="dtls_8c.html#a674da4ca826bf1206ec8053f4c9eb336">   84</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define DTLS_CKXPSK_LENGTH_MIN 2</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="dtls_8c.html#a5ddccf12706c8d18d80b7759454ca164">   85</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define DTLS_CKXEC_LENGTH (1 + 1 + DTLS_EC_KEY_SIZE + DTLS_EC_KEY_SIZE)</span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="dtls_8c.html#a0bcce8fa79dc3187eb5f1655798ac816">   86</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define DTLS_CV_LENGTH (1 + 1 + 2 + 1 + 1 + 1 + 1 + DTLS_EC_KEY_SIZE + 1 + 1 + DTLS_EC_KEY_SIZE)</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="dtls_8c.html#a21644ea2de742395df1e3b3281ba4f63">   87</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define DTLS_FIN_LENGTH 12</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="dtls_8c.html#a76388c15f1b77d3c5b9d8068e8c0a087">   89</a></span>&#160;<span class="preprocessor">#define HS_HDR_LENGTH  DTLS_RH_LENGTH + DTLS_HS_LENGTH</span></div>
-<div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="dtls_8c.html#a07a808dc78df3141fe5caba2a3e2226b">   90</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define HV_HDR_LENGTH  HS_HDR_LENGTH + DTLS_HV_LENGTH</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="dtls_8c.html#aa5a8f0d3793bb3b194ca364b596ab01d">   92</a></span>&#160;<span class="preprocessor">#define HIGH(V) (((V) &gt;&gt; 8) &amp; 0xff)</span></div>
-<div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="dtls_8c.html#a69edf0296cf64026686d4ff4424d4e8f">   93</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define LOW(V)  ((V) &amp; 0xff)</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="dtls_8c.html#a35d050593196252c1826ac2e82cbac0b">   95</a></span>&#160;<span class="preprocessor">#define DTLS_RECORD_HEADER(M) ((dtls_record_header_t *)(M))</span></div>
-<div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="dtls_8c.html#a2cc930733d35ea870c7a0a131bee0d7a">   96</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define DTLS_HANDSHAKE_HEADER(M) ((dtls_handshake_header_t *)(M))</span></div>
-<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="dtls_8c.html#a354c84e6c783c5d0cdbf905c27e77dc4">   98</a></span>&#160;<span class="preprocessor">#define HANDSHAKE(M) ((dtls_handshake_header_t *)((M) + DTLS_RH_LENGTH))</span></div>
-<div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="dtls_8c.html#a0800e26c09602d197e929fcc8ba783d5">   99</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define CLIENTHELLO(M) ((dtls_client_hello_t *)((M) + HS_HDR_LENGTH))</span></div>
-<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;<span class="comment">/* The length check here should work because dtls_*_to_int() works on</span></div>
-<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="comment"> * unsigned char. Otherwise, broken messages could cause severe</span></div>
-<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="comment"> * trouble. Note that this macro jumps out of the current program flow</span></div>
-<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="comment"> * when the message is too short. Beware!</span></div>
-<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="dtls_8c.html#a09a0896d586ff27855ced6930cc17023">  106</a></span>&#160;<span class="preprocessor">#define SKIP_VAR_FIELD(P,L,T) {                     \</span></div>
-<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="preprocessor">    if (L &lt; dtls_ ## T ## _to_int(P) + sizeof(T))           \</span></div>
-<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<span class="preprocessor">      goto error;                           \</span></div>
-<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="preprocessor">    L -= dtls_ ## T ## _to_int(P) + sizeof(T);              \</span></div>
-<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="preprocessor">    P += dtls_ ## T ## _to_int(P) + sizeof(T);              \</span></div>
-<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;<span class="preprocessor">  }</span></div>
-<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;<span class="comment">/* some constants for the PRF */</span></div>
-<div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="dtls_8c.html#abac8adda40bcb694e059e38f6ac115f9">  114</a></span>&#160;<span class="preprocessor">#define PRF_LABEL(Label) prf_label_##Label</span></div>
-<div class="line"><a name="l00115"></a><span class="lineno"><a class="line" href="dtls_8c.html#a83b260e812e69f1dae18497d167770a9">  115</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PRF_LABEL_SIZE(Label) (sizeof(PRF_LABEL(Label)) - 1)</span></div>
-<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="dtls_8c.html#a784ec579660900e758a9b7de84150c9b">  117</a></span>&#160;<span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="dtls_8c.html#a784ec579660900e758a9b7de84150c9b">prf_label_master</a>[] = <span class="stringliteral">&quot;master secret&quot;</span>;</div>
-<div class="line"><a name="l00118"></a><span class="lineno"><a class="line" href="dtls_8c.html#a42886cd9a1fd728f47ea40d38dfabcda">  118</a></span>&#160;<span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="dtls_8c.html#a42886cd9a1fd728f47ea40d38dfabcda">prf_label_key</a>[] = <span class="stringliteral">&quot;key expansion&quot;</span>;</div>
-<div class="line"><a name="l00119"></a><span class="lineno"><a class="line" href="dtls_8c.html#abba2a2562813493d98b5671a4c5c082b">  119</a></span>&#160;<span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="dtls_8c.html#abba2a2562813493d98b5671a4c5c082b">prf_label_client</a>[] = <span class="stringliteral">&quot;client&quot;</span>;</div>
-<div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="dtls_8c.html#aacf8643991dec574dcb09a280357ae4f">  120</a></span>&#160;<span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="dtls_8c.html#aacf8643991dec574dcb09a280357ae4f">prf_label_server</a>[] = <span class="stringliteral">&quot;server&quot;</span>;</div>
-<div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="dtls_8c.html#a45d793d73836bf96dacb1d558f81b6c7">  121</a></span>&#160;<span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="dtls_8c.html#a45d793d73836bf96dacb1d558f81b6c7">prf_label_finished</a>[] = <span class="stringliteral">&quot; finished&quot;</span>;</div>
-<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;</div>
-<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="comment">/* first part of Raw public key, the is the start of the Subject Public Key */</span></div>
-<div class="line"><a name="l00124"></a><span class="lineno"><a class="line" href="dtls_8c.html#aecdb18ea2b899994542ec46b23528738">  124</a></span>&#160;<span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="dtls_8c.html#aecdb18ea2b899994542ec46b23528738">cert_asn1_header</a>[] = {</div>
-<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;  0x30, 0x59, <span class="comment">/* SEQUENCE, length 89 bytes */</span></div>
-<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;    0x30, 0x13, <span class="comment">/* SEQUENCE, length 19 bytes */</span></div>
-<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;      0x06, 0x07, <span class="comment">/* OBJECT IDENTIFIER ecPublicKey (1 2 840 10045 2 1) */</span></div>
-<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;        0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x02, 0x01,</div>
-<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;      0x06, 0x08, <span class="comment">/* OBJECT IDENTIFIER prime256v1 (1 2 840 10045 3 1 7) */</span></div>
-<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;        0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x03, 0x01, 0x07,</div>
-<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;      0x03, 0x42, 0x00, <span class="comment">/* BIT STRING, length 66 bytes, 0 bits unused */</span></div>
-<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;         0x04 <span class="comment">/* uncompressed, followed by the r und s values of the public key */</span></div>
-<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;};</div>
-<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;</div>
-<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;<span class="preprocessor">#ifdef WITH_CONTIKI</span></div>
-<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="preprocessor"></span>PROCESS(dtls_retransmit_process, <span class="stringliteral">&quot;DTLS retransmit process&quot;</span>);</div>
-<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;</div>
-<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;<span class="keyword">static</span> <a class="code" href="structdtls__context__t.html">dtls_context_t</a> the_dtls_context;</div>
-<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;</div>
-<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="structdtls__context__t.html">dtls_context_t</a> *</div>
-<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<a class="code" href="dtls_8c.html#a9e02f1c6e70dab40e56d5131a259521a">malloc_context</a>() {</div>
-<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;  <span class="keywordflow">return</span> &amp;the_dtls_context;</div>
-<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;}</div>
-<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div>
-<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;<a class="code" href="dtls_8c.html#aa2f1fb16f297640b319ff0d864139ea5">free_context</a>(<a class="code" href="structdtls__context__t.html">dtls_context_t</a> *context) {</div>
-<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;}</div>
-<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;</div>
-<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;<span class="preprocessor">#else </span><span class="comment">/* WITH_CONTIKI */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="structdtls__context__t.html">dtls_context_t</a> *</div>
-<div class="line"><a name="l00152"></a><span class="lineno"><a class="line" href="dtls_8c.html#a9e02f1c6e70dab40e56d5131a259521a">  152</a></span>&#160;<a class="code" href="dtls_8c.html#a9e02f1c6e70dab40e56d5131a259521a">malloc_context</a>() {</div>
-<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;  <span class="keywordflow">return</span> (<a class="code" href="structdtls__context__t.html">dtls_context_t</a> *)malloc(<span class="keyword">sizeof</span>(<a class="code" href="structdtls__context__t.html">dtls_context_t</a>));</div>
-<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;}</div>
-<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div>
-<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00157"></a><span class="lineno"><a class="line" href="dtls_8c.html#aa2f1fb16f297640b319ff0d864139ea5">  157</a></span>&#160;<a class="code" href="dtls_8c.html#aa2f1fb16f297640b319ff0d864139ea5">free_context</a>(<a class="code" href="structdtls__context__t.html">dtls_context_t</a> *context) {</div>
-<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;  free(context);</div>
-<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;}</div>
-<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;<span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;<span class="keywordtype">void</span></div>
-<div class="line"><a name="l00163"></a><span class="lineno"><a class="line" href="dtls_8h.html#ac203466e393ac9030d405c8f0496e9cd">  163</a></span>&#160;<a class="code" href="dtls_8c.html#ac203466e393ac9030d405c8f0496e9cd">dtls_init</a>() {</div>
-<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;  <a class="code" href="group__clock.html#ga8b340ad858b708dbc7bf40f784935c90">dtls_clock_init</a>();</div>
-<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;  <a class="code" href="crypto_8c.html#a86e6ce9d4b4afcef355836955697f52c">crypto_init</a>();</div>
-<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;  <a class="code" href="group__netq.html#ga9eba9e66570dcdfc933c6cf843694444">netq_init</a>();</div>
-<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;  <a class="code" href="peer_8c.html#a0297e9d772bfca004a98462d9c7d2828">peer_init</a>();</div>
-<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;}</div>
-<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;</div>
-<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;<span class="comment">/* Calls cb_alert() with given arguments if defined, otherwise an</span></div>
-<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="comment"> * error message is logged and the result is -1. This is just an</span></div>
-<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;<span class="comment"> * internal helper.</span></div>
-<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00174"></a><span class="lineno"><a class="line" href="dtls_8c.html#a3e132aba78de736930255d40ef3f2d34">  174</a></span>&#160;<span class="preprocessor">#define CALL(Context, which, ...)                   \</span></div>
-<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;<span class="preprocessor">  ((Context)-&gt;h &amp;&amp; (Context)-&gt;h-&gt;which                  \</span></div>
-<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;<span class="preprocessor">   ? (Context)-&gt;h-&gt;which((Context), ##__VA_ARGS__)          \</span></div>
-<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;<span class="preprocessor">   : -1)</span></div>
-<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<a class="code" href="dtls_8c.html#aa89745c0af073102c9c350d28a84214d">dtls_send_multi</a>(<a class="code" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *peer,</div>
-<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;        <a class="code" href="structdtls__security__parameters__t.html">dtls_security_parameters_t</a> *security , <a class="code" href="structsession__t.html">session_t</a> *session,</div>
-<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;        <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> type, <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *buf_array[],</div>
-<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;        <span class="keywordtype">size_t</span> buf_len_array[], <span class="keywordtype">size_t</span> buf_array_len);</div>
-<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;</div>
-<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;<span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00200"></a><span class="lineno"><a class="line" href="dtls_8c.html#afdd0d094bfd136f65455e23fda087cd6">  200</a></span>&#160;<a class="code" href="dtls_8c.html#afdd0d094bfd136f65455e23fda087cd6">dtls_send</a>(<a class="code" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *peer, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> type,</div>
-<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;      <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *buf, <span class="keywordtype">size_t</span> buflen) {</div>
-<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;  <span class="keywordflow">return</span> <a class="code" href="dtls_8c.html#aa89745c0af073102c9c350d28a84214d">dtls_send_multi</a>(ctx, peer, <a class="code" href="peer_8h.html#a48abcad7383e1db957af9b4fed030d52">dtls_security_params</a>(peer), &amp;peer-&gt;<a class="code" href="structdtls__peer__t.html#a44ebb2ba643269c7e6943f3a9040febe">session</a>,</div>
-<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;             type, &amp;buf, &amp;buflen, 1);</div>
-<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;}</div>
-<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;</div>
-<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="dtls_8c.html#a3742f5067d1b0693d6a41e70d4ecd5b5">dtls_stop_retransmission</a>(<a class="code" href="structdtls__context__t.html">dtls_context_t</a> *context, <a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *peer);</div>
-<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;</div>
-<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;<a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *</div>
-<div class="line"><a name="l00212"></a><span class="lineno"><a class="line" href="dtls_8h.html#a3fd062108e5d0f48627ae644546824a6">  212</a></span>&#160;<a class="code" href="dtls_8c.html#a70333bea2db35153177347b5c7700cab">dtls_get_peer</a>(<span class="keyword">const</span> <a class="code" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <span class="keyword">const</span> <a class="code" href="structsession__t.html">session_t</a> *session) {</div>
-<div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;  <a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *p = NULL;</div>
-<div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;</div>
-<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;<span class="preprocessor">#ifndef WITH_CONTIKI</span></div>
-<div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;<span class="preprocessor"></span>  <a class="code" href="dtls_8c.html#a0ce6e5416f5479558116b881d3eb1ad6">HASH_FIND_PEER</a>(ctx-&gt;<a class="code" href="structdtls__context__t.html#a417fa8ac04478292f0539d2da0fec088">peers</a>, session, p);</div>
-<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;<span class="preprocessor">#else </span><span class="comment">/* WITH_CONTIKI */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="preprocessor"></span>  <span class="keywordflow">for</span> (p = <a class="code" href="t__list_8h.html#adb42e31bb4fe0df6ec1aa3494902968d">list_head</a>(ctx-&gt;<a class="code" href="structdtls__context__t.html#a417fa8ac04478292f0539d2da0fec088">peers</a>); p; p = <a class="code" href="t__list_8h.html#ae7f0bdad2409695760ffd8de55b6a99b">list_item_next</a>(p))</div>
-<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;    <span class="keywordflow">if</span> (<a class="code" href="session_8c.html#a96f4d60f388d56d37b3e69261bea2417">dtls_session_equals</a>(&amp;p-&gt;<a class="code" href="structdtls__peer__t.html#a44ebb2ba643269c7e6943f3a9040febe">session</a>, session))</div>
-<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;      <span class="keywordflow">return</span> p;</div>
-<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* WITH_CONTIKI */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;<span class="preprocessor"></span>  </div>
-<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;  <span class="keywordflow">return</span> p;</div>
-<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;}</div>
-<div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;</div>
-<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00227"></a><span class="lineno"><a class="line" href="dtls_8c.html#ae4a2961a027959f907145f82ca9107c3">  227</a></span>&#160;<a class="code" href="dtls_8c.html#ae4a2961a027959f907145f82ca9107c3">dtls_add_peer</a>(<a class="code" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *peer) {</div>
-<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<span class="preprocessor">#ifndef WITH_CONTIKI</span></div>
-<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;<span class="preprocessor"></span>  <a class="code" href="dtls_8c.html#acf0d50c9f224c0677988f13e947e9523">HASH_ADD_PEER</a>(ctx-&gt;<a class="code" href="structdtls__context__t.html#a417fa8ac04478292f0539d2da0fec088">peers</a>, session, peer);</div>
-<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;<span class="preprocessor">#else </span><span class="comment">/* WITH_CONTIKI */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;<span class="preprocessor"></span>  <a class="code" href="t__list_8h.html#aee4e6fc5d9a6133555e7373c654b2120">list_add</a>(ctx-&gt;<a class="code" href="structdtls__context__t.html#a417fa8ac04478292f0539d2da0fec088">peers</a>, peer);</div>
-<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* WITH_CONTIKI */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;<span class="preprocessor"></span>}</div>
-<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;</div>
-<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;<span class="keywordtype">int</span></div>
-<div class="line"><a name="l00236"></a><span class="lineno"><a class="line" href="dtls_8h.html#a4743f51c3197d290fc9a88e1f3a64928">  236</a></span>&#160;<a class="code" href="dtls_8c.html#a1e338587fb19c794c8d19bc2801f2eb2">dtls_write</a>(<span class="keyword">struct</span> <a class="code" href="structdtls__context__t.html">dtls_context_t</a> *ctx, </div>
-<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;       <a class="code" href="structsession__t.html">session_t</a> *dst, <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *buf, <span class="keywordtype">size_t</span> len) {</div>
-<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;  </div>
-<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;  <a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *peer = <a class="code" href="dtls_8c.html#a70333bea2db35153177347b5c7700cab">dtls_get_peer</a>(ctx, dst);</div>
-<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;</div>
-<div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;  <span class="comment">/* Check if peer connection already exists */</span></div>
-<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;  <span class="keywordflow">if</span> (!peer) { <span class="comment">/* no ==&gt; create one */</span></div>
-<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;    <span class="keywordtype">int</span> res;</div>
-<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;</div>
-<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;    <span class="comment">/* dtls_connect() returns a value greater than zero if a new</span></div>
-<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;<span class="comment">     * connection attempt is made, 0 for session reuse. */</span></div>
-<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;    res = <a class="code" href="dtls_8c.html#a187f5e145bb869a732fbed426929a4e9">dtls_connect</a>(ctx, dst);</div>
-<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;</div>
-<div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;    <span class="keywordflow">return</span> (res &gt;= 0) ? 0 : res;</div>
-<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;  } <span class="keywordflow">else</span> { <span class="comment">/* a session exists, check if it is in state connected */</span></div>
-<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;    </div>
-<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;    <span class="keywordflow">if</span> (peer-&gt;<a class="code" href="structdtls__peer__t.html#a4e23cc3b273813744524c3db1fda9c83">state</a> != <a class="code" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a953a6aabd0aff0492df164e79815b122">DTLS_STATE_CONNECTED</a>) {</div>
-<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;      <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;    } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;      <span class="keywordflow">return</span> <a class="code" href="dtls_8c.html#afdd0d094bfd136f65455e23fda087cd6">dtls_send</a>(ctx, peer, <a class="code" href="dtls_8h.html#a2e3ff1e96b8b7db8a3648beba35bfd0c">DTLS_CT_APPLICATION_DATA</a>, buf, len);</div>
-<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;    }</div>
-<div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;  }</div>
-<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;}</div>
-<div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;</div>
-<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;<span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00261"></a><span class="lineno"><a class="line" href="dtls_8c.html#a8546683053c19be38b23aa9042139f4b">  261</a></span>&#160;<a class="code" href="dtls_8c.html#a8546683053c19be38b23aa9042139f4b">dtls_get_cookie</a>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *msg, <span class="keywordtype">size_t</span> msglen, <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> **cookie) {</div>
-<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;  <span class="comment">/* To access the cookie, we have to determine the session id&#39;s</span></div>
-<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;<span class="comment">   * length and skip the whole thing. */</span></div>
-<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;  <span class="keywordflow">if</span> (msglen &lt; <a class="code" href="dtls_8c.html#a520419d1976b301c508721faed549b4f">DTLS_HS_LENGTH</a> + <a class="code" href="dtls_8c.html#affe47ee08ad0e6a54d4f0c2a7f412675">DTLS_CH_LENGTH</a> + <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>))</div>
-<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdaea5ed33e912421eb48afb73ce0a6014d">DTLS_ALERT_HANDSHAKE_FAILURE</a>);</div>
-<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;</div>
-<div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;  <span class="keywordflow">if</span> (<a class="code" href="numeric_8h.html#ae32dd0743658f1aa5a723d5a8357521f">dtls_uint16_to_int</a>(msg + <a class="code" href="dtls_8c.html#a520419d1976b301c508721faed549b4f">DTLS_HS_LENGTH</a>) != <a class="code" href="dtls_8h.html#af0c44db3bf3a6a52e9ed271218daeaa6">DTLS_VERSION</a>)</div>
-<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdaa392c9a6bb02b01386a1c34dc1947652">DTLS_ALERT_PROTOCOL_VERSION</a>);</div>
-<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;</div>
-<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;  msglen -= <a class="code" href="dtls_8c.html#a520419d1976b301c508721faed549b4f">DTLS_HS_LENGTH</a> + <a class="code" href="dtls_8c.html#affe47ee08ad0e6a54d4f0c2a7f412675">DTLS_CH_LENGTH</a>;</div>
-<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;  msg += <a class="code" href="dtls_8c.html#a520419d1976b301c508721faed549b4f">DTLS_HS_LENGTH</a> + <a class="code" href="dtls_8c.html#affe47ee08ad0e6a54d4f0c2a7f412675">DTLS_CH_LENGTH</a>;</div>
-<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;</div>
-<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;  <a class="code" href="dtls_8c.html#a09a0896d586ff27855ced6930cc17023">SKIP_VAR_FIELD</a>(msg, msglen, <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>); <span class="comment">/* skip session id */</span></div>
-<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;</div>
-<div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;  <span class="keywordflow">if</span> (msglen &lt; (*msg &amp; 0xff) + <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>))</div>
-<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdaea5ed33e912421eb48afb73ce0a6014d">DTLS_ALERT_HANDSHAKE_FAILURE</a>);</div>
-<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;  </div>
-<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;  *cookie = msg + <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>);</div>
-<div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;  <span class="keywordflow">return</span> <a class="code" href="numeric_8h.html#a7293cc28604d896cfef802b53b0ad99f">dtls_uint8_to_int</a>(msg);</div>
-<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;</div>
-<div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160; error:</div>
-<div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;  <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdaea5ed33e912421eb48afb73ce0a6014d">DTLS_ALERT_HANDSHAKE_FAILURE</a>);</div>
-<div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;}</div>
-<div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;</div>
-<div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;<span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00286"></a><span class="lineno"><a class="line" href="dtls_8c.html#a45841106ebcb5b1373c0312842b90943">  286</a></span>&#160;<a class="code" href="dtls_8c.html#a45841106ebcb5b1373c0312842b90943">dtls_create_cookie</a>(<a class="code" href="structdtls__context__t.html">dtls_context_t</a> *ctx, </div>
-<div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;           <a class="code" href="structsession__t.html">session_t</a> *session,</div>
-<div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;           <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *msg, <span class="keywordtype">size_t</span> msglen,</div>
-<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;           <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *cookie, <span class="keywordtype">int</span> *clen) {</div>
-<div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> buf[<a class="code" href="group__HMAC.html#ga3e84ddbef6bf0084252e16e6c547e332">DTLS_HMAC_MAX</a>];</div>
-<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;  <span class="keywordtype">size_t</span> len, e;</div>
-<div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;</div>
-<div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;  <span class="comment">/* create cookie with HMAC-SHA256 over:</span></div>
-<div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;<span class="comment">   * - SECRET</span></div>
-<div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;<span class="comment">   * - session parameters (only IP address?)</span></div>
-<div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;<span class="comment">   * - client version </span></div>
-<div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;<span class="comment">   * - random gmt and bytes</span></div>
-<div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;<span class="comment">   * - session id</span></div>
-<div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;<span class="comment">   * - cipher_suites </span></div>
-<div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;<span class="comment">   * - compression method</span></div>
-<div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;<span class="comment">   */</span></div>
-<div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;</div>
-<div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;  <span class="comment">/* We use our own buffer as hmac_context instead of a dynamic buffer</span></div>
-<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;<span class="comment">   * created by dtls_hmac_new() to separate storage space for cookie</span></div>
-<div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;<span class="comment">   * creation from storage that is used in real sessions. Note that</span></div>
-<div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;<span class="comment">   * the buffer size must fit with the default hash algorithm (see</span></div>
-<div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;<span class="comment">   * implementation of dtls_hmac_context_new()). */</span></div>
-<div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;</div>
-<div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;  <a class="code" href="structdtls__hmac__context__t.html">dtls_hmac_context_t</a> hmac_context;</div>
-<div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;  <a class="code" href="group__HMAC.html#gaa1eb35fcb2c2eb69eebaefa8eb4a790d">dtls_hmac_init</a>(&amp;hmac_context, ctx-&gt;<a class="code" href="structdtls__context__t.html#adb7dc6a53a7e00f2c4bbf726973e002f">cookie_secret</a>, <a class="code" href="dtls_8h.html#a44ec206b1d84aa3d83281a92ed7cc238">DTLS_COOKIE_SECRET_LENGTH</a>);</div>
-<div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;</div>
-<div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;  <a class="code" href="group__HMAC.html#ga1ef9c88a0a2053b442413a9cea3deb73">dtls_hmac_update</a>(&amp;hmac_context, </div>
-<div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;           (<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *)&amp;session-&gt;<a class="code" href="structsession__t.html#a0bb4423cd29b415a4cf6c32d5d9a43e4">addr</a>, session-&gt;<a class="code" href="structsession__t.html#aed21682e9f971221d9f35f1266dea125">size</a>);</div>
-<div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;</div>
-<div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;  <span class="comment">/* feed in the beginning of the Client Hello up to and including the</span></div>
-<div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;<span class="comment">     session id */</span></div>
-<div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;  e = <span class="keyword">sizeof</span>(<a class="code" href="dtls_8h.html#aa9ebc35a08295c2ae09d4248ba8e6456">dtls_client_hello_t</a>);</div>
-<div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;  e += (*(msg + <a class="code" href="dtls_8c.html#a520419d1976b301c508721faed549b4f">DTLS_HS_LENGTH</a> + e) &amp; 0xff) + <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>);</div>
-<div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;  <span class="keywordflow">if</span> (e + <a class="code" href="dtls_8c.html#a520419d1976b301c508721faed549b4f">DTLS_HS_LENGTH</a> &gt; msglen)</div>
-<div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdaea5ed33e912421eb48afb73ce0a6014d">DTLS_ALERT_HANDSHAKE_FAILURE</a>);</div>
-<div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;</div>
-<div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;  <a class="code" href="group__HMAC.html#ga1ef9c88a0a2053b442413a9cea3deb73">dtls_hmac_update</a>(&amp;hmac_context, msg + <a class="code" href="dtls_8c.html#a520419d1976b301c508721faed549b4f">DTLS_HS_LENGTH</a>, e);</div>
-<div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;  </div>
-<div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;  <span class="comment">/* skip cookie bytes and length byte */</span></div>
-<div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;  e += *(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *)(msg + <a class="code" href="dtls_8c.html#a520419d1976b301c508721faed549b4f">DTLS_HS_LENGTH</a> + e) &amp; 0xff;</div>
-<div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;  e += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>);</div>
-<div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;  <span class="keywordflow">if</span> (e + <a class="code" href="dtls_8c.html#a520419d1976b301c508721faed549b4f">DTLS_HS_LENGTH</a> &gt; msglen)</div>
-<div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdaea5ed33e912421eb48afb73ce0a6014d">DTLS_ALERT_HANDSHAKE_FAILURE</a>);</div>
-<div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;</div>
-<div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;  <a class="code" href="group__HMAC.html#ga1ef9c88a0a2053b442413a9cea3deb73">dtls_hmac_update</a>(&amp;hmac_context, </div>
-<div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;           msg + <a class="code" href="dtls_8c.html#a520419d1976b301c508721faed549b4f">DTLS_HS_LENGTH</a> + e,</div>
-<div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;           <a class="code" href="dtls_8c.html#aad633ed0a80e25b3884d119a8d8aeaff">dtls_get_fragment_length</a>(<a class="code" href="dtls_8c.html#a2cc930733d35ea870c7a0a131bee0d7a">DTLS_HANDSHAKE_HEADER</a>(msg)) - e);</div>
-<div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;</div>
-<div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;  len = <a class="code" href="group__HMAC.html#gab98c992f3f9cc3c2d75077ddd46049bf">dtls_hmac_finalize</a>(&amp;hmac_context, buf);</div>
-<div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;</div>
-<div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;  <span class="keywordflow">if</span> (len &lt; *clen) {</div>
-<div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;    memset(cookie + len, 0, *clen - len);</div>
-<div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;    *clen = len;</div>
-<div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;  }</div>
-<div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;  </div>
-<div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;  memcpy(cookie, buf, *clen);</div>
-<div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;  <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;}</div>
-<div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;</div>
-<div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;<span class="preprocessor">#ifdef DTLS_CHECK_CONTENTTYPE</span></div>
-<div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;<span class="preprocessor"></span><span class="comment">/* used to check if a received datagram contains a DTLS message */</span></div>
-<div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;<span class="keyword">static</span> <span class="keywordtype">char</span> <span class="keyword">const</span> content_types[] = { </div>
-<div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;  <a class="code" href="dtls_8h.html#a3114c327a12e3850e97c4cf8a0cc5c9d">DTLS_CT_CHANGE_CIPHER_SPEC</a>,</div>
-<div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;  <a class="code" href="dtls_8h.html#af8ce2230240b6d3c36b216ef459baff1">DTLS_CT_ALERT</a>,</div>
-<div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;  <a class="code" href="dtls_8h.html#a76965db5ec449b3c8a9a54c24a4d45dc">DTLS_CT_HANDSHAKE</a>,</div>
-<div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;  <a class="code" href="dtls_8h.html#a2e3ff1e96b8b7db8a3648beba35bfd0c">DTLS_CT_APPLICATION_DATA</a>,</div>
-<div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;  0                 <span class="comment">/* end marker */</span></div>
-<div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;};</div>
-<div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;<span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;<span class="keyword">static</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00361"></a><span class="lineno"><a class="line" href="dtls_8c.html#aaafa285eb634873480c0ff429edd8064">  361</a></span>&#160;<a class="code" href="dtls_8c.html#aaafa285eb634873480c0ff429edd8064">is_record</a>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *msg, <span class="keywordtype">size_t</span> msglen) {</div>
-<div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> rlen = 0;</div>
-<div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;</div>
-<div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;  <span class="keywordflow">if</span> (msglen &gt;= <a class="code" href="dtls_8c.html#ae97c368900c13dc7074c09e8848afa8f">DTLS_RH_LENGTH</a>  <span class="comment">/* FIXME allow empty records? */</span></div>
-<div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;#ifdef DTLS_CHECK_CONTENTTYPE</div>
-<div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;      &amp;&amp; strchr(content_types, msg[0])</div>
-<div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;#endif</div>
-<div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;      &amp;&amp; msg[1] == <a class="code" href="dtls_8c.html#aa5a8f0d3793bb3b194ca364b596ab01d">HIGH</a>(<a class="code" href="dtls_8h.html#af0c44db3bf3a6a52e9ed271218daeaa6">DTLS_VERSION</a>)</div>
-<div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;      &amp;&amp; msg[2] == <a class="code" href="dtls_8c.html#a69edf0296cf64026686d4ff4424d4e8f">LOW</a>(<a class="code" href="dtls_8h.html#af0c44db3bf3a6a52e9ed271218daeaa6">DTLS_VERSION</a>)) </div>
-<div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;    {</div>
-<div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;      rlen = <a class="code" href="dtls_8c.html#ae97c368900c13dc7074c09e8848afa8f">DTLS_RH_LENGTH</a> + </div>
-<div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;    <a class="code" href="numeric_8h.html#ae32dd0743658f1aa5a723d5a8357521f">dtls_uint16_to_int</a>(<a class="code" href="dtls_8c.html#a35d050593196252c1826ac2e82cbac0b">DTLS_RECORD_HEADER</a>(msg)-&gt;length);</div>
-<div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;      </div>
-<div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;      <span class="comment">/* we do not accept wrong length field in record header */</span></div>
-<div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;      <span class="keywordflow">if</span> (rlen &gt; msglen)    </div>
-<div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;    rlen = 0;</div>
-<div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;  } </div>
-<div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;  </div>
-<div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;  <span class="keywordflow">return</span> rlen;</div>
-<div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;}</div>
-<div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;</div>
-<div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *</div>
-<div class="line"><a name="l00390"></a><span class="lineno"><a class="line" href="dtls_8c.html#a734cf32b1c8b99e21d57006da24fd808">  390</a></span>&#160;<a class="code" href="dtls_8c.html#a734cf32b1c8b99e21d57006da24fd808">dtls_set_record_header</a>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> type, <a class="code" href="structdtls__security__parameters__t.html">dtls_security_parameters_t</a> *security,</div>
-<div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;               <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *buf) {</div>
-<div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;  </div>
-<div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;  <a class="code" href="numeric_8h.html#a7b602967e2fc28b0be02bd4585e255d0">dtls_int_to_uint8</a>(buf, type);</div>
-<div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;  buf += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>);</div>
-<div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;</div>
-<div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;  <a class="code" href="numeric_8h.html#a074d352855e1ffde4c2ddb6a6fea01b9">dtls_int_to_uint16</a>(buf, <a class="code" href="dtls_8h.html#af0c44db3bf3a6a52e9ed271218daeaa6">DTLS_VERSION</a>);</div>
-<div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;  buf += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>);</div>
-<div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;</div>
-<div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;  <span class="keywordflow">if</span> (security) {</div>
-<div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;    <a class="code" href="numeric_8h.html#a074d352855e1ffde4c2ddb6a6fea01b9">dtls_int_to_uint16</a>(buf, security-&gt;<a class="code" href="structdtls__security__parameters__t.html#a2bce1fa0bf77eeab8fadca824de602da">epoch</a>);</div>
-<div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;    buf += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>);</div>
-<div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;</div>
-<div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;    <a class="code" href="numeric_8h.html#abe324cc4e62d03bdecf457382ba213c8">dtls_int_to_uint48</a>(buf, security-&gt;<a class="code" href="structdtls__security__parameters__t.html#a100dc82ee41004df1d9f211873332f87">rseq</a>);</div>
-<div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;    buf += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a0749f1df578b26eccab986b0d8abaa56">uint48</a>);</div>
-<div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;</div>
-<div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;    <span class="comment">/* increment record sequence counter by 1 */</span></div>
-<div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;    security-&gt;<a class="code" href="structdtls__security__parameters__t.html#a100dc82ee41004df1d9f211873332f87">rseq</a>++;</div>
-<div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;  } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;    memset(buf, 0, <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>) + <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a0749f1df578b26eccab986b0d8abaa56">uint48</a>));</div>
-<div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;    buf += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>) + <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a0749f1df578b26eccab986b0d8abaa56">uint48</a>);</div>
-<div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;  }</div>
-<div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;</div>
-<div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;  memset(buf, 0, <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>));</div>
-<div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;  <span class="keywordflow">return</span> buf + <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>);</div>
-<div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;}</div>
-<div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;</div>
-<div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *</div>
-<div class="line"><a name="l00424"></a><span class="lineno"><a class="line" href="dtls_8c.html#ab43d3a34ddaf0f5bfaa2b0b3e76e25d1">  424</a></span>&#160;<a class="code" href="dtls_8c.html#ab43d3a34ddaf0f5bfaa2b0b3e76e25d1">dtls_set_handshake_header</a>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> type, <a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *peer, </div>
-<div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;              <span class="keywordtype">int</span> length, </div>
-<div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;              <span class="keywordtype">int</span> frag_offset, <span class="keywordtype">int</span> frag_length, </div>
-<div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;              <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *buf) {</div>
-<div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;  </div>
-<div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;  <a class="code" href="numeric_8h.html#a7b602967e2fc28b0be02bd4585e255d0">dtls_int_to_uint8</a>(buf, type);</div>
-<div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;  buf += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>);</div>
-<div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;</div>
-<div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;  <a class="code" href="numeric_8h.html#aff276cdd846cd194a21e9c61549292f6">dtls_int_to_uint24</a>(buf, length);</div>
-<div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;  buf += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#aabc56baaf04f922a1ea0dda7691fec0a">uint24</a>);</div>
-<div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;</div>
-<div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;  <span class="keywordflow">if</span> (peer &amp;&amp; peer-&gt;<a class="code" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">handshake_params</a>) {</div>
-<div class="line"><a name="l00436"></a><span class="lineno">  436</span>&#160;    <span class="comment">/* and copy the result to buf */</span></div>
-<div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;    <a class="code" href="numeric_8h.html#a074d352855e1ffde4c2ddb6a6fea01b9">dtls_int_to_uint16</a>(buf, peer-&gt;<a class="code" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">handshake_params</a>-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a56e7392a649731166fc82a523b0eb027">hs_state</a>.<a class="code" href="structdtls__hs__state__t.html#a694ce15382e7504a750a1b102ad8ec32">mseq_s</a>);</div>
-<div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;</div>
-<div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;    <span class="comment">/* increment handshake message sequence counter by 1 */</span></div>
-<div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;    peer-&gt;<a class="code" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">handshake_params</a>-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a56e7392a649731166fc82a523b0eb027">hs_state</a>.<a class="code" href="structdtls__hs__state__t.html#a694ce15382e7504a750a1b102ad8ec32">mseq_s</a>++;</div>
-<div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;  } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;    memset(buf, 0, <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>));    </div>
-<div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;  }</div>
-<div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;  buf += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>);</div>
-<div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;  </div>
-<div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160;  <a class="code" href="numeric_8h.html#aff276cdd846cd194a21e9c61549292f6">dtls_int_to_uint24</a>(buf, frag_offset);</div>
-<div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;  buf += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#aabc56baaf04f922a1ea0dda7691fec0a">uint24</a>);</div>
-<div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160;</div>
-<div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;  <a class="code" href="numeric_8h.html#aff276cdd846cd194a21e9c61549292f6">dtls_int_to_uint24</a>(buf, frag_length);</div>
-<div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;  buf += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#aabc56baaf04f922a1ea0dda7691fec0a">uint24</a>);</div>
-<div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160;  </div>
-<div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;  <span class="keywordflow">return</span> buf;</div>
-<div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;}</div>
-<div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;</div>
-<div class="line"><a name="l00456"></a><span class="lineno"><a class="line" href="dtls_8c.html#ae35671d94ccea5f335546ce409aed601">  456</a></span>&#160;<span class="keyword">static</span> <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> <a class="code" href="dtls_8c.html#ae35671d94ccea5f335546ce409aed601">compression_methods</a>[] = {</div>
-<div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;  <a class="code" href="global_8h.html#a1ff555e0b1443c4cb4d17ac2161d89b2ac5b79ee16e8c0e46873fa63fdb1ab9ca">TLS_COMPRESSION_NULL</a></div>
-<div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;};</div>
-<div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;</div>
-<div class="line"><a name="l00461"></a><span class="lineno"><a class="line" href="dtls_8c.html#a8098a728e5fff33ceeb7f57ebd48a212">  461</a></span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="dtls_8c.html#a8098a728e5fff33ceeb7f57ebd48a212">is_tls_ecdhe_ecdsa_with_aes_128_ccm_8</a>(<a class="code" href="global_8h.html#ada7e71454d685b693df45b2c1ea0c59b">dtls_cipher_t</a> cipher)</div>
-<div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160;{</div>
-<div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;<span class="preprocessor">#ifdef DTLS_ECC</span></div>
-<div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160;<span class="preprocessor"></span>  <span class="keywordflow">return</span> cipher == <a class="code" href="global_8h.html#ada7e71454d685b693df45b2c1ea0c59ba197892e216f63ddbc91c2b006a2d4c1e">TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8</a>;</div>
-<div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;<span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;<span class="preprocessor"></span>  <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* DTLS_ECC */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;<span class="preprocessor"></span>}</div>
-<div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;</div>
-<div class="line"><a name="l00471"></a><span class="lineno"><a class="line" href="dtls_8c.html#a8bb6e8bb947b943d2af4c1886a8e72ba">  471</a></span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="dtls_8c.html#a8bb6e8bb947b943d2af4c1886a8e72ba">is_tls_psk_with_aes_128_ccm_8</a>(<a class="code" href="global_8h.html#ada7e71454d685b693df45b2c1ea0c59b">dtls_cipher_t</a> cipher)</div>
-<div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;{</div>
-<div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;<span class="preprocessor">#ifdef DTLS_PSK</span></div>
-<div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;<span class="preprocessor"></span>  <span class="keywordflow">return</span> cipher == <a class="code" href="global_8h.html#ada7e71454d685b693df45b2c1ea0c59ba39a3062f136db88f648ce514a591fac8">TLS_PSK_WITH_AES_128_CCM_8</a>;</div>
-<div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160;<span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;<span class="preprocessor"></span>  <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* DTLS_PSK */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160;<span class="preprocessor"></span>}</div>
-<div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;</div>
-<div class="line"><a name="l00481"></a><span class="lineno"><a class="line" href="dtls_8c.html#a3bbccb275cb23e84c0a148a157955770">  481</a></span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="dtls_8c.html#a3bbccb275cb23e84c0a148a157955770">is_psk_supported</a>(<a class="code" href="structdtls__context__t.html">dtls_context_t</a> *ctx)</div>
-<div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160;{</div>
-<div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;<span class="preprocessor">#ifdef DTLS_PSK</span></div>
-<div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;<span class="preprocessor"></span>  <span class="keywordflow">return</span> ctx &amp;&amp; ctx-&gt;<a class="code" href="structdtls__context__t.html#a460737bda0d200538c00ef7877b339cd">h</a> &amp;&amp; ctx-&gt;<a class="code" href="structdtls__context__t.html#a460737bda0d200538c00ef7877b339cd">h</a>-&gt;get_psk_info;</div>
-<div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;<span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;<span class="preprocessor"></span>  <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* DTLS_PSK */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;<span class="preprocessor"></span>}</div>
-<div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;</div>
-<div class="line"><a name="l00491"></a><span class="lineno"><a class="line" href="dtls_8c.html#abb41f4bb9b8e4218ef5115ce70ebdc21">  491</a></span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="dtls_8c.html#abb41f4bb9b8e4218ef5115ce70ebdc21">is_ecdsa_supported</a>(<a class="code" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <span class="keywordtype">int</span> is_client)</div>
-<div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;{</div>
-<div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160;<span class="preprocessor">#ifdef DTLS_ECC</span></div>
-<div class="line"><a name="l00494"></a><span class="lineno">  494</span>&#160;<span class="preprocessor"></span>  <span class="keywordflow">return</span> ctx &amp;&amp; ctx-&gt;<a class="code" href="structdtls__context__t.html#a460737bda0d200538c00ef7877b339cd">h</a> &amp;&amp; ((!is_client &amp;&amp; ctx-&gt;<a class="code" href="structdtls__context__t.html#a460737bda0d200538c00ef7877b339cd">h</a>-&gt;get_ecdsa_key) || </div>
-<div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160;               (is_client &amp;&amp; ctx-&gt;<a class="code" href="structdtls__context__t.html#a460737bda0d200538c00ef7877b339cd">h</a>-&gt;verify_ecdsa_key));</div>
-<div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;<span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00497"></a><span class="lineno">  497</span>&#160;<span class="preprocessor"></span>  <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00498"></a><span class="lineno">  498</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* DTLS_ECC */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00499"></a><span class="lineno">  499</span>&#160;<span class="preprocessor"></span>}</div>
-<div class="line"><a name="l00500"></a><span class="lineno">  500</span>&#160;</div>
-<div class="line"><a name="l00503"></a><span class="lineno"><a class="line" href="dtls_8c.html#a599f0d6e9134869e55b64c4f8720ebfa">  503</a></span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="dtls_8c.html#a599f0d6e9134869e55b64c4f8720ebfa">is_ecdsa_client_auth_supported</a>(<a class="code" href="structdtls__context__t.html">dtls_context_t</a> *ctx)</div>
-<div class="line"><a name="l00504"></a><span class="lineno">  504</span>&#160;{</div>
-<div class="line"><a name="l00505"></a><span class="lineno">  505</span>&#160;<span class="preprocessor">#ifdef DTLS_ECC</span></div>
-<div class="line"><a name="l00506"></a><span class="lineno">  506</span>&#160;<span class="preprocessor"></span>  <span class="keywordflow">return</span> ctx &amp;&amp; ctx-&gt;<a class="code" href="structdtls__context__t.html#a460737bda0d200538c00ef7877b339cd">h</a> &amp;&amp; ctx-&gt;<a class="code" href="structdtls__context__t.html#a460737bda0d200538c00ef7877b339cd">h</a>-&gt;get_ecdsa_key &amp;&amp; ctx-&gt;<a class="code" href="structdtls__context__t.html#a460737bda0d200538c00ef7877b339cd">h</a>-&gt;verify_ecdsa_key;</div>
-<div class="line"><a name="l00507"></a><span class="lineno">  507</span>&#160;<span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00508"></a><span class="lineno">  508</span>&#160;<span class="preprocessor"></span>  <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00509"></a><span class="lineno">  509</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* DTLS_ECC */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00510"></a><span class="lineno">  510</span>&#160;<span class="preprocessor"></span>}</div>
-<div class="line"><a name="l00511"></a><span class="lineno">  511</span>&#160;</div>
-<div class="line"><a name="l00521"></a><span class="lineno">  521</span>&#160;<span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00522"></a><span class="lineno"><a class="line" href="dtls_8c.html#a37965d10b44a63ea6adbf28b9dc79b75">  522</a></span>&#160;<a class="code" href="dtls_8c.html#a37965d10b44a63ea6adbf28b9dc79b75">known_cipher</a>(<a class="code" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="code" href="global_8h.html#ada7e71454d685b693df45b2c1ea0c59b">dtls_cipher_t</a> code, <span class="keywordtype">int</span> is_client) {</div>
-<div class="line"><a name="l00523"></a><span class="lineno">  523</span>&#160;  <span class="keywordtype">int</span> psk;</div>
-<div class="line"><a name="l00524"></a><span class="lineno">  524</span>&#160;  <span class="keywordtype">int</span> ecdsa;</div>
-<div class="line"><a name="l00525"></a><span class="lineno">  525</span>&#160;</div>
-<div class="line"><a name="l00526"></a><span class="lineno">  526</span>&#160;  psk = <a class="code" href="dtls_8c.html#a3bbccb275cb23e84c0a148a157955770">is_psk_supported</a>(ctx);</div>
-<div class="line"><a name="l00527"></a><span class="lineno">  527</span>&#160;  ecdsa = <a class="code" href="dtls_8c.html#abb41f4bb9b8e4218ef5115ce70ebdc21">is_ecdsa_supported</a>(ctx, is_client);</div>
-<div class="line"><a name="l00528"></a><span class="lineno">  528</span>&#160;  <span class="keywordflow">return</span> (psk &amp;&amp; <a class="code" href="dtls_8c.html#a8bb6e8bb947b943d2af4c1886a8e72ba">is_tls_psk_with_aes_128_ccm_8</a>(code)) ||</div>
-<div class="line"><a name="l00529"></a><span class="lineno">  529</span>&#160;     (ecdsa &amp;&amp; <a class="code" href="dtls_8c.html#a8098a728e5fff33ceeb7f57ebd48a212">is_tls_ecdhe_ecdsa_with_aes_128_ccm_8</a>(code));</div>
-<div class="line"><a name="l00530"></a><span class="lineno">  530</span>&#160;}</div>
-<div class="line"><a name="l00531"></a><span class="lineno">  531</span>&#160;</div>
-<div class="line"><a name="l00533"></a><span class="lineno"><a class="line" href="dtls_8c.html#a4b3eda5556d76e045b42b93055944ddd">  533</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="dtls_8c.html#a4b3eda5556d76e045b42b93055944ddd">dtls_debug_keyblock</a>(<a class="code" href="structdtls__security__parameters__t.html">dtls_security_parameters_t</a> *config)</div>
-<div class="line"><a name="l00534"></a><span class="lineno">  534</span>&#160;{</div>
-<div class="line"><a name="l00535"></a><span class="lineno">  535</span>&#160;  <a class="code" href="debug_8h.html#a0f158325426415d9efb5a36bebf45844">dtls_debug</a>(<span class="stringliteral">&quot;key_block (%d bytes):\n&quot;</span>, <a class="code" href="crypto_8h.html#a147bfdc558c2ec69ffdf388ae19ae01c">dtls_kb_size</a>(config, peer-&gt;role));</div>
-<div class="line"><a name="l00536"></a><span class="lineno">  536</span>&#160;  <a class="code" href="debug_8h.html#ab27d2c7cae1e8022e93562ecda9140b6">dtls_debug_dump</a>(<span class="stringliteral">&quot;  client_MAC_secret&quot;</span>,</div>
-<div class="line"><a name="l00537"></a><span class="lineno">  537</span>&#160;          <a class="code" href="crypto_8h.html#a72899232c09d09b86326c6f234addc02">dtls_kb_client_mac_secret</a>(config, peer-&gt;role),</div>
-<div class="line"><a name="l00538"></a><span class="lineno">  538</span>&#160;          <a class="code" href="crypto_8h.html#a1f320854c9f4e9b2105649b3624976b0">dtls_kb_mac_secret_size</a>(config, peer-&gt;role));</div>
-<div class="line"><a name="l00539"></a><span class="lineno">  539</span>&#160;</div>
-<div class="line"><a name="l00540"></a><span class="lineno">  540</span>&#160;  <a class="code" href="debug_8h.html#ab27d2c7cae1e8022e93562ecda9140b6">dtls_debug_dump</a>(<span class="stringliteral">&quot;  server_MAC_secret&quot;</span>,</div>
-<div class="line"><a name="l00541"></a><span class="lineno">  541</span>&#160;          <a class="code" href="crypto_8h.html#ac8fdf3770dcd956ca10d1044a57a7a3a">dtls_kb_server_mac_secret</a>(config, peer-&gt;role),</div>
-<div class="line"><a name="l00542"></a><span class="lineno">  542</span>&#160;          <a class="code" href="crypto_8h.html#a1f320854c9f4e9b2105649b3624976b0">dtls_kb_mac_secret_size</a>(config, peer-&gt;role));</div>
-<div class="line"><a name="l00543"></a><span class="lineno">  543</span>&#160;</div>
-<div class="line"><a name="l00544"></a><span class="lineno">  544</span>&#160;  <a class="code" href="debug_8h.html#ab27d2c7cae1e8022e93562ecda9140b6">dtls_debug_dump</a>(<span class="stringliteral">&quot;  client_write_key&quot;</span>,</div>
-<div class="line"><a name="l00545"></a><span class="lineno">  545</span>&#160;          <a class="code" href="crypto_8h.html#ab5659b0737d72a2fa1b1335952f9c305">dtls_kb_client_write_key</a>(config, peer-&gt;role),</div>
-<div class="line"><a name="l00546"></a><span class="lineno">  546</span>&#160;          <a class="code" href="crypto_8h.html#a726ef8efa2e072c3c5e1ea1019e716aa">dtls_kb_key_size</a>(config, peer-&gt;role));</div>
-<div class="line"><a name="l00547"></a><span class="lineno">  547</span>&#160;</div>
-<div class="line"><a name="l00548"></a><span class="lineno">  548</span>&#160;  <a class="code" href="debug_8h.html#ab27d2c7cae1e8022e93562ecda9140b6">dtls_debug_dump</a>(<span class="stringliteral">&quot;  server_write_key&quot;</span>,</div>
-<div class="line"><a name="l00549"></a><span class="lineno">  549</span>&#160;          <a class="code" href="crypto_8h.html#aea906786dcfa12acb320df731c8db7f6">dtls_kb_server_write_key</a>(config, peer-&gt;role),</div>
-<div class="line"><a name="l00550"></a><span class="lineno">  550</span>&#160;          <a class="code" href="crypto_8h.html#a726ef8efa2e072c3c5e1ea1019e716aa">dtls_kb_key_size</a>(config, peer-&gt;role));</div>
-<div class="line"><a name="l00551"></a><span class="lineno">  551</span>&#160;</div>
-<div class="line"><a name="l00552"></a><span class="lineno">  552</span>&#160;  <a class="code" href="debug_8h.html#ab27d2c7cae1e8022e93562ecda9140b6">dtls_debug_dump</a>(<span class="stringliteral">&quot;  client_IV&quot;</span>,</div>
-<div class="line"><a name="l00553"></a><span class="lineno">  553</span>&#160;          <a class="code" href="crypto_8h.html#a1d3c04e5d39477a525b5255ab3240094">dtls_kb_client_iv</a>(config, peer-&gt;role),</div>
-<div class="line"><a name="l00554"></a><span class="lineno">  554</span>&#160;          <a class="code" href="crypto_8h.html#adcdadf1870e2acb2993b1a8726d26997">dtls_kb_iv_size</a>(config, peer-&gt;role));</div>
-<div class="line"><a name="l00555"></a><span class="lineno">  555</span>&#160;</div>
-<div class="line"><a name="l00556"></a><span class="lineno">  556</span>&#160;  <a class="code" href="debug_8h.html#ab27d2c7cae1e8022e93562ecda9140b6">dtls_debug_dump</a>(<span class="stringliteral">&quot;  server_IV&quot;</span>,</div>
-<div class="line"><a name="l00557"></a><span class="lineno">  557</span>&#160;          <a class="code" href="crypto_8h.html#acdd95c24ec6aebf14dac6ee4386a79be">dtls_kb_server_iv</a>(config, peer-&gt;role),</div>
-<div class="line"><a name="l00558"></a><span class="lineno">  558</span>&#160;          <a class="code" href="crypto_8h.html#adcdadf1870e2acb2993b1a8726d26997">dtls_kb_iv_size</a>(config, peer-&gt;role));</div>
-<div class="line"><a name="l00559"></a><span class="lineno">  559</span>&#160;}</div>
-<div class="line"><a name="l00560"></a><span class="lineno">  560</span>&#160;</div>
-<div class="line"><a name="l00565"></a><span class="lineno"><a class="line" href="dtls_8c.html#a00707f0f82235a2432338e77dae0911d">  565</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">char</span> *<a class="code" href="dtls_8c.html#a00707f0f82235a2432338e77dae0911d">dtls_handshake_type_to_name</a>(<span class="keywordtype">int</span> type)</div>
-<div class="line"><a name="l00566"></a><span class="lineno">  566</span>&#160;{</div>
-<div class="line"><a name="l00567"></a><span class="lineno">  567</span>&#160;  <span class="keywordflow">switch</span> (type) {</div>
-<div class="line"><a name="l00568"></a><span class="lineno">  568</span>&#160;  <span class="keywordflow">case</span> <a class="code" href="dtls_8h.html#a66566dfd30b8ab388c08b4cde6c667cc">DTLS_HT_HELLO_REQUEST</a>:</div>
-<div class="line"><a name="l00569"></a><span class="lineno">  569</span>&#160;    <span class="keywordflow">return</span> <span class="stringliteral">&quot;hello_request&quot;</span>;</div>
-<div class="line"><a name="l00570"></a><span class="lineno">  570</span>&#160;  <span class="keywordflow">case</span> <a class="code" href="dtls_8h.html#a25f0afef67a1fd8d9e3e61074d11e2f5">DTLS_HT_CLIENT_HELLO</a>:</div>
-<div class="line"><a name="l00571"></a><span class="lineno">  571</span>&#160;    <span class="keywordflow">return</span> <span class="stringliteral">&quot;client_hello&quot;</span>;</div>
-<div class="line"><a name="l00572"></a><span class="lineno">  572</span>&#160;  <span class="keywordflow">case</span> <a class="code" href="dtls_8h.html#ad5882a5ff4073ffefa266bb2c4a1ee3c">DTLS_HT_SERVER_HELLO</a>:</div>
-<div class="line"><a name="l00573"></a><span class="lineno">  573</span>&#160;    <span class="keywordflow">return</span> <span class="stringliteral">&quot;server_hello&quot;</span>;</div>
-<div class="line"><a name="l00574"></a><span class="lineno">  574</span>&#160;  <span class="keywordflow">case</span> <a class="code" href="dtls_8h.html#ab04f98f1863c785fabd97925c9746f7d">DTLS_HT_HELLO_VERIFY_REQUEST</a>:</div>
-<div class="line"><a name="l00575"></a><span class="lineno">  575</span>&#160;    <span class="keywordflow">return</span> <span class="stringliteral">&quot;hello_verify_request&quot;</span>;</div>
-<div class="line"><a name="l00576"></a><span class="lineno">  576</span>&#160;  <span class="keywordflow">case</span> <a class="code" href="dtls_8h.html#a55a0a899d7f151e7f53b76fe8a82c10e">DTLS_HT_CERTIFICATE</a>:</div>
-<div class="line"><a name="l00577"></a><span class="lineno">  577</span>&#160;    <span class="keywordflow">return</span> <span class="stringliteral">&quot;certificate&quot;</span>;</div>
-<div class="line"><a name="l00578"></a><span class="lineno">  578</span>&#160;  <span class="keywordflow">case</span> <a class="code" href="dtls_8h.html#aab327e17614cf2902c5fc6169466613f">DTLS_HT_SERVER_KEY_EXCHANGE</a>:</div>
-<div class="line"><a name="l00579"></a><span class="lineno">  579</span>&#160;    <span class="keywordflow">return</span> <span class="stringliteral">&quot;server_key_exchange&quot;</span>;</div>
-<div class="line"><a name="l00580"></a><span class="lineno">  580</span>&#160;  <span class="keywordflow">case</span> <a class="code" href="dtls_8h.html#a6f49d7b0a6e9190d71d51b1ee9ff3bd5">DTLS_HT_CERTIFICATE_REQUEST</a>:</div>
-<div class="line"><a name="l00581"></a><span class="lineno">  581</span>&#160;    <span class="keywordflow">return</span> <span class="stringliteral">&quot;certificate_request&quot;</span>;</div>
-<div class="line"><a name="l00582"></a><span class="lineno">  582</span>&#160;  <span class="keywordflow">case</span> <a class="code" href="dtls_8h.html#a44399f223a3e1c8a8bf3fc638a06a4d7">DTLS_HT_SERVER_HELLO_DONE</a>:</div>
-<div class="line"><a name="l00583"></a><span class="lineno">  583</span>&#160;    <span class="keywordflow">return</span> <span class="stringliteral">&quot;server_hello_done&quot;</span>;</div>
-<div class="line"><a name="l00584"></a><span class="lineno">  584</span>&#160;  <span class="keywordflow">case</span> <a class="code" href="dtls_8h.html#a9abc650dd8339a227ddd165ede9350d0">DTLS_HT_CERTIFICATE_VERIFY</a>:</div>
-<div class="line"><a name="l00585"></a><span class="lineno">  585</span>&#160;    <span class="keywordflow">return</span> <span class="stringliteral">&quot;certificate_verify&quot;</span>;</div>
-<div class="line"><a name="l00586"></a><span class="lineno">  586</span>&#160;  <span class="keywordflow">case</span> <a class="code" href="dtls_8h.html#a577885c74492a460729a451f33a894c4">DTLS_HT_CLIENT_KEY_EXCHANGE</a>:</div>
-<div class="line"><a name="l00587"></a><span class="lineno">  587</span>&#160;    <span class="keywordflow">return</span> <span class="stringliteral">&quot;client_key_exchange&quot;</span>;</div>
-<div class="line"><a name="l00588"></a><span class="lineno">  588</span>&#160;  <span class="keywordflow">case</span> <a class="code" href="dtls_8h.html#a16b49d03e041d43b60e1b7bacf35daad">DTLS_HT_FINISHED</a>:</div>
-<div class="line"><a name="l00589"></a><span class="lineno">  589</span>&#160;    <span class="keywordflow">return</span> <span class="stringliteral">&quot;finished&quot;</span>;</div>
-<div class="line"><a name="l00590"></a><span class="lineno">  590</span>&#160;  <span class="keywordflow">default</span>:</div>
-<div class="line"><a name="l00591"></a><span class="lineno">  591</span>&#160;    <span class="keywordflow">return</span> <span class="stringliteral">&quot;unknown&quot;</span>;</div>
-<div class="line"><a name="l00592"></a><span class="lineno">  592</span>&#160;  }</div>
-<div class="line"><a name="l00593"></a><span class="lineno">  593</span>&#160;}</div>
-<div class="line"><a name="l00594"></a><span class="lineno">  594</span>&#160;</div>
-<div class="line"><a name="l00598"></a><span class="lineno">  598</span>&#160;<span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00599"></a><span class="lineno"><a class="line" href="dtls_8c.html#a94199c9fa65db19e0f761e3ff973eb4b">  599</a></span>&#160;<a class="code" href="dtls_8c.html#a94199c9fa65db19e0f761e3ff973eb4b">calculate_key_block</a>(<a class="code" href="structdtls__context__t.html">dtls_context_t</a> *ctx, </div>
-<div class="line"><a name="l00600"></a><span class="lineno">  600</span>&#160;            <a class="code" href="structdtls__handshake__parameters__t.html">dtls_handshake_parameters_t</a> *handshake,</div>
-<div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160;            <a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *peer,</div>
-<div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;            <a class="code" href="structsession__t.html">session_t</a> *session,</div>
-<div class="line"><a name="l00603"></a><span class="lineno">  603</span>&#160;            <a class="code" href="peer_8h.html#ae30cd4bcffed73f79f17c09e5a1452c8">dtls_peer_type</a> role) {</div>
-<div class="line"><a name="l00604"></a><span class="lineno">  604</span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *pre_master_secret;</div>
-<div class="line"><a name="l00605"></a><span class="lineno">  605</span>&#160;  <span class="keywordtype">int</span> pre_master_len = 0;</div>
-<div class="line"><a name="l00606"></a><span class="lineno">  606</span>&#160;  <a class="code" href="structdtls__security__parameters__t.html">dtls_security_parameters_t</a> *security = <a class="code" href="peer_8h.html#ab6e209f206f570eed246530ec7960943">dtls_security_params_next</a>(peer);</div>
-<div class="line"><a name="l00607"></a><span class="lineno">  607</span>&#160;  <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> master_secret[<a class="code" href="crypto_8h.html#a2648582ddf4c82abc01d8388bd3f15db">DTLS_MASTER_SECRET_LENGTH</a>];</div>
-<div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;</div>
-<div class="line"><a name="l00609"></a><span class="lineno">  609</span>&#160;  <span class="keywordflow">if</span> (!security) {</div>
-<div class="line"><a name="l00610"></a><span class="lineno">  610</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda22948f7c825b68cc18c79bd3634c8f58">DTLS_ALERT_INTERNAL_ERROR</a>);</div>
-<div class="line"><a name="l00611"></a><span class="lineno">  611</span>&#160;  }</div>
-<div class="line"><a name="l00612"></a><span class="lineno">  612</span>&#160;</div>
-<div class="line"><a name="l00613"></a><span class="lineno">  613</span>&#160;  pre_master_secret = security-&gt;<a class="code" href="structdtls__security__parameters__t.html#a1c3a56ea4af8ff71e1ffe77221541f4d">key_block</a>;</div>
-<div class="line"><a name="l00614"></a><span class="lineno">  614</span>&#160;</div>
-<div class="line"><a name="l00615"></a><span class="lineno">  615</span>&#160;  <span class="keywordflow">switch</span> (handshake-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a5cc61a98763800b5b4e7617307649933">cipher</a>) {</div>
-<div class="line"><a name="l00616"></a><span class="lineno">  616</span>&#160;<span class="preprocessor">#ifdef DTLS_PSK</span></div>
-<div class="line"><a name="l00617"></a><span class="lineno">  617</span>&#160;<span class="preprocessor"></span>  <span class="keywordflow">case</span> <a class="code" href="global_8h.html#ada7e71454d685b693df45b2c1ea0c59ba39a3062f136db88f648ce514a591fac8">TLS_PSK_WITH_AES_128_CCM_8</a>: {</div>
-<div class="line"><a name="l00618"></a><span class="lineno">  618</span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> psk[<a class="code" href="crypto_8h.html#a59cd7c0b8724e1f9b910611623396080">DTLS_PSK_MAX_KEY_LEN</a>];</div>
-<div class="line"><a name="l00619"></a><span class="lineno">  619</span>&#160;    <span class="keywordtype">int</span> len;</div>
-<div class="line"><a name="l00620"></a><span class="lineno">  620</span>&#160;</div>
-<div class="line"><a name="l00621"></a><span class="lineno">  621</span>&#160;    len = <a class="code" href="dtls_8c.html#a3e132aba78de736930255d40ef3f2d34">CALL</a>(ctx, get_psk_info, session, <a class="code" href="dtls_8h.html#a36eda3add5e2d12a3b5e2b6fe7038e01a1d64c04f18b370cf742595dc91098db4">DTLS_PSK_KEY</a>,</div>
-<div class="line"><a name="l00622"></a><span class="lineno">  622</span>&#160;           handshake-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a483b158f8fc86e45e7c0fc603a66925f">keyx</a>.psk.identity,</div>
-<div class="line"><a name="l00623"></a><span class="lineno">  623</span>&#160;           handshake-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a483b158f8fc86e45e7c0fc603a66925f">keyx</a>.psk.id_length,</div>
-<div class="line"><a name="l00624"></a><span class="lineno">  624</span>&#160;           psk, <a class="code" href="crypto_8h.html#a59cd7c0b8724e1f9b910611623396080">DTLS_PSK_MAX_KEY_LEN</a>);</div>
-<div class="line"><a name="l00625"></a><span class="lineno">  625</span>&#160;    <span class="keywordflow">if</span> (len &lt; 0) {</div>
-<div class="line"><a name="l00626"></a><span class="lineno">  626</span>&#160;      <a class="code" href="debug_8h.html#ad4c9c94c054579b73789fead587c8514">dtls_crit</a>(<span class="stringliteral">&quot;no psk key for session available\n&quot;</span>);</div>
-<div class="line"><a name="l00627"></a><span class="lineno">  627</span>&#160;      <span class="keywordflow">return</span> len;</div>
-<div class="line"><a name="l00628"></a><span class="lineno">  628</span>&#160;    }</div>
-<div class="line"><a name="l00629"></a><span class="lineno">  629</span>&#160;  <span class="comment">/* Temporarily use the key_block storage space for the pre master secret. */</span></div>
-<div class="line"><a name="l00630"></a><span class="lineno">  630</span>&#160;    pre_master_len = <a class="code" href="crypto_8c.html#aa53dfed4868e257d2485024b5c170bae">dtls_psk_pre_master_secret</a>(psk, len,</div>
-<div class="line"><a name="l00631"></a><span class="lineno">  631</span>&#160;                        pre_master_secret,</div>
-<div class="line"><a name="l00632"></a><span class="lineno">  632</span>&#160;                        <a class="code" href="crypto_8h.html#a0df6db4f8c29f2b0aa5a1363b4f9127f">MAX_KEYBLOCK_LENGTH</a>);</div>
-<div class="line"><a name="l00633"></a><span class="lineno">  633</span>&#160;</div>
-<div class="line"><a name="l00634"></a><span class="lineno">  634</span>&#160;    <a class="code" href="debug_8h.html#a24b1e8ecaa65f684d879ed9d5c37119d">dtls_debug_hexdump</a>(<span class="stringliteral">&quot;psk&quot;</span>, psk, len);</div>
-<div class="line"><a name="l00635"></a><span class="lineno">  635</span>&#160;</div>
-<div class="line"><a name="l00636"></a><span class="lineno">  636</span>&#160;    memset(psk, 0, <a class="code" href="crypto_8h.html#a59cd7c0b8724e1f9b910611623396080">DTLS_PSK_MAX_KEY_LEN</a>);</div>
-<div class="line"><a name="l00637"></a><span class="lineno">  637</span>&#160;    <span class="keywordflow">if</span> (pre_master_len &lt; 0) {</div>
-<div class="line"><a name="l00638"></a><span class="lineno">  638</span>&#160;      <a class="code" href="debug_8h.html#ad4c9c94c054579b73789fead587c8514">dtls_crit</a>(<span class="stringliteral">&quot;the psk was too long, for the pre master secret\n&quot;</span>);</div>
-<div class="line"><a name="l00639"></a><span class="lineno">  639</span>&#160;      <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda22948f7c825b68cc18c79bd3634c8f58">DTLS_ALERT_INTERNAL_ERROR</a>);</div>
-<div class="line"><a name="l00640"></a><span class="lineno">  640</span>&#160;    }</div>
-<div class="line"><a name="l00641"></a><span class="lineno">  641</span>&#160;</div>
-<div class="line"><a name="l00642"></a><span class="lineno">  642</span>&#160;    <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00643"></a><span class="lineno">  643</span>&#160;  }</div>
-<div class="line"><a name="l00644"></a><span class="lineno">  644</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* DTLS_PSK */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00645"></a><span class="lineno">  645</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#ifdef DTLS_ECC</span></div>
-<div class="line"><a name="l00646"></a><span class="lineno">  646</span>&#160;<span class="preprocessor"></span>  <span class="keywordflow">case</span> <a class="code" href="global_8h.html#ada7e71454d685b693df45b2c1ea0c59ba197892e216f63ddbc91c2b006a2d4c1e">TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8</a>: {</div>
-<div class="line"><a name="l00647"></a><span class="lineno">  647</span>&#160;    pre_master_len = <a class="code" href="crypto_8c.html#a5f9937088ea2e1d19e7d472fecae9aaa">dtls_ecdh_pre_master_secret</a>(handshake-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a483b158f8fc86e45e7c0fc603a66925f">keyx</a>.ecdsa.own_eph_priv,</div>
-<div class="line"><a name="l00648"></a><span class="lineno">  648</span>&#160;                         handshake-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a483b158f8fc86e45e7c0fc603a66925f">keyx</a>.ecdsa.other_eph_pub_x,</div>
-<div class="line"><a name="l00649"></a><span class="lineno">  649</span>&#160;                         handshake-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a483b158f8fc86e45e7c0fc603a66925f">keyx</a>.ecdsa.other_eph_pub_y,</div>
-<div class="line"><a name="l00650"></a><span class="lineno">  650</span>&#160;                         <span class="keyword">sizeof</span>(handshake-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a483b158f8fc86e45e7c0fc603a66925f">keyx</a>.ecdsa.own_eph_priv),</div>
-<div class="line"><a name="l00651"></a><span class="lineno">  651</span>&#160;                         pre_master_secret,</div>
-<div class="line"><a name="l00652"></a><span class="lineno">  652</span>&#160;                         <a class="code" href="crypto_8h.html#a0df6db4f8c29f2b0aa5a1363b4f9127f">MAX_KEYBLOCK_LENGTH</a>);</div>
-<div class="line"><a name="l00653"></a><span class="lineno">  653</span>&#160;    <span class="keywordflow">if</span> (pre_master_len &lt; 0) {</div>
-<div class="line"><a name="l00654"></a><span class="lineno">  654</span>&#160;      <a class="code" href="debug_8h.html#ad4c9c94c054579b73789fead587c8514">dtls_crit</a>(<span class="stringliteral">&quot;the curve was too long, for the pre master secret\n&quot;</span>);</div>
-<div class="line"><a name="l00655"></a><span class="lineno">  655</span>&#160;      <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda22948f7c825b68cc18c79bd3634c8f58">DTLS_ALERT_INTERNAL_ERROR</a>);</div>
-<div class="line"><a name="l00656"></a><span class="lineno">  656</span>&#160;    }</div>
-<div class="line"><a name="l00657"></a><span class="lineno">  657</span>&#160;    <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00658"></a><span class="lineno">  658</span>&#160;  }</div>
-<div class="line"><a name="l00659"></a><span class="lineno">  659</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* DTLS_ECC */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00660"></a><span class="lineno">  660</span>&#160;<span class="preprocessor"></span>  <span class="keywordflow">default</span>:</div>
-<div class="line"><a name="l00661"></a><span class="lineno">  661</span>&#160;    <a class="code" href="debug_8h.html#ad4c9c94c054579b73789fead587c8514">dtls_crit</a>(<span class="stringliteral">&quot;calculate_key_block: unknown cipher\n&quot;</span>);</div>
-<div class="line"><a name="l00662"></a><span class="lineno">  662</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda22948f7c825b68cc18c79bd3634c8f58">DTLS_ALERT_INTERNAL_ERROR</a>);</div>
-<div class="line"><a name="l00663"></a><span class="lineno">  663</span>&#160;  }</div>
-<div class="line"><a name="l00664"></a><span class="lineno">  664</span>&#160;</div>
-<div class="line"><a name="l00665"></a><span class="lineno">  665</span>&#160;  <a class="code" href="debug_8h.html#ab27d2c7cae1e8022e93562ecda9140b6">dtls_debug_dump</a>(<span class="stringliteral">&quot;client_random&quot;</span>, handshake-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#ac27a2063a8136615971f8d591afdd01f">tmp</a>.<a class="code" href="structdtls__handshake__parameters__t.html#a5c4e7bb5d4d890200a176cfe13c6fb9a">random</a>.client, <a class="code" href="crypto_8h.html#a5a0bdff7c0889f35601b4935098508a0">DTLS_RANDOM_LENGTH</a>);</div>
-<div class="line"><a name="l00666"></a><span class="lineno">  666</span>&#160;  <a class="code" href="debug_8h.html#ab27d2c7cae1e8022e93562ecda9140b6">dtls_debug_dump</a>(<span class="stringliteral">&quot;server_random&quot;</span>, handshake-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#ac27a2063a8136615971f8d591afdd01f">tmp</a>.<a class="code" href="structdtls__handshake__parameters__t.html#a5c4e7bb5d4d890200a176cfe13c6fb9a">random</a>.server, <a class="code" href="crypto_8h.html#a5a0bdff7c0889f35601b4935098508a0">DTLS_RANDOM_LENGTH</a>);</div>
-<div class="line"><a name="l00667"></a><span class="lineno">  667</span>&#160;  <a class="code" href="debug_8h.html#ab27d2c7cae1e8022e93562ecda9140b6">dtls_debug_dump</a>(<span class="stringliteral">&quot;pre_master_secret&quot;</span>, pre_master_secret, pre_master_len);</div>
-<div class="line"><a name="l00668"></a><span class="lineno">  668</span>&#160;</div>
-<div class="line"><a name="l00669"></a><span class="lineno">  669</span>&#160;  <a class="code" href="crypto_8c.html#a5e47576e502b5a6255f1b489a4915512">dtls_prf</a>(pre_master_secret, pre_master_len,</div>
-<div class="line"><a name="l00670"></a><span class="lineno">  670</span>&#160;       <a class="code" href="dtls_8c.html#abac8adda40bcb694e059e38f6ac115f9">PRF_LABEL</a>(master), <a class="code" href="dtls_8c.html#a83b260e812e69f1dae18497d167770a9">PRF_LABEL_SIZE</a>(master),</div>
-<div class="line"><a name="l00671"></a><span class="lineno">  671</span>&#160;       handshake-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#ac27a2063a8136615971f8d591afdd01f">tmp</a>.<a class="code" href="structdtls__handshake__parameters__t.html#a5c4e7bb5d4d890200a176cfe13c6fb9a">random</a>.client, <a class="code" href="crypto_8h.html#a5a0bdff7c0889f35601b4935098508a0">DTLS_RANDOM_LENGTH</a>,</div>
-<div class="line"><a name="l00672"></a><span class="lineno">  672</span>&#160;       handshake-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#ac27a2063a8136615971f8d591afdd01f">tmp</a>.<a class="code" href="structdtls__handshake__parameters__t.html#a5c4e7bb5d4d890200a176cfe13c6fb9a">random</a>.server, <a class="code" href="crypto_8h.html#a5a0bdff7c0889f35601b4935098508a0">DTLS_RANDOM_LENGTH</a>,</div>
-<div class="line"><a name="l00673"></a><span class="lineno">  673</span>&#160;       master_secret,</div>
-<div class="line"><a name="l00674"></a><span class="lineno">  674</span>&#160;       <a class="code" href="crypto_8h.html#a2648582ddf4c82abc01d8388bd3f15db">DTLS_MASTER_SECRET_LENGTH</a>);</div>
-<div class="line"><a name="l00675"></a><span class="lineno">  675</span>&#160;</div>
-<div class="line"><a name="l00676"></a><span class="lineno">  676</span>&#160;  <a class="code" href="debug_8h.html#ab27d2c7cae1e8022e93562ecda9140b6">dtls_debug_dump</a>(<span class="stringliteral">&quot;master_secret&quot;</span>, master_secret, <a class="code" href="crypto_8h.html#a2648582ddf4c82abc01d8388bd3f15db">DTLS_MASTER_SECRET_LENGTH</a>);</div>
-<div class="line"><a name="l00677"></a><span class="lineno">  677</span>&#160;</div>
-<div class="line"><a name="l00678"></a><span class="lineno">  678</span>&#160;  <span class="comment">/* create key_block from master_secret</span></div>
-<div class="line"><a name="l00679"></a><span class="lineno">  679</span>&#160;<span class="comment">   * key_block = PRF(master_secret,</span></div>
-<div class="line"><a name="l00680"></a><span class="lineno">  680</span>&#160;<span class="comment">                    &quot;key expansion&quot; + tmp.random.server + tmp.random.client) */</span></div>
-<div class="line"><a name="l00681"></a><span class="lineno">  681</span>&#160;</div>
-<div class="line"><a name="l00682"></a><span class="lineno">  682</span>&#160;  <a class="code" href="crypto_8c.html#a5e47576e502b5a6255f1b489a4915512">dtls_prf</a>(master_secret,</div>
-<div class="line"><a name="l00683"></a><span class="lineno">  683</span>&#160;       <a class="code" href="crypto_8h.html#a2648582ddf4c82abc01d8388bd3f15db">DTLS_MASTER_SECRET_LENGTH</a>,</div>
-<div class="line"><a name="l00684"></a><span class="lineno">  684</span>&#160;       <a class="code" href="dtls_8c.html#abac8adda40bcb694e059e38f6ac115f9">PRF_LABEL</a>(key), <a class="code" href="dtls_8c.html#a83b260e812e69f1dae18497d167770a9">PRF_LABEL_SIZE</a>(key),</div>
-<div class="line"><a name="l00685"></a><span class="lineno">  685</span>&#160;       handshake-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#ac27a2063a8136615971f8d591afdd01f">tmp</a>.<a class="code" href="structdtls__handshake__parameters__t.html#a5c4e7bb5d4d890200a176cfe13c6fb9a">random</a>.server, <a class="code" href="crypto_8h.html#a5a0bdff7c0889f35601b4935098508a0">DTLS_RANDOM_LENGTH</a>,</div>
-<div class="line"><a name="l00686"></a><span class="lineno">  686</span>&#160;       handshake-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#ac27a2063a8136615971f8d591afdd01f">tmp</a>.<a class="code" href="structdtls__handshake__parameters__t.html#a5c4e7bb5d4d890200a176cfe13c6fb9a">random</a>.client, <a class="code" href="crypto_8h.html#a5a0bdff7c0889f35601b4935098508a0">DTLS_RANDOM_LENGTH</a>,</div>
-<div class="line"><a name="l00687"></a><span class="lineno">  687</span>&#160;       security-&gt;<a class="code" href="structdtls__security__parameters__t.html#a1c3a56ea4af8ff71e1ffe77221541f4d">key_block</a>,</div>
-<div class="line"><a name="l00688"></a><span class="lineno">  688</span>&#160;       <a class="code" href="crypto_8h.html#a147bfdc558c2ec69ffdf388ae19ae01c">dtls_kb_size</a>(security, role));</div>
-<div class="line"><a name="l00689"></a><span class="lineno">  689</span>&#160;</div>
-<div class="line"><a name="l00690"></a><span class="lineno">  690</span>&#160;  memcpy(handshake-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#ac27a2063a8136615971f8d591afdd01f">tmp</a>.<a class="code" href="structdtls__handshake__parameters__t.html#a21ba88c7b062772beb75c5570d257898">master_secret</a>, master_secret, <a class="code" href="crypto_8h.html#a2648582ddf4c82abc01d8388bd3f15db">DTLS_MASTER_SECRET_LENGTH</a>);</div>
-<div class="line"><a name="l00691"></a><span class="lineno">  691</span>&#160;  <a class="code" href="dtls_8c.html#a4b3eda5556d76e045b42b93055944ddd">dtls_debug_keyblock</a>(security);</div>
-<div class="line"><a name="l00692"></a><span class="lineno">  692</span>&#160;</div>
-<div class="line"><a name="l00693"></a><span class="lineno">  693</span>&#160;  security-&gt;<a class="code" href="structdtls__security__parameters__t.html#a21d9fac709d739535b0cbecce4c18830">cipher</a> = handshake-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a5cc61a98763800b5b4e7617307649933">cipher</a>;</div>
-<div class="line"><a name="l00694"></a><span class="lineno">  694</span>&#160;  security-&gt;<a class="code" href="structdtls__security__parameters__t.html#a6a72df7ab1151f81e49d464175fcaf2a">compression</a> = handshake-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a67f85371953c8ae07ec110cb39c13125">compression</a>;</div>
-<div class="line"><a name="l00695"></a><span class="lineno">  695</span>&#160;  security-&gt;<a class="code" href="structdtls__security__parameters__t.html#a100dc82ee41004df1d9f211873332f87">rseq</a> = 0;</div>
-<div class="line"><a name="l00696"></a><span class="lineno">  696</span>&#160;</div>
-<div class="line"><a name="l00697"></a><span class="lineno">  697</span>&#160;  <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00698"></a><span class="lineno">  698</span>&#160;}</div>
-<div class="line"><a name="l00699"></a><span class="lineno">  699</span>&#160;</div>
-<div class="line"><a name="l00700"></a><span class="lineno">  700</span>&#160;<span class="comment">/* TODO: add a generic method which iterates over a list and searches for a specific key */</span></div>
-<div class="line"><a name="l00701"></a><span class="lineno"><a class="line" href="dtls_8c.html#ad699a00b7ff5a71fa5b7fbc79a4dd9a8">  701</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="dtls_8c.html#ad699a00b7ff5a71fa5b7fbc79a4dd9a8">verify_ext_eliptic_curves</a>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *data, <span class="keywordtype">size_t</span> data_length) {</div>
-<div class="line"><a name="l00702"></a><span class="lineno">  702</span>&#160;  <span class="keywordtype">int</span> i, curve_name;</div>
-<div class="line"><a name="l00703"></a><span class="lineno">  703</span>&#160;</div>
-<div class="line"><a name="l00704"></a><span class="lineno">  704</span>&#160;  <span class="comment">/* length of curve list */</span></div>
-<div class="line"><a name="l00705"></a><span class="lineno">  705</span>&#160;  i = <a class="code" href="numeric_8h.html#ae32dd0743658f1aa5a723d5a8357521f">dtls_uint16_to_int</a>(data);</div>
-<div class="line"><a name="l00706"></a><span class="lineno">  706</span>&#160;  data += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>);</div>
-<div class="line"><a name="l00707"></a><span class="lineno">  707</span>&#160;  <span class="keywordflow">if</span> (i + <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>) != data_length) {</div>
-<div class="line"><a name="l00708"></a><span class="lineno">  708</span>&#160;    <a class="code" href="debug_8h.html#ae1c22127c92fab70da7bf9cae8536e5c">dtls_warn</a>(<span class="stringliteral">&quot;the list of the supported elliptic curves should be tls extension length - 2\n&quot;</span>);</div>
-<div class="line"><a name="l00709"></a><span class="lineno">  709</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdaea5ed33e912421eb48afb73ce0a6014d">DTLS_ALERT_HANDSHAKE_FAILURE</a>);</div>
-<div class="line"><a name="l00710"></a><span class="lineno">  710</span>&#160;  }</div>
-<div class="line"><a name="l00711"></a><span class="lineno">  711</span>&#160;</div>
-<div class="line"><a name="l00712"></a><span class="lineno">  712</span>&#160;  <span class="keywordflow">for</span> (i = data_length - <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>); i &gt; 0; i -= <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>)) {</div>
-<div class="line"><a name="l00713"></a><span class="lineno">  713</span>&#160;    <span class="comment">/* check if this curve is supported */</span></div>
-<div class="line"><a name="l00714"></a><span class="lineno">  714</span>&#160;    curve_name = <a class="code" href="numeric_8h.html#ae32dd0743658f1aa5a723d5a8357521f">dtls_uint16_to_int</a>(data);</div>
-<div class="line"><a name="l00715"></a><span class="lineno">  715</span>&#160;    data += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>);</div>
-<div class="line"><a name="l00716"></a><span class="lineno">  716</span>&#160;</div>
-<div class="line"><a name="l00717"></a><span class="lineno">  717</span>&#160;    <span class="keywordflow">if</span> (curve_name == <a class="code" href="global_8h.html#a8095691f33c0ce6b22d205640ccc9417">TLS_EXT_ELLIPTIC_CURVES_SECP256R1</a>)</div>
-<div class="line"><a name="l00718"></a><span class="lineno">  718</span>&#160;      <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00719"></a><span class="lineno">  719</span>&#160;  }</div>
-<div class="line"><a name="l00720"></a><span class="lineno">  720</span>&#160;</div>
-<div class="line"><a name="l00721"></a><span class="lineno">  721</span>&#160;  <a class="code" href="debug_8h.html#ae1c22127c92fab70da7bf9cae8536e5c">dtls_warn</a>(<span class="stringliteral">&quot;no supported elliptic curve found\n&quot;</span>);</div>
-<div class="line"><a name="l00722"></a><span class="lineno">  722</span>&#160;  <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdaea5ed33e912421eb48afb73ce0a6014d">DTLS_ALERT_HANDSHAKE_FAILURE</a>);</div>
-<div class="line"><a name="l00723"></a><span class="lineno">  723</span>&#160;}</div>
-<div class="line"><a name="l00724"></a><span class="lineno">  724</span>&#160;</div>
-<div class="line"><a name="l00725"></a><span class="lineno"><a class="line" href="dtls_8c.html#af073bf7cefa5e49e0c939e853678d417">  725</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="dtls_8c.html#af073bf7cefa5e49e0c939e853678d417">verify_ext_cert_type</a>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *data, <span class="keywordtype">size_t</span> data_length) {</div>
-<div class="line"><a name="l00726"></a><span class="lineno">  726</span>&#160;  <span class="keywordtype">int</span> i, cert_type;</div>
-<div class="line"><a name="l00727"></a><span class="lineno">  727</span>&#160;</div>
-<div class="line"><a name="l00728"></a><span class="lineno">  728</span>&#160;  <span class="comment">/* length of cert type list */</span></div>
-<div class="line"><a name="l00729"></a><span class="lineno">  729</span>&#160;  i = <a class="code" href="numeric_8h.html#a7293cc28604d896cfef802b53b0ad99f">dtls_uint8_to_int</a>(data);</div>
-<div class="line"><a name="l00730"></a><span class="lineno">  730</span>&#160;  data += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>);</div>
-<div class="line"><a name="l00731"></a><span class="lineno">  731</span>&#160;  <span class="keywordflow">if</span> (i + <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>) != data_length) {</div>
-<div class="line"><a name="l00732"></a><span class="lineno">  732</span>&#160;    <a class="code" href="debug_8h.html#ae1c22127c92fab70da7bf9cae8536e5c">dtls_warn</a>(<span class="stringliteral">&quot;the list of the supported certificate types should be tls extension length - 1\n&quot;</span>);</div>
-<div class="line"><a name="l00733"></a><span class="lineno">  733</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdaea5ed33e912421eb48afb73ce0a6014d">DTLS_ALERT_HANDSHAKE_FAILURE</a>);</div>
-<div class="line"><a name="l00734"></a><span class="lineno">  734</span>&#160;  }</div>
-<div class="line"><a name="l00735"></a><span class="lineno">  735</span>&#160;</div>
-<div class="line"><a name="l00736"></a><span class="lineno">  736</span>&#160;  <span class="keywordflow">for</span> (i = data_length - <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>); i &gt; 0; i -= <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>)) {</div>
-<div class="line"><a name="l00737"></a><span class="lineno">  737</span>&#160;    <span class="comment">/* check if this cert type is supported */</span></div>
-<div class="line"><a name="l00738"></a><span class="lineno">  738</span>&#160;    cert_type = <a class="code" href="numeric_8h.html#a7293cc28604d896cfef802b53b0ad99f">dtls_uint8_to_int</a>(data);</div>
-<div class="line"><a name="l00739"></a><span class="lineno">  739</span>&#160;    data += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>);</div>
-<div class="line"><a name="l00740"></a><span class="lineno">  740</span>&#160;</div>
-<div class="line"><a name="l00741"></a><span class="lineno">  741</span>&#160;    <span class="keywordflow">if</span> (cert_type == <a class="code" href="global_8h.html#af36d51830256b7d1bf4dbaa8590c19e4">TLS_CERT_TYPE_RAW_PUBLIC_KEY</a>)</div>
-<div class="line"><a name="l00742"></a><span class="lineno">  742</span>&#160;      <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00743"></a><span class="lineno">  743</span>&#160;  }</div>
-<div class="line"><a name="l00744"></a><span class="lineno">  744</span>&#160;</div>
-<div class="line"><a name="l00745"></a><span class="lineno">  745</span>&#160;  <a class="code" href="debug_8h.html#ae1c22127c92fab70da7bf9cae8536e5c">dtls_warn</a>(<span class="stringliteral">&quot;no supported certificate type found\n&quot;</span>);</div>
-<div class="line"><a name="l00746"></a><span class="lineno">  746</span>&#160;  <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdaea5ed33e912421eb48afb73ce0a6014d">DTLS_ALERT_HANDSHAKE_FAILURE</a>);</div>
-<div class="line"><a name="l00747"></a><span class="lineno">  747</span>&#160;}</div>
-<div class="line"><a name="l00748"></a><span class="lineno">  748</span>&#160;</div>
-<div class="line"><a name="l00749"></a><span class="lineno"><a class="line" href="dtls_8c.html#a04a3580764ffd4f253ce6be858806c95">  749</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="dtls_8c.html#a04a3580764ffd4f253ce6be858806c95">verify_ext_ec_point_formats</a>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *data, <span class="keywordtype">size_t</span> data_length) {</div>
-<div class="line"><a name="l00750"></a><span class="lineno">  750</span>&#160;  <span class="keywordtype">int</span> i, cert_type;</div>
-<div class="line"><a name="l00751"></a><span class="lineno">  751</span>&#160;</div>
-<div class="line"><a name="l00752"></a><span class="lineno">  752</span>&#160;  <span class="comment">/* length of ec_point_formats list */</span></div>
-<div class="line"><a name="l00753"></a><span class="lineno">  753</span>&#160;  i = <a class="code" href="numeric_8h.html#a7293cc28604d896cfef802b53b0ad99f">dtls_uint8_to_int</a>(data);</div>
-<div class="line"><a name="l00754"></a><span class="lineno">  754</span>&#160;  data += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>);</div>
-<div class="line"><a name="l00755"></a><span class="lineno">  755</span>&#160;  <span class="keywordflow">if</span> (i + <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>) != data_length) {</div>
-<div class="line"><a name="l00756"></a><span class="lineno">  756</span>&#160;    <a class="code" href="debug_8h.html#ae1c22127c92fab70da7bf9cae8536e5c">dtls_warn</a>(<span class="stringliteral">&quot;the list of the supported ec_point_formats should be tls extension length - 1\n&quot;</span>);</div>
-<div class="line"><a name="l00757"></a><span class="lineno">  757</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdaea5ed33e912421eb48afb73ce0a6014d">DTLS_ALERT_HANDSHAKE_FAILURE</a>);</div>
-<div class="line"><a name="l00758"></a><span class="lineno">  758</span>&#160;  }</div>
-<div class="line"><a name="l00759"></a><span class="lineno">  759</span>&#160;</div>
-<div class="line"><a name="l00760"></a><span class="lineno">  760</span>&#160;  <span class="keywordflow">for</span> (i = data_length - <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>); i &gt; 0; i -= <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>)) {</div>
-<div class="line"><a name="l00761"></a><span class="lineno">  761</span>&#160;    <span class="comment">/* check if this ec_point_format is supported */</span></div>
-<div class="line"><a name="l00762"></a><span class="lineno">  762</span>&#160;    cert_type = <a class="code" href="numeric_8h.html#a7293cc28604d896cfef802b53b0ad99f">dtls_uint8_to_int</a>(data);</div>
-<div class="line"><a name="l00763"></a><span class="lineno">  763</span>&#160;    data += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>);</div>
-<div class="line"><a name="l00764"></a><span class="lineno">  764</span>&#160;</div>
-<div class="line"><a name="l00765"></a><span class="lineno">  765</span>&#160;    <span class="keywordflow">if</span> (cert_type == <a class="code" href="global_8h.html#af086ed2d0aea096be56bf7e46f8f72a6">TLS_EXT_EC_POINT_FORMATS_UNCOMPRESSED</a>)</div>
-<div class="line"><a name="l00766"></a><span class="lineno">  766</span>&#160;      <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00767"></a><span class="lineno">  767</span>&#160;  }</div>
-<div class="line"><a name="l00768"></a><span class="lineno">  768</span>&#160;</div>
-<div class="line"><a name="l00769"></a><span class="lineno">  769</span>&#160;  <a class="code" href="debug_8h.html#ae1c22127c92fab70da7bf9cae8536e5c">dtls_warn</a>(<span class="stringliteral">&quot;no supported ec_point_format found\n&quot;</span>);</div>
-<div class="line"><a name="l00770"></a><span class="lineno">  770</span>&#160;  <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdaea5ed33e912421eb48afb73ce0a6014d">DTLS_ALERT_HANDSHAKE_FAILURE</a>);</div>
-<div class="line"><a name="l00771"></a><span class="lineno">  771</span>&#160;}</div>
-<div class="line"><a name="l00772"></a><span class="lineno">  772</span>&#160;</div>
-<div class="line"><a name="l00773"></a><span class="lineno">  773</span>&#160;<span class="comment">/*</span></div>
-<div class="line"><a name="l00774"></a><span class="lineno">  774</span>&#160;<span class="comment"> * Check for some TLS Extensions used by the ECDHE_ECDSA cipher.</span></div>
-<div class="line"><a name="l00775"></a><span class="lineno">  775</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00776"></a><span class="lineno">  776</span>&#160;<span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00777"></a><span class="lineno"><a class="line" href="dtls_8c.html#ad8c8390d0a1592207c4ea6dd0a623a9a">  777</a></span>&#160;<a class="code" href="dtls_8c.html#ad8c8390d0a1592207c4ea6dd0a623a9a">dtls_check_tls_extension</a>(<a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *peer,</div>
-<div class="line"><a name="l00778"></a><span class="lineno">  778</span>&#160;             <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *data, <span class="keywordtype">size_t</span> data_length, <span class="keywordtype">int</span> client_hello)</div>
-<div class="line"><a name="l00779"></a><span class="lineno">  779</span>&#160;{</div>
-<div class="line"><a name="l00780"></a><span class="lineno">  780</span>&#160;  uint16_t i, j;</div>
-<div class="line"><a name="l00781"></a><span class="lineno">  781</span>&#160;  <span class="keywordtype">int</span> ext_elliptic_curve = 0;</div>
-<div class="line"><a name="l00782"></a><span class="lineno">  782</span>&#160;  <span class="keywordtype">int</span> ext_client_cert_type = 0;</div>
-<div class="line"><a name="l00783"></a><span class="lineno">  783</span>&#160;  <span class="keywordtype">int</span> ext_server_cert_type = 0;</div>
-<div class="line"><a name="l00784"></a><span class="lineno">  784</span>&#160;  <span class="keywordtype">int</span> ext_ec_point_formats = 0;</div>
-<div class="line"><a name="l00785"></a><span class="lineno">  785</span>&#160;  <a class="code" href="structdtls__handshake__parameters__t.html">dtls_handshake_parameters_t</a> *handshake = peer-&gt;<a class="code" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">handshake_params</a>;</div>
-<div class="line"><a name="l00786"></a><span class="lineno">  786</span>&#160;</div>
-<div class="line"><a name="l00787"></a><span class="lineno">  787</span>&#160;  <span class="keywordflow">if</span> (data_length &lt; <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>)) { </div>
-<div class="line"><a name="l00788"></a><span class="lineno">  788</span>&#160;    <span class="comment">/* no tls extensions specified */</span></div>
-<div class="line"><a name="l00789"></a><span class="lineno">  789</span>&#160;    <span class="keywordflow">if</span> (<a class="code" href="dtls_8c.html#a8098a728e5fff33ceeb7f57ebd48a212">is_tls_ecdhe_ecdsa_with_aes_128_ccm_8</a>(handshake-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a5cc61a98763800b5b4e7617307649933">cipher</a>)) {</div>
-<div class="line"><a name="l00790"></a><span class="lineno">  790</span>&#160;      <span class="keywordflow">goto</span> error;</div>
-<div class="line"><a name="l00791"></a><span class="lineno">  791</span>&#160;    }</div>
-<div class="line"><a name="l00792"></a><span class="lineno">  792</span>&#160;    <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00793"></a><span class="lineno">  793</span>&#160;  }</div>
-<div class="line"><a name="l00794"></a><span class="lineno">  794</span>&#160;</div>
-<div class="line"><a name="l00795"></a><span class="lineno">  795</span>&#160;  <span class="comment">/* get the length of the tls extension list */</span></div>
-<div class="line"><a name="l00796"></a><span class="lineno">  796</span>&#160;  j = <a class="code" href="numeric_8h.html#ae32dd0743658f1aa5a723d5a8357521f">dtls_uint16_to_int</a>(data);</div>
-<div class="line"><a name="l00797"></a><span class="lineno">  797</span>&#160;  data += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>);</div>
-<div class="line"><a name="l00798"></a><span class="lineno">  798</span>&#160;  data_length -= <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>);</div>
-<div class="line"><a name="l00799"></a><span class="lineno">  799</span>&#160;</div>
-<div class="line"><a name="l00800"></a><span class="lineno">  800</span>&#160;  <span class="keywordflow">if</span> (data_length &lt; j)</div>
-<div class="line"><a name="l00801"></a><span class="lineno">  801</span>&#160;    <span class="keywordflow">goto</span> error;</div>
-<div class="line"><a name="l00802"></a><span class="lineno">  802</span>&#160;</div>
-<div class="line"><a name="l00803"></a><span class="lineno">  803</span>&#160;  <span class="comment">/* check for TLS extensions needed for this cipher */</span></div>
-<div class="line"><a name="l00804"></a><span class="lineno">  804</span>&#160;  <span class="keywordflow">while</span> (data_length) {</div>
-<div class="line"><a name="l00805"></a><span class="lineno">  805</span>&#160;    <span class="keywordflow">if</span> (data_length &lt; <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>) * 2)</div>
-<div class="line"><a name="l00806"></a><span class="lineno">  806</span>&#160;      <span class="keywordflow">goto</span> error;</div>
-<div class="line"><a name="l00807"></a><span class="lineno">  807</span>&#160;</div>
-<div class="line"><a name="l00808"></a><span class="lineno">  808</span>&#160;    <span class="comment">/* get the tls extension type */</span></div>
-<div class="line"><a name="l00809"></a><span class="lineno">  809</span>&#160;    i = <a class="code" href="numeric_8h.html#ae32dd0743658f1aa5a723d5a8357521f">dtls_uint16_to_int</a>(data);</div>
-<div class="line"><a name="l00810"></a><span class="lineno">  810</span>&#160;    data += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>);</div>
-<div class="line"><a name="l00811"></a><span class="lineno">  811</span>&#160;    data_length -= <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>);</div>
-<div class="line"><a name="l00812"></a><span class="lineno">  812</span>&#160;</div>
-<div class="line"><a name="l00813"></a><span class="lineno">  813</span>&#160;    <span class="comment">/* get the length of the tls extension */</span></div>
-<div class="line"><a name="l00814"></a><span class="lineno">  814</span>&#160;    j = <a class="code" href="numeric_8h.html#ae32dd0743658f1aa5a723d5a8357521f">dtls_uint16_to_int</a>(data);</div>
-<div class="line"><a name="l00815"></a><span class="lineno">  815</span>&#160;    data += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>);</div>
-<div class="line"><a name="l00816"></a><span class="lineno">  816</span>&#160;    data_length -= <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>);</div>
-<div class="line"><a name="l00817"></a><span class="lineno">  817</span>&#160;</div>
-<div class="line"><a name="l00818"></a><span class="lineno">  818</span>&#160;    <span class="keywordflow">if</span> (data_length &lt; j)</div>
-<div class="line"><a name="l00819"></a><span class="lineno">  819</span>&#160;      <span class="keywordflow">goto</span> error;</div>
-<div class="line"><a name="l00820"></a><span class="lineno">  820</span>&#160;</div>
-<div class="line"><a name="l00821"></a><span class="lineno">  821</span>&#160;    <span class="keywordflow">switch</span> (i) {</div>
-<div class="line"><a name="l00822"></a><span class="lineno">  822</span>&#160;      <span class="keywordflow">case</span> <a class="code" href="global_8h.html#a7e080d630a40510f655bf6982c555063">TLS_EXT_ELLIPTIC_CURVES</a>:</div>
-<div class="line"><a name="l00823"></a><span class="lineno">  823</span>&#160;        ext_elliptic_curve = 1;</div>
-<div class="line"><a name="l00824"></a><span class="lineno">  824</span>&#160;        <span class="keywordflow">if</span> (<a class="code" href="dtls_8c.html#ad699a00b7ff5a71fa5b7fbc79a4dd9a8">verify_ext_eliptic_curves</a>(data, j))</div>
-<div class="line"><a name="l00825"></a><span class="lineno">  825</span>&#160;          <span class="keywordflow">goto</span> error;</div>
-<div class="line"><a name="l00826"></a><span class="lineno">  826</span>&#160;        <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00827"></a><span class="lineno">  827</span>&#160;      <span class="keywordflow">case</span> <a class="code" href="global_8h.html#a0074adc0b2543a913a597e510caf27b0">TLS_EXT_CLIENT_CERTIFICATE_TYPE</a>:</div>
-<div class="line"><a name="l00828"></a><span class="lineno">  828</span>&#160;        ext_client_cert_type = 1;</div>
-<div class="line"><a name="l00829"></a><span class="lineno">  829</span>&#160;        <span class="keywordflow">if</span> (client_hello) {</div>
-<div class="line"><a name="l00830"></a><span class="lineno">  830</span>&#160;      <span class="keywordflow">if</span> (<a class="code" href="dtls_8c.html#af073bf7cefa5e49e0c939e853678d417">verify_ext_cert_type</a>(data, j))</div>
-<div class="line"><a name="l00831"></a><span class="lineno">  831</span>&#160;            <span class="keywordflow">goto</span> error;</div>
-<div class="line"><a name="l00832"></a><span class="lineno">  832</span>&#160;        } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00833"></a><span class="lineno">  833</span>&#160;      <span class="keywordflow">if</span> (<a class="code" href="numeric_8h.html#a7293cc28604d896cfef802b53b0ad99f">dtls_uint8_to_int</a>(data) != <a class="code" href="global_8h.html#af36d51830256b7d1bf4dbaa8590c19e4">TLS_CERT_TYPE_RAW_PUBLIC_KEY</a>)</div>
-<div class="line"><a name="l00834"></a><span class="lineno">  834</span>&#160;        <span class="keywordflow">goto</span> error;</div>
-<div class="line"><a name="l00835"></a><span class="lineno">  835</span>&#160;        }</div>
-<div class="line"><a name="l00836"></a><span class="lineno">  836</span>&#160;        <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00837"></a><span class="lineno">  837</span>&#160;      <span class="keywordflow">case</span> <a class="code" href="global_8h.html#ad465b86d1841ddd6c2209ff304895a95">TLS_EXT_SERVER_CERTIFICATE_TYPE</a>:</div>
-<div class="line"><a name="l00838"></a><span class="lineno">  838</span>&#160;        ext_server_cert_type = 1;</div>
-<div class="line"><a name="l00839"></a><span class="lineno">  839</span>&#160;        <span class="keywordflow">if</span> (client_hello) {</div>
-<div class="line"><a name="l00840"></a><span class="lineno">  840</span>&#160;      <span class="keywordflow">if</span> (<a class="code" href="dtls_8c.html#af073bf7cefa5e49e0c939e853678d417">verify_ext_cert_type</a>(data, j))</div>
-<div class="line"><a name="l00841"></a><span class="lineno">  841</span>&#160;            <span class="keywordflow">goto</span> error;</div>
-<div class="line"><a name="l00842"></a><span class="lineno">  842</span>&#160;        } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00843"></a><span class="lineno">  843</span>&#160;      <span class="keywordflow">if</span> (<a class="code" href="numeric_8h.html#a7293cc28604d896cfef802b53b0ad99f">dtls_uint8_to_int</a>(data) != <a class="code" href="global_8h.html#af36d51830256b7d1bf4dbaa8590c19e4">TLS_CERT_TYPE_RAW_PUBLIC_KEY</a>)</div>
-<div class="line"><a name="l00844"></a><span class="lineno">  844</span>&#160;        <span class="keywordflow">goto</span> error;</div>
-<div class="line"><a name="l00845"></a><span class="lineno">  845</span>&#160;        }</div>
-<div class="line"><a name="l00846"></a><span class="lineno">  846</span>&#160;        <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00847"></a><span class="lineno">  847</span>&#160;      <span class="keywordflow">case</span> <a class="code" href="global_8h.html#a5d17863db920927ef8160547541b58e3">TLS_EXT_EC_POINT_FORMATS</a>:</div>
-<div class="line"><a name="l00848"></a><span class="lineno">  848</span>&#160;        ext_ec_point_formats = 1;</div>
-<div class="line"><a name="l00849"></a><span class="lineno">  849</span>&#160;        <span class="keywordflow">if</span> (<a class="code" href="dtls_8c.html#a04a3580764ffd4f253ce6be858806c95">verify_ext_ec_point_formats</a>(data, j))</div>
-<div class="line"><a name="l00850"></a><span class="lineno">  850</span>&#160;          <span class="keywordflow">goto</span> error;</div>
-<div class="line"><a name="l00851"></a><span class="lineno">  851</span>&#160;        <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00852"></a><span class="lineno">  852</span>&#160;      <span class="keywordflow">case</span> <a class="code" href="global_8h.html#ae136afe82bd9031a4c1c604de0cb0118">TLS_EXT_ENCRYPT_THEN_MAC</a>:</div>
-<div class="line"><a name="l00853"></a><span class="lineno">  853</span>&#160;    <span class="comment">/* As only AEAD cipher suites are currently available, this</span></div>
-<div class="line"><a name="l00854"></a><span class="lineno">  854</span>&#160;<span class="comment">     * extension can be skipped. </span></div>
-<div class="line"><a name="l00855"></a><span class="lineno">  855</span>&#160;<span class="comment">     */</span></div>
-<div class="line"><a name="l00856"></a><span class="lineno">  856</span>&#160;    <a class="code" href="debug_8h.html#afde5692e7a590b0dd016d5753284c175">dtls_info</a>(<span class="stringliteral">&quot;skipped encrypt-then-mac extension\n&quot;</span>);</div>
-<div class="line"><a name="l00857"></a><span class="lineno">  857</span>&#160;    <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00858"></a><span class="lineno">  858</span>&#160;      <span class="keywordflow">default</span>:</div>
-<div class="line"><a name="l00859"></a><span class="lineno">  859</span>&#160;        <a class="code" href="debug_8h.html#ae1c22127c92fab70da7bf9cae8536e5c">dtls_warn</a>(<span class="stringliteral">&quot;unsupported tls extension: %i\n&quot;</span>, i);</div>
-<div class="line"><a name="l00860"></a><span class="lineno">  860</span>&#160;        <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00861"></a><span class="lineno">  861</span>&#160;    }</div>
-<div class="line"><a name="l00862"></a><span class="lineno">  862</span>&#160;    data += j;</div>
-<div class="line"><a name="l00863"></a><span class="lineno">  863</span>&#160;    data_length -= j;</div>
-<div class="line"><a name="l00864"></a><span class="lineno">  864</span>&#160;  }</div>
-<div class="line"><a name="l00865"></a><span class="lineno">  865</span>&#160;  <span class="keywordflow">if</span> (<a class="code" href="dtls_8c.html#a8098a728e5fff33ceeb7f57ebd48a212">is_tls_ecdhe_ecdsa_with_aes_128_ccm_8</a>(handshake-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a5cc61a98763800b5b4e7617307649933">cipher</a>) &amp;&amp; client_hello) {</div>
-<div class="line"><a name="l00866"></a><span class="lineno">  866</span>&#160;    <span class="keywordflow">if</span> (!ext_elliptic_curve || !ext_client_cert_type || !ext_server_cert_type</div>
-<div class="line"><a name="l00867"></a><span class="lineno">  867</span>&#160;    || !ext_ec_point_formats) {</div>
-<div class="line"><a name="l00868"></a><span class="lineno">  868</span>&#160;      <a class="code" href="debug_8h.html#ae1c22127c92fab70da7bf9cae8536e5c">dtls_warn</a>(<span class="stringliteral">&quot;not all required tls extensions found in client hello\n&quot;</span>);</div>
-<div class="line"><a name="l00869"></a><span class="lineno">  869</span>&#160;      <span class="keywordflow">goto</span> error;</div>
-<div class="line"><a name="l00870"></a><span class="lineno">  870</span>&#160;    }</div>
-<div class="line"><a name="l00871"></a><span class="lineno">  871</span>&#160;  } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="dtls_8c.html#a8098a728e5fff33ceeb7f57ebd48a212">is_tls_ecdhe_ecdsa_with_aes_128_ccm_8</a>(handshake-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a5cc61a98763800b5b4e7617307649933">cipher</a>) &amp;&amp; !client_hello) {</div>
-<div class="line"><a name="l00872"></a><span class="lineno">  872</span>&#160;    <span class="keywordflow">if</span> (!ext_client_cert_type || !ext_server_cert_type) {</div>
-<div class="line"><a name="l00873"></a><span class="lineno">  873</span>&#160;      <a class="code" href="debug_8h.html#ae1c22127c92fab70da7bf9cae8536e5c">dtls_warn</a>(<span class="stringliteral">&quot;not all required tls extensions found in server hello\n&quot;</span>);</div>
-<div class="line"><a name="l00874"></a><span class="lineno">  874</span>&#160;      <span class="keywordflow">goto</span> error;</div>
-<div class="line"><a name="l00875"></a><span class="lineno">  875</span>&#160;    }</div>
-<div class="line"><a name="l00876"></a><span class="lineno">  876</span>&#160;  }</div>
-<div class="line"><a name="l00877"></a><span class="lineno">  877</span>&#160;  <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00878"></a><span class="lineno">  878</span>&#160;</div>
-<div class="line"><a name="l00879"></a><span class="lineno">  879</span>&#160;error:</div>
-<div class="line"><a name="l00880"></a><span class="lineno">  880</span>&#160;  <span class="keywordflow">if</span> (client_hello &amp;&amp; peer-&gt;<a class="code" href="structdtls__peer__t.html#a4e23cc3b273813744524c3db1fda9c83">state</a> == <a class="code" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a953a6aabd0aff0492df164e79815b122">DTLS_STATE_CONNECTED</a>) {</div>
-<div class="line"><a name="l00881"></a><span class="lineno">  881</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a4242f419ffdd4b83bfaa2a0935ed2b6d">dtls_alert_create</a>(<a class="code" href="alert_8h.html#ab6264d1b950719f1c2e00b122cad871fa0f670b55dcb4ab291b869827d3c62ee7">DTLS_ALERT_LEVEL_WARNING</a>, <a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda8939a5d1777bf0dbdd8fa44e335137ab">DTLS_ALERT_NO_RENEGOTIATION</a>);</div>
-<div class="line"><a name="l00882"></a><span class="lineno">  882</span>&#160;  } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00883"></a><span class="lineno">  883</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdaea5ed33e912421eb48afb73ce0a6014d">DTLS_ALERT_HANDSHAKE_FAILURE</a>);</div>
-<div class="line"><a name="l00884"></a><span class="lineno">  884</span>&#160;  }</div>
-<div class="line"><a name="l00885"></a><span class="lineno">  885</span>&#160;}</div>
-<div class="line"><a name="l00886"></a><span class="lineno">  886</span>&#160;</div>
-<div class="line"><a name="l00899"></a><span class="lineno">  899</span>&#160;<span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00900"></a><span class="lineno"><a class="line" href="dtls_8c.html#a63f2c7e75b86bb2839b8fedf3fa9c93d">  900</a></span>&#160;<a class="code" href="dtls_8c.html#a63f2c7e75b86bb2839b8fedf3fa9c93d">dtls_update_parameters</a>(<a class="code" href="structdtls__context__t.html">dtls_context_t</a> *ctx, </div>
-<div class="line"><a name="l00901"></a><span class="lineno">  901</span>&#160;               <a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *peer,</div>
-<div class="line"><a name="l00902"></a><span class="lineno">  902</span>&#160;               <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *data, <span class="keywordtype">size_t</span> data_length) {</div>
-<div class="line"><a name="l00903"></a><span class="lineno">  903</span>&#160;  <span class="keywordtype">int</span> i, j;</div>
-<div class="line"><a name="l00904"></a><span class="lineno">  904</span>&#160;  <span class="keywordtype">int</span> ok;</div>
-<div class="line"><a name="l00905"></a><span class="lineno">  905</span>&#160;  <a class="code" href="structdtls__handshake__parameters__t.html">dtls_handshake_parameters_t</a> *config = peer-&gt;<a class="code" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">handshake_params</a>;</div>
-<div class="line"><a name="l00906"></a><span class="lineno">  906</span>&#160;  <a class="code" href="structdtls__security__parameters__t.html">dtls_security_parameters_t</a> *security = <a class="code" href="peer_8h.html#a48abcad7383e1db957af9b4fed030d52">dtls_security_params</a>(peer);</div>
-<div class="line"><a name="l00907"></a><span class="lineno">  907</span>&#160;</div>
-<div class="line"><a name="l00908"></a><span class="lineno">  908</span>&#160;  assert(config);</div>
-<div class="line"><a name="l00909"></a><span class="lineno">  909</span>&#160;  assert(data_length &gt; <a class="code" href="dtls_8c.html#a520419d1976b301c508721faed549b4f">DTLS_HS_LENGTH</a> + <a class="code" href="dtls_8c.html#affe47ee08ad0e6a54d4f0c2a7f412675">DTLS_CH_LENGTH</a>);</div>
-<div class="line"><a name="l00910"></a><span class="lineno">  910</span>&#160;</div>
-<div class="line"><a name="l00911"></a><span class="lineno">  911</span>&#160;  <span class="comment">/* skip the handshake header and client version information */</span></div>
-<div class="line"><a name="l00912"></a><span class="lineno">  912</span>&#160;  data += <a class="code" href="dtls_8c.html#a520419d1976b301c508721faed549b4f">DTLS_HS_LENGTH</a> + <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>);</div>
-<div class="line"><a name="l00913"></a><span class="lineno">  913</span>&#160;  data_length -= <a class="code" href="dtls_8c.html#a520419d1976b301c508721faed549b4f">DTLS_HS_LENGTH</a> + <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>);</div>
-<div class="line"><a name="l00914"></a><span class="lineno">  914</span>&#160;</div>
-<div class="line"><a name="l00915"></a><span class="lineno">  915</span>&#160;  <span class="comment">/* store client random in config */</span></div>
-<div class="line"><a name="l00916"></a><span class="lineno">  916</span>&#160;  memcpy(config-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#ac27a2063a8136615971f8d591afdd01f">tmp</a>.<a class="code" href="structdtls__handshake__parameters__t.html#a5c4e7bb5d4d890200a176cfe13c6fb9a">random</a>.client, data, <a class="code" href="crypto_8h.html#a5a0bdff7c0889f35601b4935098508a0">DTLS_RANDOM_LENGTH</a>);</div>
-<div class="line"><a name="l00917"></a><span class="lineno">  917</span>&#160;  data += <a class="code" href="crypto_8h.html#a5a0bdff7c0889f35601b4935098508a0">DTLS_RANDOM_LENGTH</a>;</div>
-<div class="line"><a name="l00918"></a><span class="lineno">  918</span>&#160;  data_length -= <a class="code" href="crypto_8h.html#a5a0bdff7c0889f35601b4935098508a0">DTLS_RANDOM_LENGTH</a>;</div>
-<div class="line"><a name="l00919"></a><span class="lineno">  919</span>&#160;</div>
-<div class="line"><a name="l00920"></a><span class="lineno">  920</span>&#160;  <span class="comment">/* Caution: SKIP_VAR_FIELD may jump to error: */</span></div>
-<div class="line"><a name="l00921"></a><span class="lineno">  921</span>&#160;  <a class="code" href="dtls_8c.html#a09a0896d586ff27855ced6930cc17023">SKIP_VAR_FIELD</a>(data, data_length, <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>); <span class="comment">/* skip session id */</span></div>
-<div class="line"><a name="l00922"></a><span class="lineno">  922</span>&#160;  <a class="code" href="dtls_8c.html#a09a0896d586ff27855ced6930cc17023">SKIP_VAR_FIELD</a>(data, data_length, <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>); <span class="comment">/* skip cookie */</span></div>
-<div class="line"><a name="l00923"></a><span class="lineno">  923</span>&#160;</div>
-<div class="line"><a name="l00924"></a><span class="lineno">  924</span>&#160;  i = <a class="code" href="numeric_8h.html#ae32dd0743658f1aa5a723d5a8357521f">dtls_uint16_to_int</a>(data);</div>
-<div class="line"><a name="l00925"></a><span class="lineno">  925</span>&#160;  <span class="keywordflow">if</span> (data_length &lt; i + <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>)) {</div>
-<div class="line"><a name="l00926"></a><span class="lineno">  926</span>&#160;    <span class="comment">/* Looks like we do not have a cipher nor compression. This is ok</span></div>
-<div class="line"><a name="l00927"></a><span class="lineno">  927</span>&#160;<span class="comment">     * for renegotiation, but not for the initial handshake. */</span></div>
-<div class="line"><a name="l00928"></a><span class="lineno">  928</span>&#160;</div>
-<div class="line"><a name="l00929"></a><span class="lineno">  929</span>&#160;    <span class="keywordflow">if</span> (!security || security-&gt;<a class="code" href="structdtls__security__parameters__t.html#a21d9fac709d739535b0cbecce4c18830">cipher</a> == <a class="code" href="global_8h.html#ada7e71454d685b693df45b2c1ea0c59bacf33de998fd00f096eebbb0742d80abd">TLS_NULL_WITH_NULL_NULL</a>)</div>
-<div class="line"><a name="l00930"></a><span class="lineno">  930</span>&#160;      <span class="keywordflow">goto</span> error;</div>
-<div class="line"><a name="l00931"></a><span class="lineno">  931</span>&#160;</div>
-<div class="line"><a name="l00932"></a><span class="lineno">  932</span>&#160;    config-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a5cc61a98763800b5b4e7617307649933">cipher</a> = security-&gt;<a class="code" href="structdtls__security__parameters__t.html#a21d9fac709d739535b0cbecce4c18830">cipher</a>;</div>
-<div class="line"><a name="l00933"></a><span class="lineno">  933</span>&#160;    config-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a67f85371953c8ae07ec110cb39c13125">compression</a> = security-&gt;<a class="code" href="structdtls__security__parameters__t.html#a6a72df7ab1151f81e49d464175fcaf2a">compression</a>;</div>
-<div class="line"><a name="l00934"></a><span class="lineno">  934</span>&#160;</div>
-<div class="line"><a name="l00935"></a><span class="lineno">  935</span>&#160;    <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00936"></a><span class="lineno">  936</span>&#160;  }</div>
-<div class="line"><a name="l00937"></a><span class="lineno">  937</span>&#160;</div>
-<div class="line"><a name="l00938"></a><span class="lineno">  938</span>&#160;  data += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>);</div>
-<div class="line"><a name="l00939"></a><span class="lineno">  939</span>&#160;  data_length -= <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>) + i;</div>
-<div class="line"><a name="l00940"></a><span class="lineno">  940</span>&#160;</div>
-<div class="line"><a name="l00941"></a><span class="lineno">  941</span>&#160;  ok = 0;</div>
-<div class="line"><a name="l00942"></a><span class="lineno">  942</span>&#160;  <span class="keywordflow">while</span> (i &amp;&amp; !ok) {</div>
-<div class="line"><a name="l00943"></a><span class="lineno">  943</span>&#160;    config-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a5cc61a98763800b5b4e7617307649933">cipher</a> = <a class="code" href="numeric_8h.html#ae32dd0743658f1aa5a723d5a8357521f">dtls_uint16_to_int</a>(data);</div>
-<div class="line"><a name="l00944"></a><span class="lineno">  944</span>&#160;    ok = <a class="code" href="dtls_8c.html#a37965d10b44a63ea6adbf28b9dc79b75">known_cipher</a>(ctx, config-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a5cc61a98763800b5b4e7617307649933">cipher</a>, 0);</div>
-<div class="line"><a name="l00945"></a><span class="lineno">  945</span>&#160;    i -= <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>);</div>
-<div class="line"><a name="l00946"></a><span class="lineno">  946</span>&#160;    data += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>);</div>
-<div class="line"><a name="l00947"></a><span class="lineno">  947</span>&#160;  }</div>
-<div class="line"><a name="l00948"></a><span class="lineno">  948</span>&#160;</div>
-<div class="line"><a name="l00949"></a><span class="lineno">  949</span>&#160;  <span class="comment">/* skip remaining ciphers */</span></div>
-<div class="line"><a name="l00950"></a><span class="lineno">  950</span>&#160;  data += i;</div>
-<div class="line"><a name="l00951"></a><span class="lineno">  951</span>&#160;</div>
-<div class="line"><a name="l00952"></a><span class="lineno">  952</span>&#160;  <span class="keywordflow">if</span> (!ok) {</div>
-<div class="line"><a name="l00953"></a><span class="lineno">  953</span>&#160;    <span class="comment">/* reset config cipher to a well-defined value */</span></div>
-<div class="line"><a name="l00954"></a><span class="lineno">  954</span>&#160;    config-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a5cc61a98763800b5b4e7617307649933">cipher</a> = <a class="code" href="global_8h.html#ada7e71454d685b693df45b2c1ea0c59bacf33de998fd00f096eebbb0742d80abd">TLS_NULL_WITH_NULL_NULL</a>;</div>
-<div class="line"><a name="l00955"></a><span class="lineno">  955</span>&#160;    <a class="code" href="debug_8h.html#ae1c22127c92fab70da7bf9cae8536e5c">dtls_warn</a>(<span class="stringliteral">&quot;No matching cipher found\n&quot;</span>);</div>
-<div class="line"><a name="l00956"></a><span class="lineno">  956</span>&#160;    <span class="keywordflow">goto</span> error;</div>
-<div class="line"><a name="l00957"></a><span class="lineno">  957</span>&#160;  }</div>
-<div class="line"><a name="l00958"></a><span class="lineno">  958</span>&#160;</div>
-<div class="line"><a name="l00959"></a><span class="lineno">  959</span>&#160;  <span class="keywordflow">if</span> (data_length &lt; <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>)) { </div>
-<div class="line"><a name="l00960"></a><span class="lineno">  960</span>&#160;    <span class="comment">/* no compression specified, take the current compression method */</span></div>
-<div class="line"><a name="l00961"></a><span class="lineno">  961</span>&#160;    <span class="keywordflow">if</span> (security)</div>
-<div class="line"><a name="l00962"></a><span class="lineno">  962</span>&#160;      config-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a67f85371953c8ae07ec110cb39c13125">compression</a> = security-&gt;<a class="code" href="structdtls__security__parameters__t.html#a6a72df7ab1151f81e49d464175fcaf2a">compression</a>;</div>
-<div class="line"><a name="l00963"></a><span class="lineno">  963</span>&#160;    <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00964"></a><span class="lineno">  964</span>&#160;      config-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a67f85371953c8ae07ec110cb39c13125">compression</a> = <a class="code" href="global_8h.html#a1ff555e0b1443c4cb4d17ac2161d89b2ac5b79ee16e8c0e46873fa63fdb1ab9ca">TLS_COMPRESSION_NULL</a>;</div>
-<div class="line"><a name="l00965"></a><span class="lineno">  965</span>&#160;    <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00966"></a><span class="lineno">  966</span>&#160;  }</div>
-<div class="line"><a name="l00967"></a><span class="lineno">  967</span>&#160;</div>
-<div class="line"><a name="l00968"></a><span class="lineno">  968</span>&#160;  i = <a class="code" href="numeric_8h.html#a7293cc28604d896cfef802b53b0ad99f">dtls_uint8_to_int</a>(data);</div>
-<div class="line"><a name="l00969"></a><span class="lineno">  969</span>&#160;  <span class="keywordflow">if</span> (data_length &lt; i + <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>))</div>
-<div class="line"><a name="l00970"></a><span class="lineno">  970</span>&#160;    <span class="keywordflow">goto</span> error;</div>
-<div class="line"><a name="l00971"></a><span class="lineno">  971</span>&#160;</div>
-<div class="line"><a name="l00972"></a><span class="lineno">  972</span>&#160;  data += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>);</div>
-<div class="line"><a name="l00973"></a><span class="lineno">  973</span>&#160;  data_length -= <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>) + i;</div>
-<div class="line"><a name="l00974"></a><span class="lineno">  974</span>&#160;</div>
-<div class="line"><a name="l00975"></a><span class="lineno">  975</span>&#160;  ok = 0;</div>
-<div class="line"><a name="l00976"></a><span class="lineno">  976</span>&#160;  <span class="keywordflow">while</span> (i &amp;&amp; !ok) {</div>
-<div class="line"><a name="l00977"></a><span class="lineno">  977</span>&#160;    <span class="keywordflow">for</span> (j = 0; j &lt; <span class="keyword">sizeof</span>(<a class="code" href="dtls_8c.html#ae35671d94ccea5f335546ce409aed601">compression_methods</a>) / <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>); ++j)</div>
-<div class="line"><a name="l00978"></a><span class="lineno">  978</span>&#160;      <span class="keywordflow">if</span> (<a class="code" href="numeric_8h.html#a7293cc28604d896cfef802b53b0ad99f">dtls_uint8_to_int</a>(data) == <a class="code" href="dtls_8c.html#ae35671d94ccea5f335546ce409aed601">compression_methods</a>[j]) {</div>
-<div class="line"><a name="l00979"></a><span class="lineno">  979</span>&#160;    config-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a67f85371953c8ae07ec110cb39c13125">compression</a> = <a class="code" href="dtls_8c.html#ae35671d94ccea5f335546ce409aed601">compression_methods</a>[j];</div>
-<div class="line"><a name="l00980"></a><span class="lineno">  980</span>&#160;    ok = 1;</div>
-<div class="line"><a name="l00981"></a><span class="lineno">  981</span>&#160;      }</div>
-<div class="line"><a name="l00982"></a><span class="lineno">  982</span>&#160;    i -= <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>);</div>
-<div class="line"><a name="l00983"></a><span class="lineno">  983</span>&#160;    data += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>);    </div>
-<div class="line"><a name="l00984"></a><span class="lineno">  984</span>&#160;  }</div>
-<div class="line"><a name="l00985"></a><span class="lineno">  985</span>&#160;</div>
-<div class="line"><a name="l00986"></a><span class="lineno">  986</span>&#160;  <span class="keywordflow">if</span> (!ok) {</div>
-<div class="line"><a name="l00987"></a><span class="lineno">  987</span>&#160;    <span class="comment">/* reset config cipher to a well-defined value */</span></div>
-<div class="line"><a name="l00988"></a><span class="lineno">  988</span>&#160;    <span class="keywordflow">goto</span> error;</div>
-<div class="line"><a name="l00989"></a><span class="lineno">  989</span>&#160;  }</div>
-<div class="line"><a name="l00990"></a><span class="lineno">  990</span>&#160;  </div>
-<div class="line"><a name="l00991"></a><span class="lineno">  991</span>&#160;  <span class="keywordflow">return</span> <a class="code" href="dtls_8c.html#ad8c8390d0a1592207c4ea6dd0a623a9a">dtls_check_tls_extension</a>(peer, data, data_length, 1);</div>
-<div class="line"><a name="l00992"></a><span class="lineno">  992</span>&#160;error:</div>
-<div class="line"><a name="l00993"></a><span class="lineno">  993</span>&#160;  <span class="keywordflow">if</span> (peer-&gt;<a class="code" href="structdtls__peer__t.html#a4e23cc3b273813744524c3db1fda9c83">state</a> == <a class="code" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a953a6aabd0aff0492df164e79815b122">DTLS_STATE_CONNECTED</a>) {</div>
-<div class="line"><a name="l00994"></a><span class="lineno">  994</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a4242f419ffdd4b83bfaa2a0935ed2b6d">dtls_alert_create</a>(<a class="code" href="alert_8h.html#ab6264d1b950719f1c2e00b122cad871fa0f670b55dcb4ab291b869827d3c62ee7">DTLS_ALERT_LEVEL_WARNING</a>, <a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda8939a5d1777bf0dbdd8fa44e335137ab">DTLS_ALERT_NO_RENEGOTIATION</a>);</div>
-<div class="line"><a name="l00995"></a><span class="lineno">  995</span>&#160;  } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00996"></a><span class="lineno">  996</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdaea5ed33e912421eb48afb73ce0a6014d">DTLS_ALERT_HANDSHAKE_FAILURE</a>);</div>
-<div class="line"><a name="l00997"></a><span class="lineno">  997</span>&#160;  }</div>
-<div class="line"><a name="l00998"></a><span class="lineno">  998</span>&#160;}</div>
-<div class="line"><a name="l00999"></a><span class="lineno">  999</span>&#160;</div>
-<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l01005"></a><span class="lineno"><a class="line" href="dtls_8c.html#ab9251eac8015afc7985ff4398657ea3f"> 1005</a></span>&#160;<a class="code" href="dtls_8c.html#ab9251eac8015afc7985ff4398657ea3f">check_client_keyexchange</a>(<a class="code" href="structdtls__context__t.html">dtls_context_t</a> *ctx, </div>
-<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>&#160;             <a class="code" href="structdtls__handshake__parameters__t.html">dtls_handshake_parameters_t</a> *handshake,</div>
-<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span>&#160;             <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *data, <span class="keywordtype">size_t</span> length) {</div>
-<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span>&#160;</div>
-<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span>&#160;<span class="preprocessor">#ifdef DTLS_ECC</span></div>
-<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span>&#160;<span class="preprocessor"></span>  <span class="keywordflow">if</span> (<a class="code" href="dtls_8c.html#a8098a728e5fff33ceeb7f57ebd48a212">is_tls_ecdhe_ecdsa_with_aes_128_ccm_8</a>(handshake-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a5cc61a98763800b5b4e7617307649933">cipher</a>)) {</div>
-<div class="line"><a name="l01011"></a><span class="lineno"> 1011</span>&#160;</div>
-<div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>&#160;    <span class="keywordflow">if</span> (length &lt; <a class="code" href="dtls_8c.html#a520419d1976b301c508721faed549b4f">DTLS_HS_LENGTH</a> + <a class="code" href="dtls_8c.html#a5ddccf12706c8d18d80b7759454ca164">DTLS_CKXEC_LENGTH</a>) {</div>
-<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>&#160;      <a class="code" href="debug_8h.html#a0f158325426415d9efb5a36bebf45844">dtls_debug</a>(<span class="stringliteral">&quot;The client key exchange is too short\n&quot;</span>);</div>
-<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span>&#160;      <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdaea5ed33e912421eb48afb73ce0a6014d">DTLS_ALERT_HANDSHAKE_FAILURE</a>);</div>
-<div class="line"><a name="l01015"></a><span class="lineno"> 1015</span>&#160;    }</div>
-<div class="line"><a name="l01016"></a><span class="lineno"> 1016</span>&#160;    data += <a class="code" href="dtls_8c.html#a520419d1976b301c508721faed549b4f">DTLS_HS_LENGTH</a>;</div>
-<div class="line"><a name="l01017"></a><span class="lineno"> 1017</span>&#160;</div>
-<div class="line"><a name="l01018"></a><span class="lineno"> 1018</span>&#160;    <span class="keywordflow">if</span> (<a class="code" href="numeric_8h.html#a7293cc28604d896cfef802b53b0ad99f">dtls_uint8_to_int</a>(data) != 1 + 2 * <a class="code" href="crypto_8h.html#a9b039263057e157e1427c5d316133c3d">DTLS_EC_KEY_SIZE</a>) {</div>
-<div class="line"><a name="l01019"></a><span class="lineno"> 1019</span>&#160;      <a class="code" href="debug_8h.html#ab22e3494f6186183820142ba279fe9ae">dtls_alert</a>(<span class="stringliteral">&quot;expected 65 bytes long public point\n&quot;</span>);</div>
-<div class="line"><a name="l01020"></a><span class="lineno"> 1020</span>&#160;      <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdaea5ed33e912421eb48afb73ce0a6014d">DTLS_ALERT_HANDSHAKE_FAILURE</a>);</div>
-<div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>&#160;    }</div>
-<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span>&#160;    data += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>);</div>
-<div class="line"><a name="l01023"></a><span class="lineno"> 1023</span>&#160;</div>
-<div class="line"><a name="l01024"></a><span class="lineno"> 1024</span>&#160;    <span class="keywordflow">if</span> (<a class="code" href="numeric_8h.html#a7293cc28604d896cfef802b53b0ad99f">dtls_uint8_to_int</a>(data) != 4) {</div>
-<div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>&#160;      <a class="code" href="debug_8h.html#ab22e3494f6186183820142ba279fe9ae">dtls_alert</a>(<span class="stringliteral">&quot;expected uncompressed public point\n&quot;</span>);</div>
-<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span>&#160;      <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdaea5ed33e912421eb48afb73ce0a6014d">DTLS_ALERT_HANDSHAKE_FAILURE</a>);</div>
-<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>&#160;    }</div>
-<div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>&#160;    data += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>);</div>
-<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>&#160;</div>
-<div class="line"><a name="l01030"></a><span class="lineno"> 1030</span>&#160;    memcpy(handshake-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a483b158f8fc86e45e7c0fc603a66925f">keyx</a>.ecdsa.other_eph_pub_x, data,</div>
-<div class="line"><a name="l01031"></a><span class="lineno"> 1031</span>&#160;       <span class="keyword">sizeof</span>(handshake-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a483b158f8fc86e45e7c0fc603a66925f">keyx</a>.ecdsa.other_eph_pub_x));</div>
-<div class="line"><a name="l01032"></a><span class="lineno"> 1032</span>&#160;    data += <span class="keyword">sizeof</span>(handshake-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a483b158f8fc86e45e7c0fc603a66925f">keyx</a>.ecdsa.other_eph_pub_x);</div>
-<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span>&#160;</div>
-<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span>&#160;    memcpy(handshake-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a483b158f8fc86e45e7c0fc603a66925f">keyx</a>.ecdsa.other_eph_pub_y, data,</div>
-<div class="line"><a name="l01035"></a><span class="lineno"> 1035</span>&#160;       <span class="keyword">sizeof</span>(handshake-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a483b158f8fc86e45e7c0fc603a66925f">keyx</a>.ecdsa.other_eph_pub_y));</div>
-<div class="line"><a name="l01036"></a><span class="lineno"> 1036</span>&#160;    data += <span class="keyword">sizeof</span>(handshake-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a483b158f8fc86e45e7c0fc603a66925f">keyx</a>.ecdsa.other_eph_pub_y);</div>
-<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>&#160;  }</div>
-<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* DTLS_ECC */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#ifdef DTLS_PSK</span></div>
-<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>&#160;<span class="preprocessor"></span>  <span class="keywordflow">if</span> (<a class="code" href="dtls_8c.html#a8bb6e8bb947b943d2af4c1886a8e72ba">is_tls_psk_with_aes_128_ccm_8</a>(handshake-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a5cc61a98763800b5b4e7617307649933">cipher</a>)) {</div>
-<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>&#160;    <span class="keywordtype">int</span> id_length;</div>
-<div class="line"><a name="l01042"></a><span class="lineno"> 1042</span>&#160;</div>
-<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>&#160;    <span class="keywordflow">if</span> (length &lt; <a class="code" href="dtls_8c.html#a520419d1976b301c508721faed549b4f">DTLS_HS_LENGTH</a> + <a class="code" href="dtls_8c.html#a674da4ca826bf1206ec8053f4c9eb336">DTLS_CKXPSK_LENGTH_MIN</a>) {</div>
-<div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>&#160;      <a class="code" href="debug_8h.html#a0f158325426415d9efb5a36bebf45844">dtls_debug</a>(<span class="stringliteral">&quot;The client key exchange is too short\n&quot;</span>);</div>
-<div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>&#160;      <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdaea5ed33e912421eb48afb73ce0a6014d">DTLS_ALERT_HANDSHAKE_FAILURE</a>);</div>
-<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>&#160;    }</div>
-<div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>&#160;    data += <a class="code" href="dtls_8c.html#a520419d1976b301c508721faed549b4f">DTLS_HS_LENGTH</a>;</div>
-<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>&#160;</div>
-<div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>&#160;    id_length = <a class="code" href="numeric_8h.html#ae32dd0743658f1aa5a723d5a8357521f">dtls_uint16_to_int</a>(data);</div>
-<div class="line"><a name="l01050"></a><span class="lineno"> 1050</span>&#160;    data += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>);</div>
-<div class="line"><a name="l01051"></a><span class="lineno"> 1051</span>&#160;</div>
-<div class="line"><a name="l01052"></a><span class="lineno"> 1052</span>&#160;    <span class="keywordflow">if</span> (<a class="code" href="dtls_8c.html#a520419d1976b301c508721faed549b4f">DTLS_HS_LENGTH</a> + <a class="code" href="dtls_8c.html#a674da4ca826bf1206ec8053f4c9eb336">DTLS_CKXPSK_LENGTH_MIN</a> + id_length != length) {</div>
-<div class="line"><a name="l01053"></a><span class="lineno"> 1053</span>&#160;      <a class="code" href="debug_8h.html#a0f158325426415d9efb5a36bebf45844">dtls_debug</a>(<span class="stringliteral">&quot;The identity has a wrong length\n&quot;</span>);</div>
-<div class="line"><a name="l01054"></a><span class="lineno"> 1054</span>&#160;      <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdaea5ed33e912421eb48afb73ce0a6014d">DTLS_ALERT_HANDSHAKE_FAILURE</a>);</div>
-<div class="line"><a name="l01055"></a><span class="lineno"> 1055</span>&#160;    }</div>
-<div class="line"><a name="l01056"></a><span class="lineno"> 1056</span>&#160;</div>
-<div class="line"><a name="l01057"></a><span class="lineno"> 1057</span>&#160;    <span class="keywordflow">if</span> (id_length &gt; <a class="code" href="crypto_8h.html#ab96c8e0773a14d1ce1621eed1a78e2bd">DTLS_PSK_MAX_CLIENT_IDENTITY_LEN</a>) {</div>
-<div class="line"><a name="l01058"></a><span class="lineno"> 1058</span>&#160;      <a class="code" href="debug_8h.html#ae1c22127c92fab70da7bf9cae8536e5c">dtls_warn</a>(<span class="stringliteral">&quot;please use a smaller client identity\n&quot;</span>);</div>
-<div class="line"><a name="l01059"></a><span class="lineno"> 1059</span>&#160;      <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda22948f7c825b68cc18c79bd3634c8f58">DTLS_ALERT_INTERNAL_ERROR</a>);</div>
-<div class="line"><a name="l01060"></a><span class="lineno"> 1060</span>&#160;    }</div>
-<div class="line"><a name="l01061"></a><span class="lineno"> 1061</span>&#160;</div>
-<div class="line"><a name="l01062"></a><span class="lineno"> 1062</span>&#160;    handshake-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a483b158f8fc86e45e7c0fc603a66925f">keyx</a>.psk.id_length = id_length;</div>
-<div class="line"><a name="l01063"></a><span class="lineno"> 1063</span>&#160;    memcpy(handshake-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a483b158f8fc86e45e7c0fc603a66925f">keyx</a>.psk.identity, data, id_length);</div>
-<div class="line"><a name="l01064"></a><span class="lineno"> 1064</span>&#160;  }</div>
-<div class="line"><a name="l01065"></a><span class="lineno"> 1065</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* DTLS_PSK */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l01066"></a><span class="lineno"> 1066</span>&#160;<span class="preprocessor"></span>  <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l01067"></a><span class="lineno"> 1067</span>&#160;}</div>
-<div class="line"><a name="l01068"></a><span class="lineno"> 1068</span>&#160;</div>
-<div class="line"><a name="l01069"></a><span class="lineno"> 1069</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l01070"></a><span class="lineno"><a class="line" href="dtls_8c.html#a3db09acb5894f17f4745d7556555bea7"> 1070</a></span>&#160;<a class="code" href="dtls_8c.html#a3db09acb5894f17f4745d7556555bea7">update_hs_hash</a>(<a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *peer, <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *data, <span class="keywordtype">size_t</span> length) {</div>
-<div class="line"><a name="l01071"></a><span class="lineno"> 1071</span>&#160;  <a class="code" href="debug_8h.html#ab27d2c7cae1e8022e93562ecda9140b6">dtls_debug_dump</a>(<span class="stringliteral">&quot;add MAC data&quot;</span>, data, length);</div>
-<div class="line"><a name="l01072"></a><span class="lineno"> 1072</span>&#160;  <a class="code" href="hmac_8h.html#adb5ad07ab9a1adcdfdc20e13aa37bee6">dtls_hash_update</a>(&amp;peer-&gt;<a class="code" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">handshake_params</a>-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a56e7392a649731166fc82a523b0eb027">hs_state</a>.<a class="code" href="structdtls__hs__state__t.html#a991b95919538531d730f74045e4fe3b1">hs_hash</a>, data, length);</div>
-<div class="line"><a name="l01073"></a><span class="lineno"> 1073</span>&#160;}</div>
-<div class="line"><a name="l01074"></a><span class="lineno"> 1074</span>&#160;</div>
-<div class="line"><a name="l01075"></a><span class="lineno"> 1075</span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l01076"></a><span class="lineno"><a class="line" href="dtls_8c.html#a22ab7a79391c2204337237949d69dad8"> 1076</a></span>&#160;<a class="code" href="dtls_8c.html#a22ab7a79391c2204337237949d69dad8">copy_hs_hash</a>(<a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *peer, <a class="code" href="hmac_8h.html#abb19650a510c73117da0e9b88d68f159">dtls_hash_ctx</a> *hs_hash) {</div>
-<div class="line"><a name="l01077"></a><span class="lineno"> 1077</span>&#160;  memcpy(hs_hash, &amp;peer-&gt;<a class="code" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">handshake_params</a>-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a56e7392a649731166fc82a523b0eb027">hs_state</a>.<a class="code" href="structdtls__hs__state__t.html#a991b95919538531d730f74045e4fe3b1">hs_hash</a>,</div>
-<div class="line"><a name="l01078"></a><span class="lineno"> 1078</span>&#160;     <span class="keyword">sizeof</span>(peer-&gt;<a class="code" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">handshake_params</a>-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a56e7392a649731166fc82a523b0eb027">hs_state</a>.<a class="code" href="structdtls__hs__state__t.html#a991b95919538531d730f74045e4fe3b1">hs_hash</a>));</div>
-<div class="line"><a name="l01079"></a><span class="lineno"> 1079</span>&#160;}</div>
-<div class="line"><a name="l01080"></a><span class="lineno"> 1080</span>&#160;</div>
-<div class="line"><a name="l01081"></a><span class="lineno"> 1081</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">size_t</span></div>
-<div class="line"><a name="l01082"></a><span class="lineno"><a class="line" href="dtls_8c.html#adb41bf916dc34af5cd79003a9243b727"> 1082</a></span>&#160;<a class="code" href="dtls_8c.html#adb41bf916dc34af5cd79003a9243b727">finalize_hs_hash</a>(<a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *peer, <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *buf) {</div>
-<div class="line"><a name="l01083"></a><span class="lineno"> 1083</span>&#160;  <span class="keywordflow">return</span> <a class="code" href="hmac_8h.html#a96801bbb62f4c9c872b22cd8e438e51e">dtls_hash_finalize</a>(buf, &amp;peer-&gt;<a class="code" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">handshake_params</a>-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a56e7392a649731166fc82a523b0eb027">hs_state</a>.<a class="code" href="structdtls__hs__state__t.html#a991b95919538531d730f74045e4fe3b1">hs_hash</a>);</div>
-<div class="line"><a name="l01084"></a><span class="lineno"> 1084</span>&#160;}</div>
-<div class="line"><a name="l01085"></a><span class="lineno"> 1085</span>&#160;</div>
-<div class="line"><a name="l01086"></a><span class="lineno"> 1086</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l01087"></a><span class="lineno"><a class="line" href="dtls_8c.html#a82181208ec1e9f42896f0606e0036c1d"> 1087</a></span>&#160;<a class="code" href="dtls_8c.html#a82181208ec1e9f42896f0606e0036c1d">clear_hs_hash</a>(<a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *peer) {</div>
-<div class="line"><a name="l01088"></a><span class="lineno"> 1088</span>&#160;  assert(peer);</div>
-<div class="line"><a name="l01089"></a><span class="lineno"> 1089</span>&#160;  <a class="code" href="debug_8h.html#a0f158325426415d9efb5a36bebf45844">dtls_debug</a>(<span class="stringliteral">&quot;clear MAC\n&quot;</span>);</div>
-<div class="line"><a name="l01090"></a><span class="lineno"> 1090</span>&#160;  <a class="code" href="hmac_8h.html#afe0af64930ac5d6a51289df6d1eb4f52">dtls_hash_init</a>(&amp;peer-&gt;<a class="code" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">handshake_params</a>-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a56e7392a649731166fc82a523b0eb027">hs_state</a>.<a class="code" href="structdtls__hs__state__t.html#a991b95919538531d730f74045e4fe3b1">hs_hash</a>);</div>
-<div class="line"><a name="l01091"></a><span class="lineno"> 1091</span>&#160;}</div>
-<div class="line"><a name="l01092"></a><span class="lineno"> 1092</span>&#160;</div>
-<div class="line"><a name="l01103"></a><span class="lineno"> 1103</span>&#160;<span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l01104"></a><span class="lineno"><a class="line" href="dtls_8c.html#a91b2653747ca1e4058ae3b350019188b"> 1104</a></span>&#160;<a class="code" href="dtls_8c.html#a91b2653747ca1e4058ae3b350019188b">check_finished</a>(<a class="code" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *peer,</div>
-<div class="line"><a name="l01105"></a><span class="lineno"> 1105</span>&#160;           <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *data, <span class="keywordtype">size_t</span> data_length) {</div>
-<div class="line"><a name="l01106"></a><span class="lineno"> 1106</span>&#160;  <span class="keywordtype">size_t</span> digest_length, label_size;</div>
-<div class="line"><a name="l01107"></a><span class="lineno"> 1107</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *label;</div>
-<div class="line"><a name="l01108"></a><span class="lineno"> 1108</span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> buf[<a class="code" href="group__HMAC.html#ga3e84ddbef6bf0084252e16e6c547e332">DTLS_HMAC_MAX</a>];</div>
-<div class="line"><a name="l01109"></a><span class="lineno"> 1109</span>&#160;</div>
-<div class="line"><a name="l01110"></a><span class="lineno"> 1110</span>&#160;  <span class="keywordflow">if</span> (data_length &lt; <a class="code" href="dtls_8c.html#a520419d1976b301c508721faed549b4f">DTLS_HS_LENGTH</a> + <a class="code" href="dtls_8c.html#a21644ea2de742395df1e3b3281ba4f63">DTLS_FIN_LENGTH</a>)</div>
-<div class="line"><a name="l01111"></a><span class="lineno"> 1111</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdaea5ed33e912421eb48afb73ce0a6014d">DTLS_ALERT_HANDSHAKE_FAILURE</a>);</div>
-<div class="line"><a name="l01112"></a><span class="lineno"> 1112</span>&#160;</div>
-<div class="line"><a name="l01113"></a><span class="lineno"> 1113</span>&#160;  <span class="comment">/* Use a union here to ensure that sufficient stack space is</span></div>
-<div class="line"><a name="l01114"></a><span class="lineno"> 1114</span>&#160;<span class="comment">   * reserved. As statebuf and verify_data are not used at the same</span></div>
-<div class="line"><a name="l01115"></a><span class="lineno"> 1115</span>&#160;<span class="comment">   * time, we can re-use the storage safely.</span></div>
-<div class="line"><a name="l01116"></a><span class="lineno"> 1116</span>&#160;<span class="comment">   */</span></div>
-<div class="line"><a name="l01117"></a><span class="lineno"> 1117</span>&#160;  <span class="keyword">union </span>{</div>
-<div class="line"><a name="l01118"></a><span class="lineno"> 1118</span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> statebuf[<a class="code" href="hmac_8h.html#a7fb242dc4ddd717e5eb67d4bf89618d5">DTLS_HASH_CTX_SIZE</a>];</div>
-<div class="line"><a name="l01119"></a><span class="lineno"> 1119</span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> verify_data[<a class="code" href="dtls_8c.html#a21644ea2de742395df1e3b3281ba4f63">DTLS_FIN_LENGTH</a>];</div>
-<div class="line"><a name="l01120"></a><span class="lineno"> 1120</span>&#160;  } b;</div>
-<div class="line"><a name="l01121"></a><span class="lineno"> 1121</span>&#160;</div>
-<div class="line"><a name="l01122"></a><span class="lineno"> 1122</span>&#160;  <span class="comment">/* temporarily store hash status for roll-back after finalize */</span></div>
-<div class="line"><a name="l01123"></a><span class="lineno"> 1123</span>&#160;  memcpy(b.statebuf, &amp;peer-&gt;<a class="code" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">handshake_params</a>-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a56e7392a649731166fc82a523b0eb027">hs_state</a>.<a class="code" href="structdtls__hs__state__t.html#a991b95919538531d730f74045e4fe3b1">hs_hash</a>, <a class="code" href="hmac_8h.html#a7fb242dc4ddd717e5eb67d4bf89618d5">DTLS_HASH_CTX_SIZE</a>);</div>
-<div class="line"><a name="l01124"></a><span class="lineno"> 1124</span>&#160;</div>
-<div class="line"><a name="l01125"></a><span class="lineno"> 1125</span>&#160;  digest_length = <a class="code" href="dtls_8c.html#adb41bf916dc34af5cd79003a9243b727">finalize_hs_hash</a>(peer, buf);</div>
-<div class="line"><a name="l01126"></a><span class="lineno"> 1126</span>&#160;  <span class="comment">/* clear_hash(); */</span></div>
-<div class="line"><a name="l01127"></a><span class="lineno"> 1127</span>&#160;</div>
-<div class="line"><a name="l01128"></a><span class="lineno"> 1128</span>&#160;  <span class="comment">/* restore hash status */</span></div>
-<div class="line"><a name="l01129"></a><span class="lineno"> 1129</span>&#160;  memcpy(&amp;peer-&gt;<a class="code" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">handshake_params</a>-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a56e7392a649731166fc82a523b0eb027">hs_state</a>.<a class="code" href="structdtls__hs__state__t.html#a991b95919538531d730f74045e4fe3b1">hs_hash</a>, b.statebuf, <a class="code" href="hmac_8h.html#a7fb242dc4ddd717e5eb67d4bf89618d5">DTLS_HASH_CTX_SIZE</a>);</div>
-<div class="line"><a name="l01130"></a><span class="lineno"> 1130</span>&#160;</div>
-<div class="line"><a name="l01131"></a><span class="lineno"> 1131</span>&#160;  <span class="keywordflow">if</span> (peer-&gt;<a class="code" href="structdtls__peer__t.html#aeca80f1bcbcfdba89a2ab08e4bc48120">role</a> == <a class="code" href="peer_8h.html#ae30cd4bcffed73f79f17c09e5a1452c8afd8391395303e28ee9b375232cb68a1e">DTLS_CLIENT</a>) {</div>
-<div class="line"><a name="l01132"></a><span class="lineno"> 1132</span>&#160;    label = <a class="code" href="dtls_8c.html#abac8adda40bcb694e059e38f6ac115f9">PRF_LABEL</a>(server);</div>
-<div class="line"><a name="l01133"></a><span class="lineno"> 1133</span>&#160;    label_size = <a class="code" href="dtls_8c.html#a83b260e812e69f1dae18497d167770a9">PRF_LABEL_SIZE</a>(server);</div>
-<div class="line"><a name="l01134"></a><span class="lineno"> 1134</span>&#160;  } <span class="keywordflow">else</span> { <span class="comment">/* server */</span></div>
-<div class="line"><a name="l01135"></a><span class="lineno"> 1135</span>&#160;    label = <a class="code" href="dtls_8c.html#abac8adda40bcb694e059e38f6ac115f9">PRF_LABEL</a>(client);</div>
-<div class="line"><a name="l01136"></a><span class="lineno"> 1136</span>&#160;    label_size = <a class="code" href="dtls_8c.html#a83b260e812e69f1dae18497d167770a9">PRF_LABEL_SIZE</a>(client);</div>
-<div class="line"><a name="l01137"></a><span class="lineno"> 1137</span>&#160;  }</div>
-<div class="line"><a name="l01138"></a><span class="lineno"> 1138</span>&#160;</div>
-<div class="line"><a name="l01139"></a><span class="lineno"> 1139</span>&#160;  <a class="code" href="crypto_8c.html#a5e47576e502b5a6255f1b489a4915512">dtls_prf</a>(peer-&gt;<a class="code" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">handshake_params</a>-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#ac27a2063a8136615971f8d591afdd01f">tmp</a>.<a class="code" href="structdtls__handshake__parameters__t.html#a21ba88c7b062772beb75c5570d257898">master_secret</a>,</div>
-<div class="line"><a name="l01140"></a><span class="lineno"> 1140</span>&#160;       <a class="code" href="crypto_8h.html#a2648582ddf4c82abc01d8388bd3f15db">DTLS_MASTER_SECRET_LENGTH</a>,</div>
-<div class="line"><a name="l01141"></a><span class="lineno"> 1141</span>&#160;       label, label_size,</div>
-<div class="line"><a name="l01142"></a><span class="lineno"> 1142</span>&#160;       <a class="code" href="dtls_8c.html#abac8adda40bcb694e059e38f6ac115f9">PRF_LABEL</a>(finished), <a class="code" href="dtls_8c.html#a83b260e812e69f1dae18497d167770a9">PRF_LABEL_SIZE</a>(finished),</div>
-<div class="line"><a name="l01143"></a><span class="lineno"> 1143</span>&#160;       buf, digest_length,</div>
-<div class="line"><a name="l01144"></a><span class="lineno"> 1144</span>&#160;       b.verify_data, <span class="keyword">sizeof</span>(b.verify_data));</div>
-<div class="line"><a name="l01145"></a><span class="lineno"> 1145</span>&#160;</div>
-<div class="line"><a name="l01146"></a><span class="lineno"> 1146</span>&#160;  <a class="code" href="debug_8h.html#ab27d2c7cae1e8022e93562ecda9140b6">dtls_debug_dump</a>(<span class="stringliteral">&quot;d:&quot;</span>, data + <a class="code" href="dtls_8c.html#a520419d1976b301c508721faed549b4f">DTLS_HS_LENGTH</a>, <span class="keyword">sizeof</span>(b.verify_data));</div>
-<div class="line"><a name="l01147"></a><span class="lineno"> 1147</span>&#160;  <a class="code" href="debug_8h.html#ab27d2c7cae1e8022e93562ecda9140b6">dtls_debug_dump</a>(<span class="stringliteral">&quot;v:&quot;</span>, b.verify_data, <span class="keyword">sizeof</span>(b.verify_data));</div>
-<div class="line"><a name="l01148"></a><span class="lineno"> 1148</span>&#160;</div>
-<div class="line"><a name="l01149"></a><span class="lineno"> 1149</span>&#160;  <span class="comment">/* compare verify data and create DTLS alert code when they differ */</span></div>
-<div class="line"><a name="l01150"></a><span class="lineno"> 1150</span>&#160;  <span class="keywordflow">return</span> <a class="code" href="global_8h.html#a8277c276ecd5cd2f998f08fd344d90ef">equals</a>(data + <a class="code" href="dtls_8c.html#a520419d1976b301c508721faed549b4f">DTLS_HS_LENGTH</a>, b.verify_data, <span class="keyword">sizeof</span>(b.verify_data))</div>
-<div class="line"><a name="l01151"></a><span class="lineno"> 1151</span>&#160;    ? 0</div>
-<div class="line"><a name="l01152"></a><span class="lineno"> 1152</span>&#160;    : <a class="code" href="alert_8h.html#a4242f419ffdd4b83bfaa2a0935ed2b6d">dtls_alert_create</a>(<a class="code" href="alert_8h.html#ab6264d1b950719f1c2e00b122cad871fabd07bcf63c24aa5f1b9706a4197ceaf4">DTLS_ALERT_LEVEL_FATAL</a>, <a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdaea5ed33e912421eb48afb73ce0a6014d">DTLS_ALERT_HANDSHAKE_FAILURE</a>);</div>
-<div class="line"><a name="l01153"></a><span class="lineno"> 1153</span>&#160;}</div>
-<div class="line"><a name="l01154"></a><span class="lineno"> 1154</span>&#160;</div>
-<div class="line"><a name="l01179"></a><span class="lineno"> 1179</span>&#160;<span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l01180"></a><span class="lineno"><a class="line" href="dtls_8c.html#ab9733484b9a23775b1bc8b3d723282e5"> 1180</a></span>&#160;<a class="code" href="dtls_8c.html#ab9733484b9a23775b1bc8b3d723282e5">dtls_prepare_record</a>(<a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *peer, <a class="code" href="structdtls__security__parameters__t.html">dtls_security_parameters_t</a> *security,</div>
-<div class="line"><a name="l01181"></a><span class="lineno"> 1181</span>&#160;            <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> type,</div>
-<div class="line"><a name="l01182"></a><span class="lineno"> 1182</span>&#160;            <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *data_array[], <span class="keywordtype">size_t</span> data_len_array[],</div>
-<div class="line"><a name="l01183"></a><span class="lineno"> 1183</span>&#160;            <span class="keywordtype">size_t</span> data_array_len,</div>
-<div class="line"><a name="l01184"></a><span class="lineno"> 1184</span>&#160;            <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *sendbuf, <span class="keywordtype">size_t</span> *rlen) {</div>
-<div class="line"><a name="l01185"></a><span class="lineno"> 1185</span>&#160;  <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *p, *start;</div>
-<div class="line"><a name="l01186"></a><span class="lineno"> 1186</span>&#160;  <span class="keywordtype">int</span> res;</div>
-<div class="line"><a name="l01187"></a><span class="lineno"> 1187</span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i;</div>
-<div class="line"><a name="l01188"></a><span class="lineno"> 1188</span>&#160;  </div>
-<div class="line"><a name="l01189"></a><span class="lineno"> 1189</span>&#160;  <span class="keywordflow">if</span> (*rlen &lt; <a class="code" href="dtls_8c.html#ae97c368900c13dc7074c09e8848afa8f">DTLS_RH_LENGTH</a>) {</div>
-<div class="line"><a name="l01190"></a><span class="lineno"> 1190</span>&#160;    <a class="code" href="debug_8h.html#ab22e3494f6186183820142ba279fe9ae">dtls_alert</a>(<span class="stringliteral">&quot;The sendbuf (%zu bytes) is too small\n&quot;</span>, *rlen);</div>
-<div class="line"><a name="l01191"></a><span class="lineno"> 1191</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda22948f7c825b68cc18c79bd3634c8f58">DTLS_ALERT_INTERNAL_ERROR</a>);</div>
-<div class="line"><a name="l01192"></a><span class="lineno"> 1192</span>&#160;  }</div>
-<div class="line"><a name="l01193"></a><span class="lineno"> 1193</span>&#160;</div>
-<div class="line"><a name="l01194"></a><span class="lineno"> 1194</span>&#160;  p = <a class="code" href="dtls_8c.html#a734cf32b1c8b99e21d57006da24fd808">dtls_set_record_header</a>(type, security, sendbuf);</div>
-<div class="line"><a name="l01195"></a><span class="lineno"> 1195</span>&#160;  start = p;</div>
-<div class="line"><a name="l01196"></a><span class="lineno"> 1196</span>&#160;</div>
-<div class="line"><a name="l01197"></a><span class="lineno"> 1197</span>&#160;  <span class="keywordflow">if</span> (!security || security-&gt;<a class="code" href="structdtls__security__parameters__t.html#a21d9fac709d739535b0cbecce4c18830">cipher</a> == <a class="code" href="global_8h.html#ada7e71454d685b693df45b2c1ea0c59bacf33de998fd00f096eebbb0742d80abd">TLS_NULL_WITH_NULL_NULL</a>) {</div>
-<div class="line"><a name="l01198"></a><span class="lineno"> 1198</span>&#160;    <span class="comment">/* no cipher suite */</span></div>
-<div class="line"><a name="l01199"></a><span class="lineno"> 1199</span>&#160;</div>
-<div class="line"><a name="l01200"></a><span class="lineno"> 1200</span>&#160;    res = 0;</div>
-<div class="line"><a name="l01201"></a><span class="lineno"> 1201</span>&#160;    <span class="keywordflow">for</span> (i = 0; i &lt; data_array_len; i++) {</div>
-<div class="line"><a name="l01202"></a><span class="lineno"> 1202</span>&#160;      <span class="comment">/* check the minimum that we need for packets that are not encrypted */</span></div>
-<div class="line"><a name="l01203"></a><span class="lineno"> 1203</span>&#160;      <span class="keywordflow">if</span> (*rlen &lt; res + <a class="code" href="dtls_8c.html#ae97c368900c13dc7074c09e8848afa8f">DTLS_RH_LENGTH</a> + data_len_array[i]) {</div>
-<div class="line"><a name="l01204"></a><span class="lineno"> 1204</span>&#160;        <a class="code" href="debug_8h.html#a0f158325426415d9efb5a36bebf45844">dtls_debug</a>(<span class="stringliteral">&quot;dtls_prepare_record: send buffer too small\n&quot;</span>);</div>
-<div class="line"><a name="l01205"></a><span class="lineno"> 1205</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda22948f7c825b68cc18c79bd3634c8f58">DTLS_ALERT_INTERNAL_ERROR</a>);</div>
-<div class="line"><a name="l01206"></a><span class="lineno"> 1206</span>&#160;      }</div>
-<div class="line"><a name="l01207"></a><span class="lineno"> 1207</span>&#160;</div>
-<div class="line"><a name="l01208"></a><span class="lineno"> 1208</span>&#160;      memcpy(p, data_array[i], data_len_array[i]);</div>
-<div class="line"><a name="l01209"></a><span class="lineno"> 1209</span>&#160;      p += data_len_array[i];</div>
-<div class="line"><a name="l01210"></a><span class="lineno"> 1210</span>&#160;      res += data_len_array[i];</div>
-<div class="line"><a name="l01211"></a><span class="lineno"> 1211</span>&#160;    }</div>
-<div class="line"><a name="l01212"></a><span class="lineno"> 1212</span>&#160;  } <span class="keywordflow">else</span> { <span class="comment">/* TLS_PSK_WITH_AES_128_CCM_8 or TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8 */</span>   </div>
-<div class="line"><a name="l01217"></a><span class="lineno"> 1217</span>&#160;<span class="preprocessor">#define A_DATA_LEN 13</span></div>
-<div class="line"><a name="l01218"></a><span class="lineno"> 1218</span>&#160;<span class="preprocessor"></span>    <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> nonce[<a class="code" href="ccm_8h.html#a5c46c97c6c3ef5d4e5bd616dbd064859">DTLS_CCM_BLOCKSIZE</a>];</div>
-<div class="line"><a name="l01219"></a><span class="lineno"> 1219</span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> A_DATA[<a class="code" href="dtls_8c.html#aee0f4f3d8541ea6ab9c204761cc6082e">A_DATA_LEN</a>];</div>
-<div class="line"><a name="l01220"></a><span class="lineno"> 1220</span>&#160;</div>
-<div class="line"><a name="l01221"></a><span class="lineno"> 1221</span>&#160;    <span class="keywordflow">if</span> (<a class="code" href="dtls_8c.html#a8bb6e8bb947b943d2af4c1886a8e72ba">is_tls_psk_with_aes_128_ccm_8</a>(security-&gt;<a class="code" href="structdtls__security__parameters__t.html#a21d9fac709d739535b0cbecce4c18830">cipher</a>)) {</div>
-<div class="line"><a name="l01222"></a><span class="lineno"> 1222</span>&#160;      <a class="code" href="debug_8h.html#a0f158325426415d9efb5a36bebf45844">dtls_debug</a>(<span class="stringliteral">&quot;dtls_prepare_record(): encrypt using TLS_PSK_WITH_AES_128_CCM_8\n&quot;</span>);</div>
-<div class="line"><a name="l01223"></a><span class="lineno"> 1223</span>&#160;    } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="dtls_8c.html#a8098a728e5fff33ceeb7f57ebd48a212">is_tls_ecdhe_ecdsa_with_aes_128_ccm_8</a>(security-&gt;<a class="code" href="structdtls__security__parameters__t.html#a21d9fac709d739535b0cbecce4c18830">cipher</a>)) {</div>
-<div class="line"><a name="l01224"></a><span class="lineno"> 1224</span>&#160;      <a class="code" href="debug_8h.html#a0f158325426415d9efb5a36bebf45844">dtls_debug</a>(<span class="stringliteral">&quot;dtls_prepare_record(): encrypt using TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8\n&quot;</span>);</div>
-<div class="line"><a name="l01225"></a><span class="lineno"> 1225</span>&#160;    } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01226"></a><span class="lineno"> 1226</span>&#160;      <a class="code" href="debug_8h.html#a0f158325426415d9efb5a36bebf45844">dtls_debug</a>(<span class="stringliteral">&quot;dtls_prepare_record(): encrypt using unknown cipher\n&quot;</span>);</div>
-<div class="line"><a name="l01227"></a><span class="lineno"> 1227</span>&#160;    }</div>
-<div class="line"><a name="l01228"></a><span class="lineno"> 1228</span>&#160;</div>
-<div class="line"><a name="l01229"></a><span class="lineno"> 1229</span>&#160;    <span class="comment">/* set nonce       </span></div>
-<div class="line"><a name="l01230"></a><span class="lineno"> 1230</span>&#160;<span class="comment">       from RFC 6655:</span></div>
-<div class="line"><a name="l01231"></a><span class="lineno"> 1231</span>&#160;<span class="comment">    The &quot;nonce&quot; input to the AEAD algorithm is exactly that of [RFC5288]:</span></div>
-<div class="line"><a name="l01232"></a><span class="lineno"> 1232</span>&#160;<span class="comment">    the &quot;nonce&quot; SHALL be 12 bytes long and is constructed as follows:</span></div>
-<div class="line"><a name="l01233"></a><span class="lineno"> 1233</span>&#160;<span class="comment">    (this is an example of a &quot;partially explicit&quot; nonce; see Section</span></div>
-<div class="line"><a name="l01234"></a><span class="lineno"> 1234</span>&#160;<span class="comment">    3.2.1 in [RFC5116]).</span></div>
-<div class="line"><a name="l01235"></a><span class="lineno"> 1235</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l01236"></a><span class="lineno"> 1236</span>&#160;<span class="comment">                       struct {</span></div>
-<div class="line"><a name="l01237"></a><span class="lineno"> 1237</span>&#160;<span class="comment">             opaque salt[4];</span></div>
-<div class="line"><a name="l01238"></a><span class="lineno"> 1238</span>&#160;<span class="comment">             opaque nonce_explicit[8];</span></div>
-<div class="line"><a name="l01239"></a><span class="lineno"> 1239</span>&#160;<span class="comment">                       } CCMNonce;</span></div>
-<div class="line"><a name="l01240"></a><span class="lineno"> 1240</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l01241"></a><span class="lineno"> 1241</span>&#160;<span class="comment">         [...]</span></div>
-<div class="line"><a name="l01242"></a><span class="lineno"> 1242</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l01243"></a><span class="lineno"> 1243</span>&#160;<span class="comment">     In DTLS, the 64-bit seq_num is the 16-bit epoch concatenated with the</span></div>
-<div class="line"><a name="l01244"></a><span class="lineno"> 1244</span>&#160;<span class="comment">     48-bit seq_num.</span></div>
-<div class="line"><a name="l01245"></a><span class="lineno"> 1245</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l01246"></a><span class="lineno"> 1246</span>&#160;<span class="comment">     When the nonce_explicit is equal to the sequence number, the CCMNonce</span></div>
-<div class="line"><a name="l01247"></a><span class="lineno"> 1247</span>&#160;<span class="comment">     will have the structure of the CCMNonceExample given below.</span></div>
-<div class="line"><a name="l01248"></a><span class="lineno"> 1248</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l01249"></a><span class="lineno"> 1249</span>&#160;<span class="comment">                struct {</span></div>
-<div class="line"><a name="l01250"></a><span class="lineno"> 1250</span>&#160;<span class="comment">                 uint32 client_write_IV; // low order 32-bits</span></div>
-<div class="line"><a name="l01251"></a><span class="lineno"> 1251</span>&#160;<span class="comment">                 uint64 seq_num;         // TLS sequence number</span></div>
-<div class="line"><a name="l01252"></a><span class="lineno"> 1252</span>&#160;<span class="comment">                } CCMClientNonce.</span></div>
-<div class="line"><a name="l01253"></a><span class="lineno"> 1253</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l01254"></a><span class="lineno"> 1254</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l01255"></a><span class="lineno"> 1255</span>&#160;<span class="comment">                struct {</span></div>
-<div class="line"><a name="l01256"></a><span class="lineno"> 1256</span>&#160;<span class="comment">                 uint32 server_write_IV; // low order 32-bits</span></div>
-<div class="line"><a name="l01257"></a><span class="lineno"> 1257</span>&#160;<span class="comment">                 uint64 seq_num; // TLS sequence number</span></div>
-<div class="line"><a name="l01258"></a><span class="lineno"> 1258</span>&#160;<span class="comment">                } CCMServerNonce.</span></div>
-<div class="line"><a name="l01259"></a><span class="lineno"> 1259</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l01260"></a><span class="lineno"> 1260</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l01261"></a><span class="lineno"> 1261</span>&#160;<span class="comment">                struct {</span></div>
-<div class="line"><a name="l01262"></a><span class="lineno"> 1262</span>&#160;<span class="comment">                 case client:</span></div>
-<div class="line"><a name="l01263"></a><span class="lineno"> 1263</span>&#160;<span class="comment">                   CCMClientNonce;</span></div>
-<div class="line"><a name="l01264"></a><span class="lineno"> 1264</span>&#160;<span class="comment">                 case server:</span></div>
-<div class="line"><a name="l01265"></a><span class="lineno"> 1265</span>&#160;<span class="comment">                   CCMServerNonce:</span></div>
-<div class="line"><a name="l01266"></a><span class="lineno"> 1266</span>&#160;<span class="comment">                } CCMNonceExample;</span></div>
-<div class="line"><a name="l01267"></a><span class="lineno"> 1267</span>&#160;<span class="comment">    */</span></div>
-<div class="line"><a name="l01268"></a><span class="lineno"> 1268</span>&#160;</div>
-<div class="line"><a name="l01269"></a><span class="lineno"> 1269</span>&#160;    memcpy(p, &amp;<a class="code" href="dtls_8c.html#a35d050593196252c1826ac2e82cbac0b">DTLS_RECORD_HEADER</a>(sendbuf)-&gt;epoch, 8);</div>
-<div class="line"><a name="l01270"></a><span class="lineno"> 1270</span>&#160;    p += 8;</div>
-<div class="line"><a name="l01271"></a><span class="lineno"> 1271</span>&#160;    res = 8;</div>
-<div class="line"><a name="l01272"></a><span class="lineno"> 1272</span>&#160;</div>
-<div class="line"><a name="l01273"></a><span class="lineno"> 1273</span>&#160;    <span class="keywordflow">for</span> (i = 0; i &lt; data_array_len; i++) {</div>
-<div class="line"><a name="l01274"></a><span class="lineno"> 1274</span>&#160;      <span class="comment">/* check the minimum that we need for packets that are not encrypted */</span></div>
-<div class="line"><a name="l01275"></a><span class="lineno"> 1275</span>&#160;      <span class="keywordflow">if</span> (*rlen &lt; res + <a class="code" href="dtls_8c.html#ae97c368900c13dc7074c09e8848afa8f">DTLS_RH_LENGTH</a> + data_len_array[i]) {</div>
-<div class="line"><a name="l01276"></a><span class="lineno"> 1276</span>&#160;        <a class="code" href="debug_8h.html#a0f158325426415d9efb5a36bebf45844">dtls_debug</a>(<span class="stringliteral">&quot;dtls_prepare_record: send buffer too small\n&quot;</span>);</div>
-<div class="line"><a name="l01277"></a><span class="lineno"> 1277</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda22948f7c825b68cc18c79bd3634c8f58">DTLS_ALERT_INTERNAL_ERROR</a>);</div>
-<div class="line"><a name="l01278"></a><span class="lineno"> 1278</span>&#160;      }</div>
-<div class="line"><a name="l01279"></a><span class="lineno"> 1279</span>&#160;</div>
-<div class="line"><a name="l01280"></a><span class="lineno"> 1280</span>&#160;      memcpy(p, data_array[i], data_len_array[i]);</div>
-<div class="line"><a name="l01281"></a><span class="lineno"> 1281</span>&#160;      p += data_len_array[i];</div>
-<div class="line"><a name="l01282"></a><span class="lineno"> 1282</span>&#160;      res += data_len_array[i];</div>
-<div class="line"><a name="l01283"></a><span class="lineno"> 1283</span>&#160;    }</div>
-<div class="line"><a name="l01284"></a><span class="lineno"> 1284</span>&#160;</div>
-<div class="line"><a name="l01285"></a><span class="lineno"> 1285</span>&#160;    memset(nonce, 0, <a class="code" href="ccm_8h.html#a5c46c97c6c3ef5d4e5bd616dbd064859">DTLS_CCM_BLOCKSIZE</a>);</div>
-<div class="line"><a name="l01286"></a><span class="lineno"> 1286</span>&#160;    memcpy(nonce, <a class="code" href="crypto_8h.html#ae23208578ac21350cb5915d11da0a2e3">dtls_kb_local_iv</a>(security, peer-&gt;<a class="code" href="structdtls__peer__t.html#aeca80f1bcbcfdba89a2ab08e4bc48120">role</a>),</div>
-<div class="line"><a name="l01287"></a><span class="lineno"> 1287</span>&#160;       <a class="code" href="crypto_8h.html#adcdadf1870e2acb2993b1a8726d26997">dtls_kb_iv_size</a>(security, peer-&gt;<a class="code" href="structdtls__peer__t.html#aeca80f1bcbcfdba89a2ab08e4bc48120">role</a>));</div>
-<div class="line"><a name="l01288"></a><span class="lineno"> 1288</span>&#160;    memcpy(nonce + <a class="code" href="crypto_8h.html#adcdadf1870e2acb2993b1a8726d26997">dtls_kb_iv_size</a>(security, peer-&gt;<a class="code" href="structdtls__peer__t.html#aeca80f1bcbcfdba89a2ab08e4bc48120">role</a>), start, 8); <span class="comment">/* epoch + seq_num */</span></div>
-<div class="line"><a name="l01289"></a><span class="lineno"> 1289</span>&#160;</div>
-<div class="line"><a name="l01290"></a><span class="lineno"> 1290</span>&#160;    <a class="code" href="debug_8h.html#ab27d2c7cae1e8022e93562ecda9140b6">dtls_debug_dump</a>(<span class="stringliteral">&quot;nonce:&quot;</span>, nonce, <a class="code" href="ccm_8h.html#a5c46c97c6c3ef5d4e5bd616dbd064859">DTLS_CCM_BLOCKSIZE</a>);</div>
-<div class="line"><a name="l01291"></a><span class="lineno"> 1291</span>&#160;    <a class="code" href="debug_8h.html#ab27d2c7cae1e8022e93562ecda9140b6">dtls_debug_dump</a>(<span class="stringliteral">&quot;key:&quot;</span>, <a class="code" href="crypto_8h.html#a7c9e39188a2e50eb942ce8c7cd8add36">dtls_kb_local_write_key</a>(security, peer-&gt;<a class="code" href="structdtls__peer__t.html#aeca80f1bcbcfdba89a2ab08e4bc48120">role</a>),</div>
-<div class="line"><a name="l01292"></a><span class="lineno"> 1292</span>&#160;            <a class="code" href="crypto_8h.html#a726ef8efa2e072c3c5e1ea1019e716aa">dtls_kb_key_size</a>(security, peer-&gt;<a class="code" href="structdtls__peer__t.html#aeca80f1bcbcfdba89a2ab08e4bc48120">role</a>));</div>
-<div class="line"><a name="l01293"></a><span class="lineno"> 1293</span>&#160;    </div>
-<div class="line"><a name="l01294"></a><span class="lineno"> 1294</span>&#160;    <span class="comment">/* re-use N to create additional data according to RFC 5246, Section 6.2.3.3:</span></div>
-<div class="line"><a name="l01295"></a><span class="lineno"> 1295</span>&#160;<span class="comment">     * </span></div>
-<div class="line"><a name="l01296"></a><span class="lineno"> 1296</span>&#160;<span class="comment">     * additional_data = seq_num + TLSCompressed.type +</span></div>
-<div class="line"><a name="l01297"></a><span class="lineno"> 1297</span>&#160;<span class="comment">     *                   TLSCompressed.version + TLSCompressed.length;</span></div>
-<div class="line"><a name="l01298"></a><span class="lineno"> 1298</span>&#160;<span class="comment">     */</span></div>
-<div class="line"><a name="l01299"></a><span class="lineno"> 1299</span>&#160;    memcpy(A_DATA, &amp;<a class="code" href="dtls_8c.html#a35d050593196252c1826ac2e82cbac0b">DTLS_RECORD_HEADER</a>(sendbuf)-&gt;epoch, 8); <span class="comment">/* epoch and seq_num */</span></div>
-<div class="line"><a name="l01300"></a><span class="lineno"> 1300</span>&#160;    memcpy(A_DATA + 8,  &amp;<a class="code" href="dtls_8c.html#a35d050593196252c1826ac2e82cbac0b">DTLS_RECORD_HEADER</a>(sendbuf)-&gt;content_type, 3); <span class="comment">/* type and version */</span></div>
-<div class="line"><a name="l01301"></a><span class="lineno"> 1301</span>&#160;    <a class="code" href="numeric_8h.html#a074d352855e1ffde4c2ddb6a6fea01b9">dtls_int_to_uint16</a>(A_DATA + 11, res - 8); <span class="comment">/* length */</span></div>
-<div class="line"><a name="l01302"></a><span class="lineno"> 1302</span>&#160;    </div>
-<div class="line"><a name="l01303"></a><span class="lineno"> 1303</span>&#160;    res = <a class="code" href="crypto_8c.html#ad58098f0e821f81b4f1a6672ead17ac5">dtls_encrypt</a>(start + 8, res - 8, start + 8, nonce,</div>
-<div class="line"><a name="l01304"></a><span class="lineno"> 1304</span>&#160;               <a class="code" href="crypto_8h.html#a7c9e39188a2e50eb942ce8c7cd8add36">dtls_kb_local_write_key</a>(security, peer-&gt;<a class="code" href="structdtls__peer__t.html#aeca80f1bcbcfdba89a2ab08e4bc48120">role</a>),</div>
-<div class="line"><a name="l01305"></a><span class="lineno"> 1305</span>&#160;               <a class="code" href="crypto_8h.html#a726ef8efa2e072c3c5e1ea1019e716aa">dtls_kb_key_size</a>(security, peer-&gt;<a class="code" href="structdtls__peer__t.html#aeca80f1bcbcfdba89a2ab08e4bc48120">role</a>),</div>
-<div class="line"><a name="l01306"></a><span class="lineno"> 1306</span>&#160;               A_DATA, <a class="code" href="dtls_8c.html#aee0f4f3d8541ea6ab9c204761cc6082e">A_DATA_LEN</a>);</div>
-<div class="line"><a name="l01307"></a><span class="lineno"> 1307</span>&#160;</div>
-<div class="line"><a name="l01308"></a><span class="lineno"> 1308</span>&#160;    <span class="keywordflow">if</span> (res &lt; 0)</div>
-<div class="line"><a name="l01309"></a><span class="lineno"> 1309</span>&#160;      <span class="keywordflow">return</span> res;</div>
-<div class="line"><a name="l01310"></a><span class="lineno"> 1310</span>&#160;</div>
-<div class="line"><a name="l01311"></a><span class="lineno"> 1311</span>&#160;    res += 8;           <span class="comment">/* increment res by size of nonce_explicit */</span></div>
-<div class="line"><a name="l01312"></a><span class="lineno"> 1312</span>&#160;    <a class="code" href="debug_8h.html#ab27d2c7cae1e8022e93562ecda9140b6">dtls_debug_dump</a>(<span class="stringliteral">&quot;message:&quot;</span>, start, res);</div>
-<div class="line"><a name="l01313"></a><span class="lineno"> 1313</span>&#160;  }</div>
-<div class="line"><a name="l01314"></a><span class="lineno"> 1314</span>&#160;</div>
-<div class="line"><a name="l01315"></a><span class="lineno"> 1315</span>&#160;  <span class="comment">/* fix length of fragment in sendbuf */</span></div>
-<div class="line"><a name="l01316"></a><span class="lineno"> 1316</span>&#160;  <a class="code" href="numeric_8h.html#a074d352855e1ffde4c2ddb6a6fea01b9">dtls_int_to_uint16</a>(sendbuf + 11, res);</div>
-<div class="line"><a name="l01317"></a><span class="lineno"> 1317</span>&#160;  </div>
-<div class="line"><a name="l01318"></a><span class="lineno"> 1318</span>&#160;  *rlen = <a class="code" href="dtls_8c.html#ae97c368900c13dc7074c09e8848afa8f">DTLS_RH_LENGTH</a> + res;</div>
-<div class="line"><a name="l01319"></a><span class="lineno"> 1319</span>&#160;  <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l01320"></a><span class="lineno"> 1320</span>&#160;}</div>
-<div class="line"><a name="l01321"></a><span class="lineno"> 1321</span>&#160;</div>
-<div class="line"><a name="l01322"></a><span class="lineno"> 1322</span>&#160;<span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l01323"></a><span class="lineno"><a class="line" href="dtls_8c.html#a4f06884f659f6a5120be7e0b86d29880"> 1323</a></span>&#160;<a class="code" href="dtls_8c.html#a4f06884f659f6a5120be7e0b86d29880">dtls_send_handshake_msg_hash</a>(<a class="code" href="structdtls__context__t.html">dtls_context_t</a> *ctx,</div>
-<div class="line"><a name="l01324"></a><span class="lineno"> 1324</span>&#160;                 <a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *peer,</div>
-<div class="line"><a name="l01325"></a><span class="lineno"> 1325</span>&#160;                 <a class="code" href="structsession__t.html">session_t</a> *session,</div>
-<div class="line"><a name="l01326"></a><span class="lineno"> 1326</span>&#160;                 <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> header_type,</div>
-<div class="line"><a name="l01327"></a><span class="lineno"> 1327</span>&#160;                 <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *data, <span class="keywordtype">size_t</span> data_length,</div>
-<div class="line"><a name="l01328"></a><span class="lineno"> 1328</span>&#160;                 <span class="keywordtype">int</span> add_hash)</div>
-<div class="line"><a name="l01329"></a><span class="lineno"> 1329</span>&#160;{</div>
-<div class="line"><a name="l01330"></a><span class="lineno"> 1330</span>&#160;  <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> buf[<a class="code" href="dtls_8c.html#a520419d1976b301c508721faed549b4f">DTLS_HS_LENGTH</a>];</div>
-<div class="line"><a name="l01331"></a><span class="lineno"> 1331</span>&#160;  <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *data_array[2];</div>
-<div class="line"><a name="l01332"></a><span class="lineno"> 1332</span>&#160;  <span class="keywordtype">size_t</span> data_len_array[2];</div>
-<div class="line"><a name="l01333"></a><span class="lineno"> 1333</span>&#160;  <span class="keywordtype">int</span> i = 0;</div>
-<div class="line"><a name="l01334"></a><span class="lineno"> 1334</span>&#160;  <a class="code" href="structdtls__security__parameters__t.html">dtls_security_parameters_t</a> *security = peer ? <a class="code" href="peer_8h.html#a48abcad7383e1db957af9b4fed030d52">dtls_security_params</a>(peer) : NULL;</div>
-<div class="line"><a name="l01335"></a><span class="lineno"> 1335</span>&#160;</div>
-<div class="line"><a name="l01336"></a><span class="lineno"> 1336</span>&#160;  <a class="code" href="dtls_8c.html#ab43d3a34ddaf0f5bfaa2b0b3e76e25d1">dtls_set_handshake_header</a>(header_type, peer, data_length, 0,</div>
-<div class="line"><a name="l01337"></a><span class="lineno"> 1337</span>&#160;                data_length, buf);</div>
-<div class="line"><a name="l01338"></a><span class="lineno"> 1338</span>&#160;</div>
-<div class="line"><a name="l01339"></a><span class="lineno"> 1339</span>&#160;  <span class="keywordflow">if</span> (add_hash) {</div>
-<div class="line"><a name="l01340"></a><span class="lineno"> 1340</span>&#160;    <a class="code" href="dtls_8c.html#a3db09acb5894f17f4745d7556555bea7">update_hs_hash</a>(peer, buf, <span class="keyword">sizeof</span>(buf));</div>
-<div class="line"><a name="l01341"></a><span class="lineno"> 1341</span>&#160;  }</div>
-<div class="line"><a name="l01342"></a><span class="lineno"> 1342</span>&#160;  data_array[i] = buf;</div>
-<div class="line"><a name="l01343"></a><span class="lineno"> 1343</span>&#160;  data_len_array[i] = <span class="keyword">sizeof</span>(buf);</div>
-<div class="line"><a name="l01344"></a><span class="lineno"> 1344</span>&#160;  i++;</div>
-<div class="line"><a name="l01345"></a><span class="lineno"> 1345</span>&#160;</div>
-<div class="line"><a name="l01346"></a><span class="lineno"> 1346</span>&#160;  <span class="keywordflow">if</span> (data != NULL) {</div>
-<div class="line"><a name="l01347"></a><span class="lineno"> 1347</span>&#160;    <span class="keywordflow">if</span> (add_hash) {</div>
-<div class="line"><a name="l01348"></a><span class="lineno"> 1348</span>&#160;      <a class="code" href="dtls_8c.html#a3db09acb5894f17f4745d7556555bea7">update_hs_hash</a>(peer, data, data_length);</div>
-<div class="line"><a name="l01349"></a><span class="lineno"> 1349</span>&#160;    }</div>
-<div class="line"><a name="l01350"></a><span class="lineno"> 1350</span>&#160;    data_array[i] = data;</div>
-<div class="line"><a name="l01351"></a><span class="lineno"> 1351</span>&#160;    data_len_array[i] = data_length;</div>
-<div class="line"><a name="l01352"></a><span class="lineno"> 1352</span>&#160;    i++;</div>
-<div class="line"><a name="l01353"></a><span class="lineno"> 1353</span>&#160;  }</div>
-<div class="line"><a name="l01354"></a><span class="lineno"> 1354</span>&#160;  <a class="code" href="debug_8h.html#a0f158325426415d9efb5a36bebf45844">dtls_debug</a>(<span class="stringliteral">&quot;send handshake packet of type: %s (%i)\n&quot;</span>,</div>
-<div class="line"><a name="l01355"></a><span class="lineno"> 1355</span>&#160;         <a class="code" href="dtls_8c.html#a00707f0f82235a2432338e77dae0911d">dtls_handshake_type_to_name</a>(header_type), header_type);</div>
-<div class="line"><a name="l01356"></a><span class="lineno"> 1356</span>&#160;  <span class="keywordflow">return</span> <a class="code" href="dtls_8c.html#aa89745c0af073102c9c350d28a84214d">dtls_send_multi</a>(ctx, peer, security, session, <a class="code" href="dtls_8h.html#a76965db5ec449b3c8a9a54c24a4d45dc">DTLS_CT_HANDSHAKE</a>,</div>
-<div class="line"><a name="l01357"></a><span class="lineno"> 1357</span>&#160;             data_array, data_len_array, i);</div>
-<div class="line"><a name="l01358"></a><span class="lineno"> 1358</span>&#160;}</div>
-<div class="line"><a name="l01359"></a><span class="lineno"> 1359</span>&#160;</div>
-<div class="line"><a name="l01360"></a><span class="lineno"> 1360</span>&#160;<span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l01361"></a><span class="lineno"><a class="line" href="dtls_8c.html#a872c53139e76cab7ec387cc54ae1a11b"> 1361</a></span>&#160;<a class="code" href="dtls_8c.html#a872c53139e76cab7ec387cc54ae1a11b">dtls_send_handshake_msg</a>(<a class="code" href="structdtls__context__t.html">dtls_context_t</a> *ctx,</div>
-<div class="line"><a name="l01362"></a><span class="lineno"> 1362</span>&#160;            <a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *peer,</div>
-<div class="line"><a name="l01363"></a><span class="lineno"> 1363</span>&#160;            <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> header_type,</div>
-<div class="line"><a name="l01364"></a><span class="lineno"> 1364</span>&#160;            <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *data, <span class="keywordtype">size_t</span> data_length)</div>
-<div class="line"><a name="l01365"></a><span class="lineno"> 1365</span>&#160;{</div>
-<div class="line"><a name="l01366"></a><span class="lineno"> 1366</span>&#160;  <span class="keywordflow">return</span> <a class="code" href="dtls_8c.html#a4f06884f659f6a5120be7e0b86d29880">dtls_send_handshake_msg_hash</a>(ctx, peer, &amp;peer-&gt;<a class="code" href="structdtls__peer__t.html#a44ebb2ba643269c7e6943f3a9040febe">session</a>,</div>
-<div class="line"><a name="l01367"></a><span class="lineno"> 1367</span>&#160;                      header_type, data, data_length, 1);</div>
-<div class="line"><a name="l01368"></a><span class="lineno"> 1368</span>&#160;}</div>
-<div class="line"><a name="l01369"></a><span class="lineno"> 1369</span>&#160;</div>
-<div class="line"><a name="l01384"></a><span class="lineno"><a class="line" href="dtls_8c.html#a9279d8f0e7c7b30f968ed085b5a3136f"> 1384</a></span>&#160;<span class="preprocessor">#define MUST_HASH(Type, Data, Length)                   \</span></div>
-<div class="line"><a name="l01385"></a><span class="lineno"> 1385</span>&#160;<span class="preprocessor">  ((Type) == DTLS_CT_HANDSHAKE &amp;&amp;                   \</span></div>
-<div class="line"><a name="l01386"></a><span class="lineno"> 1386</span>&#160;<span class="preprocessor">   ((Data) != NULL) &amp;&amp; ((Length) &gt; 0)  &amp;&amp;               \</span></div>
-<div class="line"><a name="l01387"></a><span class="lineno"> 1387</span>&#160;<span class="preprocessor">   ((Data)[0] != DTLS_HT_HELLO_VERIFY_REQUEST) &amp;&amp;           \</span></div>
-<div class="line"><a name="l01388"></a><span class="lineno"> 1388</span>&#160;<span class="preprocessor">   ((Data)[0] != DTLS_HT_CLIENT_HELLO ||                \</span></div>
-<div class="line"><a name="l01389"></a><span class="lineno"> 1389</span>&#160;<span class="preprocessor">    ((Length) &gt;= HS_HDR_LENGTH &amp;&amp;                   \</span></div>
-<div class="line"><a name="l01390"></a><span class="lineno"> 1390</span>&#160;<span class="preprocessor">     (dtls_uint16_to_int(DTLS_RECORD_HEADER(Data)-&gt;epoch &gt; 0) ||    \</span></div>
-<div class="line"><a name="l01391"></a><span class="lineno"> 1391</span>&#160;<span class="preprocessor">      (dtls_uint16_to_int(HANDSHAKE(Data)-&gt;message_seq) &gt; 0)))))</span></div>
-<div class="line"><a name="l01392"></a><span class="lineno"> 1392</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l01406"></a><span class="lineno"> 1406</span>&#160;<span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l01407"></a><span class="lineno"><a class="line" href="dtls_8c.html#aa89745c0af073102c9c350d28a84214d"> 1407</a></span>&#160;<a class="code" href="dtls_8c.html#aa89745c0af073102c9c350d28a84214d">dtls_send_multi</a>(<a class="code" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *peer,</div>
-<div class="line"><a name="l01408"></a><span class="lineno"> 1408</span>&#160;        <a class="code" href="structdtls__security__parameters__t.html">dtls_security_parameters_t</a> *security , <a class="code" href="structsession__t.html">session_t</a> *session,</div>
-<div class="line"><a name="l01409"></a><span class="lineno"> 1409</span>&#160;        <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> type, <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *buf_array[],</div>
-<div class="line"><a name="l01410"></a><span class="lineno"> 1410</span>&#160;        <span class="keywordtype">size_t</span> buf_len_array[], <span class="keywordtype">size_t</span> buf_array_len)</div>
-<div class="line"><a name="l01411"></a><span class="lineno"> 1411</span>&#160;{</div>
-<div class="line"><a name="l01412"></a><span class="lineno"> 1412</span>&#160;  <span class="comment">/* We cannot use ctx-&gt;sendbuf here as it is reserved for collecting</span></div>
-<div class="line"><a name="l01413"></a><span class="lineno"> 1413</span>&#160;<span class="comment">   * the input for this function, i.e. buf == ctx-&gt;sendbuf.</span></div>
-<div class="line"><a name="l01414"></a><span class="lineno"> 1414</span>&#160;<span class="comment">   *</span></div>
-<div class="line"><a name="l01415"></a><span class="lineno"> 1415</span>&#160;<span class="comment">   * TODO: check if we can use the receive buf here. This would mean</span></div>
-<div class="line"><a name="l01416"></a><span class="lineno"> 1416</span>&#160;<span class="comment">   * that we might not be able to handle multiple records stuffed in</span></div>
-<div class="line"><a name="l01417"></a><span class="lineno"> 1417</span>&#160;<span class="comment">   * one UDP datagram */</span></div>
-<div class="line"><a name="l01418"></a><span class="lineno"> 1418</span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> sendbuf[<a class="code" href="global_8h.html#acdbfba15eb1a5692e177d582b4ca1583">DTLS_MAX_BUF</a>];</div>
-<div class="line"><a name="l01419"></a><span class="lineno"> 1419</span>&#160;  <span class="keywordtype">size_t</span> len = <span class="keyword">sizeof</span>(sendbuf);</div>
-<div class="line"><a name="l01420"></a><span class="lineno"> 1420</span>&#160;  <span class="keywordtype">int</span> res;</div>
-<div class="line"><a name="l01421"></a><span class="lineno"> 1421</span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i;</div>
-<div class="line"><a name="l01422"></a><span class="lineno"> 1422</span>&#160;  <span class="keywordtype">size_t</span> overall_len = 0;</div>
-<div class="line"><a name="l01423"></a><span class="lineno"> 1423</span>&#160;</div>
-<div class="line"><a name="l01424"></a><span class="lineno"> 1424</span>&#160;  res = <a class="code" href="dtls_8c.html#ab9733484b9a23775b1bc8b3d723282e5">dtls_prepare_record</a>(peer, security, type, buf_array, buf_len_array, buf_array_len, sendbuf, &amp;len);</div>
-<div class="line"><a name="l01425"></a><span class="lineno"> 1425</span>&#160;</div>
-<div class="line"><a name="l01426"></a><span class="lineno"> 1426</span>&#160;  <span class="keywordflow">if</span> (res &lt; 0)</div>
-<div class="line"><a name="l01427"></a><span class="lineno"> 1427</span>&#160;    <span class="keywordflow">return</span> res;</div>
-<div class="line"><a name="l01428"></a><span class="lineno"> 1428</span>&#160;</div>
-<div class="line"><a name="l01429"></a><span class="lineno"> 1429</span>&#160;  <span class="comment">/* if (peer &amp;&amp; MUST_HASH(peer, type, buf, buflen)) */</span></div>
-<div class="line"><a name="l01430"></a><span class="lineno"> 1430</span>&#160;  <span class="comment">/*   update_hs_hash(peer, buf, buflen); */</span></div>
-<div class="line"><a name="l01431"></a><span class="lineno"> 1431</span>&#160;</div>
-<div class="line"><a name="l01432"></a><span class="lineno"> 1432</span>&#160;  <a class="code" href="debug_8h.html#a24b1e8ecaa65f684d879ed9d5c37119d">dtls_debug_hexdump</a>(<span class="stringliteral">&quot;send header&quot;</span>, sendbuf, <span class="keyword">sizeof</span>(<a class="code" href="dtls_8h.html#a81936df7abb2c16aa897e3018aa24399">dtls_record_header_t</a>));</div>
-<div class="line"><a name="l01433"></a><span class="lineno"> 1433</span>&#160;  <span class="keywordflow">for</span> (i = 0; i &lt; buf_array_len; i++) {</div>
-<div class="line"><a name="l01434"></a><span class="lineno"> 1434</span>&#160;    <a class="code" href="debug_8h.html#a24b1e8ecaa65f684d879ed9d5c37119d">dtls_debug_hexdump</a>(<span class="stringliteral">&quot;send unencrypted&quot;</span>, buf_array[i], buf_len_array[i]);</div>
-<div class="line"><a name="l01435"></a><span class="lineno"> 1435</span>&#160;    overall_len += buf_len_array[i];</div>
-<div class="line"><a name="l01436"></a><span class="lineno"> 1436</span>&#160;  }</div>
-<div class="line"><a name="l01437"></a><span class="lineno"> 1437</span>&#160;</div>
-<div class="line"><a name="l01438"></a><span class="lineno"> 1438</span>&#160;  <span class="keywordflow">if</span> ((type == <a class="code" href="dtls_8h.html#a76965db5ec449b3c8a9a54c24a4d45dc">DTLS_CT_HANDSHAKE</a> &amp;&amp; buf_array[0][0] != <a class="code" href="dtls_8h.html#ab04f98f1863c785fabd97925c9746f7d">DTLS_HT_HELLO_VERIFY_REQUEST</a>) ||</div>
-<div class="line"><a name="l01439"></a><span class="lineno"> 1439</span>&#160;      type == <a class="code" href="dtls_8h.html#a3114c327a12e3850e97c4cf8a0cc5c9d">DTLS_CT_CHANGE_CIPHER_SPEC</a>) {</div>
-<div class="line"><a name="l01440"></a><span class="lineno"> 1440</span>&#160;    <span class="comment">/* copy handshake messages other than HelloVerify into retransmit buffer */</span></div>
-<div class="line"><a name="l01441"></a><span class="lineno"> 1441</span>&#160;    <a class="code" href="structnetq__t.html">netq_t</a> *n = <a class="code" href="group__netq.html#gafcf245cd934e9b8f0909a7ca8940e9cb">netq_node_new</a>(overall_len);</div>
-<div class="line"><a name="l01442"></a><span class="lineno"> 1442</span>&#160;    <span class="keywordflow">if</span> (n) {</div>
-<div class="line"><a name="l01443"></a><span class="lineno"> 1443</span>&#160;      <a class="code" href="group__clock.html#gaded617551180951f4841969e396a8012">dtls_tick_t</a> now;</div>
-<div class="line"><a name="l01444"></a><span class="lineno"> 1444</span>&#160;      <a class="code" href="group__clock.html#ga1834985745ba5d3dd03f7e7498e3a304">dtls_ticks</a>(&amp;now);</div>
-<div class="line"><a name="l01445"></a><span class="lineno"> 1445</span>&#160;      n-&gt;<a class="code" href="structnetq__t.html#afe91256ff5267fc680b96efd3bd8635a">t</a> = now + 2 * <a class="code" href="group__clock.html#gae3ced0551b26c9b99cb45a86f34d100a">CLOCK_SECOND</a>;</div>
-<div class="line"><a name="l01446"></a><span class="lineno"> 1446</span>&#160;      n-&gt;<a class="code" href="structnetq__t.html#aacd03017f40248c2f48c2b7b9cd92dc8">retransmit_cnt</a> = 0;</div>
-<div class="line"><a name="l01447"></a><span class="lineno"> 1447</span>&#160;      n-&gt;<a class="code" href="structnetq__t.html#ae0c2648acf87d1e6f2566bc3600771b6">timeout</a> = 2 * <a class="code" href="group__clock.html#gae3ced0551b26c9b99cb45a86f34d100a">CLOCK_SECOND</a>;</div>
-<div class="line"><a name="l01448"></a><span class="lineno"> 1448</span>&#160;      n-&gt;<a class="code" href="structnetq__t.html#aaca5f6407bd7b3162d9ee7e7e7b8f0ff">peer</a> = peer;</div>
-<div class="line"><a name="l01449"></a><span class="lineno"> 1449</span>&#160;      n-&gt;<a class="code" href="structnetq__t.html#a9998944e43a39a2e5700156876a312e0">epoch</a> = (security) ? security-&gt;<a class="code" href="structdtls__security__parameters__t.html#a2bce1fa0bf77eeab8fadca824de602da">epoch</a> : 0;</div>
-<div class="line"><a name="l01450"></a><span class="lineno"> 1450</span>&#160;      n-&gt;<a class="code" href="structnetq__t.html#a13d74bc65c8879b894698935fbbe2246">type</a> = type;</div>
-<div class="line"><a name="l01451"></a><span class="lineno"> 1451</span>&#160;      n-&gt;<a class="code" href="structnetq__t.html#ac72c9378282becab5a273f612f58c124">length</a> = 0;</div>
-<div class="line"><a name="l01452"></a><span class="lineno"> 1452</span>&#160;      for (i = 0; i &lt; buf_array_len; i++) {</div>
-<div class="line"><a name="l01453"></a><span class="lineno"> 1453</span>&#160;        memcpy(n-&gt;<a class="code" href="structnetq__t.html#a5b4d387623df43fe25a3b11e9d4fb02c">data</a> + n-&gt;<a class="code" href="structnetq__t.html#ac72c9378282becab5a273f612f58c124">length</a>, buf_array[i], buf_len_array[i]);</div>
-<div class="line"><a name="l01454"></a><span class="lineno"> 1454</span>&#160;        n-&gt;<a class="code" href="structnetq__t.html#ac72c9378282becab5a273f612f58c124">length</a> += buf_len_array[i];</div>
-<div class="line"><a name="l01455"></a><span class="lineno"> 1455</span>&#160;      }</div>
-<div class="line"><a name="l01456"></a><span class="lineno"> 1456</span>&#160;</div>
-<div class="line"><a name="l01457"></a><span class="lineno"> 1457</span>&#160;      <span class="keywordflow">if</span> (!<a class="code" href="group__netq.html#ga142c8e39fe2cd55250e3c1f0370dfe6b">netq_insert_node</a>(ctx-&gt;sendqueue, n)) {</div>
-<div class="line"><a name="l01458"></a><span class="lineno"> 1458</span>&#160;    <a class="code" href="debug_8h.html#ae1c22127c92fab70da7bf9cae8536e5c">dtls_warn</a>(<span class="stringliteral">&quot;cannot add packet to retransmit buffer\n&quot;</span>);</div>
-<div class="line"><a name="l01459"></a><span class="lineno"> 1459</span>&#160;    <a class="code" href="group__netq.html#ga9ef9da1a2af266dadef83ddf6c8524d7">netq_node_free</a>(n);</div>
-<div class="line"><a name="l01460"></a><span class="lineno"> 1460</span>&#160;<span class="preprocessor">#ifdef WITH_CONTIKI</span></div>
-<div class="line"><a name="l01461"></a><span class="lineno"> 1461</span>&#160;<span class="preprocessor"></span>      } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01462"></a><span class="lineno"> 1462</span>&#160;    <span class="comment">/* must set timer within the context of the retransmit process */</span></div>
-<div class="line"><a name="l01463"></a><span class="lineno"> 1463</span>&#160;    PROCESS_CONTEXT_BEGIN(&amp;dtls_retransmit_process);</div>
-<div class="line"><a name="l01464"></a><span class="lineno"> 1464</span>&#160;    etimer_set(&amp;ctx-&gt;retransmit_timer, n-&gt;<a class="code" href="structnetq__t.html#ae0c2648acf87d1e6f2566bc3600771b6">timeout</a>);</div>
-<div class="line"><a name="l01465"></a><span class="lineno"> 1465</span>&#160;    PROCESS_CONTEXT_END(&amp;dtls_retransmit_process);</div>
-<div class="line"><a name="l01466"></a><span class="lineno"> 1466</span>&#160;<span class="preprocessor">#else </span><span class="comment">/* WITH_CONTIKI */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l01467"></a><span class="lineno"> 1467</span>&#160;<span class="preprocessor"></span>    <a class="code" href="debug_8h.html#a0f158325426415d9efb5a36bebf45844">dtls_debug</a>(<span class="stringliteral">&quot;copied to sendqueue\n&quot;</span>);</div>
-<div class="line"><a name="l01468"></a><span class="lineno"> 1468</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* WITH_CONTIKI */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l01469"></a><span class="lineno"> 1469</span>&#160;<span class="preprocessor"></span>      }</div>
-<div class="line"><a name="l01470"></a><span class="lineno"> 1470</span>&#160;    } <span class="keywordflow">else</span> </div>
-<div class="line"><a name="l01471"></a><span class="lineno"> 1471</span>&#160;      <a class="code" href="debug_8h.html#ae1c22127c92fab70da7bf9cae8536e5c">dtls_warn</a>(<span class="stringliteral">&quot;retransmit buffer full\n&quot;</span>);</div>
-<div class="line"><a name="l01472"></a><span class="lineno"> 1472</span>&#160;  }</div>
-<div class="line"><a name="l01473"></a><span class="lineno"> 1473</span>&#160;</div>
-<div class="line"><a name="l01474"></a><span class="lineno"> 1474</span>&#160;  <span class="comment">/* FIXME: copy to peer&#39;s sendqueue (after fragmentation if</span></div>
-<div class="line"><a name="l01475"></a><span class="lineno"> 1475</span>&#160;<span class="comment">   * necessary) and initialize retransmit timer */</span></div>
-<div class="line"><a name="l01476"></a><span class="lineno"> 1476</span>&#160;  res = <a class="code" href="dtls_8c.html#a3e132aba78de736930255d40ef3f2d34">CALL</a>(ctx, write, session, sendbuf, len);</div>
-<div class="line"><a name="l01477"></a><span class="lineno"> 1477</span>&#160;</div>
-<div class="line"><a name="l01478"></a><span class="lineno"> 1478</span>&#160;  <span class="comment">/* Guess number of bytes application data actually sent:</span></div>
-<div class="line"><a name="l01479"></a><span class="lineno"> 1479</span>&#160;<span class="comment">   * dtls_prepare_record() tells us in len the number of bytes to</span></div>
-<div class="line"><a name="l01480"></a><span class="lineno"> 1480</span>&#160;<span class="comment">   * send, res will contain the bytes actually sent. */</span></div>
-<div class="line"><a name="l01481"></a><span class="lineno"> 1481</span>&#160;  <span class="keywordflow">return</span> res &lt;= 0 ? res : overall_len - (len - res);</div>
-<div class="line"><a name="l01482"></a><span class="lineno"> 1482</span>&#160;}</div>
-<div class="line"><a name="l01483"></a><span class="lineno"> 1483</span>&#160;</div>
-<div class="line"><a name="l01484"></a><span class="lineno"> 1484</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l01485"></a><span class="lineno"><a class="line" href="dtls_8c.html#a4aac4fa55afe2d19342136acaaaf9641"> 1485</a></span>&#160;<a class="code" href="dtls_8c.html#a4aac4fa55afe2d19342136acaaaf9641">dtls_send_alert</a>(<a class="code" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *peer, <a class="code" href="alert_8h.html#ab6264d1b950719f1c2e00b122cad871f">dtls_alert_level_t</a> level,</div>
-<div class="line"><a name="l01486"></a><span class="lineno"> 1486</span>&#160;        <a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbd">dtls_alert_t</a> description) {</div>
-<div class="line"><a name="l01487"></a><span class="lineno"> 1487</span>&#160;  uint8_t msg[] = { level, description };</div>
-<div class="line"><a name="l01488"></a><span class="lineno"> 1488</span>&#160;</div>
-<div class="line"><a name="l01489"></a><span class="lineno"> 1489</span>&#160;  <a class="code" href="dtls_8c.html#afdd0d094bfd136f65455e23fda087cd6">dtls_send</a>(ctx, peer, <a class="code" href="dtls_8h.html#af8ce2230240b6d3c36b216ef459baff1">DTLS_CT_ALERT</a>, msg, <span class="keyword">sizeof</span>(msg));</div>
-<div class="line"><a name="l01490"></a><span class="lineno"> 1490</span>&#160;  <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l01491"></a><span class="lineno"> 1491</span>&#160;}</div>
-<div class="line"><a name="l01492"></a><span class="lineno"> 1492</span>&#160;</div>
-<div class="line"><a name="l01493"></a><span class="lineno"> 1493</span>&#160;<span class="keywordtype">int</span> </div>
-<div class="line"><a name="l01494"></a><span class="lineno"><a class="line" href="dtls_8h.html#aa90f5eb6954137d5e098e29143c2586a"> 1494</a></span>&#160;<a class="code" href="dtls_8c.html#aa90f5eb6954137d5e098e29143c2586a">dtls_close</a>(<a class="code" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <span class="keyword">const</span> <a class="code" href="structsession__t.html">session_t</a> *remote) {</div>
-<div class="line"><a name="l01495"></a><span class="lineno"> 1495</span>&#160;  <span class="keywordtype">int</span> res = -1;</div>
-<div class="line"><a name="l01496"></a><span class="lineno"> 1496</span>&#160;  <a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *peer;</div>
-<div class="line"><a name="l01497"></a><span class="lineno"> 1497</span>&#160;</div>
-<div class="line"><a name="l01498"></a><span class="lineno"> 1498</span>&#160;  peer = <a class="code" href="dtls_8c.html#a70333bea2db35153177347b5c7700cab">dtls_get_peer</a>(ctx, remote);</div>
-<div class="line"><a name="l01499"></a><span class="lineno"> 1499</span>&#160;</div>
-<div class="line"><a name="l01500"></a><span class="lineno"> 1500</span>&#160;  <span class="keywordflow">if</span> (peer) {</div>
-<div class="line"><a name="l01501"></a><span class="lineno"> 1501</span>&#160;    res = <a class="code" href="dtls_8c.html#a4aac4fa55afe2d19342136acaaaf9641">dtls_send_alert</a>(ctx, peer, <a class="code" href="alert_8h.html#ab6264d1b950719f1c2e00b122cad871fabd07bcf63c24aa5f1b9706a4197ceaf4">DTLS_ALERT_LEVEL_FATAL</a>, <a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda6bbae4f2f3747af4cdbe80c4a1061800">DTLS_ALERT_CLOSE_NOTIFY</a>);</div>
-<div class="line"><a name="l01502"></a><span class="lineno"> 1502</span>&#160;    <span class="comment">/* indicate tear down */</span></div>
-<div class="line"><a name="l01503"></a><span class="lineno"> 1503</span>&#160;    peer-&gt;<a class="code" href="structdtls__peer__t.html#a4e23cc3b273813744524c3db1fda9c83">state</a> = <a class="code" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a4aa3fcce37191fc2a915aa330efd381b">DTLS_STATE_CLOSING</a>;</div>
-<div class="line"><a name="l01504"></a><span class="lineno"> 1504</span>&#160;  }</div>
-<div class="line"><a name="l01505"></a><span class="lineno"> 1505</span>&#160;  <span class="keywordflow">return</span> res;</div>
-<div class="line"><a name="l01506"></a><span class="lineno"> 1506</span>&#160;}</div>
-<div class="line"><a name="l01507"></a><span class="lineno"> 1507</span>&#160;</div>
-<div class="line"><a name="l01508"></a><span class="lineno"><a class="line" href="dtls_8c.html#a81061928e291b6a3e7701f6a7f51b6f3"> 1508</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="dtls_8c.html#a81061928e291b6a3e7701f6a7f51b6f3">dtls_destroy_peer</a>(<a class="code" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *peer, <span class="keywordtype">int</span> unlink)</div>
-<div class="line"><a name="l01509"></a><span class="lineno"> 1509</span>&#160;{</div>
-<div class="line"><a name="l01510"></a><span class="lineno"> 1510</span>&#160;  <span class="keywordflow">if</span> (peer-&gt;<a class="code" href="structdtls__peer__t.html#a4e23cc3b273813744524c3db1fda9c83">state</a> != <a class="code" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a88bc0f5ff63003f57a59700dc4b55553">DTLS_STATE_CLOSED</a> &amp;&amp; peer-&gt;<a class="code" href="structdtls__peer__t.html#a4e23cc3b273813744524c3db1fda9c83">state</a> != <a class="code" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a4aa3fcce37191fc2a915aa330efd381b">DTLS_STATE_CLOSING</a>)</div>
-<div class="line"><a name="l01511"></a><span class="lineno"> 1511</span>&#160;    <a class="code" href="dtls_8c.html#aa90f5eb6954137d5e098e29143c2586a">dtls_close</a>(ctx, &amp;peer-&gt;<a class="code" href="structdtls__peer__t.html#a44ebb2ba643269c7e6943f3a9040febe">session</a>);</div>
-<div class="line"><a name="l01512"></a><span class="lineno"> 1512</span>&#160;  <span class="keywordflow">if</span> (unlink) {</div>
-<div class="line"><a name="l01513"></a><span class="lineno"> 1513</span>&#160;<span class="preprocessor">#ifndef WITH_CONTIKI</span></div>
-<div class="line"><a name="l01514"></a><span class="lineno"> 1514</span>&#160;<span class="preprocessor"></span>    <a class="code" href="dtls_8c.html#a0844494b0b76acb7bcf832ae74fb25c0">HASH_DEL_PEER</a>(ctx-&gt;<a class="code" href="structdtls__context__t.html#a417fa8ac04478292f0539d2da0fec088">peers</a>, peer);</div>
-<div class="line"><a name="l01515"></a><span class="lineno"> 1515</span>&#160;<span class="preprocessor">#else </span><span class="comment">/* WITH_CONTIKI */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l01516"></a><span class="lineno"> 1516</span>&#160;<span class="preprocessor"></span>    <a class="code" href="t__list_8h.html#a10de2120be61f445c5989c983c1e133b">list_remove</a>(ctx-&gt;<a class="code" href="structdtls__context__t.html#a417fa8ac04478292f0539d2da0fec088">peers</a>, peer);</div>
-<div class="line"><a name="l01517"></a><span class="lineno"> 1517</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* WITH_CONTIKI */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l01518"></a><span class="lineno"> 1518</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l01519"></a><span class="lineno"> 1519</span>&#160;    <a class="code" href="debug_8c.html#a66cb8756d40a3326315d9b5f003a5a76">dtls_dsrv_log_addr</a>(<a class="code" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9da87f82ea2bdc3f03d9f6d3355a5f8a020">DTLS_LOG_DEBUG</a>, <span class="stringliteral">&quot;removed peer&quot;</span>, &amp;peer-&gt;<a class="code" href="structdtls__peer__t.html#a44ebb2ba643269c7e6943f3a9040febe">session</a>);</div>
-<div class="line"><a name="l01520"></a><span class="lineno"> 1520</span>&#160;  }</div>
-<div class="line"><a name="l01521"></a><span class="lineno"> 1521</span>&#160;  <a class="code" href="peer_8c.html#a037178c201b2e6b7361570ff700f059d">dtls_free_peer</a>(peer);</div>
-<div class="line"><a name="l01522"></a><span class="lineno"> 1522</span>&#160;}</div>
-<div class="line"><a name="l01523"></a><span class="lineno"> 1523</span>&#160;</div>
-<div class="line"><a name="l01539"></a><span class="lineno"> 1539</span>&#160;<span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l01540"></a><span class="lineno"><a class="line" href="dtls_8c.html#a604f68a801e55b884f7f7f1d2f1b9c9f"> 1540</a></span>&#160;<a class="code" href="dtls_8c.html#a604f68a801e55b884f7f7f1d2f1b9c9f">dtls_verify_peer</a>(<a class="code" href="structdtls__context__t.html">dtls_context_t</a> *ctx, </div>
-<div class="line"><a name="l01541"></a><span class="lineno"> 1541</span>&#160;         <a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *peer, </div>
-<div class="line"><a name="l01542"></a><span class="lineno"> 1542</span>&#160;         <a class="code" href="structsession__t.html">session_t</a> *session,</div>
-<div class="line"><a name="l01543"></a><span class="lineno"> 1543</span>&#160;         <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *data, <span class="keywordtype">size_t</span> data_length)</div>
-<div class="line"><a name="l01544"></a><span class="lineno"> 1544</span>&#160;{</div>
-<div class="line"><a name="l01545"></a><span class="lineno"> 1545</span>&#160;  <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> buf[<a class="code" href="dtls_8c.html#a85d3d5311baabdaa06b7824528eef4e5">DTLS_HV_LENGTH</a> + <a class="code" href="dtls_8h.html#a09e4f571633bdb724236ac68459715b6">DTLS_COOKIE_LENGTH</a>];</div>
-<div class="line"><a name="l01546"></a><span class="lineno"> 1546</span>&#160;  <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *p = buf;</div>
-<div class="line"><a name="l01547"></a><span class="lineno"> 1547</span>&#160;  <span class="keywordtype">int</span> len = <a class="code" href="dtls_8h.html#a09e4f571633bdb724236ac68459715b6">DTLS_COOKIE_LENGTH</a>;</div>
-<div class="line"><a name="l01548"></a><span class="lineno"> 1548</span>&#160;  <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *cookie = NULL;</div>
-<div class="line"><a name="l01549"></a><span class="lineno"> 1549</span>&#160;  <span class="keywordtype">int</span> err;</div>
-<div class="line"><a name="l01550"></a><span class="lineno"> 1550</span>&#160;<span class="preprocessor">#undef mycookie</span></div>
-<div class="line"><a name="l01551"></a><span class="lineno"> 1551</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define mycookie (buf + DTLS_HV_LENGTH)</span></div>
-<div class="line"><a name="l01552"></a><span class="lineno"> 1552</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l01553"></a><span class="lineno"> 1553</span>&#160;  <span class="comment">/* Store cookie where we can reuse it for the HelloVerify request. */</span></div>
-<div class="line"><a name="l01554"></a><span class="lineno"> 1554</span>&#160;  err = <a class="code" href="dtls_8c.html#a45841106ebcb5b1373c0312842b90943">dtls_create_cookie</a>(ctx, session, data, data_length, <a class="code" href="dtls_8c.html#a97496e1be0f2fe54873b35ee8bf0d462">mycookie</a>, &amp;len);</div>
-<div class="line"><a name="l01555"></a><span class="lineno"> 1555</span>&#160;  <span class="keywordflow">if</span> (err &lt; 0)</div>
-<div class="line"><a name="l01556"></a><span class="lineno"> 1556</span>&#160;    <span class="keywordflow">return</span> err;</div>
-<div class="line"><a name="l01557"></a><span class="lineno"> 1557</span>&#160;</div>
-<div class="line"><a name="l01558"></a><span class="lineno"> 1558</span>&#160;  <a class="code" href="debug_8h.html#ab27d2c7cae1e8022e93562ecda9140b6">dtls_debug_dump</a>(<span class="stringliteral">&quot;create cookie&quot;</span>, <a class="code" href="dtls_8c.html#a97496e1be0f2fe54873b35ee8bf0d462">mycookie</a>, len);</div>
-<div class="line"><a name="l01559"></a><span class="lineno"> 1559</span>&#160;</div>
-<div class="line"><a name="l01560"></a><span class="lineno"> 1560</span>&#160;  assert(len == <a class="code" href="dtls_8h.html#a09e4f571633bdb724236ac68459715b6">DTLS_COOKIE_LENGTH</a>);</div>
-<div class="line"><a name="l01561"></a><span class="lineno"> 1561</span>&#160;    </div>
-<div class="line"><a name="l01562"></a><span class="lineno"> 1562</span>&#160;  <span class="comment">/* Perform cookie check. */</span></div>
-<div class="line"><a name="l01563"></a><span class="lineno"> 1563</span>&#160;  len = <a class="code" href="dtls_8c.html#a8546683053c19be38b23aa9042139f4b">dtls_get_cookie</a>(data, data_length, &amp;cookie);</div>
-<div class="line"><a name="l01564"></a><span class="lineno"> 1564</span>&#160;  <span class="keywordflow">if</span> (len &lt; 0) {</div>
-<div class="line"><a name="l01565"></a><span class="lineno"> 1565</span>&#160;    <a class="code" href="debug_8h.html#ae1c22127c92fab70da7bf9cae8536e5c">dtls_warn</a>(<span class="stringliteral">&quot;error while fetching the cookie, err: %i\n&quot;</span>, err);</div>
-<div class="line"><a name="l01566"></a><span class="lineno"> 1566</span>&#160;    <span class="keywordflow">return</span> err;</div>
-<div class="line"><a name="l01567"></a><span class="lineno"> 1567</span>&#160;  }</div>
-<div class="line"><a name="l01568"></a><span class="lineno"> 1568</span>&#160;</div>
-<div class="line"><a name="l01569"></a><span class="lineno"> 1569</span>&#160;  <a class="code" href="debug_8h.html#ab27d2c7cae1e8022e93562ecda9140b6">dtls_debug_dump</a>(<span class="stringliteral">&quot;compare with cookie&quot;</span>, cookie, len);</div>
-<div class="line"><a name="l01570"></a><span class="lineno"> 1570</span>&#160;</div>
-<div class="line"><a name="l01571"></a><span class="lineno"> 1571</span>&#160;  <span class="comment">/* check if cookies match */</span></div>
-<div class="line"><a name="l01572"></a><span class="lineno"> 1572</span>&#160;  <span class="keywordflow">if</span> (len == <a class="code" href="dtls_8h.html#a09e4f571633bdb724236ac68459715b6">DTLS_COOKIE_LENGTH</a> &amp;&amp; memcmp(cookie, <a class="code" href="dtls_8c.html#a97496e1be0f2fe54873b35ee8bf0d462">mycookie</a>, len) == 0) {</div>
-<div class="line"><a name="l01573"></a><span class="lineno"> 1573</span>&#160;    <a class="code" href="debug_8h.html#a0f158325426415d9efb5a36bebf45844">dtls_debug</a>(<span class="stringliteral">&quot;found matching cookie\n&quot;</span>);</div>
-<div class="line"><a name="l01574"></a><span class="lineno"> 1574</span>&#160;    <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l01575"></a><span class="lineno"> 1575</span>&#160;  }</div>
-<div class="line"><a name="l01576"></a><span class="lineno"> 1576</span>&#160;</div>
-<div class="line"><a name="l01577"></a><span class="lineno"> 1577</span>&#160;  <span class="keywordflow">if</span> (len &gt; 0) {</div>
-<div class="line"><a name="l01578"></a><span class="lineno"> 1578</span>&#160;    <a class="code" href="debug_8h.html#ab27d2c7cae1e8022e93562ecda9140b6">dtls_debug_dump</a>(<span class="stringliteral">&quot;invalid cookie&quot;</span>, cookie, len);</div>
-<div class="line"><a name="l01579"></a><span class="lineno"> 1579</span>&#160;  } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l01580"></a><span class="lineno"> 1580</span>&#160;    <a class="code" href="debug_8h.html#a0f158325426415d9efb5a36bebf45844">dtls_debug</a>(<span class="stringliteral">&quot;cookie len is 0!\n&quot;</span>);</div>
-<div class="line"><a name="l01581"></a><span class="lineno"> 1581</span>&#160;  }</div>
-<div class="line"><a name="l01582"></a><span class="lineno"> 1582</span>&#160;</div>
-<div class="line"><a name="l01583"></a><span class="lineno"> 1583</span>&#160;  <span class="comment">/* ClientHello did not contain any valid cookie, hence we send a</span></div>
-<div class="line"><a name="l01584"></a><span class="lineno"> 1584</span>&#160;<span class="comment">   * HelloVerify request. */</span></div>
-<div class="line"><a name="l01585"></a><span class="lineno"> 1585</span>&#160;</div>
-<div class="line"><a name="l01586"></a><span class="lineno"> 1586</span>&#160;  <a class="code" href="numeric_8h.html#a074d352855e1ffde4c2ddb6a6fea01b9">dtls_int_to_uint16</a>(p, <a class="code" href="dtls_8h.html#af0c44db3bf3a6a52e9ed271218daeaa6">DTLS_VERSION</a>);</div>
-<div class="line"><a name="l01587"></a><span class="lineno"> 1587</span>&#160;  p += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>);</div>
-<div class="line"><a name="l01588"></a><span class="lineno"> 1588</span>&#160;</div>
-<div class="line"><a name="l01589"></a><span class="lineno"> 1589</span>&#160;  <a class="code" href="numeric_8h.html#a7b602967e2fc28b0be02bd4585e255d0">dtls_int_to_uint8</a>(p, <a class="code" href="dtls_8h.html#a09e4f571633bdb724236ac68459715b6">DTLS_COOKIE_LENGTH</a>);</div>
-<div class="line"><a name="l01590"></a><span class="lineno"> 1590</span>&#160;  p += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>);</div>
-<div class="line"><a name="l01591"></a><span class="lineno"> 1591</span>&#160;</div>
-<div class="line"><a name="l01592"></a><span class="lineno"> 1592</span>&#160;  assert(p == <a class="code" href="dtls_8c.html#a97496e1be0f2fe54873b35ee8bf0d462">mycookie</a>);</div>
-<div class="line"><a name="l01593"></a><span class="lineno"> 1593</span>&#160;</div>
-<div class="line"><a name="l01594"></a><span class="lineno"> 1594</span>&#160;  p += <a class="code" href="dtls_8h.html#a09e4f571633bdb724236ac68459715b6">DTLS_COOKIE_LENGTH</a>;</div>
-<div class="line"><a name="l01595"></a><span class="lineno"> 1595</span>&#160;</div>
-<div class="line"><a name="l01596"></a><span class="lineno"> 1596</span>&#160;  <span class="comment">/* TODO use the same record sequence number as in the ClientHello,</span></div>
-<div class="line"><a name="l01597"></a><span class="lineno"> 1597</span>&#160;<span class="comment">     see 4.2.1. Denial-of-Service Countermeasures */</span></div>
-<div class="line"><a name="l01598"></a><span class="lineno"> 1598</span>&#160;  err = <a class="code" href="dtls_8c.html#a4f06884f659f6a5120be7e0b86d29880">dtls_send_handshake_msg_hash</a>(ctx, peer, session,</div>
-<div class="line"><a name="l01599"></a><span class="lineno"> 1599</span>&#160;                     <a class="code" href="dtls_8h.html#ab04f98f1863c785fabd97925c9746f7d">DTLS_HT_HELLO_VERIFY_REQUEST</a>,</div>
-<div class="line"><a name="l01600"></a><span class="lineno"> 1600</span>&#160;                     buf, p - buf, 0);</div>
-<div class="line"><a name="l01601"></a><span class="lineno"> 1601</span>&#160;  <span class="keywordflow">if</span> (err &lt; 0) {</div>
-<div class="line"><a name="l01602"></a><span class="lineno"> 1602</span>&#160;    <a class="code" href="debug_8h.html#ae1c22127c92fab70da7bf9cae8536e5c">dtls_warn</a>(<span class="stringliteral">&quot;cannot send HelloVerify request\n&quot;</span>);</div>
-<div class="line"><a name="l01603"></a><span class="lineno"> 1603</span>&#160;  }</div>
-<div class="line"><a name="l01604"></a><span class="lineno"> 1604</span>&#160;  <span class="keywordflow">return</span> err; <span class="comment">/* HelloVerify is sent, now we cannot do anything but wait */</span></div>
-<div class="line"><a name="l01605"></a><span class="lineno"> 1605</span>&#160;</div>
-<div class="line"><a name="l01606"></a><span class="lineno"> 1606</span>&#160;<span class="preprocessor">#undef mycookie</span></div>
-<div class="line"><a name="l01607"></a><span class="lineno"> 1607</span>&#160;<span class="preprocessor"></span>}</div>
-<div class="line"><a name="l01608"></a><span class="lineno"> 1608</span>&#160;</div>
-<div class="line"><a name="l01609"></a><span class="lineno"> 1609</span>&#160;<span class="preprocessor">#ifdef DTLS_ECC</span></div>
-<div class="line"><a name="l01610"></a><span class="lineno"> 1610</span>&#160;<span class="preprocessor"></span><span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l01611"></a><span class="lineno"><a class="line" href="dtls_8c.html#af8409ba213cb87dbf9ed16ef87995c54"> 1611</a></span>&#160;<a class="code" href="dtls_8c.html#af8409ba213cb87dbf9ed16ef87995c54">dtls_check_ecdsa_signature_elem</a>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *data, <span class="keywordtype">size_t</span> data_length,</div>
-<div class="line"><a name="l01612"></a><span class="lineno"> 1612</span>&#160;                <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> **result_r,</div>
-<div class="line"><a name="l01613"></a><span class="lineno"> 1613</span>&#160;                <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> **result_s)</div>
-<div class="line"><a name="l01614"></a><span class="lineno"> 1614</span>&#160;{</div>
-<div class="line"><a name="l01615"></a><span class="lineno"> 1615</span>&#160;  <span class="keywordtype">int</span> i;</div>
-<div class="line"><a name="l01616"></a><span class="lineno"> 1616</span>&#160;  <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *data_orig = data;</div>
-<div class="line"><a name="l01617"></a><span class="lineno"> 1617</span>&#160;</div>
-<div class="line"><a name="l01618"></a><span class="lineno"> 1618</span>&#160;  <span class="keywordflow">if</span> (<a class="code" href="numeric_8h.html#a7293cc28604d896cfef802b53b0ad99f">dtls_uint8_to_int</a>(data) != <a class="code" href="global_8h.html#aa347771eab2eabd24c4b9311fa61c4c9">TLS_EXT_SIG_HASH_ALGO_SHA256</a>) {</div>
-<div class="line"><a name="l01619"></a><span class="lineno"> 1619</span>&#160;    <a class="code" href="debug_8h.html#ab22e3494f6186183820142ba279fe9ae">dtls_alert</a>(<span class="stringliteral">&quot;only sha256 is supported in certificate verify\n&quot;</span>);</div>
-<div class="line"><a name="l01620"></a><span class="lineno"> 1620</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdaea5ed33e912421eb48afb73ce0a6014d">DTLS_ALERT_HANDSHAKE_FAILURE</a>);</div>
-<div class="line"><a name="l01621"></a><span class="lineno"> 1621</span>&#160;  }</div>
-<div class="line"><a name="l01622"></a><span class="lineno"> 1622</span>&#160;  data += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>);</div>
-<div class="line"><a name="l01623"></a><span class="lineno"> 1623</span>&#160;  data_length -= <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>);</div>
-<div class="line"><a name="l01624"></a><span class="lineno"> 1624</span>&#160;</div>
-<div class="line"><a name="l01625"></a><span class="lineno"> 1625</span>&#160;  <span class="keywordflow">if</span> (<a class="code" href="numeric_8h.html#a7293cc28604d896cfef802b53b0ad99f">dtls_uint8_to_int</a>(data) != <a class="code" href="global_8h.html#af126227a026a7af436a4323db6d02ecc">TLS_EXT_SIG_HASH_ALGO_ECDSA</a>) {</div>
-<div class="line"><a name="l01626"></a><span class="lineno"> 1626</span>&#160;    <a class="code" href="debug_8h.html#ab22e3494f6186183820142ba279fe9ae">dtls_alert</a>(<span class="stringliteral">&quot;only ecdsa signature is supported in client verify\n&quot;</span>);</div>
-<div class="line"><a name="l01627"></a><span class="lineno"> 1627</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdaea5ed33e912421eb48afb73ce0a6014d">DTLS_ALERT_HANDSHAKE_FAILURE</a>);</div>
-<div class="line"><a name="l01628"></a><span class="lineno"> 1628</span>&#160;  }</div>
-<div class="line"><a name="l01629"></a><span class="lineno"> 1629</span>&#160;  data += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>);</div>
-<div class="line"><a name="l01630"></a><span class="lineno"> 1630</span>&#160;  data_length -= <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>);</div>
-<div class="line"><a name="l01631"></a><span class="lineno"> 1631</span>&#160;</div>
-<div class="line"><a name="l01632"></a><span class="lineno"> 1632</span>&#160;  <span class="keywordflow">if</span> (data_length &lt; <a class="code" href="numeric_8h.html#ae32dd0743658f1aa5a723d5a8357521f">dtls_uint16_to_int</a>(data)) {</div>
-<div class="line"><a name="l01633"></a><span class="lineno"> 1633</span>&#160;    <a class="code" href="debug_8h.html#ab22e3494f6186183820142ba279fe9ae">dtls_alert</a>(<span class="stringliteral">&quot;signature length wrong\n&quot;</span>);</div>
-<div class="line"><a name="l01634"></a><span class="lineno"> 1634</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdae3249841cb226881ce6dadffb9f22649">DTLS_ALERT_DECODE_ERROR</a>);</div>
-<div class="line"><a name="l01635"></a><span class="lineno"> 1635</span>&#160;  }</div>
-<div class="line"><a name="l01636"></a><span class="lineno"> 1636</span>&#160;  data += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>);</div>
-<div class="line"><a name="l01637"></a><span class="lineno"> 1637</span>&#160;  data_length -= <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>);</div>
-<div class="line"><a name="l01638"></a><span class="lineno"> 1638</span>&#160;</div>
-<div class="line"><a name="l01639"></a><span class="lineno"> 1639</span>&#160;  <span class="keywordflow">if</span> (<a class="code" href="numeric_8h.html#a7293cc28604d896cfef802b53b0ad99f">dtls_uint8_to_int</a>(data) != 0x30) {</div>
-<div class="line"><a name="l01640"></a><span class="lineno"> 1640</span>&#160;    <a class="code" href="debug_8h.html#ab22e3494f6186183820142ba279fe9ae">dtls_alert</a>(<span class="stringliteral">&quot;wrong ASN.1 struct, expected SEQUENCE\n&quot;</span>);</div>
-<div class="line"><a name="l01641"></a><span class="lineno"> 1641</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdae3249841cb226881ce6dadffb9f22649">DTLS_ALERT_DECODE_ERROR</a>);</div>
-<div class="line"><a name="l01642"></a><span class="lineno"> 1642</span>&#160;  }</div>
-<div class="line"><a name="l01643"></a><span class="lineno"> 1643</span>&#160;  data += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>);</div>
-<div class="line"><a name="l01644"></a><span class="lineno"> 1644</span>&#160;  data_length -= <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>);</div>
-<div class="line"><a name="l01645"></a><span class="lineno"> 1645</span>&#160;</div>
-<div class="line"><a name="l01646"></a><span class="lineno"> 1646</span>&#160;  <span class="keywordflow">if</span> (data_length &lt; <a class="code" href="numeric_8h.html#a7293cc28604d896cfef802b53b0ad99f">dtls_uint8_to_int</a>(data)) {</div>
-<div class="line"><a name="l01647"></a><span class="lineno"> 1647</span>&#160;    <a class="code" href="debug_8h.html#ab22e3494f6186183820142ba279fe9ae">dtls_alert</a>(<span class="stringliteral">&quot;signature length wrong\n&quot;</span>);</div>
-<div class="line"><a name="l01648"></a><span class="lineno"> 1648</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdae3249841cb226881ce6dadffb9f22649">DTLS_ALERT_DECODE_ERROR</a>);</div>
-<div class="line"><a name="l01649"></a><span class="lineno"> 1649</span>&#160;  }</div>
-<div class="line"><a name="l01650"></a><span class="lineno"> 1650</span>&#160;  data += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>);</div>
-<div class="line"><a name="l01651"></a><span class="lineno"> 1651</span>&#160;  data_length -= <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>);</div>
-<div class="line"><a name="l01652"></a><span class="lineno"> 1652</span>&#160;</div>
-<div class="line"><a name="l01653"></a><span class="lineno"> 1653</span>&#160;  <span class="keywordflow">if</span> (<a class="code" href="numeric_8h.html#a7293cc28604d896cfef802b53b0ad99f">dtls_uint8_to_int</a>(data) != 0x02) {</div>
-<div class="line"><a name="l01654"></a><span class="lineno"> 1654</span>&#160;    <a class="code" href="debug_8h.html#ab22e3494f6186183820142ba279fe9ae">dtls_alert</a>(<span class="stringliteral">&quot;wrong ASN.1 struct, expected Integer\n&quot;</span>);</div>
-<div class="line"><a name="l01655"></a><span class="lineno"> 1655</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdae3249841cb226881ce6dadffb9f22649">DTLS_ALERT_DECODE_ERROR</a>);</div>
-<div class="line"><a name="l01656"></a><span class="lineno"> 1656</span>&#160;  }</div>
-<div class="line"><a name="l01657"></a><span class="lineno"> 1657</span>&#160;  data += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>);</div>
-<div class="line"><a name="l01658"></a><span class="lineno"> 1658</span>&#160;  data_length -= <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>);</div>
-<div class="line"><a name="l01659"></a><span class="lineno"> 1659</span>&#160;</div>
-<div class="line"><a name="l01660"></a><span class="lineno"> 1660</span>&#160;  i = <a class="code" href="numeric_8h.html#a7293cc28604d896cfef802b53b0ad99f">dtls_uint8_to_int</a>(data);</div>
-<div class="line"><a name="l01661"></a><span class="lineno"> 1661</span>&#160;  data += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>);</div>
-<div class="line"><a name="l01662"></a><span class="lineno"> 1662</span>&#160;  data_length -= <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>);</div>
-<div class="line"><a name="l01663"></a><span class="lineno"> 1663</span>&#160;</div>
-<div class="line"><a name="l01664"></a><span class="lineno"> 1664</span>&#160;  <span class="comment">/* Sometimes these values have a leeding 0 byte */</span></div>
-<div class="line"><a name="l01665"></a><span class="lineno"> 1665</span>&#160;  *result_r = data + i - <a class="code" href="crypto_8h.html#a9b039263057e157e1427c5d316133c3d">DTLS_EC_KEY_SIZE</a>;</div>
-<div class="line"><a name="l01666"></a><span class="lineno"> 1666</span>&#160;</div>
-<div class="line"><a name="l01667"></a><span class="lineno"> 1667</span>&#160;  data += i;</div>
-<div class="line"><a name="l01668"></a><span class="lineno"> 1668</span>&#160;  data_length -= i;</div>
-<div class="line"><a name="l01669"></a><span class="lineno"> 1669</span>&#160;</div>
-<div class="line"><a name="l01670"></a><span class="lineno"> 1670</span>&#160;  <span class="keywordflow">if</span> (<a class="code" href="numeric_8h.html#a7293cc28604d896cfef802b53b0ad99f">dtls_uint8_to_int</a>(data) != 0x02) {</div>
-<div class="line"><a name="l01671"></a><span class="lineno"> 1671</span>&#160;    <a class="code" href="debug_8h.html#ab22e3494f6186183820142ba279fe9ae">dtls_alert</a>(<span class="stringliteral">&quot;wrong ASN.1 struct, expected Integer\n&quot;</span>);</div>
-<div class="line"><a name="l01672"></a><span class="lineno"> 1672</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdae3249841cb226881ce6dadffb9f22649">DTLS_ALERT_DECODE_ERROR</a>);</div>
-<div class="line"><a name="l01673"></a><span class="lineno"> 1673</span>&#160;  }</div>
-<div class="line"><a name="l01674"></a><span class="lineno"> 1674</span>&#160;  data += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>);</div>
-<div class="line"><a name="l01675"></a><span class="lineno"> 1675</span>&#160;  data_length -= <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>);</div>
-<div class="line"><a name="l01676"></a><span class="lineno"> 1676</span>&#160;</div>
-<div class="line"><a name="l01677"></a><span class="lineno"> 1677</span>&#160;  i = <a class="code" href="numeric_8h.html#a7293cc28604d896cfef802b53b0ad99f">dtls_uint8_to_int</a>(data);</div>
-<div class="line"><a name="l01678"></a><span class="lineno"> 1678</span>&#160;  data += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>);</div>
-<div class="line"><a name="l01679"></a><span class="lineno"> 1679</span>&#160;  data_length -= <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>);</div>
-<div class="line"><a name="l01680"></a><span class="lineno"> 1680</span>&#160;</div>
-<div class="line"><a name="l01681"></a><span class="lineno"> 1681</span>&#160;  <span class="comment">/* Sometimes these values have a leeding 0 byte */</span></div>
-<div class="line"><a name="l01682"></a><span class="lineno"> 1682</span>&#160;  *result_s = data + i - <a class="code" href="crypto_8h.html#a9b039263057e157e1427c5d316133c3d">DTLS_EC_KEY_SIZE</a>;</div>
-<div class="line"><a name="l01683"></a><span class="lineno"> 1683</span>&#160;</div>
-<div class="line"><a name="l01684"></a><span class="lineno"> 1684</span>&#160;  data += i;</div>
-<div class="line"><a name="l01685"></a><span class="lineno"> 1685</span>&#160;  data_length -= i;</div>
-<div class="line"><a name="l01686"></a><span class="lineno"> 1686</span>&#160;</div>
-<div class="line"><a name="l01687"></a><span class="lineno"> 1687</span>&#160;  <span class="keywordflow">return</span> data - data_orig;</div>
-<div class="line"><a name="l01688"></a><span class="lineno"> 1688</span>&#160;}</div>
-<div class="line"><a name="l01689"></a><span class="lineno"> 1689</span>&#160;</div>
-<div class="line"><a name="l01690"></a><span class="lineno"> 1690</span>&#160;<span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l01691"></a><span class="lineno"><a class="line" href="dtls_8c.html#a017195b30506fbdf32fff55af9276a02"> 1691</a></span>&#160;<a class="code" href="dtls_8c.html#a017195b30506fbdf32fff55af9276a02">check_client_certificate_verify</a>(<a class="code" href="structdtls__context__t.html">dtls_context_t</a> *ctx, </div>
-<div class="line"><a name="l01692"></a><span class="lineno"> 1692</span>&#160;                <a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *peer,</div>
-<div class="line"><a name="l01693"></a><span class="lineno"> 1693</span>&#160;                <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *data, <span class="keywordtype">size_t</span> data_length)</div>
-<div class="line"><a name="l01694"></a><span class="lineno"> 1694</span>&#160;{</div>
-<div class="line"><a name="l01695"></a><span class="lineno"> 1695</span>&#160;  <a class="code" href="structdtls__handshake__parameters__t.html">dtls_handshake_parameters_t</a> *config = peer-&gt;<a class="code" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">handshake_params</a>;</div>
-<div class="line"><a name="l01696"></a><span class="lineno"> 1696</span>&#160;  <span class="keywordtype">int</span> ret;</div>
-<div class="line"><a name="l01697"></a><span class="lineno"> 1697</span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *result_r;</div>
-<div class="line"><a name="l01698"></a><span class="lineno"> 1698</span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *result_s;</div>
-<div class="line"><a name="l01699"></a><span class="lineno"> 1699</span>&#160;  <a class="code" href="hmac_8h.html#abb19650a510c73117da0e9b88d68f159">dtls_hash_ctx</a> hs_hash;</div>
-<div class="line"><a name="l01700"></a><span class="lineno"> 1700</span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> sha256hash[<a class="code" href="group__HMAC.html#ga060019cf2dab9903d58118fe1abe7018">DTLS_HMAC_DIGEST_SIZE</a>];</div>
-<div class="line"><a name="l01701"></a><span class="lineno"> 1701</span>&#160;</div>
-<div class="line"><a name="l01702"></a><span class="lineno"> 1702</span>&#160;  assert(<a class="code" href="dtls_8c.html#a8098a728e5fff33ceeb7f57ebd48a212">is_tls_ecdhe_ecdsa_with_aes_128_ccm_8</a>(config-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a5cc61a98763800b5b4e7617307649933">cipher</a>));</div>
-<div class="line"><a name="l01703"></a><span class="lineno"> 1703</span>&#160;</div>
-<div class="line"><a name="l01704"></a><span class="lineno"> 1704</span>&#160;  data += <a class="code" href="dtls_8c.html#a520419d1976b301c508721faed549b4f">DTLS_HS_LENGTH</a>;</div>
-<div class="line"><a name="l01705"></a><span class="lineno"> 1705</span>&#160;</div>
-<div class="line"><a name="l01706"></a><span class="lineno"> 1706</span>&#160;  <span class="keywordflow">if</span> (data_length &lt; <a class="code" href="dtls_8c.html#a520419d1976b301c508721faed549b4f">DTLS_HS_LENGTH</a> + <a class="code" href="dtls_8c.html#a0bcce8fa79dc3187eb5f1655798ac816">DTLS_CV_LENGTH</a>) {</div>
-<div class="line"><a name="l01707"></a><span class="lineno"> 1707</span>&#160;    <a class="code" href="debug_8h.html#ab22e3494f6186183820142ba279fe9ae">dtls_alert</a>(<span class="stringliteral">&quot;the packet length does not match the expected\n&quot;</span>);</div>
-<div class="line"><a name="l01708"></a><span class="lineno"> 1708</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdae3249841cb226881ce6dadffb9f22649">DTLS_ALERT_DECODE_ERROR</a>);</div>
-<div class="line"><a name="l01709"></a><span class="lineno"> 1709</span>&#160;  }</div>
-<div class="line"><a name="l01710"></a><span class="lineno"> 1710</span>&#160;</div>
-<div class="line"><a name="l01711"></a><span class="lineno"> 1711</span>&#160;  ret = <a class="code" href="dtls_8c.html#af8409ba213cb87dbf9ed16ef87995c54">dtls_check_ecdsa_signature_elem</a>(data, data_length, &amp;result_r, &amp;result_s);</div>
-<div class="line"><a name="l01712"></a><span class="lineno"> 1712</span>&#160;  <span class="keywordflow">if</span> (ret &lt; 0) {</div>
-<div class="line"><a name="l01713"></a><span class="lineno"> 1713</span>&#160;    <span class="keywordflow">return</span> ret;</div>
-<div class="line"><a name="l01714"></a><span class="lineno"> 1714</span>&#160;  }</div>
-<div class="line"><a name="l01715"></a><span class="lineno"> 1715</span>&#160;  data += ret;</div>
-<div class="line"><a name="l01716"></a><span class="lineno"> 1716</span>&#160;  data_length -= ret;</div>
-<div class="line"><a name="l01717"></a><span class="lineno"> 1717</span>&#160;</div>
-<div class="line"><a name="l01718"></a><span class="lineno"> 1718</span>&#160;  <a class="code" href="dtls_8c.html#a22ab7a79391c2204337237949d69dad8">copy_hs_hash</a>(peer, &amp;hs_hash);</div>
-<div class="line"><a name="l01719"></a><span class="lineno"> 1719</span>&#160;</div>
-<div class="line"><a name="l01720"></a><span class="lineno"> 1720</span>&#160;  <a class="code" href="hmac_8h.html#a96801bbb62f4c9c872b22cd8e438e51e">dtls_hash_finalize</a>(sha256hash, &amp;hs_hash);</div>
-<div class="line"><a name="l01721"></a><span class="lineno"> 1721</span>&#160;</div>
-<div class="line"><a name="l01722"></a><span class="lineno"> 1722</span>&#160;  ret = <a class="code" href="crypto_8c.html#a802b3a2b267747a76d4557c6c9a899d7">dtls_ecdsa_verify_sig_hash</a>(config-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a483b158f8fc86e45e7c0fc603a66925f">keyx</a>.ecdsa.other_pub_x, config-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a483b158f8fc86e45e7c0fc603a66925f">keyx</a>.ecdsa.other_pub_y,</div>
-<div class="line"><a name="l01723"></a><span class="lineno"> 1723</span>&#160;                <span class="keyword">sizeof</span>(config-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a483b158f8fc86e45e7c0fc603a66925f">keyx</a>.ecdsa.other_pub_x),</div>
-<div class="line"><a name="l01724"></a><span class="lineno"> 1724</span>&#160;                sha256hash, <span class="keyword">sizeof</span>(sha256hash),</div>
-<div class="line"><a name="l01725"></a><span class="lineno"> 1725</span>&#160;                result_r, result_s);</div>
-<div class="line"><a name="l01726"></a><span class="lineno"> 1726</span>&#160;</div>
-<div class="line"><a name="l01727"></a><span class="lineno"> 1727</span>&#160;  <span class="keywordflow">if</span> (ret &lt; 0) {</div>
-<div class="line"><a name="l01728"></a><span class="lineno"> 1728</span>&#160;    <a class="code" href="debug_8h.html#ab22e3494f6186183820142ba279fe9ae">dtls_alert</a>(<span class="stringliteral">&quot;wrong signature err: %i\n&quot;</span>, ret);</div>
-<div class="line"><a name="l01729"></a><span class="lineno"> 1729</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdaea5ed33e912421eb48afb73ce0a6014d">DTLS_ALERT_HANDSHAKE_FAILURE</a>);</div>
-<div class="line"><a name="l01730"></a><span class="lineno"> 1730</span>&#160;  }</div>
-<div class="line"><a name="l01731"></a><span class="lineno"> 1731</span>&#160;  <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l01732"></a><span class="lineno"> 1732</span>&#160;}</div>
-<div class="line"><a name="l01733"></a><span class="lineno"> 1733</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* DTLS_ECC */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l01734"></a><span class="lineno"> 1734</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l01735"></a><span class="lineno"> 1735</span>&#160;<span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l01736"></a><span class="lineno"><a class="line" href="dtls_8c.html#a7730a402edfca00c35bc1c7c09eb2fb9"> 1736</a></span>&#160;<a class="code" href="dtls_8c.html#a7730a402edfca00c35bc1c7c09eb2fb9">dtls_send_server_hello</a>(<a class="code" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *peer)</div>
-<div class="line"><a name="l01737"></a><span class="lineno"> 1737</span>&#160;{</div>
-<div class="line"><a name="l01738"></a><span class="lineno"> 1738</span>&#160;  <span class="comment">/* Ensure that the largest message to create fits in our source</span></div>
-<div class="line"><a name="l01739"></a><span class="lineno"> 1739</span>&#160;<span class="comment">   * buffer. (The size of the destination buffer is checked by the</span></div>
-<div class="line"><a name="l01740"></a><span class="lineno"> 1740</span>&#160;<span class="comment">   * encoding function, so we do not need to guess.) */</span></div>
-<div class="line"><a name="l01741"></a><span class="lineno"> 1741</span>&#160;  <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> buf[<a class="code" href="dtls_8c.html#afcca5dc5ebcc9eb8141ca0b49b647676">DTLS_SH_LENGTH</a> + 2 + 5 + 5 + 8 + 6];</div>
-<div class="line"><a name="l01742"></a><span class="lineno"> 1742</span>&#160;  <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *p;</div>
-<div class="line"><a name="l01743"></a><span class="lineno"> 1743</span>&#160;  <span class="keywordtype">int</span> ecdsa;</div>
-<div class="line"><a name="l01744"></a><span class="lineno"> 1744</span>&#160;  <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> extension_size;</div>
-<div class="line"><a name="l01745"></a><span class="lineno"> 1745</span>&#160;  <a class="code" href="structdtls__handshake__parameters__t.html">dtls_handshake_parameters_t</a> *handshake = peer-&gt;<a class="code" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">handshake_params</a>;</div>
-<div class="line"><a name="l01746"></a><span class="lineno"> 1746</span>&#160;  <a class="code" href="group__clock.html#gaded617551180951f4841969e396a8012">dtls_tick_t</a> now;</div>
-<div class="line"><a name="l01747"></a><span class="lineno"> 1747</span>&#160;</div>
-<div class="line"><a name="l01748"></a><span class="lineno"> 1748</span>&#160;  ecdsa = <a class="code" href="dtls_8c.html#a8098a728e5fff33ceeb7f57ebd48a212">is_tls_ecdhe_ecdsa_with_aes_128_ccm_8</a>(handshake-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a5cc61a98763800b5b4e7617307649933">cipher</a>);</div>
-<div class="line"><a name="l01749"></a><span class="lineno"> 1749</span>&#160;</div>
-<div class="line"><a name="l01750"></a><span class="lineno"> 1750</span>&#160;  extension_size = (ecdsa) ? 2 + 5 + 5 + 6 : 0;</div>
-<div class="line"><a name="l01751"></a><span class="lineno"> 1751</span>&#160;</div>
-<div class="line"><a name="l01752"></a><span class="lineno"> 1752</span>&#160;  <span class="comment">/* Handshake header */</span></div>
-<div class="line"><a name="l01753"></a><span class="lineno"> 1753</span>&#160;  p = buf;</div>
-<div class="line"><a name="l01754"></a><span class="lineno"> 1754</span>&#160;</div>
-<div class="line"><a name="l01755"></a><span class="lineno"> 1755</span>&#160;  <span class="comment">/* ServerHello */</span></div>
-<div class="line"><a name="l01756"></a><span class="lineno"> 1756</span>&#160;  <a class="code" href="numeric_8h.html#a074d352855e1ffde4c2ddb6a6fea01b9">dtls_int_to_uint16</a>(p, <a class="code" href="dtls_8h.html#af0c44db3bf3a6a52e9ed271218daeaa6">DTLS_VERSION</a>);</div>
-<div class="line"><a name="l01757"></a><span class="lineno"> 1757</span>&#160;  p += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>);</div>
-<div class="line"><a name="l01758"></a><span class="lineno"> 1758</span>&#160;</div>
-<div class="line"><a name="l01759"></a><span class="lineno"> 1759</span>&#160;  <span class="comment">/* Set server random: First 4 bytes are the server&#39;s Unix timestamp,</span></div>
-<div class="line"><a name="l01760"></a><span class="lineno"> 1760</span>&#160;<span class="comment">   * followed by 28 bytes of generate random data. */</span></div>
-<div class="line"><a name="l01761"></a><span class="lineno"> 1761</span>&#160;  <a class="code" href="group__clock.html#ga1834985745ba5d3dd03f7e7498e3a304">dtls_ticks</a>(&amp;now);</div>
-<div class="line"><a name="l01762"></a><span class="lineno"> 1762</span>&#160;  <a class="code" href="numeric_8h.html#a6914ee523b27539f4e441bede8c072b4">dtls_int_to_uint32</a>(handshake-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#ac27a2063a8136615971f8d591afdd01f">tmp</a>.<a class="code" href="structdtls__handshake__parameters__t.html#a5c4e7bb5d4d890200a176cfe13c6fb9a">random</a>.server, now / <a class="code" href="group__clock.html#gae3ced0551b26c9b99cb45a86f34d100a">CLOCK_SECOND</a>);</div>
-<div class="line"><a name="l01763"></a><span class="lineno"> 1763</span>&#160;  <a class="code" href="group__prng.html#ga3f4036a1abfcec552ab583a2dc37be6c">dtls_prng</a>(handshake-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#ac27a2063a8136615971f8d591afdd01f">tmp</a>.<a class="code" href="structdtls__handshake__parameters__t.html#a5c4e7bb5d4d890200a176cfe13c6fb9a">random</a>.server + 4, 28);</div>
-<div class="line"><a name="l01764"></a><span class="lineno"> 1764</span>&#160;</div>
-<div class="line"><a name="l01765"></a><span class="lineno"> 1765</span>&#160;  memcpy(p, handshake-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#ac27a2063a8136615971f8d591afdd01f">tmp</a>.<a class="code" href="structdtls__handshake__parameters__t.html#a5c4e7bb5d4d890200a176cfe13c6fb9a">random</a>.server, <a class="code" href="crypto_8h.html#a5a0bdff7c0889f35601b4935098508a0">DTLS_RANDOM_LENGTH</a>);</div>
-<div class="line"><a name="l01766"></a><span class="lineno"> 1766</span>&#160;  p += <a class="code" href="crypto_8h.html#a5a0bdff7c0889f35601b4935098508a0">DTLS_RANDOM_LENGTH</a>;</div>
-<div class="line"><a name="l01767"></a><span class="lineno"> 1767</span>&#160;</div>
-<div class="line"><a name="l01768"></a><span class="lineno"> 1768</span>&#160;  *p++ = 0;         <span class="comment">/* no session id */</span></div>
-<div class="line"><a name="l01769"></a><span class="lineno"> 1769</span>&#160;</div>
-<div class="line"><a name="l01770"></a><span class="lineno"> 1770</span>&#160;  <span class="keywordflow">if</span> (handshake-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a5cc61a98763800b5b4e7617307649933">cipher</a> != <a class="code" href="global_8h.html#ada7e71454d685b693df45b2c1ea0c59bacf33de998fd00f096eebbb0742d80abd">TLS_NULL_WITH_NULL_NULL</a>) {</div>
-<div class="line"><a name="l01771"></a><span class="lineno"> 1771</span>&#160;    <span class="comment">/* selected cipher suite */</span></div>
-<div class="line"><a name="l01772"></a><span class="lineno"> 1772</span>&#160;    <a class="code" href="numeric_8h.html#a074d352855e1ffde4c2ddb6a6fea01b9">dtls_int_to_uint16</a>(p, handshake-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a5cc61a98763800b5b4e7617307649933">cipher</a>);</div>
-<div class="line"><a name="l01773"></a><span class="lineno"> 1773</span>&#160;    p += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>);</div>
-<div class="line"><a name="l01774"></a><span class="lineno"> 1774</span>&#160;</div>
-<div class="line"><a name="l01775"></a><span class="lineno"> 1775</span>&#160;    <span class="comment">/* selected compression method */</span></div>
-<div class="line"><a name="l01776"></a><span class="lineno"> 1776</span>&#160;    *p++ = <a class="code" href="dtls_8c.html#ae35671d94ccea5f335546ce409aed601">compression_methods</a>[handshake-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a67f85371953c8ae07ec110cb39c13125">compression</a>];</div>
-<div class="line"><a name="l01777"></a><span class="lineno"> 1777</span>&#160;  }</div>
-<div class="line"><a name="l01778"></a><span class="lineno"> 1778</span>&#160;</div>
-<div class="line"><a name="l01779"></a><span class="lineno"> 1779</span>&#160;  <span class="keywordflow">if</span> (extension_size) {</div>
-<div class="line"><a name="l01780"></a><span class="lineno"> 1780</span>&#160;    <span class="comment">/* length of the extensions */</span></div>
-<div class="line"><a name="l01781"></a><span class="lineno"> 1781</span>&#160;    <a class="code" href="numeric_8h.html#a074d352855e1ffde4c2ddb6a6fea01b9">dtls_int_to_uint16</a>(p, extension_size - 2);</div>
-<div class="line"><a name="l01782"></a><span class="lineno"> 1782</span>&#160;    p += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>);</div>
-<div class="line"><a name="l01783"></a><span class="lineno"> 1783</span>&#160;  }</div>
-<div class="line"><a name="l01784"></a><span class="lineno"> 1784</span>&#160;</div>
-<div class="line"><a name="l01785"></a><span class="lineno"> 1785</span>&#160;  <span class="keywordflow">if</span> (ecdsa) {</div>
-<div class="line"><a name="l01786"></a><span class="lineno"> 1786</span>&#160;    <span class="comment">/* client certificate type extension */</span></div>
-<div class="line"><a name="l01787"></a><span class="lineno"> 1787</span>&#160;    <a class="code" href="numeric_8h.html#a074d352855e1ffde4c2ddb6a6fea01b9">dtls_int_to_uint16</a>(p, <a class="code" href="global_8h.html#a0074adc0b2543a913a597e510caf27b0">TLS_EXT_CLIENT_CERTIFICATE_TYPE</a>);</div>
-<div class="line"><a name="l01788"></a><span class="lineno"> 1788</span>&#160;    p += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>);</div>
-<div class="line"><a name="l01789"></a><span class="lineno"> 1789</span>&#160;</div>
-<div class="line"><a name="l01790"></a><span class="lineno"> 1790</span>&#160;    <span class="comment">/* length of this extension type */</span></div>
-<div class="line"><a name="l01791"></a><span class="lineno"> 1791</span>&#160;    <a class="code" href="numeric_8h.html#a074d352855e1ffde4c2ddb6a6fea01b9">dtls_int_to_uint16</a>(p, 1);</div>
-<div class="line"><a name="l01792"></a><span class="lineno"> 1792</span>&#160;    p += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>);</div>
-<div class="line"><a name="l01793"></a><span class="lineno"> 1793</span>&#160;</div>
-<div class="line"><a name="l01794"></a><span class="lineno"> 1794</span>&#160;    <a class="code" href="numeric_8h.html#a7b602967e2fc28b0be02bd4585e255d0">dtls_int_to_uint8</a>(p, <a class="code" href="global_8h.html#af36d51830256b7d1bf4dbaa8590c19e4">TLS_CERT_TYPE_RAW_PUBLIC_KEY</a>);</div>
-<div class="line"><a name="l01795"></a><span class="lineno"> 1795</span>&#160;    p += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>);</div>
-<div class="line"><a name="l01796"></a><span class="lineno"> 1796</span>&#160;</div>
-<div class="line"><a name="l01797"></a><span class="lineno"> 1797</span>&#160;    <span class="comment">/* client certificate type extension */</span></div>
-<div class="line"><a name="l01798"></a><span class="lineno"> 1798</span>&#160;    <a class="code" href="numeric_8h.html#a074d352855e1ffde4c2ddb6a6fea01b9">dtls_int_to_uint16</a>(p, <a class="code" href="global_8h.html#ad465b86d1841ddd6c2209ff304895a95">TLS_EXT_SERVER_CERTIFICATE_TYPE</a>);</div>
-<div class="line"><a name="l01799"></a><span class="lineno"> 1799</span>&#160;    p += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>);</div>
-<div class="line"><a name="l01800"></a><span class="lineno"> 1800</span>&#160;</div>
-<div class="line"><a name="l01801"></a><span class="lineno"> 1801</span>&#160;    <span class="comment">/* length of this extension type */</span></div>
-<div class="line"><a name="l01802"></a><span class="lineno"> 1802</span>&#160;    <a class="code" href="numeric_8h.html#a074d352855e1ffde4c2ddb6a6fea01b9">dtls_int_to_uint16</a>(p, 1);</div>
-<div class="line"><a name="l01803"></a><span class="lineno"> 1803</span>&#160;    p += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>);</div>
-<div class="line"><a name="l01804"></a><span class="lineno"> 1804</span>&#160;</div>
-<div class="line"><a name="l01805"></a><span class="lineno"> 1805</span>&#160;    <a class="code" href="numeric_8h.html#a7b602967e2fc28b0be02bd4585e255d0">dtls_int_to_uint8</a>(p, <a class="code" href="global_8h.html#af36d51830256b7d1bf4dbaa8590c19e4">TLS_CERT_TYPE_RAW_PUBLIC_KEY</a>);</div>
-<div class="line"><a name="l01806"></a><span class="lineno"> 1806</span>&#160;    p += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>);</div>
-<div class="line"><a name="l01807"></a><span class="lineno"> 1807</span>&#160;</div>
-<div class="line"><a name="l01808"></a><span class="lineno"> 1808</span>&#160;    <span class="comment">/* ec_point_formats */</span></div>
-<div class="line"><a name="l01809"></a><span class="lineno"> 1809</span>&#160;    <a class="code" href="numeric_8h.html#a074d352855e1ffde4c2ddb6a6fea01b9">dtls_int_to_uint16</a>(p, <a class="code" href="global_8h.html#a5d17863db920927ef8160547541b58e3">TLS_EXT_EC_POINT_FORMATS</a>);</div>
-<div class="line"><a name="l01810"></a><span class="lineno"> 1810</span>&#160;    p += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>);</div>
-<div class="line"><a name="l01811"></a><span class="lineno"> 1811</span>&#160;</div>
-<div class="line"><a name="l01812"></a><span class="lineno"> 1812</span>&#160;    <span class="comment">/* length of this extension type */</span></div>
-<div class="line"><a name="l01813"></a><span class="lineno"> 1813</span>&#160;    <a class="code" href="numeric_8h.html#a074d352855e1ffde4c2ddb6a6fea01b9">dtls_int_to_uint16</a>(p, 2);</div>
-<div class="line"><a name="l01814"></a><span class="lineno"> 1814</span>&#160;    p += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>);</div>
-<div class="line"><a name="l01815"></a><span class="lineno"> 1815</span>&#160;</div>
-<div class="line"><a name="l01816"></a><span class="lineno"> 1816</span>&#160;    <span class="comment">/* number of supported formats */</span></div>
-<div class="line"><a name="l01817"></a><span class="lineno"> 1817</span>&#160;    <a class="code" href="numeric_8h.html#a7b602967e2fc28b0be02bd4585e255d0">dtls_int_to_uint8</a>(p, 1);</div>
-<div class="line"><a name="l01818"></a><span class="lineno"> 1818</span>&#160;    p += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>);</div>
-<div class="line"><a name="l01819"></a><span class="lineno"> 1819</span>&#160;</div>
-<div class="line"><a name="l01820"></a><span class="lineno"> 1820</span>&#160;    <a class="code" href="numeric_8h.html#a7b602967e2fc28b0be02bd4585e255d0">dtls_int_to_uint8</a>(p, <a class="code" href="global_8h.html#af086ed2d0aea096be56bf7e46f8f72a6">TLS_EXT_EC_POINT_FORMATS_UNCOMPRESSED</a>);</div>
-<div class="line"><a name="l01821"></a><span class="lineno"> 1821</span>&#160;    p += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>);</div>
-<div class="line"><a name="l01822"></a><span class="lineno"> 1822</span>&#160;  }</div>
-<div class="line"><a name="l01823"></a><span class="lineno"> 1823</span>&#160;</div>
-<div class="line"><a name="l01824"></a><span class="lineno"> 1824</span>&#160;  assert(p - buf &lt;= <span class="keyword">sizeof</span>(buf));</div>
-<div class="line"><a name="l01825"></a><span class="lineno"> 1825</span>&#160;</div>
-<div class="line"><a name="l01826"></a><span class="lineno"> 1826</span>&#160;  <span class="comment">/* TODO use the same record sequence number as in the ClientHello,</span></div>
-<div class="line"><a name="l01827"></a><span class="lineno"> 1827</span>&#160;<span class="comment">     see 4.2.1. Denial-of-Service Countermeasures */</span></div>
-<div class="line"><a name="l01828"></a><span class="lineno"> 1828</span>&#160;  <span class="keywordflow">return</span> <a class="code" href="dtls_8c.html#a872c53139e76cab7ec387cc54ae1a11b">dtls_send_handshake_msg</a>(ctx, peer, <a class="code" href="dtls_8h.html#ad5882a5ff4073ffefa266bb2c4a1ee3c">DTLS_HT_SERVER_HELLO</a>,</div>
-<div class="line"><a name="l01829"></a><span class="lineno"> 1829</span>&#160;                 buf, p - buf);</div>
-<div class="line"><a name="l01830"></a><span class="lineno"> 1830</span>&#160;}</div>
-<div class="line"><a name="l01831"></a><span class="lineno"> 1831</span>&#160;</div>
-<div class="line"><a name="l01832"></a><span class="lineno"> 1832</span>&#160;<span class="preprocessor">#ifdef DTLS_ECC</span></div>
-<div class="line"><a name="l01833"></a><span class="lineno"> 1833</span>&#160;<span class="preprocessor"></span><span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l01834"></a><span class="lineno"><a class="line" href="dtls_8c.html#a6b92c487825aa888acc0b55f5adc0220"> 1834</a></span>&#160;<a class="code" href="dtls_8c.html#a6b92c487825aa888acc0b55f5adc0220">dtls_send_certificate_ecdsa</a>(<a class="code" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *peer,</div>
-<div class="line"><a name="l01835"></a><span class="lineno"> 1835</span>&#160;                <span class="keyword">const</span> <a class="code" href="structdtls__ecdsa__key__t.html">dtls_ecdsa_key_t</a> *key)</div>
-<div class="line"><a name="l01836"></a><span class="lineno"> 1836</span>&#160;{</div>
-<div class="line"><a name="l01837"></a><span class="lineno"> 1837</span>&#160;  <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> buf[<a class="code" href="dtls_8c.html#a6570b93f9f19e6abceef85c566fe3696">DTLS_CE_LENGTH</a>];</div>
-<div class="line"><a name="l01838"></a><span class="lineno"> 1838</span>&#160;  <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *p;</div>
-<div class="line"><a name="l01839"></a><span class="lineno"> 1839</span>&#160;</div>
-<div class="line"><a name="l01840"></a><span class="lineno"> 1840</span>&#160;  <span class="comment">/* Certificate </span></div>
-<div class="line"><a name="l01841"></a><span class="lineno"> 1841</span>&#160;<span class="comment">   *</span></div>
-<div class="line"><a name="l01842"></a><span class="lineno"> 1842</span>&#160;<span class="comment">   * Start message construction at beginning of buffer. */</span></div>
-<div class="line"><a name="l01843"></a><span class="lineno"> 1843</span>&#160;  p = buf;</div>
-<div class="line"><a name="l01844"></a><span class="lineno"> 1844</span>&#160;</div>
-<div class="line"><a name="l01845"></a><span class="lineno"> 1845</span>&#160;  <a class="code" href="numeric_8h.html#aff276cdd846cd194a21e9c61549292f6">dtls_int_to_uint24</a>(p, 94);    <span class="comment">/* certificates length */</span></div>
-<div class="line"><a name="l01846"></a><span class="lineno"> 1846</span>&#160;  p += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#aabc56baaf04f922a1ea0dda7691fec0a">uint24</a>);</div>
-<div class="line"><a name="l01847"></a><span class="lineno"> 1847</span>&#160;</div>
-<div class="line"><a name="l01848"></a><span class="lineno"> 1848</span>&#160;  <a class="code" href="numeric_8h.html#aff276cdd846cd194a21e9c61549292f6">dtls_int_to_uint24</a>(p, 91);    <span class="comment">/* length of this certificate */</span></div>
-<div class="line"><a name="l01849"></a><span class="lineno"> 1849</span>&#160;  p += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#aabc56baaf04f922a1ea0dda7691fec0a">uint24</a>);</div>
-<div class="line"><a name="l01850"></a><span class="lineno"> 1850</span>&#160;  </div>
-<div class="line"><a name="l01851"></a><span class="lineno"> 1851</span>&#160;  memcpy(p, &amp;<a class="code" href="dtls_8c.html#aecdb18ea2b899994542ec46b23528738">cert_asn1_header</a>, <span class="keyword">sizeof</span>(<a class="code" href="dtls_8c.html#aecdb18ea2b899994542ec46b23528738">cert_asn1_header</a>));</div>
-<div class="line"><a name="l01852"></a><span class="lineno"> 1852</span>&#160;  p += <span class="keyword">sizeof</span>(<a class="code" href="dtls_8c.html#aecdb18ea2b899994542ec46b23528738">cert_asn1_header</a>);</div>
-<div class="line"><a name="l01853"></a><span class="lineno"> 1853</span>&#160;</div>
-<div class="line"><a name="l01854"></a><span class="lineno"> 1854</span>&#160;  memcpy(p, key-&gt;<a class="code" href="structdtls__ecdsa__key__t.html#aa54efc762737c1b94eaebae1262d4221">pub_key_x</a>, <a class="code" href="crypto_8h.html#a9b039263057e157e1427c5d316133c3d">DTLS_EC_KEY_SIZE</a>);</div>
-<div class="line"><a name="l01855"></a><span class="lineno"> 1855</span>&#160;  p += <a class="code" href="crypto_8h.html#a9b039263057e157e1427c5d316133c3d">DTLS_EC_KEY_SIZE</a>;</div>
-<div class="line"><a name="l01856"></a><span class="lineno"> 1856</span>&#160;</div>
-<div class="line"><a name="l01857"></a><span class="lineno"> 1857</span>&#160;  memcpy(p, key-&gt;<a class="code" href="structdtls__ecdsa__key__t.html#aaceb7ea4b4f9e74fb2ec85c49746132f">pub_key_y</a>, <a class="code" href="crypto_8h.html#a9b039263057e157e1427c5d316133c3d">DTLS_EC_KEY_SIZE</a>);</div>
-<div class="line"><a name="l01858"></a><span class="lineno"> 1858</span>&#160;  p += <a class="code" href="crypto_8h.html#a9b039263057e157e1427c5d316133c3d">DTLS_EC_KEY_SIZE</a>;</div>
-<div class="line"><a name="l01859"></a><span class="lineno"> 1859</span>&#160;</div>
-<div class="line"><a name="l01860"></a><span class="lineno"> 1860</span>&#160;  assert(p - buf &lt;= <span class="keyword">sizeof</span>(buf));</div>
-<div class="line"><a name="l01861"></a><span class="lineno"> 1861</span>&#160;</div>
-<div class="line"><a name="l01862"></a><span class="lineno"> 1862</span>&#160;  <span class="keywordflow">return</span> <a class="code" href="dtls_8c.html#a872c53139e76cab7ec387cc54ae1a11b">dtls_send_handshake_msg</a>(ctx, peer, <a class="code" href="dtls_8h.html#a55a0a899d7f151e7f53b76fe8a82c10e">DTLS_HT_CERTIFICATE</a>,</div>
-<div class="line"><a name="l01863"></a><span class="lineno"> 1863</span>&#160;                 buf, p - buf);</div>
-<div class="line"><a name="l01864"></a><span class="lineno"> 1864</span>&#160;}</div>
-<div class="line"><a name="l01865"></a><span class="lineno"> 1865</span>&#160;</div>
-<div class="line"><a name="l01866"></a><span class="lineno"> 1866</span>&#160;<span class="keyword">static</span> <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *</div>
-<div class="line"><a name="l01867"></a><span class="lineno"><a class="line" href="dtls_8c.html#a7d7af4d19c7abef4583c1667ec449a5d"> 1867</a></span>&#160;<a class="code" href="dtls_8c.html#a7d7af4d19c7abef4583c1667ec449a5d">dtls_add_ecdsa_signature_elem</a>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *p, uint32_t *point_r, uint32_t *point_s)</div>
-<div class="line"><a name="l01868"></a><span class="lineno"> 1868</span>&#160;{</div>
-<div class="line"><a name="l01869"></a><span class="lineno"> 1869</span>&#160;  <span class="keywordtype">int</span> len_r;</div>
-<div class="line"><a name="l01870"></a><span class="lineno"> 1870</span>&#160;  <span class="keywordtype">int</span> len_s;</div>
-<div class="line"><a name="l01871"></a><span class="lineno"> 1871</span>&#160;</div>
-<div class="line"><a name="l01872"></a><span class="lineno"> 1872</span>&#160;<span class="preprocessor">#define R_KEY_OFFSET (1 + 1 + 2 + 1 + 1 + 1 + 1)</span></div>
-<div class="line"><a name="l01873"></a><span class="lineno"> 1873</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define S_KEY_OFFSET(len_s) (R_KEY_OFFSET + (len_s) + 1 + 1)</span></div>
-<div class="line"><a name="l01874"></a><span class="lineno"> 1874</span>&#160;<span class="preprocessor"></span>  <span class="comment">/* store the pointer to the r component of the signature and make space */</span></div>
-<div class="line"><a name="l01875"></a><span class="lineno"> 1875</span>&#160;  len_r = <a class="code" href="crypto_8c.html#a5ae24f3621f545752732e318840d7e2b">dtls_ec_key_from_uint32_asn1</a>(point_r, <a class="code" href="crypto_8h.html#a9b039263057e157e1427c5d316133c3d">DTLS_EC_KEY_SIZE</a>, p + <a class="code" href="dtls_8c.html#ab7a17e13b17da97cbef046b20cd7280f">R_KEY_OFFSET</a>);</div>
-<div class="line"><a name="l01876"></a><span class="lineno"> 1876</span>&#160;  len_s = <a class="code" href="crypto_8c.html#a5ae24f3621f545752732e318840d7e2b">dtls_ec_key_from_uint32_asn1</a>(point_s, <a class="code" href="crypto_8h.html#a9b039263057e157e1427c5d316133c3d">DTLS_EC_KEY_SIZE</a>, p + <a class="code" href="dtls_8c.html#a2cf5795397ac5779f281543fc0f44ae9">S_KEY_OFFSET</a>(len_r));</div>
-<div class="line"><a name="l01877"></a><span class="lineno"> 1877</span>&#160;</div>
-<div class="line"><a name="l01878"></a><span class="lineno"> 1878</span>&#160;<span class="preprocessor">#undef R_KEY_OFFSET</span></div>
-<div class="line"><a name="l01879"></a><span class="lineno"> 1879</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#undef S_KEY_OFFSET</span></div>
-<div class="line"><a name="l01880"></a><span class="lineno"> 1880</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l01881"></a><span class="lineno"> 1881</span>&#160;  <span class="comment">/* sha256 */</span></div>
-<div class="line"><a name="l01882"></a><span class="lineno"> 1882</span>&#160;  <a class="code" href="numeric_8h.html#a7b602967e2fc28b0be02bd4585e255d0">dtls_int_to_uint8</a>(p, <a class="code" href="global_8h.html#aa347771eab2eabd24c4b9311fa61c4c9">TLS_EXT_SIG_HASH_ALGO_SHA256</a>);</div>
-<div class="line"><a name="l01883"></a><span class="lineno"> 1883</span>&#160;  p += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>);</div>
-<div class="line"><a name="l01884"></a><span class="lineno"> 1884</span>&#160;</div>
-<div class="line"><a name="l01885"></a><span class="lineno"> 1885</span>&#160;  <span class="comment">/* ecdsa */</span></div>
-<div class="line"><a name="l01886"></a><span class="lineno"> 1886</span>&#160;  <a class="code" href="numeric_8h.html#a7b602967e2fc28b0be02bd4585e255d0">dtls_int_to_uint8</a>(p, <a class="code" href="global_8h.html#af126227a026a7af436a4323db6d02ecc">TLS_EXT_SIG_HASH_ALGO_ECDSA</a>);</div>
-<div class="line"><a name="l01887"></a><span class="lineno"> 1887</span>&#160;  p += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>);</div>
-<div class="line"><a name="l01888"></a><span class="lineno"> 1888</span>&#160;</div>
-<div class="line"><a name="l01889"></a><span class="lineno"> 1889</span>&#160;  <span class="comment">/* length of signature */</span></div>
-<div class="line"><a name="l01890"></a><span class="lineno"> 1890</span>&#160;  <a class="code" href="numeric_8h.html#a074d352855e1ffde4c2ddb6a6fea01b9">dtls_int_to_uint16</a>(p, len_r + len_s + 2 + 2 + 2);</div>
-<div class="line"><a name="l01891"></a><span class="lineno"> 1891</span>&#160;  p += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>);</div>
-<div class="line"><a name="l01892"></a><span class="lineno"> 1892</span>&#160;</div>
-<div class="line"><a name="l01893"></a><span class="lineno"> 1893</span>&#160;  <span class="comment">/* ASN.1 SEQUENCE */</span></div>
-<div class="line"><a name="l01894"></a><span class="lineno"> 1894</span>&#160;  <a class="code" href="numeric_8h.html#a7b602967e2fc28b0be02bd4585e255d0">dtls_int_to_uint8</a>(p, 0x30);</div>
-<div class="line"><a name="l01895"></a><span class="lineno"> 1895</span>&#160;  p += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>);</div>
-<div class="line"><a name="l01896"></a><span class="lineno"> 1896</span>&#160;</div>
-<div class="line"><a name="l01897"></a><span class="lineno"> 1897</span>&#160;  <a class="code" href="numeric_8h.html#a7b602967e2fc28b0be02bd4585e255d0">dtls_int_to_uint8</a>(p, len_r + len_s + 2 + 2);</div>
-<div class="line"><a name="l01898"></a><span class="lineno"> 1898</span>&#160;  p += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>);</div>
-<div class="line"><a name="l01899"></a><span class="lineno"> 1899</span>&#160;</div>
-<div class="line"><a name="l01900"></a><span class="lineno"> 1900</span>&#160;  <span class="comment">/* ASN.1 Integer r */</span></div>
-<div class="line"><a name="l01901"></a><span class="lineno"> 1901</span>&#160;  <a class="code" href="numeric_8h.html#a7b602967e2fc28b0be02bd4585e255d0">dtls_int_to_uint8</a>(p, 0x02);</div>
-<div class="line"><a name="l01902"></a><span class="lineno"> 1902</span>&#160;  p += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>);</div>
-<div class="line"><a name="l01903"></a><span class="lineno"> 1903</span>&#160;</div>
-<div class="line"><a name="l01904"></a><span class="lineno"> 1904</span>&#160;  <a class="code" href="numeric_8h.html#a7b602967e2fc28b0be02bd4585e255d0">dtls_int_to_uint8</a>(p, len_r);</div>
-<div class="line"><a name="l01905"></a><span class="lineno"> 1905</span>&#160;  p += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>);</div>
-<div class="line"><a name="l01906"></a><span class="lineno"> 1906</span>&#160;</div>
-<div class="line"><a name="l01907"></a><span class="lineno"> 1907</span>&#160;  <span class="comment">/* the pint r was added here */</span></div>
-<div class="line"><a name="l01908"></a><span class="lineno"> 1908</span>&#160;  p += len_r;</div>
-<div class="line"><a name="l01909"></a><span class="lineno"> 1909</span>&#160;</div>
-<div class="line"><a name="l01910"></a><span class="lineno"> 1910</span>&#160;  <span class="comment">/* ASN.1 Integer s */</span></div>
-<div class="line"><a name="l01911"></a><span class="lineno"> 1911</span>&#160;  <a class="code" href="numeric_8h.html#a7b602967e2fc28b0be02bd4585e255d0">dtls_int_to_uint8</a>(p, 0x02);</div>
-<div class="line"><a name="l01912"></a><span class="lineno"> 1912</span>&#160;  p += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>);</div>
-<div class="line"><a name="l01913"></a><span class="lineno"> 1913</span>&#160;</div>
-<div class="line"><a name="l01914"></a><span class="lineno"> 1914</span>&#160;  <a class="code" href="numeric_8h.html#a7b602967e2fc28b0be02bd4585e255d0">dtls_int_to_uint8</a>(p, len_s);</div>
-<div class="line"><a name="l01915"></a><span class="lineno"> 1915</span>&#160;  p += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>);</div>
-<div class="line"><a name="l01916"></a><span class="lineno"> 1916</span>&#160;</div>
-<div class="line"><a name="l01917"></a><span class="lineno"> 1917</span>&#160;  <span class="comment">/* the pint s was added here */</span></div>
-<div class="line"><a name="l01918"></a><span class="lineno"> 1918</span>&#160;  p += len_s;</div>
-<div class="line"><a name="l01919"></a><span class="lineno"> 1919</span>&#160;</div>
-<div class="line"><a name="l01920"></a><span class="lineno"> 1920</span>&#160;  <span class="keywordflow">return</span> p;</div>
-<div class="line"><a name="l01921"></a><span class="lineno"> 1921</span>&#160;}</div>
-<div class="line"><a name="l01922"></a><span class="lineno"> 1922</span>&#160;</div>
-<div class="line"><a name="l01923"></a><span class="lineno"> 1923</span>&#160;<span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l01924"></a><span class="lineno"><a class="line" href="dtls_8c.html#a80275f06c14cbbc18095bc2f61022d15"> 1924</a></span>&#160;<a class="code" href="dtls_8c.html#a80275f06c14cbbc18095bc2f61022d15">dtls_send_server_key_exchange_ecdh</a>(<a class="code" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *peer,</div>
-<div class="line"><a name="l01925"></a><span class="lineno"> 1925</span>&#160;                   <span class="keyword">const</span> <a class="code" href="structdtls__ecdsa__key__t.html">dtls_ecdsa_key_t</a> *key)</div>
-<div class="line"><a name="l01926"></a><span class="lineno"> 1926</span>&#160;{</div>
-<div class="line"><a name="l01927"></a><span class="lineno"> 1927</span>&#160;  <span class="comment">/* The ASN.1 Integer representation of an 32 byte unsigned int could be</span></div>
-<div class="line"><a name="l01928"></a><span class="lineno"> 1928</span>&#160;<span class="comment">   * 33 bytes long add space for that */</span></div>
-<div class="line"><a name="l01929"></a><span class="lineno"> 1929</span>&#160;  <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> buf[<a class="code" href="dtls_8c.html#ad9481c39cd66eac3059df28aef1e9843">DTLS_SKEXEC_LENGTH</a> + 2];</div>
-<div class="line"><a name="l01930"></a><span class="lineno"> 1930</span>&#160;  <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *p;</div>
-<div class="line"><a name="l01931"></a><span class="lineno"> 1931</span>&#160;  <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *key_params;</div>
-<div class="line"><a name="l01932"></a><span class="lineno"> 1932</span>&#160;  <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *ephemeral_pub_x;</div>
-<div class="line"><a name="l01933"></a><span class="lineno"> 1933</span>&#160;  <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *ephemeral_pub_y;</div>
-<div class="line"><a name="l01934"></a><span class="lineno"> 1934</span>&#160;  uint32_t point_r[9];</div>
-<div class="line"><a name="l01935"></a><span class="lineno"> 1935</span>&#160;  uint32_t point_s[9];</div>
-<div class="line"><a name="l01936"></a><span class="lineno"> 1936</span>&#160;  <a class="code" href="structdtls__handshake__parameters__t.html">dtls_handshake_parameters_t</a> *config = peer-&gt;<a class="code" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">handshake_params</a>;</div>
-<div class="line"><a name="l01937"></a><span class="lineno"> 1937</span>&#160;</div>
-<div class="line"><a name="l01938"></a><span class="lineno"> 1938</span>&#160;  <span class="comment">/* ServerKeyExchange </span></div>
-<div class="line"><a name="l01939"></a><span class="lineno"> 1939</span>&#160;<span class="comment">   *</span></div>
-<div class="line"><a name="l01940"></a><span class="lineno"> 1940</span>&#160;<span class="comment">   * Start message construction at beginning of buffer. */</span></div>
-<div class="line"><a name="l01941"></a><span class="lineno"> 1941</span>&#160;  p = buf;</div>
-<div class="line"><a name="l01942"></a><span class="lineno"> 1942</span>&#160;</div>
-<div class="line"><a name="l01943"></a><span class="lineno"> 1943</span>&#160;  key_params = p;</div>
-<div class="line"><a name="l01944"></a><span class="lineno"> 1944</span>&#160;  <span class="comment">/* ECCurveType curve_type: named_curve */</span></div>
-<div class="line"><a name="l01945"></a><span class="lineno"> 1945</span>&#160;  <a class="code" href="numeric_8h.html#a7b602967e2fc28b0be02bd4585e255d0">dtls_int_to_uint8</a>(p, 3);</div>
-<div class="line"><a name="l01946"></a><span class="lineno"> 1946</span>&#160;  p += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>);</div>
-<div class="line"><a name="l01947"></a><span class="lineno"> 1947</span>&#160;</div>
-<div class="line"><a name="l01948"></a><span class="lineno"> 1948</span>&#160;  <span class="comment">/* NamedCurve namedcurve: secp256r1 */</span></div>
-<div class="line"><a name="l01949"></a><span class="lineno"> 1949</span>&#160;  <a class="code" href="numeric_8h.html#a074d352855e1ffde4c2ddb6a6fea01b9">dtls_int_to_uint16</a>(p, <a class="code" href="global_8h.html#a8095691f33c0ce6b22d205640ccc9417">TLS_EXT_ELLIPTIC_CURVES_SECP256R1</a>);</div>
-<div class="line"><a name="l01950"></a><span class="lineno"> 1950</span>&#160;  p += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>);</div>
-<div class="line"><a name="l01951"></a><span class="lineno"> 1951</span>&#160;</div>
-<div class="line"><a name="l01952"></a><span class="lineno"> 1952</span>&#160;  <a class="code" href="numeric_8h.html#a7b602967e2fc28b0be02bd4585e255d0">dtls_int_to_uint8</a>(p, 1 + 2 * <a class="code" href="crypto_8h.html#a9b039263057e157e1427c5d316133c3d">DTLS_EC_KEY_SIZE</a>);</div>
-<div class="line"><a name="l01953"></a><span class="lineno"> 1953</span>&#160;  p += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>);</div>
-<div class="line"><a name="l01954"></a><span class="lineno"> 1954</span>&#160;</div>
-<div class="line"><a name="l01955"></a><span class="lineno"> 1955</span>&#160;  <span class="comment">/* This should be an uncompressed point, but I do not have access to the spec. */</span></div>
-<div class="line"><a name="l01956"></a><span class="lineno"> 1956</span>&#160;  <a class="code" href="numeric_8h.html#a7b602967e2fc28b0be02bd4585e255d0">dtls_int_to_uint8</a>(p, 4);</div>
-<div class="line"><a name="l01957"></a><span class="lineno"> 1957</span>&#160;  p += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>);</div>
-<div class="line"><a name="l01958"></a><span class="lineno"> 1958</span>&#160;</div>
-<div class="line"><a name="l01959"></a><span class="lineno"> 1959</span>&#160;  <span class="comment">/* store the pointer to the x component of the pub key and make space */</span></div>
-<div class="line"><a name="l01960"></a><span class="lineno"> 1960</span>&#160;  ephemeral_pub_x = p;</div>
-<div class="line"><a name="l01961"></a><span class="lineno"> 1961</span>&#160;  p += <a class="code" href="crypto_8h.html#a9b039263057e157e1427c5d316133c3d">DTLS_EC_KEY_SIZE</a>;</div>
-<div class="line"><a name="l01962"></a><span class="lineno"> 1962</span>&#160;</div>
-<div class="line"><a name="l01963"></a><span class="lineno"> 1963</span>&#160;  <span class="comment">/* store the pointer to the y component of the pub key and make space */</span></div>
-<div class="line"><a name="l01964"></a><span class="lineno"> 1964</span>&#160;  ephemeral_pub_y = p;</div>
-<div class="line"><a name="l01965"></a><span class="lineno"> 1965</span>&#160;  p += <a class="code" href="crypto_8h.html#a9b039263057e157e1427c5d316133c3d">DTLS_EC_KEY_SIZE</a>;</div>
-<div class="line"><a name="l01966"></a><span class="lineno"> 1966</span>&#160;</div>
-<div class="line"><a name="l01967"></a><span class="lineno"> 1967</span>&#160;  <a class="code" href="crypto_8c.html#a982fc9e78cd10d9323756b15b72c7970">dtls_ecdsa_generate_key</a>(config-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a483b158f8fc86e45e7c0fc603a66925f">keyx</a>.ecdsa.own_eph_priv,</div>
-<div class="line"><a name="l01968"></a><span class="lineno"> 1968</span>&#160;              ephemeral_pub_x, ephemeral_pub_y,</div>
-<div class="line"><a name="l01969"></a><span class="lineno"> 1969</span>&#160;              <a class="code" href="crypto_8h.html#a9b039263057e157e1427c5d316133c3d">DTLS_EC_KEY_SIZE</a>);</div>
-<div class="line"><a name="l01970"></a><span class="lineno"> 1970</span>&#160;</div>
-<div class="line"><a name="l01971"></a><span class="lineno"> 1971</span>&#160;  <span class="comment">/* sign the ephemeral and its paramaters */</span></div>
-<div class="line"><a name="l01972"></a><span class="lineno"> 1972</span>&#160;  <a class="code" href="crypto_8c.html#afa2d9b2a195a1d8e8c56b1af8cb7bc82">dtls_ecdsa_create_sig</a>(key-&gt;<a class="code" href="structdtls__ecdsa__key__t.html#a91769609f44590f193d726187ab366de">priv_key</a>, <a class="code" href="crypto_8h.html#a9b039263057e157e1427c5d316133c3d">DTLS_EC_KEY_SIZE</a>,</div>
-<div class="line"><a name="l01973"></a><span class="lineno"> 1973</span>&#160;               config-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#ac27a2063a8136615971f8d591afdd01f">tmp</a>.<a class="code" href="structdtls__handshake__parameters__t.html#a5c4e7bb5d4d890200a176cfe13c6fb9a">random</a>.client, <a class="code" href="crypto_8h.html#a5a0bdff7c0889f35601b4935098508a0">DTLS_RANDOM_LENGTH</a>,</div>
-<div class="line"><a name="l01974"></a><span class="lineno"> 1974</span>&#160;               config-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#ac27a2063a8136615971f8d591afdd01f">tmp</a>.<a class="code" href="structdtls__handshake__parameters__t.html#a5c4e7bb5d4d890200a176cfe13c6fb9a">random</a>.server, <a class="code" href="crypto_8h.html#a5a0bdff7c0889f35601b4935098508a0">DTLS_RANDOM_LENGTH</a>,</div>
-<div class="line"><a name="l01975"></a><span class="lineno"> 1975</span>&#160;               key_params, p - key_params,</div>
-<div class="line"><a name="l01976"></a><span class="lineno"> 1976</span>&#160;               point_r, point_s);</div>
-<div class="line"><a name="l01977"></a><span class="lineno"> 1977</span>&#160;</div>
-<div class="line"><a name="l01978"></a><span class="lineno"> 1978</span>&#160;  p = <a class="code" href="dtls_8c.html#a7d7af4d19c7abef4583c1667ec449a5d">dtls_add_ecdsa_signature_elem</a>(p, point_r, point_s);</div>
-<div class="line"><a name="l01979"></a><span class="lineno"> 1979</span>&#160;</div>
-<div class="line"><a name="l01980"></a><span class="lineno"> 1980</span>&#160;  assert(p - buf &lt;= <span class="keyword">sizeof</span>(buf));</div>
-<div class="line"><a name="l01981"></a><span class="lineno"> 1981</span>&#160;</div>
-<div class="line"><a name="l01982"></a><span class="lineno"> 1982</span>&#160;  <span class="keywordflow">return</span> <a class="code" href="dtls_8c.html#a872c53139e76cab7ec387cc54ae1a11b">dtls_send_handshake_msg</a>(ctx, peer, <a class="code" href="dtls_8h.html#aab327e17614cf2902c5fc6169466613f">DTLS_HT_SERVER_KEY_EXCHANGE</a>,</div>
-<div class="line"><a name="l01983"></a><span class="lineno"> 1983</span>&#160;                 buf, p - buf);</div>
-<div class="line"><a name="l01984"></a><span class="lineno"> 1984</span>&#160;}</div>
-<div class="line"><a name="l01985"></a><span class="lineno"> 1985</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* DTLS_ECC */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l01986"></a><span class="lineno"> 1986</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l01987"></a><span class="lineno"> 1987</span>&#160;<span class="preprocessor">#ifdef DTLS_PSK</span></div>
-<div class="line"><a name="l01988"></a><span class="lineno"> 1988</span>&#160;<span class="preprocessor"></span><span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l01989"></a><span class="lineno"><a class="line" href="dtls_8c.html#a00f6591bce49f6122dab9827c8774ba3"> 1989</a></span>&#160;<a class="code" href="dtls_8c.html#a00f6591bce49f6122dab9827c8774ba3">dtls_send_server_key_exchange_psk</a>(<a class="code" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *peer,</div>
-<div class="line"><a name="l01990"></a><span class="lineno"> 1990</span>&#160;                  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *psk_hint, <span class="keywordtype">size_t</span> len)</div>
-<div class="line"><a name="l01991"></a><span class="lineno"> 1991</span>&#160;{</div>
-<div class="line"><a name="l01992"></a><span class="lineno"> 1992</span>&#160;  <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> buf[<a class="code" href="dtls_8c.html#a8a4dc9af457241380a01c8e38fdc4e2d">DTLS_SKEXECPSK_LENGTH_MAX</a>];</div>
-<div class="line"><a name="l01993"></a><span class="lineno"> 1993</span>&#160;  <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *p;</div>
-<div class="line"><a name="l01994"></a><span class="lineno"> 1994</span>&#160;</div>
-<div class="line"><a name="l01995"></a><span class="lineno"> 1995</span>&#160;  p = buf;</div>
-<div class="line"><a name="l01996"></a><span class="lineno"> 1996</span>&#160;</div>
-<div class="line"><a name="l01997"></a><span class="lineno"> 1997</span>&#160;  assert(len &lt;= <a class="code" href="crypto_8h.html#ab96c8e0773a14d1ce1621eed1a78e2bd">DTLS_PSK_MAX_CLIENT_IDENTITY_LEN</a>);</div>
-<div class="line"><a name="l01998"></a><span class="lineno"> 1998</span>&#160;  <span class="keywordflow">if</span> (len &gt; <a class="code" href="crypto_8h.html#ab96c8e0773a14d1ce1621eed1a78e2bd">DTLS_PSK_MAX_CLIENT_IDENTITY_LEN</a>) {</div>
-<div class="line"><a name="l01999"></a><span class="lineno"> 1999</span>&#160;    <span class="comment">/* should never happen */</span></div>
-<div class="line"><a name="l02000"></a><span class="lineno"> 2000</span>&#160;    <a class="code" href="debug_8h.html#ae1c22127c92fab70da7bf9cae8536e5c">dtls_warn</a>(<span class="stringliteral">&quot;psk identity hint is too long\n&quot;</span>);</div>
-<div class="line"><a name="l02001"></a><span class="lineno"> 2001</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda22948f7c825b68cc18c79bd3634c8f58">DTLS_ALERT_INTERNAL_ERROR</a>);</div>
-<div class="line"><a name="l02002"></a><span class="lineno"> 2002</span>&#160;  }</div>
-<div class="line"><a name="l02003"></a><span class="lineno"> 2003</span>&#160;</div>
-<div class="line"><a name="l02004"></a><span class="lineno"> 2004</span>&#160;  <a class="code" href="numeric_8h.html#a074d352855e1ffde4c2ddb6a6fea01b9">dtls_int_to_uint16</a>(p, len);</div>
-<div class="line"><a name="l02005"></a><span class="lineno"> 2005</span>&#160;  p += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>);</div>
-<div class="line"><a name="l02006"></a><span class="lineno"> 2006</span>&#160;</div>
-<div class="line"><a name="l02007"></a><span class="lineno"> 2007</span>&#160;  memcpy(p, psk_hint, len);</div>
-<div class="line"><a name="l02008"></a><span class="lineno"> 2008</span>&#160;  p += len;</div>
-<div class="line"><a name="l02009"></a><span class="lineno"> 2009</span>&#160;</div>
-<div class="line"><a name="l02010"></a><span class="lineno"> 2010</span>&#160;  assert(p - buf &lt;= <span class="keyword">sizeof</span>(buf));</div>
-<div class="line"><a name="l02011"></a><span class="lineno"> 2011</span>&#160;</div>
-<div class="line"><a name="l02012"></a><span class="lineno"> 2012</span>&#160;  <span class="keywordflow">return</span> <a class="code" href="dtls_8c.html#a872c53139e76cab7ec387cc54ae1a11b">dtls_send_handshake_msg</a>(ctx, peer, <a class="code" href="dtls_8h.html#aab327e17614cf2902c5fc6169466613f">DTLS_HT_SERVER_KEY_EXCHANGE</a>,</div>
-<div class="line"><a name="l02013"></a><span class="lineno"> 2013</span>&#160;                 buf, p - buf);</div>
-<div class="line"><a name="l02014"></a><span class="lineno"> 2014</span>&#160;}</div>
-<div class="line"><a name="l02015"></a><span class="lineno"> 2015</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* DTLS_PSK */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l02016"></a><span class="lineno"> 2016</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l02017"></a><span class="lineno"> 2017</span>&#160;<span class="preprocessor">#ifdef DTLS_ECC</span></div>
-<div class="line"><a name="l02018"></a><span class="lineno"> 2018</span>&#160;<span class="preprocessor"></span><span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l02019"></a><span class="lineno"><a class="line" href="dtls_8c.html#a51ab17e2a5ac1566ba4249b787bb98a3"> 2019</a></span>&#160;<a class="code" href="dtls_8c.html#a51ab17e2a5ac1566ba4249b787bb98a3">dtls_send_server_certificate_request</a>(<a class="code" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *peer)</div>
-<div class="line"><a name="l02020"></a><span class="lineno"> 2020</span>&#160;{</div>
-<div class="line"><a name="l02021"></a><span class="lineno"> 2021</span>&#160;  <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> buf[8];</div>
-<div class="line"><a name="l02022"></a><span class="lineno"> 2022</span>&#160;  <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *p;</div>
-<div class="line"><a name="l02023"></a><span class="lineno"> 2023</span>&#160;</div>
-<div class="line"><a name="l02024"></a><span class="lineno"> 2024</span>&#160;  <span class="comment">/* ServerHelloDone </span></div>
-<div class="line"><a name="l02025"></a><span class="lineno"> 2025</span>&#160;<span class="comment">   *</span></div>
-<div class="line"><a name="l02026"></a><span class="lineno"> 2026</span>&#160;<span class="comment">   * Start message construction at beginning of buffer. */</span></div>
-<div class="line"><a name="l02027"></a><span class="lineno"> 2027</span>&#160;  p = buf;</div>
-<div class="line"><a name="l02028"></a><span class="lineno"> 2028</span>&#160;</div>
-<div class="line"><a name="l02029"></a><span class="lineno"> 2029</span>&#160;  <span class="comment">/* certificate_types */</span></div>
-<div class="line"><a name="l02030"></a><span class="lineno"> 2030</span>&#160;  <a class="code" href="numeric_8h.html#a7b602967e2fc28b0be02bd4585e255d0">dtls_int_to_uint8</a>(p, 1);</div>
-<div class="line"><a name="l02031"></a><span class="lineno"> 2031</span>&#160;  p += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>);</div>
-<div class="line"><a name="l02032"></a><span class="lineno"> 2032</span>&#160;</div>
-<div class="line"><a name="l02033"></a><span class="lineno"> 2033</span>&#160;  <span class="comment">/* ecdsa_sign */</span></div>
-<div class="line"><a name="l02034"></a><span class="lineno"> 2034</span>&#160;  <a class="code" href="numeric_8h.html#a7b602967e2fc28b0be02bd4585e255d0">dtls_int_to_uint8</a>(p, <a class="code" href="global_8h.html#aaace8dce4341d910140609a96bb300db">TLS_CLIENT_CERTIFICATE_TYPE_ECDSA_SIGN</a>);</div>
-<div class="line"><a name="l02035"></a><span class="lineno"> 2035</span>&#160;  p += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>);</div>
-<div class="line"><a name="l02036"></a><span class="lineno"> 2036</span>&#160;</div>
-<div class="line"><a name="l02037"></a><span class="lineno"> 2037</span>&#160;  <span class="comment">/* supported_signature_algorithms */</span></div>
-<div class="line"><a name="l02038"></a><span class="lineno"> 2038</span>&#160;  <a class="code" href="numeric_8h.html#a074d352855e1ffde4c2ddb6a6fea01b9">dtls_int_to_uint16</a>(p, 2);</div>
-<div class="line"><a name="l02039"></a><span class="lineno"> 2039</span>&#160;  p += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>);</div>
-<div class="line"><a name="l02040"></a><span class="lineno"> 2040</span>&#160;</div>
-<div class="line"><a name="l02041"></a><span class="lineno"> 2041</span>&#160;  <span class="comment">/* sha256 */</span></div>
-<div class="line"><a name="l02042"></a><span class="lineno"> 2042</span>&#160;  <a class="code" href="numeric_8h.html#a7b602967e2fc28b0be02bd4585e255d0">dtls_int_to_uint8</a>(p, <a class="code" href="global_8h.html#aa347771eab2eabd24c4b9311fa61c4c9">TLS_EXT_SIG_HASH_ALGO_SHA256</a>);</div>
-<div class="line"><a name="l02043"></a><span class="lineno"> 2043</span>&#160;  p += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>);</div>
-<div class="line"><a name="l02044"></a><span class="lineno"> 2044</span>&#160;</div>
-<div class="line"><a name="l02045"></a><span class="lineno"> 2045</span>&#160;  <span class="comment">/* ecdsa */</span></div>
-<div class="line"><a name="l02046"></a><span class="lineno"> 2046</span>&#160;  <a class="code" href="numeric_8h.html#a7b602967e2fc28b0be02bd4585e255d0">dtls_int_to_uint8</a>(p, <a class="code" href="global_8h.html#af126227a026a7af436a4323db6d02ecc">TLS_EXT_SIG_HASH_ALGO_ECDSA</a>);</div>
-<div class="line"><a name="l02047"></a><span class="lineno"> 2047</span>&#160;  p += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>);</div>
-<div class="line"><a name="l02048"></a><span class="lineno"> 2048</span>&#160;</div>
-<div class="line"><a name="l02049"></a><span class="lineno"> 2049</span>&#160;  <span class="comment">/* certificate_authoritiess */</span></div>
-<div class="line"><a name="l02050"></a><span class="lineno"> 2050</span>&#160;  <a class="code" href="numeric_8h.html#a074d352855e1ffde4c2ddb6a6fea01b9">dtls_int_to_uint16</a>(p, 0);</div>
-<div class="line"><a name="l02051"></a><span class="lineno"> 2051</span>&#160;  p += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>);</div>
-<div class="line"><a name="l02052"></a><span class="lineno"> 2052</span>&#160;</div>
-<div class="line"><a name="l02053"></a><span class="lineno"> 2053</span>&#160;  assert(p - buf &lt;= <span class="keyword">sizeof</span>(buf));</div>
-<div class="line"><a name="l02054"></a><span class="lineno"> 2054</span>&#160;</div>
-<div class="line"><a name="l02055"></a><span class="lineno"> 2055</span>&#160;  <span class="keywordflow">return</span> <a class="code" href="dtls_8c.html#a872c53139e76cab7ec387cc54ae1a11b">dtls_send_handshake_msg</a>(ctx, peer, <a class="code" href="dtls_8h.html#a6f49d7b0a6e9190d71d51b1ee9ff3bd5">DTLS_HT_CERTIFICATE_REQUEST</a>,</div>
-<div class="line"><a name="l02056"></a><span class="lineno"> 2056</span>&#160;                 buf, p - buf);</div>
-<div class="line"><a name="l02057"></a><span class="lineno"> 2057</span>&#160;}</div>
-<div class="line"><a name="l02058"></a><span class="lineno"> 2058</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* DTLS_ECC */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l02059"></a><span class="lineno"> 2059</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l02060"></a><span class="lineno"> 2060</span>&#160;<span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l02061"></a><span class="lineno"><a class="line" href="dtls_8c.html#ad6ebff8518bb1d53ba888baf6898ee21"> 2061</a></span>&#160;<a class="code" href="dtls_8c.html#ad6ebff8518bb1d53ba888baf6898ee21">dtls_send_server_hello_done</a>(<a class="code" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *peer)</div>
-<div class="line"><a name="l02062"></a><span class="lineno"> 2062</span>&#160;{</div>
-<div class="line"><a name="l02063"></a><span class="lineno"> 2063</span>&#160;</div>
-<div class="line"><a name="l02064"></a><span class="lineno"> 2064</span>&#160;  <span class="comment">/* ServerHelloDone </span></div>
-<div class="line"><a name="l02065"></a><span class="lineno"> 2065</span>&#160;<span class="comment">   *</span></div>
-<div class="line"><a name="l02066"></a><span class="lineno"> 2066</span>&#160;<span class="comment">   * Start message construction at beginning of buffer. */</span></div>
-<div class="line"><a name="l02067"></a><span class="lineno"> 2067</span>&#160;</div>
-<div class="line"><a name="l02068"></a><span class="lineno"> 2068</span>&#160;  <span class="keywordflow">return</span> <a class="code" href="dtls_8c.html#a872c53139e76cab7ec387cc54ae1a11b">dtls_send_handshake_msg</a>(ctx, peer, <a class="code" href="dtls_8h.html#a44399f223a3e1c8a8bf3fc638a06a4d7">DTLS_HT_SERVER_HELLO_DONE</a>,</div>
-<div class="line"><a name="l02069"></a><span class="lineno"> 2069</span>&#160;                 NULL, 0);</div>
-<div class="line"><a name="l02070"></a><span class="lineno"> 2070</span>&#160;}</div>
-<div class="line"><a name="l02071"></a><span class="lineno"> 2071</span>&#160;</div>
-<div class="line"><a name="l02072"></a><span class="lineno"> 2072</span>&#160;<span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l02073"></a><span class="lineno"><a class="line" href="dtls_8c.html#afc54bc2ed42b4b65ad8f01abca9a8772"> 2073</a></span>&#160;<a class="code" href="dtls_8c.html#afc54bc2ed42b4b65ad8f01abca9a8772">dtls_send_server_hello_msgs</a>(<a class="code" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *peer)</div>
-<div class="line"><a name="l02074"></a><span class="lineno"> 2074</span>&#160;{</div>
-<div class="line"><a name="l02075"></a><span class="lineno"> 2075</span>&#160;  <span class="keywordtype">int</span> res;</div>
-<div class="line"><a name="l02076"></a><span class="lineno"> 2076</span>&#160;</div>
-<div class="line"><a name="l02077"></a><span class="lineno"> 2077</span>&#160;  res = <a class="code" href="dtls_8c.html#a7730a402edfca00c35bc1c7c09eb2fb9">dtls_send_server_hello</a>(ctx, peer);</div>
-<div class="line"><a name="l02078"></a><span class="lineno"> 2078</span>&#160;</div>
-<div class="line"><a name="l02079"></a><span class="lineno"> 2079</span>&#160;  <span class="keywordflow">if</span> (res &lt; 0) {</div>
-<div class="line"><a name="l02080"></a><span class="lineno"> 2080</span>&#160;    <a class="code" href="debug_8h.html#a0f158325426415d9efb5a36bebf45844">dtls_debug</a>(<span class="stringliteral">&quot;dtls_server_hello: cannot prepare ServerHello record\n&quot;</span>);</div>
-<div class="line"><a name="l02081"></a><span class="lineno"> 2081</span>&#160;    <span class="keywordflow">return</span> res;</div>
-<div class="line"><a name="l02082"></a><span class="lineno"> 2082</span>&#160;  }</div>
-<div class="line"><a name="l02083"></a><span class="lineno"> 2083</span>&#160;</div>
-<div class="line"><a name="l02084"></a><span class="lineno"> 2084</span>&#160;<span class="preprocessor">#ifdef DTLS_ECC</span></div>
-<div class="line"><a name="l02085"></a><span class="lineno"> 2085</span>&#160;<span class="preprocessor"></span>  <span class="keywordflow">if</span> (<a class="code" href="dtls_8c.html#a8098a728e5fff33ceeb7f57ebd48a212">is_tls_ecdhe_ecdsa_with_aes_128_ccm_8</a>(peer-&gt;<a class="code" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">handshake_params</a>-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a5cc61a98763800b5b4e7617307649933">cipher</a>)) {</div>
-<div class="line"><a name="l02086"></a><span class="lineno"> 2086</span>&#160;    <span class="keyword">const</span> <a class="code" href="structdtls__ecdsa__key__t.html">dtls_ecdsa_key_t</a> *ecdsa_key;</div>
-<div class="line"><a name="l02087"></a><span class="lineno"> 2087</span>&#160;</div>
-<div class="line"><a name="l02088"></a><span class="lineno"> 2088</span>&#160;    res = <a class="code" href="dtls_8c.html#a3e132aba78de736930255d40ef3f2d34">CALL</a>(ctx, get_ecdsa_key, &amp;peer-&gt;<a class="code" href="structdtls__peer__t.html#a44ebb2ba643269c7e6943f3a9040febe">session</a>, &amp;ecdsa_key);</div>
-<div class="line"><a name="l02089"></a><span class="lineno"> 2089</span>&#160;    <span class="keywordflow">if</span> (res &lt; 0) {</div>
-<div class="line"><a name="l02090"></a><span class="lineno"> 2090</span>&#160;      <a class="code" href="debug_8h.html#ad4c9c94c054579b73789fead587c8514">dtls_crit</a>(<span class="stringliteral">&quot;no ecdsa certificate to send in certificate\n&quot;</span>);</div>
-<div class="line"><a name="l02091"></a><span class="lineno"> 2091</span>&#160;      <span class="keywordflow">return</span> res;</div>
-<div class="line"><a name="l02092"></a><span class="lineno"> 2092</span>&#160;    }</div>
-<div class="line"><a name="l02093"></a><span class="lineno"> 2093</span>&#160;</div>
-<div class="line"><a name="l02094"></a><span class="lineno"> 2094</span>&#160;    res = <a class="code" href="dtls_8c.html#a6b92c487825aa888acc0b55f5adc0220">dtls_send_certificate_ecdsa</a>(ctx, peer, ecdsa_key);</div>
-<div class="line"><a name="l02095"></a><span class="lineno"> 2095</span>&#160;</div>
-<div class="line"><a name="l02096"></a><span class="lineno"> 2096</span>&#160;    <span class="keywordflow">if</span> (res &lt; 0) {</div>
-<div class="line"><a name="l02097"></a><span class="lineno"> 2097</span>&#160;      <a class="code" href="debug_8h.html#a0f158325426415d9efb5a36bebf45844">dtls_debug</a>(<span class="stringliteral">&quot;dtls_server_hello: cannot prepare Certificate record\n&quot;</span>);</div>
-<div class="line"><a name="l02098"></a><span class="lineno"> 2098</span>&#160;      <span class="keywordflow">return</span> res;</div>
-<div class="line"><a name="l02099"></a><span class="lineno"> 2099</span>&#160;    }</div>
-<div class="line"><a name="l02100"></a><span class="lineno"> 2100</span>&#160;</div>
-<div class="line"><a name="l02101"></a><span class="lineno"> 2101</span>&#160;    res = <a class="code" href="dtls_8c.html#a80275f06c14cbbc18095bc2f61022d15">dtls_send_server_key_exchange_ecdh</a>(ctx, peer, ecdsa_key);</div>
-<div class="line"><a name="l02102"></a><span class="lineno"> 2102</span>&#160;</div>
-<div class="line"><a name="l02103"></a><span class="lineno"> 2103</span>&#160;    <span class="keywordflow">if</span> (res &lt; 0) {</div>
-<div class="line"><a name="l02104"></a><span class="lineno"> 2104</span>&#160;      <a class="code" href="debug_8h.html#a0f158325426415d9efb5a36bebf45844">dtls_debug</a>(<span class="stringliteral">&quot;dtls_server_hello: cannot prepare Server Key Exchange record\n&quot;</span>);</div>
-<div class="line"><a name="l02105"></a><span class="lineno"> 2105</span>&#160;      <span class="keywordflow">return</span> res;</div>
-<div class="line"><a name="l02106"></a><span class="lineno"> 2106</span>&#160;    }</div>
-<div class="line"><a name="l02107"></a><span class="lineno"> 2107</span>&#160;</div>
-<div class="line"><a name="l02108"></a><span class="lineno"> 2108</span>&#160;    <span class="keywordflow">if</span> (<a class="code" href="dtls_8c.html#a8098a728e5fff33ceeb7f57ebd48a212">is_tls_ecdhe_ecdsa_with_aes_128_ccm_8</a>(peer-&gt;<a class="code" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">handshake_params</a>-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a5cc61a98763800b5b4e7617307649933">cipher</a>) &amp;&amp;</div>
-<div class="line"><a name="l02109"></a><span class="lineno"> 2109</span>&#160;    <a class="code" href="dtls_8c.html#a599f0d6e9134869e55b64c4f8720ebfa">is_ecdsa_client_auth_supported</a>(ctx)) {</div>
-<div class="line"><a name="l02110"></a><span class="lineno"> 2110</span>&#160;      res = <a class="code" href="dtls_8c.html#a51ab17e2a5ac1566ba4249b787bb98a3">dtls_send_server_certificate_request</a>(ctx, peer);</div>
-<div class="line"><a name="l02111"></a><span class="lineno"> 2111</span>&#160;</div>
-<div class="line"><a name="l02112"></a><span class="lineno"> 2112</span>&#160;      <span class="keywordflow">if</span> (res &lt; 0) {</div>
-<div class="line"><a name="l02113"></a><span class="lineno"> 2113</span>&#160;        <a class="code" href="debug_8h.html#a0f158325426415d9efb5a36bebf45844">dtls_debug</a>(<span class="stringliteral">&quot;dtls_server_hello: cannot prepare certificate Request record\n&quot;</span>);</div>
-<div class="line"><a name="l02114"></a><span class="lineno"> 2114</span>&#160;        <span class="keywordflow">return</span> res;</div>
-<div class="line"><a name="l02115"></a><span class="lineno"> 2115</span>&#160;      }</div>
-<div class="line"><a name="l02116"></a><span class="lineno"> 2116</span>&#160;    }</div>
-<div class="line"><a name="l02117"></a><span class="lineno"> 2117</span>&#160;  }</div>
-<div class="line"><a name="l02118"></a><span class="lineno"> 2118</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* DTLS_ECC */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l02119"></a><span class="lineno"> 2119</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l02120"></a><span class="lineno"> 2120</span>&#160;<span class="preprocessor">#ifdef DTLS_PSK</span></div>
-<div class="line"><a name="l02121"></a><span class="lineno"> 2121</span>&#160;<span class="preprocessor"></span>  <span class="keywordflow">if</span> (<a class="code" href="dtls_8c.html#a8bb6e8bb947b943d2af4c1886a8e72ba">is_tls_psk_with_aes_128_ccm_8</a>(peer-&gt;<a class="code" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">handshake_params</a>-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a5cc61a98763800b5b4e7617307649933">cipher</a>)) {</div>
-<div class="line"><a name="l02122"></a><span class="lineno"> 2122</span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> psk_hint[<a class="code" href="crypto_8h.html#ab96c8e0773a14d1ce1621eed1a78e2bd">DTLS_PSK_MAX_CLIENT_IDENTITY_LEN</a>];</div>
-<div class="line"><a name="l02123"></a><span class="lineno"> 2123</span>&#160;    <span class="keywordtype">int</span> len;</div>
-<div class="line"><a name="l02124"></a><span class="lineno"> 2124</span>&#160;</div>
-<div class="line"><a name="l02125"></a><span class="lineno"> 2125</span>&#160;    <span class="comment">/* The identity hint is optional, therefore we ignore the result</span></div>
-<div class="line"><a name="l02126"></a><span class="lineno"> 2126</span>&#160;<span class="comment">     * and check psk only. */</span></div>
-<div class="line"><a name="l02127"></a><span class="lineno"> 2127</span>&#160;    len = <a class="code" href="dtls_8c.html#a3e132aba78de736930255d40ef3f2d34">CALL</a>(ctx, get_psk_info, &amp;peer-&gt;<a class="code" href="structdtls__peer__t.html#a44ebb2ba643269c7e6943f3a9040febe">session</a>, <a class="code" href="dtls_8h.html#a36eda3add5e2d12a3b5e2b6fe7038e01a53b5588e3c87ce19b1340baf193d130c">DTLS_PSK_HINT</a>,</div>
-<div class="line"><a name="l02128"></a><span class="lineno"> 2128</span>&#160;           NULL, 0, psk_hint, <a class="code" href="crypto_8h.html#ab96c8e0773a14d1ce1621eed1a78e2bd">DTLS_PSK_MAX_CLIENT_IDENTITY_LEN</a>);</div>
-<div class="line"><a name="l02129"></a><span class="lineno"> 2129</span>&#160;</div>
-<div class="line"><a name="l02130"></a><span class="lineno"> 2130</span>&#160;    <span class="keywordflow">if</span> (len &lt; 0) {</div>
-<div class="line"><a name="l02131"></a><span class="lineno"> 2131</span>&#160;      <a class="code" href="debug_8h.html#a0f158325426415d9efb5a36bebf45844">dtls_debug</a>(<span class="stringliteral">&quot;dtls_server_hello: cannot create ServerKeyExchange\n&quot;</span>);</div>
-<div class="line"><a name="l02132"></a><span class="lineno"> 2132</span>&#160;      <span class="keywordflow">return</span> len;</div>
-<div class="line"><a name="l02133"></a><span class="lineno"> 2133</span>&#160;    }</div>
-<div class="line"><a name="l02134"></a><span class="lineno"> 2134</span>&#160;</div>
-<div class="line"><a name="l02135"></a><span class="lineno"> 2135</span>&#160;    <span class="keywordflow">if</span> (len &gt; 0) {</div>
-<div class="line"><a name="l02136"></a><span class="lineno"> 2136</span>&#160;      res = <a class="code" href="dtls_8c.html#a00f6591bce49f6122dab9827c8774ba3">dtls_send_server_key_exchange_psk</a>(ctx, peer, psk_hint, (<span class="keywordtype">size_t</span>)len);</div>
-<div class="line"><a name="l02137"></a><span class="lineno"> 2137</span>&#160;</div>
-<div class="line"><a name="l02138"></a><span class="lineno"> 2138</span>&#160;      <span class="keywordflow">if</span> (res &lt; 0) {</div>
-<div class="line"><a name="l02139"></a><span class="lineno"> 2139</span>&#160;    <a class="code" href="debug_8h.html#a0f158325426415d9efb5a36bebf45844">dtls_debug</a>(<span class="stringliteral">&quot;dtls_server_key_exchange_psk: cannot send server key exchange record\n&quot;</span>);</div>
-<div class="line"><a name="l02140"></a><span class="lineno"> 2140</span>&#160;    <span class="keywordflow">return</span> res;</div>
-<div class="line"><a name="l02141"></a><span class="lineno"> 2141</span>&#160;      }</div>
-<div class="line"><a name="l02142"></a><span class="lineno"> 2142</span>&#160;    }</div>
-<div class="line"><a name="l02143"></a><span class="lineno"> 2143</span>&#160;  }</div>
-<div class="line"><a name="l02144"></a><span class="lineno"> 2144</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* DTLS_PSK */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l02145"></a><span class="lineno"> 2145</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l02146"></a><span class="lineno"> 2146</span>&#160;  res = <a class="code" href="dtls_8c.html#ad6ebff8518bb1d53ba888baf6898ee21">dtls_send_server_hello_done</a>(ctx, peer);</div>
-<div class="line"><a name="l02147"></a><span class="lineno"> 2147</span>&#160;</div>
-<div class="line"><a name="l02148"></a><span class="lineno"> 2148</span>&#160;  <span class="keywordflow">if</span> (res &lt; 0) {</div>
-<div class="line"><a name="l02149"></a><span class="lineno"> 2149</span>&#160;    <a class="code" href="debug_8h.html#a0f158325426415d9efb5a36bebf45844">dtls_debug</a>(<span class="stringliteral">&quot;dtls_server_hello: cannot prepare ServerHelloDone record\n&quot;</span>);</div>
-<div class="line"><a name="l02150"></a><span class="lineno"> 2150</span>&#160;    <span class="keywordflow">return</span> res;</div>
-<div class="line"><a name="l02151"></a><span class="lineno"> 2151</span>&#160;  }</div>
-<div class="line"><a name="l02152"></a><span class="lineno"> 2152</span>&#160;  <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l02153"></a><span class="lineno"> 2153</span>&#160;}</div>
-<div class="line"><a name="l02154"></a><span class="lineno"> 2154</span>&#160;</div>
-<div class="line"><a name="l02155"></a><span class="lineno"> 2155</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l02156"></a><span class="lineno"><a class="line" href="dtls_8c.html#a9cfb3c9e63f378d0d8e3d3d0c60537a5"> 2156</a></span>&#160;<a class="code" href="dtls_8c.html#a9cfb3c9e63f378d0d8e3d3d0c60537a5">dtls_send_ccs</a>(<a class="code" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *peer) {</div>
-<div class="line"><a name="l02157"></a><span class="lineno"> 2157</span>&#160;  <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> buf[1] = {1};</div>
-<div class="line"><a name="l02158"></a><span class="lineno"> 2158</span>&#160;</div>
-<div class="line"><a name="l02159"></a><span class="lineno"> 2159</span>&#160;  <span class="keywordflow">return</span> <a class="code" href="dtls_8c.html#afdd0d094bfd136f65455e23fda087cd6">dtls_send</a>(ctx, peer, <a class="code" href="dtls_8h.html#a3114c327a12e3850e97c4cf8a0cc5c9d">DTLS_CT_CHANGE_CIPHER_SPEC</a>, buf, 1);</div>
-<div class="line"><a name="l02160"></a><span class="lineno"> 2160</span>&#160;}</div>
-<div class="line"><a name="l02161"></a><span class="lineno"> 2161</span>&#160;</div>
-<div class="line"><a name="l02162"></a><span class="lineno"> 2162</span>&#160;    </div>
-<div class="line"><a name="l02163"></a><span class="lineno"> 2163</span>&#160;<span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l02164"></a><span class="lineno"><a class="line" href="dtls_8c.html#a12e4cab07baba9eae2a0182f4e0bf72d"> 2164</a></span>&#160;<a class="code" href="dtls_8c.html#a12e4cab07baba9eae2a0182f4e0bf72d">dtls_send_client_key_exchange</a>(<a class="code" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *peer)</div>
-<div class="line"><a name="l02165"></a><span class="lineno"> 2165</span>&#160;{</div>
-<div class="line"><a name="l02166"></a><span class="lineno"> 2166</span>&#160;  <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> buf[<a class="code" href="dtls_8c.html#a5ddccf12706c8d18d80b7759454ca164">DTLS_CKXEC_LENGTH</a>];</div>
-<div class="line"><a name="l02167"></a><span class="lineno"> 2167</span>&#160;  <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *p;</div>
-<div class="line"><a name="l02168"></a><span class="lineno"> 2168</span>&#160;  <a class="code" href="structdtls__handshake__parameters__t.html">dtls_handshake_parameters_t</a> *handshake = peer-&gt;<a class="code" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">handshake_params</a>;</div>
-<div class="line"><a name="l02169"></a><span class="lineno"> 2169</span>&#160;</div>
-<div class="line"><a name="l02170"></a><span class="lineno"> 2170</span>&#160;  p = buf;</div>
-<div class="line"><a name="l02171"></a><span class="lineno"> 2171</span>&#160;</div>
-<div class="line"><a name="l02172"></a><span class="lineno"> 2172</span>&#160;  <span class="keywordflow">switch</span> (handshake-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a5cc61a98763800b5b4e7617307649933">cipher</a>) {</div>
-<div class="line"><a name="l02173"></a><span class="lineno"> 2173</span>&#160;<span class="preprocessor">#ifdef DTLS_PSK</span></div>
-<div class="line"><a name="l02174"></a><span class="lineno"> 2174</span>&#160;<span class="preprocessor"></span>  <span class="keywordflow">case</span> <a class="code" href="global_8h.html#ada7e71454d685b693df45b2c1ea0c59ba39a3062f136db88f648ce514a591fac8">TLS_PSK_WITH_AES_128_CCM_8</a>: {</div>
-<div class="line"><a name="l02175"></a><span class="lineno"> 2175</span>&#160;    <span class="keywordtype">int</span> len;</div>
-<div class="line"><a name="l02176"></a><span class="lineno"> 2176</span>&#160;</div>
-<div class="line"><a name="l02177"></a><span class="lineno"> 2177</span>&#160;    len = <a class="code" href="dtls_8c.html#a3e132aba78de736930255d40ef3f2d34">CALL</a>(ctx, get_psk_info, &amp;peer-&gt;<a class="code" href="structdtls__peer__t.html#a44ebb2ba643269c7e6943f3a9040febe">session</a>, <a class="code" href="dtls_8h.html#a36eda3add5e2d12a3b5e2b6fe7038e01adb8cac45614b2bc4e66970b64043cfc2">DTLS_PSK_IDENTITY</a>,</div>
-<div class="line"><a name="l02178"></a><span class="lineno"> 2178</span>&#160;           handshake-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a483b158f8fc86e45e7c0fc603a66925f">keyx</a>.psk.identity, handshake-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a483b158f8fc86e45e7c0fc603a66925f">keyx</a>.psk.id_length,</div>
-<div class="line"><a name="l02179"></a><span class="lineno"> 2179</span>&#160;           buf + <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>),</div>
-<div class="line"><a name="l02180"></a><span class="lineno"> 2180</span>&#160;           <a class="code" href="debug_8c.html#ac6afabdc09a49a433ee19d8a9486056d">min</a>(<span class="keyword">sizeof</span>(buf) - <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>),</div>
-<div class="line"><a name="l02181"></a><span class="lineno"> 2181</span>&#160;           <span class="keyword">sizeof</span>(handshake-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a483b158f8fc86e45e7c0fc603a66925f">keyx</a>.psk.identity)));</div>
-<div class="line"><a name="l02182"></a><span class="lineno"> 2182</span>&#160;    <span class="keywordflow">if</span> (len &lt; 0) {</div>
-<div class="line"><a name="l02183"></a><span class="lineno"> 2183</span>&#160;      <a class="code" href="debug_8h.html#ad4c9c94c054579b73789fead587c8514">dtls_crit</a>(<span class="stringliteral">&quot;no psk identity set in kx\n&quot;</span>);</div>
-<div class="line"><a name="l02184"></a><span class="lineno"> 2184</span>&#160;      <span class="keywordflow">return</span> len;</div>
-<div class="line"><a name="l02185"></a><span class="lineno"> 2185</span>&#160;    }</div>
-<div class="line"><a name="l02186"></a><span class="lineno"> 2186</span>&#160;</div>
-<div class="line"><a name="l02187"></a><span class="lineno"> 2187</span>&#160;    <span class="keywordflow">if</span> (len + <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>) &gt; <a class="code" href="dtls_8c.html#a5ddccf12706c8d18d80b7759454ca164">DTLS_CKXEC_LENGTH</a>) {</div>
-<div class="line"><a name="l02188"></a><span class="lineno"> 2188</span>&#160;      memset(&amp;handshake-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a483b158f8fc86e45e7c0fc603a66925f">keyx</a>.psk, 0, <span class="keyword">sizeof</span>(<a class="code" href="structdtls__handshake__parameters__psk__t.html">dtls_handshake_parameters_psk_t</a>));</div>
-<div class="line"><a name="l02189"></a><span class="lineno"> 2189</span>&#160;      <a class="code" href="debug_8h.html#ae1c22127c92fab70da7bf9cae8536e5c">dtls_warn</a>(<span class="stringliteral">&quot;the psk identity is too long\n&quot;</span>);</div>
-<div class="line"><a name="l02190"></a><span class="lineno"> 2190</span>&#160;      <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda22948f7c825b68cc18c79bd3634c8f58">DTLS_ALERT_INTERNAL_ERROR</a>);</div>
-<div class="line"><a name="l02191"></a><span class="lineno"> 2191</span>&#160;    }</div>
-<div class="line"><a name="l02192"></a><span class="lineno"> 2192</span>&#160;    handshake-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a483b158f8fc86e45e7c0fc603a66925f">keyx</a>.psk.id_length = (<span class="keywordtype">unsigned</span> int)len;</div>
-<div class="line"><a name="l02193"></a><span class="lineno"> 2193</span>&#160;    memcpy(handshake-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a483b158f8fc86e45e7c0fc603a66925f">keyx</a>.psk.identity, p + <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>), len);</div>
-<div class="line"><a name="l02194"></a><span class="lineno"> 2194</span>&#160;</div>
-<div class="line"><a name="l02195"></a><span class="lineno"> 2195</span>&#160;    <a class="code" href="numeric_8h.html#a074d352855e1ffde4c2ddb6a6fea01b9">dtls_int_to_uint16</a>(p, handshake-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a483b158f8fc86e45e7c0fc603a66925f">keyx</a>.psk.id_length);</div>
-<div class="line"><a name="l02196"></a><span class="lineno"> 2196</span>&#160;    p += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>);</div>
-<div class="line"><a name="l02197"></a><span class="lineno"> 2197</span>&#160;</div>
-<div class="line"><a name="l02198"></a><span class="lineno"> 2198</span>&#160;    memcpy(p, handshake-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a483b158f8fc86e45e7c0fc603a66925f">keyx</a>.psk.identity, handshake-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a483b158f8fc86e45e7c0fc603a66925f">keyx</a>.psk.id_length);</div>
-<div class="line"><a name="l02199"></a><span class="lineno"> 2199</span>&#160;    p += handshake-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a483b158f8fc86e45e7c0fc603a66925f">keyx</a>.psk.id_length;</div>
-<div class="line"><a name="l02200"></a><span class="lineno"> 2200</span>&#160;</div>
-<div class="line"><a name="l02201"></a><span class="lineno"> 2201</span>&#160;    <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l02202"></a><span class="lineno"> 2202</span>&#160;  }</div>
-<div class="line"><a name="l02203"></a><span class="lineno"> 2203</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* DTLS_PSK */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l02204"></a><span class="lineno"> 2204</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#ifdef DTLS_ECC</span></div>
-<div class="line"><a name="l02205"></a><span class="lineno"> 2205</span>&#160;<span class="preprocessor"></span>  <span class="keywordflow">case</span> <a class="code" href="global_8h.html#ada7e71454d685b693df45b2c1ea0c59ba197892e216f63ddbc91c2b006a2d4c1e">TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8</a>: {</div>
-<div class="line"><a name="l02206"></a><span class="lineno"> 2206</span>&#160;    <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *ephemeral_pub_x;</div>
-<div class="line"><a name="l02207"></a><span class="lineno"> 2207</span>&#160;    <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *ephemeral_pub_y;</div>
-<div class="line"><a name="l02208"></a><span class="lineno"> 2208</span>&#160;</div>
-<div class="line"><a name="l02209"></a><span class="lineno"> 2209</span>&#160;    <a class="code" href="numeric_8h.html#a7b602967e2fc28b0be02bd4585e255d0">dtls_int_to_uint8</a>(p, 1 + 2 * <a class="code" href="crypto_8h.html#a9b039263057e157e1427c5d316133c3d">DTLS_EC_KEY_SIZE</a>);</div>
-<div class="line"><a name="l02210"></a><span class="lineno"> 2210</span>&#160;    p += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>);</div>
-<div class="line"><a name="l02211"></a><span class="lineno"> 2211</span>&#160;</div>
-<div class="line"><a name="l02212"></a><span class="lineno"> 2212</span>&#160;    <span class="comment">/* This should be an uncompressed point, but I do not have access to the spec. */</span></div>
-<div class="line"><a name="l02213"></a><span class="lineno"> 2213</span>&#160;    <a class="code" href="numeric_8h.html#a7b602967e2fc28b0be02bd4585e255d0">dtls_int_to_uint8</a>(p, 4);</div>
-<div class="line"><a name="l02214"></a><span class="lineno"> 2214</span>&#160;    p += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>);</div>
-<div class="line"><a name="l02215"></a><span class="lineno"> 2215</span>&#160;</div>
-<div class="line"><a name="l02216"></a><span class="lineno"> 2216</span>&#160;    ephemeral_pub_x = p;</div>
-<div class="line"><a name="l02217"></a><span class="lineno"> 2217</span>&#160;    p += <a class="code" href="crypto_8h.html#a9b039263057e157e1427c5d316133c3d">DTLS_EC_KEY_SIZE</a>;</div>
-<div class="line"><a name="l02218"></a><span class="lineno"> 2218</span>&#160;    ephemeral_pub_y = p;</div>
-<div class="line"><a name="l02219"></a><span class="lineno"> 2219</span>&#160;    p += <a class="code" href="crypto_8h.html#a9b039263057e157e1427c5d316133c3d">DTLS_EC_KEY_SIZE</a>;</div>
-<div class="line"><a name="l02220"></a><span class="lineno"> 2220</span>&#160;</div>
-<div class="line"><a name="l02221"></a><span class="lineno"> 2221</span>&#160;    <a class="code" href="crypto_8c.html#a982fc9e78cd10d9323756b15b72c7970">dtls_ecdsa_generate_key</a>(peer-&gt;<a class="code" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">handshake_params</a>-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a483b158f8fc86e45e7c0fc603a66925f">keyx</a>.ecdsa.own_eph_priv,</div>
-<div class="line"><a name="l02222"></a><span class="lineno"> 2222</span>&#160;                    ephemeral_pub_x, ephemeral_pub_y,</div>
-<div class="line"><a name="l02223"></a><span class="lineno"> 2223</span>&#160;                    <a class="code" href="crypto_8h.html#a9b039263057e157e1427c5d316133c3d">DTLS_EC_KEY_SIZE</a>);</div>
-<div class="line"><a name="l02224"></a><span class="lineno"> 2224</span>&#160;</div>
-<div class="line"><a name="l02225"></a><span class="lineno"> 2225</span>&#160;    <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l02226"></a><span class="lineno"> 2226</span>&#160;  }</div>
-<div class="line"><a name="l02227"></a><span class="lineno"> 2227</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* DTLS_ECC */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l02228"></a><span class="lineno"> 2228</span>&#160;<span class="preprocessor"></span>  <span class="keywordflow">default</span>:</div>
-<div class="line"><a name="l02229"></a><span class="lineno"> 2229</span>&#160;    <a class="code" href="debug_8h.html#ad4c9c94c054579b73789fead587c8514">dtls_crit</a>(<span class="stringliteral">&quot;cipher not supported\n&quot;</span>);</div>
-<div class="line"><a name="l02230"></a><span class="lineno"> 2230</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda22948f7c825b68cc18c79bd3634c8f58">DTLS_ALERT_INTERNAL_ERROR</a>);</div>
-<div class="line"><a name="l02231"></a><span class="lineno"> 2231</span>&#160;  }</div>
-<div class="line"><a name="l02232"></a><span class="lineno"> 2232</span>&#160;</div>
-<div class="line"><a name="l02233"></a><span class="lineno"> 2233</span>&#160;  assert(p - buf &lt;= <span class="keyword">sizeof</span>(buf));</div>
-<div class="line"><a name="l02234"></a><span class="lineno"> 2234</span>&#160;</div>
-<div class="line"><a name="l02235"></a><span class="lineno"> 2235</span>&#160;  <span class="keywordflow">return</span> <a class="code" href="dtls_8c.html#a872c53139e76cab7ec387cc54ae1a11b">dtls_send_handshake_msg</a>(ctx, peer, <a class="code" href="dtls_8h.html#a577885c74492a460729a451f33a894c4">DTLS_HT_CLIENT_KEY_EXCHANGE</a>,</div>
-<div class="line"><a name="l02236"></a><span class="lineno"> 2236</span>&#160;                 buf, p - buf);</div>
-<div class="line"><a name="l02237"></a><span class="lineno"> 2237</span>&#160;}</div>
-<div class="line"><a name="l02238"></a><span class="lineno"> 2238</span>&#160;</div>
-<div class="line"><a name="l02239"></a><span class="lineno"> 2239</span>&#160;<span class="preprocessor">#ifdef DTLS_ECC</span></div>
-<div class="line"><a name="l02240"></a><span class="lineno"> 2240</span>&#160;<span class="preprocessor"></span><span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l02241"></a><span class="lineno"><a class="line" href="dtls_8c.html#adfe6fc0d0d66e9ffaef25c2c126b1c34"> 2241</a></span>&#160;<a class="code" href="dtls_8c.html#adfe6fc0d0d66e9ffaef25c2c126b1c34">dtls_send_certificate_verify_ecdh</a>(<a class="code" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *peer,</div>
-<div class="line"><a name="l02242"></a><span class="lineno"> 2242</span>&#160;                   <span class="keyword">const</span> <a class="code" href="structdtls__ecdsa__key__t.html">dtls_ecdsa_key_t</a> *key)</div>
-<div class="line"><a name="l02243"></a><span class="lineno"> 2243</span>&#160;{</div>
-<div class="line"><a name="l02244"></a><span class="lineno"> 2244</span>&#160;  <span class="comment">/* The ASN.1 Integer representation of an 32 byte unsigned int could be</span></div>
-<div class="line"><a name="l02245"></a><span class="lineno"> 2245</span>&#160;<span class="comment">   * 33 bytes long add space for that */</span></div>
-<div class="line"><a name="l02246"></a><span class="lineno"> 2246</span>&#160;  <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> buf[<a class="code" href="dtls_8c.html#a0bcce8fa79dc3187eb5f1655798ac816">DTLS_CV_LENGTH</a> + 2];</div>
-<div class="line"><a name="l02247"></a><span class="lineno"> 2247</span>&#160;  <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *p;</div>
-<div class="line"><a name="l02248"></a><span class="lineno"> 2248</span>&#160;  uint32_t point_r[9];</div>
-<div class="line"><a name="l02249"></a><span class="lineno"> 2249</span>&#160;  uint32_t point_s[9];</div>
-<div class="line"><a name="l02250"></a><span class="lineno"> 2250</span>&#160;  <a class="code" href="hmac_8h.html#abb19650a510c73117da0e9b88d68f159">dtls_hash_ctx</a> hs_hash;</div>
-<div class="line"><a name="l02251"></a><span class="lineno"> 2251</span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> sha256hash[<a class="code" href="group__HMAC.html#ga060019cf2dab9903d58118fe1abe7018">DTLS_HMAC_DIGEST_SIZE</a>];</div>
-<div class="line"><a name="l02252"></a><span class="lineno"> 2252</span>&#160;</div>
-<div class="line"><a name="l02253"></a><span class="lineno"> 2253</span>&#160;  <span class="comment">/* ServerKeyExchange </span></div>
-<div class="line"><a name="l02254"></a><span class="lineno"> 2254</span>&#160;<span class="comment">   *</span></div>
-<div class="line"><a name="l02255"></a><span class="lineno"> 2255</span>&#160;<span class="comment">   * Start message construction at beginning of buffer. */</span></div>
-<div class="line"><a name="l02256"></a><span class="lineno"> 2256</span>&#160;  p = buf;</div>
-<div class="line"><a name="l02257"></a><span class="lineno"> 2257</span>&#160;</div>
-<div class="line"><a name="l02258"></a><span class="lineno"> 2258</span>&#160;  <a class="code" href="dtls_8c.html#a22ab7a79391c2204337237949d69dad8">copy_hs_hash</a>(peer, &amp;hs_hash);</div>
-<div class="line"><a name="l02259"></a><span class="lineno"> 2259</span>&#160;</div>
-<div class="line"><a name="l02260"></a><span class="lineno"> 2260</span>&#160;  <a class="code" href="hmac_8h.html#a96801bbb62f4c9c872b22cd8e438e51e">dtls_hash_finalize</a>(sha256hash, &amp;hs_hash);</div>
-<div class="line"><a name="l02261"></a><span class="lineno"> 2261</span>&#160;</div>
-<div class="line"><a name="l02262"></a><span class="lineno"> 2262</span>&#160;  <span class="comment">/* sign the ephemeral and its paramaters */</span></div>
-<div class="line"><a name="l02263"></a><span class="lineno"> 2263</span>&#160;  <a class="code" href="crypto_8c.html#a49f03039780664684d110d83a228b163">dtls_ecdsa_create_sig_hash</a>(key-&gt;<a class="code" href="structdtls__ecdsa__key__t.html#a91769609f44590f193d726187ab366de">priv_key</a>, <a class="code" href="crypto_8h.html#a9b039263057e157e1427c5d316133c3d">DTLS_EC_KEY_SIZE</a>,</div>
-<div class="line"><a name="l02264"></a><span class="lineno"> 2264</span>&#160;                 sha256hash, <span class="keyword">sizeof</span>(sha256hash),</div>
-<div class="line"><a name="l02265"></a><span class="lineno"> 2265</span>&#160;                 point_r, point_s);</div>
-<div class="line"><a name="l02266"></a><span class="lineno"> 2266</span>&#160;</div>
-<div class="line"><a name="l02267"></a><span class="lineno"> 2267</span>&#160;  p = <a class="code" href="dtls_8c.html#a7d7af4d19c7abef4583c1667ec449a5d">dtls_add_ecdsa_signature_elem</a>(p, point_r, point_s);</div>
-<div class="line"><a name="l02268"></a><span class="lineno"> 2268</span>&#160;</div>
-<div class="line"><a name="l02269"></a><span class="lineno"> 2269</span>&#160;  assert(p - buf &lt;= <span class="keyword">sizeof</span>(buf));</div>
-<div class="line"><a name="l02270"></a><span class="lineno"> 2270</span>&#160;</div>
-<div class="line"><a name="l02271"></a><span class="lineno"> 2271</span>&#160;  <span class="keywordflow">return</span> <a class="code" href="dtls_8c.html#a872c53139e76cab7ec387cc54ae1a11b">dtls_send_handshake_msg</a>(ctx, peer, <a class="code" href="dtls_8h.html#a9abc650dd8339a227ddd165ede9350d0">DTLS_HT_CERTIFICATE_VERIFY</a>,</div>
-<div class="line"><a name="l02272"></a><span class="lineno"> 2272</span>&#160;                 buf, p - buf);</div>
-<div class="line"><a name="l02273"></a><span class="lineno"> 2273</span>&#160;}</div>
-<div class="line"><a name="l02274"></a><span class="lineno"> 2274</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* DTLS_ECC */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l02275"></a><span class="lineno"> 2275</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l02276"></a><span class="lineno"> 2276</span>&#160;<span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l02277"></a><span class="lineno"><a class="line" href="dtls_8c.html#a112e0d83a0e576b5d22df60241900a67"> 2277</a></span>&#160;<a class="code" href="dtls_8c.html#a112e0d83a0e576b5d22df60241900a67">dtls_send_finished</a>(<a class="code" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *peer,</div>
-<div class="line"><a name="l02278"></a><span class="lineno"> 2278</span>&#160;           <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *label, <span class="keywordtype">size_t</span> labellen)</div>
-<div class="line"><a name="l02279"></a><span class="lineno"> 2279</span>&#160;{</div>
-<div class="line"><a name="l02280"></a><span class="lineno"> 2280</span>&#160;  <span class="keywordtype">int</span> length;</div>
-<div class="line"><a name="l02281"></a><span class="lineno"> 2281</span>&#160;  <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> hash[<a class="code" href="group__HMAC.html#ga3e84ddbef6bf0084252e16e6c547e332">DTLS_HMAC_MAX</a>];</div>
-<div class="line"><a name="l02282"></a><span class="lineno"> 2282</span>&#160;  <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> buf[<a class="code" href="dtls_8c.html#a21644ea2de742395df1e3b3281ba4f63">DTLS_FIN_LENGTH</a>];</div>
-<div class="line"><a name="l02283"></a><span class="lineno"> 2283</span>&#160;  <a class="code" href="hmac_8h.html#abb19650a510c73117da0e9b88d68f159">dtls_hash_ctx</a> hs_hash;</div>
-<div class="line"><a name="l02284"></a><span class="lineno"> 2284</span>&#160;  <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *p = buf;</div>
-<div class="line"><a name="l02285"></a><span class="lineno"> 2285</span>&#160;</div>
-<div class="line"><a name="l02286"></a><span class="lineno"> 2286</span>&#160;  <a class="code" href="dtls_8c.html#a22ab7a79391c2204337237949d69dad8">copy_hs_hash</a>(peer, &amp;hs_hash);</div>
-<div class="line"><a name="l02287"></a><span class="lineno"> 2287</span>&#160;</div>
-<div class="line"><a name="l02288"></a><span class="lineno"> 2288</span>&#160;  length = <a class="code" href="hmac_8h.html#a96801bbb62f4c9c872b22cd8e438e51e">dtls_hash_finalize</a>(hash, &amp;hs_hash);</div>
-<div class="line"><a name="l02289"></a><span class="lineno"> 2289</span>&#160;</div>
-<div class="line"><a name="l02290"></a><span class="lineno"> 2290</span>&#160;  <a class="code" href="crypto_8c.html#a5e47576e502b5a6255f1b489a4915512">dtls_prf</a>(peer-&gt;<a class="code" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">handshake_params</a>-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#ac27a2063a8136615971f8d591afdd01f">tmp</a>.<a class="code" href="structdtls__handshake__parameters__t.html#a21ba88c7b062772beb75c5570d257898">master_secret</a>,</div>
-<div class="line"><a name="l02291"></a><span class="lineno"> 2291</span>&#160;       <a class="code" href="crypto_8h.html#a2648582ddf4c82abc01d8388bd3f15db">DTLS_MASTER_SECRET_LENGTH</a>,</div>
-<div class="line"><a name="l02292"></a><span class="lineno"> 2292</span>&#160;       label, labellen,</div>
-<div class="line"><a name="l02293"></a><span class="lineno"> 2293</span>&#160;       <a class="code" href="dtls_8c.html#abac8adda40bcb694e059e38f6ac115f9">PRF_LABEL</a>(finished), <a class="code" href="dtls_8c.html#a83b260e812e69f1dae18497d167770a9">PRF_LABEL_SIZE</a>(finished), </div>
-<div class="line"><a name="l02294"></a><span class="lineno"> 2294</span>&#160;       hash, length,</div>
-<div class="line"><a name="l02295"></a><span class="lineno"> 2295</span>&#160;       p, <a class="code" href="dtls_8c.html#a21644ea2de742395df1e3b3281ba4f63">DTLS_FIN_LENGTH</a>);</div>
-<div class="line"><a name="l02296"></a><span class="lineno"> 2296</span>&#160;</div>
-<div class="line"><a name="l02297"></a><span class="lineno"> 2297</span>&#160;  <a class="code" href="debug_8h.html#ab27d2c7cae1e8022e93562ecda9140b6">dtls_debug_dump</a>(<span class="stringliteral">&quot;server finished MAC&quot;</span>, p, <a class="code" href="dtls_8c.html#a21644ea2de742395df1e3b3281ba4f63">DTLS_FIN_LENGTH</a>);</div>
-<div class="line"><a name="l02298"></a><span class="lineno"> 2298</span>&#160;</div>
-<div class="line"><a name="l02299"></a><span class="lineno"> 2299</span>&#160;  p += <a class="code" href="dtls_8c.html#a21644ea2de742395df1e3b3281ba4f63">DTLS_FIN_LENGTH</a>;</div>
-<div class="line"><a name="l02300"></a><span class="lineno"> 2300</span>&#160;</div>
-<div class="line"><a name="l02301"></a><span class="lineno"> 2301</span>&#160;  assert(p - buf &lt;= <span class="keyword">sizeof</span>(buf));</div>
-<div class="line"><a name="l02302"></a><span class="lineno"> 2302</span>&#160;</div>
-<div class="line"><a name="l02303"></a><span class="lineno"> 2303</span>&#160;  <span class="keywordflow">return</span> <a class="code" href="dtls_8c.html#a872c53139e76cab7ec387cc54ae1a11b">dtls_send_handshake_msg</a>(ctx, peer, <a class="code" href="dtls_8h.html#a16b49d03e041d43b60e1b7bacf35daad">DTLS_HT_FINISHED</a>,</div>
-<div class="line"><a name="l02304"></a><span class="lineno"> 2304</span>&#160;                 buf, p - buf);</div>
-<div class="line"><a name="l02305"></a><span class="lineno"> 2305</span>&#160;}</div>
-<div class="line"><a name="l02306"></a><span class="lineno"> 2306</span>&#160;</div>
-<div class="line"><a name="l02307"></a><span class="lineno"> 2307</span>&#160;<span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l02308"></a><span class="lineno"><a class="line" href="dtls_8c.html#aecd3ffe8bf8a3970d3e091ce8e7c6476"> 2308</a></span>&#160;<a class="code" href="dtls_8c.html#aecd3ffe8bf8a3970d3e091ce8e7c6476">dtls_send_client_hello</a>(<a class="code" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *peer,</div>
-<div class="line"><a name="l02309"></a><span class="lineno"> 2309</span>&#160;                       <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> cookie[], <span class="keywordtype">size_t</span> cookie_length) {</div>
-<div class="line"><a name="l02310"></a><span class="lineno"> 2310</span>&#160;  <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> buf[<a class="code" href="dtls_8c.html#aa5a4609da11d9496490853de9c2bf6fa">DTLS_CH_LENGTH_MAX</a>];</div>
-<div class="line"><a name="l02311"></a><span class="lineno"> 2311</span>&#160;  <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *p = buf;</div>
-<div class="line"><a name="l02312"></a><span class="lineno"> 2312</span>&#160;  uint8_t cipher_size;</div>
-<div class="line"><a name="l02313"></a><span class="lineno"> 2313</span>&#160;  uint8_t extension_size;</div>
-<div class="line"><a name="l02314"></a><span class="lineno"> 2314</span>&#160;  <span class="keywordtype">int</span> psk;</div>
-<div class="line"><a name="l02315"></a><span class="lineno"> 2315</span>&#160;  <span class="keywordtype">int</span> ecdsa;</div>
-<div class="line"><a name="l02316"></a><span class="lineno"> 2316</span>&#160;  <a class="code" href="structdtls__handshake__parameters__t.html">dtls_handshake_parameters_t</a> *handshake = peer-&gt;<a class="code" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">handshake_params</a>;</div>
-<div class="line"><a name="l02317"></a><span class="lineno"> 2317</span>&#160;  <a class="code" href="group__clock.html#gaded617551180951f4841969e396a8012">dtls_tick_t</a> now;</div>
-<div class="line"><a name="l02318"></a><span class="lineno"> 2318</span>&#160;</div>
-<div class="line"><a name="l02319"></a><span class="lineno"> 2319</span>&#160;  psk = <a class="code" href="dtls_8c.html#a3bbccb275cb23e84c0a148a157955770">is_psk_supported</a>(ctx);</div>
-<div class="line"><a name="l02320"></a><span class="lineno"> 2320</span>&#160;  ecdsa = <a class="code" href="dtls_8c.html#abb41f4bb9b8e4218ef5115ce70ebdc21">is_ecdsa_supported</a>(ctx, 1);</div>
-<div class="line"><a name="l02321"></a><span class="lineno"> 2321</span>&#160;</div>
-<div class="line"><a name="l02322"></a><span class="lineno"> 2322</span>&#160;  cipher_size = 2 + ((ecdsa) ? 2 : 0) + ((psk) ? 2 : 0);</div>
-<div class="line"><a name="l02323"></a><span class="lineno"> 2323</span>&#160;  extension_size = (ecdsa) ? 2 + 6 + 6 + 8 + 6: 0;</div>
-<div class="line"><a name="l02324"></a><span class="lineno"> 2324</span>&#160;</div>
-<div class="line"><a name="l02325"></a><span class="lineno"> 2325</span>&#160;  <span class="keywordflow">if</span> (cipher_size == 0) {</div>
-<div class="line"><a name="l02326"></a><span class="lineno"> 2326</span>&#160;    <a class="code" href="debug_8h.html#ad4c9c94c054579b73789fead587c8514">dtls_crit</a>(<span class="stringliteral">&quot;no cipher callbacks implemented\n&quot;</span>);</div>
-<div class="line"><a name="l02327"></a><span class="lineno"> 2327</span>&#160;  }</div>
-<div class="line"><a name="l02328"></a><span class="lineno"> 2328</span>&#160;</div>
-<div class="line"><a name="l02329"></a><span class="lineno"> 2329</span>&#160;  <a class="code" href="numeric_8h.html#a074d352855e1ffde4c2ddb6a6fea01b9">dtls_int_to_uint16</a>(p, <a class="code" href="dtls_8h.html#af0c44db3bf3a6a52e9ed271218daeaa6">DTLS_VERSION</a>);</div>
-<div class="line"><a name="l02330"></a><span class="lineno"> 2330</span>&#160;  p += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>);</div>
-<div class="line"><a name="l02331"></a><span class="lineno"> 2331</span>&#160;</div>
-<div class="line"><a name="l02332"></a><span class="lineno"> 2332</span>&#160;  <span class="keywordflow">if</span> (cookie_length &gt; <a class="code" href="dtls_8c.html#abd652cf0e4512727591d3ec8ca066ace">DTLS_COOKIE_LENGTH_MAX</a>) {</div>
-<div class="line"><a name="l02333"></a><span class="lineno"> 2333</span>&#160;    <a class="code" href="debug_8h.html#ae1c22127c92fab70da7bf9cae8536e5c">dtls_warn</a>(<span class="stringliteral">&quot;the cookie is too long\n&quot;</span>);</div>
-<div class="line"><a name="l02334"></a><span class="lineno"> 2334</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdaea5ed33e912421eb48afb73ce0a6014d">DTLS_ALERT_HANDSHAKE_FAILURE</a>);</div>
-<div class="line"><a name="l02335"></a><span class="lineno"> 2335</span>&#160;  }</div>
-<div class="line"><a name="l02336"></a><span class="lineno"> 2336</span>&#160;</div>
-<div class="line"><a name="l02337"></a><span class="lineno"> 2337</span>&#160;  <span class="keywordflow">if</span> (cookie_length == 0) {</div>
-<div class="line"><a name="l02338"></a><span class="lineno"> 2338</span>&#160;    <span class="comment">/* Set client random: First 4 bytes are the client&#39;s Unix timestamp,</span></div>
-<div class="line"><a name="l02339"></a><span class="lineno"> 2339</span>&#160;<span class="comment">     * followed by 28 bytes of generate random data. */</span></div>
-<div class="line"><a name="l02340"></a><span class="lineno"> 2340</span>&#160;    <a class="code" href="group__clock.html#ga1834985745ba5d3dd03f7e7498e3a304">dtls_ticks</a>(&amp;now);</div>
-<div class="line"><a name="l02341"></a><span class="lineno"> 2341</span>&#160;    <a class="code" href="numeric_8h.html#a6914ee523b27539f4e441bede8c072b4">dtls_int_to_uint32</a>(handshake-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#ac27a2063a8136615971f8d591afdd01f">tmp</a>.<a class="code" href="structdtls__handshake__parameters__t.html#a5c4e7bb5d4d890200a176cfe13c6fb9a">random</a>.client, now / <a class="code" href="group__clock.html#gae3ced0551b26c9b99cb45a86f34d100a">CLOCK_SECOND</a>);</div>
-<div class="line"><a name="l02342"></a><span class="lineno"> 2342</span>&#160;    <a class="code" href="group__prng.html#ga3f4036a1abfcec552ab583a2dc37be6c">dtls_prng</a>(handshake-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#ac27a2063a8136615971f8d591afdd01f">tmp</a>.<a class="code" href="structdtls__handshake__parameters__t.html#a5c4e7bb5d4d890200a176cfe13c6fb9a">random</a>.client + <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#ab27072920285996a3e16d2e5e3d366be">uint32</a>),</div>
-<div class="line"><a name="l02343"></a><span class="lineno"> 2343</span>&#160;         <a class="code" href="crypto_8h.html#a5a0bdff7c0889f35601b4935098508a0">DTLS_RANDOM_LENGTH</a> - <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#ab27072920285996a3e16d2e5e3d366be">uint32</a>));</div>
-<div class="line"><a name="l02344"></a><span class="lineno"> 2344</span>&#160;  }</div>
-<div class="line"><a name="l02345"></a><span class="lineno"> 2345</span>&#160;  <span class="comment">/* we must use the same Client Random as for the previous request */</span></div>
-<div class="line"><a name="l02346"></a><span class="lineno"> 2346</span>&#160;  memcpy(p, handshake-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#ac27a2063a8136615971f8d591afdd01f">tmp</a>.<a class="code" href="structdtls__handshake__parameters__t.html#a5c4e7bb5d4d890200a176cfe13c6fb9a">random</a>.client, <a class="code" href="crypto_8h.html#a5a0bdff7c0889f35601b4935098508a0">DTLS_RANDOM_LENGTH</a>);</div>
-<div class="line"><a name="l02347"></a><span class="lineno"> 2347</span>&#160;  p += <a class="code" href="crypto_8h.html#a5a0bdff7c0889f35601b4935098508a0">DTLS_RANDOM_LENGTH</a>;</div>
-<div class="line"><a name="l02348"></a><span class="lineno"> 2348</span>&#160;</div>
-<div class="line"><a name="l02349"></a><span class="lineno"> 2349</span>&#160;  <span class="comment">/* session id (length 0) */</span></div>
-<div class="line"><a name="l02350"></a><span class="lineno"> 2350</span>&#160;  <a class="code" href="numeric_8h.html#a7b602967e2fc28b0be02bd4585e255d0">dtls_int_to_uint8</a>(p, 0);</div>
-<div class="line"><a name="l02351"></a><span class="lineno"> 2351</span>&#160;  p += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>);</div>
-<div class="line"><a name="l02352"></a><span class="lineno"> 2352</span>&#160;</div>
-<div class="line"><a name="l02353"></a><span class="lineno"> 2353</span>&#160;  <span class="comment">/* cookie */</span></div>
-<div class="line"><a name="l02354"></a><span class="lineno"> 2354</span>&#160;  <a class="code" href="numeric_8h.html#a7b602967e2fc28b0be02bd4585e255d0">dtls_int_to_uint8</a>(p, cookie_length);</div>
-<div class="line"><a name="l02355"></a><span class="lineno"> 2355</span>&#160;  p += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>);</div>
-<div class="line"><a name="l02356"></a><span class="lineno"> 2356</span>&#160;  <span class="keywordflow">if</span> (cookie_length != 0) {</div>
-<div class="line"><a name="l02357"></a><span class="lineno"> 2357</span>&#160;    memcpy(p, cookie, cookie_length);</div>
-<div class="line"><a name="l02358"></a><span class="lineno"> 2358</span>&#160;    p += cookie_length;</div>
-<div class="line"><a name="l02359"></a><span class="lineno"> 2359</span>&#160;  }</div>
-<div class="line"><a name="l02360"></a><span class="lineno"> 2360</span>&#160;</div>
-<div class="line"><a name="l02361"></a><span class="lineno"> 2361</span>&#160;  <span class="comment">/* add known cipher(s) */</span></div>
-<div class="line"><a name="l02362"></a><span class="lineno"> 2362</span>&#160;  <a class="code" href="numeric_8h.html#a074d352855e1ffde4c2ddb6a6fea01b9">dtls_int_to_uint16</a>(p, cipher_size - 2);</div>
-<div class="line"><a name="l02363"></a><span class="lineno"> 2363</span>&#160;  p += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>);</div>
-<div class="line"><a name="l02364"></a><span class="lineno"> 2364</span>&#160;</div>
-<div class="line"><a name="l02365"></a><span class="lineno"> 2365</span>&#160;  <span class="keywordflow">if</span> (ecdsa) {</div>
-<div class="line"><a name="l02366"></a><span class="lineno"> 2366</span>&#160;    <a class="code" href="numeric_8h.html#a074d352855e1ffde4c2ddb6a6fea01b9">dtls_int_to_uint16</a>(p, <a class="code" href="global_8h.html#ada7e71454d685b693df45b2c1ea0c59ba197892e216f63ddbc91c2b006a2d4c1e">TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8</a>);</div>
-<div class="line"><a name="l02367"></a><span class="lineno"> 2367</span>&#160;    p += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>);</div>
-<div class="line"><a name="l02368"></a><span class="lineno"> 2368</span>&#160;  }</div>
-<div class="line"><a name="l02369"></a><span class="lineno"> 2369</span>&#160;  <span class="keywordflow">if</span> (psk) {</div>
-<div class="line"><a name="l02370"></a><span class="lineno"> 2370</span>&#160;    <a class="code" href="numeric_8h.html#a074d352855e1ffde4c2ddb6a6fea01b9">dtls_int_to_uint16</a>(p, <a class="code" href="global_8h.html#ada7e71454d685b693df45b2c1ea0c59ba39a3062f136db88f648ce514a591fac8">TLS_PSK_WITH_AES_128_CCM_8</a>);</div>
-<div class="line"><a name="l02371"></a><span class="lineno"> 2371</span>&#160;    p += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>);</div>
-<div class="line"><a name="l02372"></a><span class="lineno"> 2372</span>&#160;  }</div>
-<div class="line"><a name="l02373"></a><span class="lineno"> 2373</span>&#160;</div>
-<div class="line"><a name="l02374"></a><span class="lineno"> 2374</span>&#160;  <span class="comment">/* compression method */</span></div>
-<div class="line"><a name="l02375"></a><span class="lineno"> 2375</span>&#160;  <a class="code" href="numeric_8h.html#a7b602967e2fc28b0be02bd4585e255d0">dtls_int_to_uint8</a>(p, 1);</div>
-<div class="line"><a name="l02376"></a><span class="lineno"> 2376</span>&#160;  p += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>);</div>
-<div class="line"><a name="l02377"></a><span class="lineno"> 2377</span>&#160;</div>
-<div class="line"><a name="l02378"></a><span class="lineno"> 2378</span>&#160;  <a class="code" href="numeric_8h.html#a7b602967e2fc28b0be02bd4585e255d0">dtls_int_to_uint8</a>(p, <a class="code" href="global_8h.html#a1ff555e0b1443c4cb4d17ac2161d89b2ac5b79ee16e8c0e46873fa63fdb1ab9ca">TLS_COMPRESSION_NULL</a>);</div>
-<div class="line"><a name="l02379"></a><span class="lineno"> 2379</span>&#160;  p += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>);</div>
-<div class="line"><a name="l02380"></a><span class="lineno"> 2380</span>&#160;</div>
-<div class="line"><a name="l02381"></a><span class="lineno"> 2381</span>&#160;  <span class="keywordflow">if</span> (extension_size) {</div>
-<div class="line"><a name="l02382"></a><span class="lineno"> 2382</span>&#160;    <span class="comment">/* length of the extensions */</span></div>
-<div class="line"><a name="l02383"></a><span class="lineno"> 2383</span>&#160;    <a class="code" href="numeric_8h.html#a074d352855e1ffde4c2ddb6a6fea01b9">dtls_int_to_uint16</a>(p, extension_size - 2);</div>
-<div class="line"><a name="l02384"></a><span class="lineno"> 2384</span>&#160;    p += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>);</div>
-<div class="line"><a name="l02385"></a><span class="lineno"> 2385</span>&#160;  }</div>
-<div class="line"><a name="l02386"></a><span class="lineno"> 2386</span>&#160;</div>
-<div class="line"><a name="l02387"></a><span class="lineno"> 2387</span>&#160;  <span class="keywordflow">if</span> (ecdsa) {</div>
-<div class="line"><a name="l02388"></a><span class="lineno"> 2388</span>&#160;    <span class="comment">/* client certificate type extension */</span></div>
-<div class="line"><a name="l02389"></a><span class="lineno"> 2389</span>&#160;    <a class="code" href="numeric_8h.html#a074d352855e1ffde4c2ddb6a6fea01b9">dtls_int_to_uint16</a>(p, <a class="code" href="global_8h.html#a0074adc0b2543a913a597e510caf27b0">TLS_EXT_CLIENT_CERTIFICATE_TYPE</a>);</div>
-<div class="line"><a name="l02390"></a><span class="lineno"> 2390</span>&#160;    p += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>);</div>
-<div class="line"><a name="l02391"></a><span class="lineno"> 2391</span>&#160;</div>
-<div class="line"><a name="l02392"></a><span class="lineno"> 2392</span>&#160;    <span class="comment">/* length of this extension type */</span></div>
-<div class="line"><a name="l02393"></a><span class="lineno"> 2393</span>&#160;    <a class="code" href="numeric_8h.html#a074d352855e1ffde4c2ddb6a6fea01b9">dtls_int_to_uint16</a>(p, 2);</div>
-<div class="line"><a name="l02394"></a><span class="lineno"> 2394</span>&#160;    p += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>);</div>
-<div class="line"><a name="l02395"></a><span class="lineno"> 2395</span>&#160;</div>
-<div class="line"><a name="l02396"></a><span class="lineno"> 2396</span>&#160;    <span class="comment">/* length of the list */</span></div>
-<div class="line"><a name="l02397"></a><span class="lineno"> 2397</span>&#160;    <a class="code" href="numeric_8h.html#a7b602967e2fc28b0be02bd4585e255d0">dtls_int_to_uint8</a>(p, 1);</div>
-<div class="line"><a name="l02398"></a><span class="lineno"> 2398</span>&#160;    p += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>);</div>
-<div class="line"><a name="l02399"></a><span class="lineno"> 2399</span>&#160;</div>
-<div class="line"><a name="l02400"></a><span class="lineno"> 2400</span>&#160;    <a class="code" href="numeric_8h.html#a7b602967e2fc28b0be02bd4585e255d0">dtls_int_to_uint8</a>(p, <a class="code" href="global_8h.html#af36d51830256b7d1bf4dbaa8590c19e4">TLS_CERT_TYPE_RAW_PUBLIC_KEY</a>);</div>
-<div class="line"><a name="l02401"></a><span class="lineno"> 2401</span>&#160;    p += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>);</div>
-<div class="line"><a name="l02402"></a><span class="lineno"> 2402</span>&#160;</div>
-<div class="line"><a name="l02403"></a><span class="lineno"> 2403</span>&#160;    <span class="comment">/* client certificate type extension */</span></div>
-<div class="line"><a name="l02404"></a><span class="lineno"> 2404</span>&#160;    <a class="code" href="numeric_8h.html#a074d352855e1ffde4c2ddb6a6fea01b9">dtls_int_to_uint16</a>(p, <a class="code" href="global_8h.html#ad465b86d1841ddd6c2209ff304895a95">TLS_EXT_SERVER_CERTIFICATE_TYPE</a>);</div>
-<div class="line"><a name="l02405"></a><span class="lineno"> 2405</span>&#160;    p += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>);</div>
-<div class="line"><a name="l02406"></a><span class="lineno"> 2406</span>&#160;</div>
-<div class="line"><a name="l02407"></a><span class="lineno"> 2407</span>&#160;    <span class="comment">/* length of this extension type */</span></div>
-<div class="line"><a name="l02408"></a><span class="lineno"> 2408</span>&#160;    <a class="code" href="numeric_8h.html#a074d352855e1ffde4c2ddb6a6fea01b9">dtls_int_to_uint16</a>(p, 2);</div>
-<div class="line"><a name="l02409"></a><span class="lineno"> 2409</span>&#160;    p += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>);</div>
-<div class="line"><a name="l02410"></a><span class="lineno"> 2410</span>&#160;</div>
-<div class="line"><a name="l02411"></a><span class="lineno"> 2411</span>&#160;    <span class="comment">/* length of the list */</span></div>
-<div class="line"><a name="l02412"></a><span class="lineno"> 2412</span>&#160;    <a class="code" href="numeric_8h.html#a7b602967e2fc28b0be02bd4585e255d0">dtls_int_to_uint8</a>(p, 1);</div>
-<div class="line"><a name="l02413"></a><span class="lineno"> 2413</span>&#160;    p += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>);</div>
-<div class="line"><a name="l02414"></a><span class="lineno"> 2414</span>&#160;</div>
-<div class="line"><a name="l02415"></a><span class="lineno"> 2415</span>&#160;    <a class="code" href="numeric_8h.html#a7b602967e2fc28b0be02bd4585e255d0">dtls_int_to_uint8</a>(p, <a class="code" href="global_8h.html#af36d51830256b7d1bf4dbaa8590c19e4">TLS_CERT_TYPE_RAW_PUBLIC_KEY</a>);</div>
-<div class="line"><a name="l02416"></a><span class="lineno"> 2416</span>&#160;    p += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>);</div>
-<div class="line"><a name="l02417"></a><span class="lineno"> 2417</span>&#160;</div>
-<div class="line"><a name="l02418"></a><span class="lineno"> 2418</span>&#160;    <span class="comment">/* elliptic_curves */</span></div>
-<div class="line"><a name="l02419"></a><span class="lineno"> 2419</span>&#160;    <a class="code" href="numeric_8h.html#a074d352855e1ffde4c2ddb6a6fea01b9">dtls_int_to_uint16</a>(p, <a class="code" href="global_8h.html#a7e080d630a40510f655bf6982c555063">TLS_EXT_ELLIPTIC_CURVES</a>);</div>
-<div class="line"><a name="l02420"></a><span class="lineno"> 2420</span>&#160;    p += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>);</div>
-<div class="line"><a name="l02421"></a><span class="lineno"> 2421</span>&#160;</div>
-<div class="line"><a name="l02422"></a><span class="lineno"> 2422</span>&#160;    <span class="comment">/* length of this extension type */</span></div>
-<div class="line"><a name="l02423"></a><span class="lineno"> 2423</span>&#160;    <a class="code" href="numeric_8h.html#a074d352855e1ffde4c2ddb6a6fea01b9">dtls_int_to_uint16</a>(p, 4);</div>
-<div class="line"><a name="l02424"></a><span class="lineno"> 2424</span>&#160;    p += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>);</div>
-<div class="line"><a name="l02425"></a><span class="lineno"> 2425</span>&#160;</div>
-<div class="line"><a name="l02426"></a><span class="lineno"> 2426</span>&#160;    <span class="comment">/* length of the list */</span></div>
-<div class="line"><a name="l02427"></a><span class="lineno"> 2427</span>&#160;    <a class="code" href="numeric_8h.html#a074d352855e1ffde4c2ddb6a6fea01b9">dtls_int_to_uint16</a>(p, 2);</div>
-<div class="line"><a name="l02428"></a><span class="lineno"> 2428</span>&#160;    p += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>);</div>
-<div class="line"><a name="l02429"></a><span class="lineno"> 2429</span>&#160;</div>
-<div class="line"><a name="l02430"></a><span class="lineno"> 2430</span>&#160;    <a class="code" href="numeric_8h.html#a074d352855e1ffde4c2ddb6a6fea01b9">dtls_int_to_uint16</a>(p, <a class="code" href="global_8h.html#a8095691f33c0ce6b22d205640ccc9417">TLS_EXT_ELLIPTIC_CURVES_SECP256R1</a>);</div>
-<div class="line"><a name="l02431"></a><span class="lineno"> 2431</span>&#160;    p += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>);</div>
-<div class="line"><a name="l02432"></a><span class="lineno"> 2432</span>&#160;</div>
-<div class="line"><a name="l02433"></a><span class="lineno"> 2433</span>&#160;    <span class="comment">/* ec_point_formats */</span></div>
-<div class="line"><a name="l02434"></a><span class="lineno"> 2434</span>&#160;    <a class="code" href="numeric_8h.html#a074d352855e1ffde4c2ddb6a6fea01b9">dtls_int_to_uint16</a>(p, <a class="code" href="global_8h.html#a5d17863db920927ef8160547541b58e3">TLS_EXT_EC_POINT_FORMATS</a>);</div>
-<div class="line"><a name="l02435"></a><span class="lineno"> 2435</span>&#160;    p += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>);</div>
-<div class="line"><a name="l02436"></a><span class="lineno"> 2436</span>&#160;</div>
-<div class="line"><a name="l02437"></a><span class="lineno"> 2437</span>&#160;    <span class="comment">/* length of this extension type */</span></div>
-<div class="line"><a name="l02438"></a><span class="lineno"> 2438</span>&#160;    <a class="code" href="numeric_8h.html#a074d352855e1ffde4c2ddb6a6fea01b9">dtls_int_to_uint16</a>(p, 2);</div>
-<div class="line"><a name="l02439"></a><span class="lineno"> 2439</span>&#160;    p += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>);</div>
-<div class="line"><a name="l02440"></a><span class="lineno"> 2440</span>&#160;</div>
-<div class="line"><a name="l02441"></a><span class="lineno"> 2441</span>&#160;    <span class="comment">/* number of supported formats */</span></div>
-<div class="line"><a name="l02442"></a><span class="lineno"> 2442</span>&#160;    <a class="code" href="numeric_8h.html#a7b602967e2fc28b0be02bd4585e255d0">dtls_int_to_uint8</a>(p, 1);</div>
-<div class="line"><a name="l02443"></a><span class="lineno"> 2443</span>&#160;    p += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>);</div>
-<div class="line"><a name="l02444"></a><span class="lineno"> 2444</span>&#160;</div>
-<div class="line"><a name="l02445"></a><span class="lineno"> 2445</span>&#160;    <a class="code" href="numeric_8h.html#a7b602967e2fc28b0be02bd4585e255d0">dtls_int_to_uint8</a>(p, <a class="code" href="global_8h.html#af086ed2d0aea096be56bf7e46f8f72a6">TLS_EXT_EC_POINT_FORMATS_UNCOMPRESSED</a>);</div>
-<div class="line"><a name="l02446"></a><span class="lineno"> 2446</span>&#160;    p += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>);</div>
-<div class="line"><a name="l02447"></a><span class="lineno"> 2447</span>&#160;  }</div>
-<div class="line"><a name="l02448"></a><span class="lineno"> 2448</span>&#160;</div>
-<div class="line"><a name="l02449"></a><span class="lineno"> 2449</span>&#160;  assert(p - buf &lt;= <span class="keyword">sizeof</span>(buf));</div>
-<div class="line"><a name="l02450"></a><span class="lineno"> 2450</span>&#160;</div>
-<div class="line"><a name="l02451"></a><span class="lineno"> 2451</span>&#160;  <span class="keywordflow">if</span> (cookie_length != 0)</div>
-<div class="line"><a name="l02452"></a><span class="lineno"> 2452</span>&#160;    <a class="code" href="dtls_8c.html#a82181208ec1e9f42896f0606e0036c1d">clear_hs_hash</a>(peer);</div>
-<div class="line"><a name="l02453"></a><span class="lineno"> 2453</span>&#160;</div>
-<div class="line"><a name="l02454"></a><span class="lineno"> 2454</span>&#160;  <span class="keywordflow">return</span> <a class="code" href="dtls_8c.html#a4f06884f659f6a5120be7e0b86d29880">dtls_send_handshake_msg_hash</a>(ctx, peer, &amp;peer-&gt;<a class="code" href="structdtls__peer__t.html#a44ebb2ba643269c7e6943f3a9040febe">session</a>,</div>
-<div class="line"><a name="l02455"></a><span class="lineno"> 2455</span>&#160;                      <a class="code" href="dtls_8h.html#a25f0afef67a1fd8d9e3e61074d11e2f5">DTLS_HT_CLIENT_HELLO</a>,</div>
-<div class="line"><a name="l02456"></a><span class="lineno"> 2456</span>&#160;                      buf, p - buf, cookie_length != 0);</div>
-<div class="line"><a name="l02457"></a><span class="lineno"> 2457</span>&#160;}</div>
-<div class="line"><a name="l02458"></a><span class="lineno"> 2458</span>&#160;</div>
-<div class="line"><a name="l02459"></a><span class="lineno"> 2459</span>&#160;<span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l02460"></a><span class="lineno"><a class="line" href="dtls_8c.html#afcc64c0abfd9b157b71a47e5a5a78b26"> 2460</a></span>&#160;<a class="code" href="dtls_8c.html#afcc64c0abfd9b157b71a47e5a5a78b26">check_server_hello</a>(<a class="code" href="structdtls__context__t.html">dtls_context_t</a> *ctx, </div>
-<div class="line"><a name="l02461"></a><span class="lineno"> 2461</span>&#160;              <a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *peer,</div>
-<div class="line"><a name="l02462"></a><span class="lineno"> 2462</span>&#160;              <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *data, <span class="keywordtype">size_t</span> data_length)</div>
-<div class="line"><a name="l02463"></a><span class="lineno"> 2463</span>&#160;{</div>
-<div class="line"><a name="l02464"></a><span class="lineno"> 2464</span>&#160;  <a class="code" href="structdtls__handshake__parameters__t.html">dtls_handshake_parameters_t</a> *handshake = peer-&gt;<a class="code" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">handshake_params</a>;</div>
-<div class="line"><a name="l02465"></a><span class="lineno"> 2465</span>&#160;</div>
-<div class="line"><a name="l02466"></a><span class="lineno"> 2466</span>&#160;  <span class="comment">/* This function is called when we expect a ServerHello (i.e. we</span></div>
-<div class="line"><a name="l02467"></a><span class="lineno"> 2467</span>&#160;<span class="comment">   * have sent a ClientHello).  We might instead receive a HelloVerify</span></div>
-<div class="line"><a name="l02468"></a><span class="lineno"> 2468</span>&#160;<span class="comment">   * request containing a cookie. If so, we must repeat the</span></div>
-<div class="line"><a name="l02469"></a><span class="lineno"> 2469</span>&#160;<span class="comment">   * ClientHello with the given Cookie.</span></div>
-<div class="line"><a name="l02470"></a><span class="lineno"> 2470</span>&#160;<span class="comment">   */</span></div>
-<div class="line"><a name="l02471"></a><span class="lineno"> 2471</span>&#160;  <span class="keywordflow">if</span> (data_length &lt; <a class="code" href="dtls_8c.html#a520419d1976b301c508721faed549b4f">DTLS_HS_LENGTH</a> + <a class="code" href="dtls_8c.html#a520419d1976b301c508721faed549b4f">DTLS_HS_LENGTH</a>)</div>
-<div class="line"><a name="l02472"></a><span class="lineno"> 2472</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdae3249841cb226881ce6dadffb9f22649">DTLS_ALERT_DECODE_ERROR</a>);</div>
-<div class="line"><a name="l02473"></a><span class="lineno"> 2473</span>&#160;</div>
-<div class="line"><a name="l02474"></a><span class="lineno"> 2474</span>&#160;  <a class="code" href="dtls_8c.html#a3db09acb5894f17f4745d7556555bea7">update_hs_hash</a>(peer, data, data_length);</div>
-<div class="line"><a name="l02475"></a><span class="lineno"> 2475</span>&#160;</div>
-<div class="line"><a name="l02476"></a><span class="lineno"> 2476</span>&#160;  <span class="comment">/* FIXME: check data_length before accessing fields */</span></div>
-<div class="line"><a name="l02477"></a><span class="lineno"> 2477</span>&#160;</div>
-<div class="line"><a name="l02478"></a><span class="lineno"> 2478</span>&#160;  <span class="comment">/* Get the server&#39;s random data and store selected cipher suite</span></div>
-<div class="line"><a name="l02479"></a><span class="lineno"> 2479</span>&#160;<span class="comment">   * and compression method (like dtls_update_parameters().</span></div>
-<div class="line"><a name="l02480"></a><span class="lineno"> 2480</span>&#160;<span class="comment">   * Then calculate master secret and wait for ServerHelloDone. When received,</span></div>
-<div class="line"><a name="l02481"></a><span class="lineno"> 2481</span>&#160;<span class="comment">   * send ClientKeyExchange (?) and ChangeCipherSpec + ClientFinished. */</span></div>
-<div class="line"><a name="l02482"></a><span class="lineno"> 2482</span>&#160;    </div>
-<div class="line"><a name="l02483"></a><span class="lineno"> 2483</span>&#160;  <span class="comment">/* check server version */</span></div>
-<div class="line"><a name="l02484"></a><span class="lineno"> 2484</span>&#160;  data += <a class="code" href="dtls_8c.html#a520419d1976b301c508721faed549b4f">DTLS_HS_LENGTH</a>;</div>
-<div class="line"><a name="l02485"></a><span class="lineno"> 2485</span>&#160;  data_length -= <a class="code" href="dtls_8c.html#a520419d1976b301c508721faed549b4f">DTLS_HS_LENGTH</a>;</div>
-<div class="line"><a name="l02486"></a><span class="lineno"> 2486</span>&#160;    </div>
-<div class="line"><a name="l02487"></a><span class="lineno"> 2487</span>&#160;  <span class="keywordflow">if</span> (<a class="code" href="numeric_8h.html#ae32dd0743658f1aa5a723d5a8357521f">dtls_uint16_to_int</a>(data) != <a class="code" href="dtls_8h.html#af0c44db3bf3a6a52e9ed271218daeaa6">DTLS_VERSION</a>) {</div>
-<div class="line"><a name="l02488"></a><span class="lineno"> 2488</span>&#160;    <a class="code" href="debug_8h.html#ab22e3494f6186183820142ba279fe9ae">dtls_alert</a>(<span class="stringliteral">&quot;unknown DTLS version\n&quot;</span>);</div>
-<div class="line"><a name="l02489"></a><span class="lineno"> 2489</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdaa392c9a6bb02b01386a1c34dc1947652">DTLS_ALERT_PROTOCOL_VERSION</a>);</div>
-<div class="line"><a name="l02490"></a><span class="lineno"> 2490</span>&#160;  }</div>
-<div class="line"><a name="l02491"></a><span class="lineno"> 2491</span>&#160;</div>
-<div class="line"><a name="l02492"></a><span class="lineno"> 2492</span>&#160;  data += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>);         <span class="comment">/* skip version field */</span></div>
-<div class="line"><a name="l02493"></a><span class="lineno"> 2493</span>&#160;  data_length -= <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>);</div>
-<div class="line"><a name="l02494"></a><span class="lineno"> 2494</span>&#160;</div>
-<div class="line"><a name="l02495"></a><span class="lineno"> 2495</span>&#160;  <span class="comment">/* store server random data */</span></div>
-<div class="line"><a name="l02496"></a><span class="lineno"> 2496</span>&#160;  memcpy(handshake-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#ac27a2063a8136615971f8d591afdd01f">tmp</a>.<a class="code" href="structdtls__handshake__parameters__t.html#a5c4e7bb5d4d890200a176cfe13c6fb9a">random</a>.server, data, <a class="code" href="crypto_8h.html#a5a0bdff7c0889f35601b4935098508a0">DTLS_RANDOM_LENGTH</a>);</div>
-<div class="line"><a name="l02497"></a><span class="lineno"> 2497</span>&#160;  <span class="comment">/* skip server random */</span></div>
-<div class="line"><a name="l02498"></a><span class="lineno"> 2498</span>&#160;  data += <a class="code" href="crypto_8h.html#a5a0bdff7c0889f35601b4935098508a0">DTLS_RANDOM_LENGTH</a>;</div>
-<div class="line"><a name="l02499"></a><span class="lineno"> 2499</span>&#160;  data_length -= <a class="code" href="crypto_8h.html#a5a0bdff7c0889f35601b4935098508a0">DTLS_RANDOM_LENGTH</a>;</div>
-<div class="line"><a name="l02500"></a><span class="lineno"> 2500</span>&#160;</div>
-<div class="line"><a name="l02501"></a><span class="lineno"> 2501</span>&#160;  <a class="code" href="dtls_8c.html#a09a0896d586ff27855ced6930cc17023">SKIP_VAR_FIELD</a>(data, data_length, <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>); <span class="comment">/* skip session id */</span></div>
-<div class="line"><a name="l02502"></a><span class="lineno"> 2502</span>&#160;    </div>
-<div class="line"><a name="l02503"></a><span class="lineno"> 2503</span>&#160;  <span class="comment">/* Check cipher suite. As we offer all we have, it is sufficient</span></div>
-<div class="line"><a name="l02504"></a><span class="lineno"> 2504</span>&#160;<span class="comment">   * to check if the cipher suite selected by the server is in our</span></div>
-<div class="line"><a name="l02505"></a><span class="lineno"> 2505</span>&#160;<span class="comment">   * list of known cipher suites. Subsets are not supported. */</span></div>
-<div class="line"><a name="l02506"></a><span class="lineno"> 2506</span>&#160;  handshake-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a5cc61a98763800b5b4e7617307649933">cipher</a> = <a class="code" href="numeric_8h.html#ae32dd0743658f1aa5a723d5a8357521f">dtls_uint16_to_int</a>(data);</div>
-<div class="line"><a name="l02507"></a><span class="lineno"> 2507</span>&#160;  <span class="keywordflow">if</span> (!<a class="code" href="dtls_8c.html#a37965d10b44a63ea6adbf28b9dc79b75">known_cipher</a>(ctx, handshake-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a5cc61a98763800b5b4e7617307649933">cipher</a>, 1)) {</div>
-<div class="line"><a name="l02508"></a><span class="lineno"> 2508</span>&#160;    <a class="code" href="debug_8h.html#ab22e3494f6186183820142ba279fe9ae">dtls_alert</a>(<span class="stringliteral">&quot;unsupported cipher 0x%02x 0x%02x\n&quot;</span>,</div>
-<div class="line"><a name="l02509"></a><span class="lineno"> 2509</span>&#160;         data[0], data[1]);</div>
-<div class="line"><a name="l02510"></a><span class="lineno"> 2510</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda2cc56008c097883058c0e2e8ecc6751e">DTLS_ALERT_INSUFFICIENT_SECURITY</a>);</div>
-<div class="line"><a name="l02511"></a><span class="lineno"> 2511</span>&#160;  }</div>
-<div class="line"><a name="l02512"></a><span class="lineno"> 2512</span>&#160;  data += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>);</div>
-<div class="line"><a name="l02513"></a><span class="lineno"> 2513</span>&#160;  data_length -= <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>);</div>
-<div class="line"><a name="l02514"></a><span class="lineno"> 2514</span>&#160;</div>
-<div class="line"><a name="l02515"></a><span class="lineno"> 2515</span>&#160;  <span class="comment">/* Check if NULL compression was selected. We do not know any other. */</span></div>
-<div class="line"><a name="l02516"></a><span class="lineno"> 2516</span>&#160;  <span class="keywordflow">if</span> (<a class="code" href="numeric_8h.html#a7293cc28604d896cfef802b53b0ad99f">dtls_uint8_to_int</a>(data) != <a class="code" href="global_8h.html#a1ff555e0b1443c4cb4d17ac2161d89b2ac5b79ee16e8c0e46873fa63fdb1ab9ca">TLS_COMPRESSION_NULL</a>) {</div>
-<div class="line"><a name="l02517"></a><span class="lineno"> 2517</span>&#160;    <a class="code" href="debug_8h.html#ab22e3494f6186183820142ba279fe9ae">dtls_alert</a>(<span class="stringliteral">&quot;unsupported compression method 0x%02x\n&quot;</span>, data[0]);</div>
-<div class="line"><a name="l02518"></a><span class="lineno"> 2518</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda2cc56008c097883058c0e2e8ecc6751e">DTLS_ALERT_INSUFFICIENT_SECURITY</a>);</div>
-<div class="line"><a name="l02519"></a><span class="lineno"> 2519</span>&#160;  }</div>
-<div class="line"><a name="l02520"></a><span class="lineno"> 2520</span>&#160;  data += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>);</div>
-<div class="line"><a name="l02521"></a><span class="lineno"> 2521</span>&#160;  data_length -= <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>);</div>
-<div class="line"><a name="l02522"></a><span class="lineno"> 2522</span>&#160;</div>
-<div class="line"><a name="l02523"></a><span class="lineno"> 2523</span>&#160;  <span class="keywordflow">return</span> <a class="code" href="dtls_8c.html#ad8c8390d0a1592207c4ea6dd0a623a9a">dtls_check_tls_extension</a>(peer, data, data_length, 0);</div>
-<div class="line"><a name="l02524"></a><span class="lineno"> 2524</span>&#160;</div>
-<div class="line"><a name="l02525"></a><span class="lineno"> 2525</span>&#160;error:</div>
-<div class="line"><a name="l02526"></a><span class="lineno"> 2526</span>&#160;  <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdae3249841cb226881ce6dadffb9f22649">DTLS_ALERT_DECODE_ERROR</a>);</div>
-<div class="line"><a name="l02527"></a><span class="lineno"> 2527</span>&#160;}</div>
-<div class="line"><a name="l02528"></a><span class="lineno"> 2528</span>&#160;</div>
-<div class="line"><a name="l02529"></a><span class="lineno"> 2529</span>&#160;<span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l02530"></a><span class="lineno"><a class="line" href="dtls_8c.html#a2b598b29d3148bfc02e826d94bbc0642"> 2530</a></span>&#160;<a class="code" href="dtls_8c.html#a2b598b29d3148bfc02e826d94bbc0642">check_server_hello_verify_request</a>(<a class="code" href="structdtls__context__t.html">dtls_context_t</a> *ctx,</div>
-<div class="line"><a name="l02531"></a><span class="lineno"> 2531</span>&#160;                  <a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *peer,</div>
-<div class="line"><a name="l02532"></a><span class="lineno"> 2532</span>&#160;                  <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *data, <span class="keywordtype">size_t</span> data_length)</div>
-<div class="line"><a name="l02533"></a><span class="lineno"> 2533</span>&#160;{</div>
-<div class="line"><a name="l02534"></a><span class="lineno"> 2534</span>&#160;  <a class="code" href="dtls_8h.html#abd61d526ef995e63a6debfd8ddda9e98">dtls_hello_verify_t</a> *hv;</div>
-<div class="line"><a name="l02535"></a><span class="lineno"> 2535</span>&#160;  <span class="keywordtype">int</span> res;</div>
-<div class="line"><a name="l02536"></a><span class="lineno"> 2536</span>&#160;</div>
-<div class="line"><a name="l02537"></a><span class="lineno"> 2537</span>&#160;  <span class="keywordflow">if</span> (data_length &lt; <a class="code" href="dtls_8c.html#a520419d1976b301c508721faed549b4f">DTLS_HS_LENGTH</a> + <a class="code" href="dtls_8c.html#a85d3d5311baabdaa06b7824528eef4e5">DTLS_HV_LENGTH</a>)</div>
-<div class="line"><a name="l02538"></a><span class="lineno"> 2538</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdae3249841cb226881ce6dadffb9f22649">DTLS_ALERT_DECODE_ERROR</a>);</div>
-<div class="line"><a name="l02539"></a><span class="lineno"> 2539</span>&#160;</div>
-<div class="line"><a name="l02540"></a><span class="lineno"> 2540</span>&#160;  hv = (<a class="code" href="dtls_8h.html#abd61d526ef995e63a6debfd8ddda9e98">dtls_hello_verify_t</a> *)(data + <a class="code" href="dtls_8c.html#a520419d1976b301c508721faed549b4f">DTLS_HS_LENGTH</a>);</div>
-<div class="line"><a name="l02541"></a><span class="lineno"> 2541</span>&#160;</div>
-<div class="line"><a name="l02542"></a><span class="lineno"> 2542</span>&#160;  res = <a class="code" href="dtls_8c.html#aecd3ffe8bf8a3970d3e091ce8e7c6476">dtls_send_client_hello</a>(ctx, peer, hv-&gt;cookie, hv-&gt;cookie_length);</div>
-<div class="line"><a name="l02543"></a><span class="lineno"> 2543</span>&#160;</div>
-<div class="line"><a name="l02544"></a><span class="lineno"> 2544</span>&#160;  <span class="keywordflow">if</span> (res &lt; 0)</div>
-<div class="line"><a name="l02545"></a><span class="lineno"> 2545</span>&#160;    <a class="code" href="debug_8h.html#ae1c22127c92fab70da7bf9cae8536e5c">dtls_warn</a>(<span class="stringliteral">&quot;cannot send ClientHello\n&quot;</span>);</div>
-<div class="line"><a name="l02546"></a><span class="lineno"> 2546</span>&#160;</div>
-<div class="line"><a name="l02547"></a><span class="lineno"> 2547</span>&#160;  <span class="keywordflow">return</span> res;</div>
-<div class="line"><a name="l02548"></a><span class="lineno"> 2548</span>&#160;}</div>
-<div class="line"><a name="l02549"></a><span class="lineno"> 2549</span>&#160;</div>
-<div class="line"><a name="l02550"></a><span class="lineno"> 2550</span>&#160;<span class="preprocessor">#ifdef DTLS_ECC</span></div>
-<div class="line"><a name="l02551"></a><span class="lineno"> 2551</span>&#160;<span class="preprocessor"></span><span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l02552"></a><span class="lineno"><a class="line" href="dtls_8c.html#a88db0e7ffa0836761bef7b62ac3d2fb7"> 2552</a></span>&#160;<a class="code" href="dtls_8c.html#a88db0e7ffa0836761bef7b62ac3d2fb7">check_server_certificate</a>(<a class="code" href="structdtls__context__t.html">dtls_context_t</a> *ctx, </div>
-<div class="line"><a name="l02553"></a><span class="lineno"> 2553</span>&#160;             <a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *peer,</div>
-<div class="line"><a name="l02554"></a><span class="lineno"> 2554</span>&#160;             <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *data, <span class="keywordtype">size_t</span> data_length)</div>
-<div class="line"><a name="l02555"></a><span class="lineno"> 2555</span>&#160;{</div>
-<div class="line"><a name="l02556"></a><span class="lineno"> 2556</span>&#160;  <span class="keywordtype">int</span> err;</div>
-<div class="line"><a name="l02557"></a><span class="lineno"> 2557</span>&#160;  <a class="code" href="structdtls__handshake__parameters__t.html">dtls_handshake_parameters_t</a> *config = peer-&gt;<a class="code" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">handshake_params</a>;</div>
-<div class="line"><a name="l02558"></a><span class="lineno"> 2558</span>&#160;</div>
-<div class="line"><a name="l02559"></a><span class="lineno"> 2559</span>&#160;  <a class="code" href="dtls_8c.html#a3db09acb5894f17f4745d7556555bea7">update_hs_hash</a>(peer, data, data_length);</div>
-<div class="line"><a name="l02560"></a><span class="lineno"> 2560</span>&#160;</div>
-<div class="line"><a name="l02561"></a><span class="lineno"> 2561</span>&#160;  assert(<a class="code" href="dtls_8c.html#a8098a728e5fff33ceeb7f57ebd48a212">is_tls_ecdhe_ecdsa_with_aes_128_ccm_8</a>(config-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a5cc61a98763800b5b4e7617307649933">cipher</a>));</div>
-<div class="line"><a name="l02562"></a><span class="lineno"> 2562</span>&#160;</div>
-<div class="line"><a name="l02563"></a><span class="lineno"> 2563</span>&#160;  data += <a class="code" href="dtls_8c.html#a520419d1976b301c508721faed549b4f">DTLS_HS_LENGTH</a>;</div>
-<div class="line"><a name="l02564"></a><span class="lineno"> 2564</span>&#160;</div>
-<div class="line"><a name="l02565"></a><span class="lineno"> 2565</span>&#160;  <span class="keywordflow">if</span> (<a class="code" href="numeric_8h.html#a238931e9197ce422acfba569deb2af71">dtls_uint24_to_int</a>(data) != 94) {</div>
-<div class="line"><a name="l02566"></a><span class="lineno"> 2566</span>&#160;    <a class="code" href="debug_8h.html#ab22e3494f6186183820142ba279fe9ae">dtls_alert</a>(<span class="stringliteral">&quot;expect length of 94 bytes for server certificate message\n&quot;</span>);</div>
-<div class="line"><a name="l02567"></a><span class="lineno"> 2567</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdae3249841cb226881ce6dadffb9f22649">DTLS_ALERT_DECODE_ERROR</a>);</div>
-<div class="line"><a name="l02568"></a><span class="lineno"> 2568</span>&#160;  }</div>
-<div class="line"><a name="l02569"></a><span class="lineno"> 2569</span>&#160;  data += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#aabc56baaf04f922a1ea0dda7691fec0a">uint24</a>);</div>
-<div class="line"><a name="l02570"></a><span class="lineno"> 2570</span>&#160;</div>
-<div class="line"><a name="l02571"></a><span class="lineno"> 2571</span>&#160;  <span class="keywordflow">if</span> (<a class="code" href="numeric_8h.html#a238931e9197ce422acfba569deb2af71">dtls_uint24_to_int</a>(data) != 91) {</div>
-<div class="line"><a name="l02572"></a><span class="lineno"> 2572</span>&#160;    <a class="code" href="debug_8h.html#ab22e3494f6186183820142ba279fe9ae">dtls_alert</a>(<span class="stringliteral">&quot;expect length of 91 bytes for certificate\n&quot;</span>);</div>
-<div class="line"><a name="l02573"></a><span class="lineno"> 2573</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdae3249841cb226881ce6dadffb9f22649">DTLS_ALERT_DECODE_ERROR</a>);</div>
-<div class="line"><a name="l02574"></a><span class="lineno"> 2574</span>&#160;  }</div>
-<div class="line"><a name="l02575"></a><span class="lineno"> 2575</span>&#160;  data += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#aabc56baaf04f922a1ea0dda7691fec0a">uint24</a>);</div>
-<div class="line"><a name="l02576"></a><span class="lineno"> 2576</span>&#160;</div>
-<div class="line"><a name="l02577"></a><span class="lineno"> 2577</span>&#160;  <span class="keywordflow">if</span> (memcmp(data, <a class="code" href="dtls_8c.html#aecdb18ea2b899994542ec46b23528738">cert_asn1_header</a>, <span class="keyword">sizeof</span>(<a class="code" href="dtls_8c.html#aecdb18ea2b899994542ec46b23528738">cert_asn1_header</a>))) {</div>
-<div class="line"><a name="l02578"></a><span class="lineno"> 2578</span>&#160;    <a class="code" href="debug_8h.html#ab22e3494f6186183820142ba279fe9ae">dtls_alert</a>(<span class="stringliteral">&quot;got an unexpected Subject public key format\n&quot;</span>);</div>
-<div class="line"><a name="l02579"></a><span class="lineno"> 2579</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdae3249841cb226881ce6dadffb9f22649">DTLS_ALERT_DECODE_ERROR</a>);</div>
-<div class="line"><a name="l02580"></a><span class="lineno"> 2580</span>&#160;  }</div>
-<div class="line"><a name="l02581"></a><span class="lineno"> 2581</span>&#160;  data += <span class="keyword">sizeof</span>(<a class="code" href="dtls_8c.html#aecdb18ea2b899994542ec46b23528738">cert_asn1_header</a>);</div>
-<div class="line"><a name="l02582"></a><span class="lineno"> 2582</span>&#160;</div>
-<div class="line"><a name="l02583"></a><span class="lineno"> 2583</span>&#160;  memcpy(config-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a483b158f8fc86e45e7c0fc603a66925f">keyx</a>.ecdsa.other_pub_x, data,</div>
-<div class="line"><a name="l02584"></a><span class="lineno"> 2584</span>&#160;     <span class="keyword">sizeof</span>(config-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a483b158f8fc86e45e7c0fc603a66925f">keyx</a>.ecdsa.other_pub_x));</div>
-<div class="line"><a name="l02585"></a><span class="lineno"> 2585</span>&#160;  data += <span class="keyword">sizeof</span>(config-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a483b158f8fc86e45e7c0fc603a66925f">keyx</a>.ecdsa.other_pub_x);</div>
-<div class="line"><a name="l02586"></a><span class="lineno"> 2586</span>&#160;</div>
-<div class="line"><a name="l02587"></a><span class="lineno"> 2587</span>&#160;  memcpy(config-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a483b158f8fc86e45e7c0fc603a66925f">keyx</a>.ecdsa.other_pub_y, data,</div>
-<div class="line"><a name="l02588"></a><span class="lineno"> 2588</span>&#160;     <span class="keyword">sizeof</span>(config-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a483b158f8fc86e45e7c0fc603a66925f">keyx</a>.ecdsa.other_pub_y));</div>
-<div class="line"><a name="l02589"></a><span class="lineno"> 2589</span>&#160;  data += <span class="keyword">sizeof</span>(config-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a483b158f8fc86e45e7c0fc603a66925f">keyx</a>.ecdsa.other_pub_y);</div>
-<div class="line"><a name="l02590"></a><span class="lineno"> 2590</span>&#160;</div>
-<div class="line"><a name="l02591"></a><span class="lineno"> 2591</span>&#160;  err = <a class="code" href="dtls_8c.html#a3e132aba78de736930255d40ef3f2d34">CALL</a>(ctx, verify_ecdsa_key, &amp;peer-&gt;<a class="code" href="structdtls__peer__t.html#a44ebb2ba643269c7e6943f3a9040febe">session</a>,</div>
-<div class="line"><a name="l02592"></a><span class="lineno"> 2592</span>&#160;         config-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a483b158f8fc86e45e7c0fc603a66925f">keyx</a>.ecdsa.other_pub_x,</div>
-<div class="line"><a name="l02593"></a><span class="lineno"> 2593</span>&#160;         config-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a483b158f8fc86e45e7c0fc603a66925f">keyx</a>.ecdsa.other_pub_y,</div>
-<div class="line"><a name="l02594"></a><span class="lineno"> 2594</span>&#160;         <span class="keyword">sizeof</span>(config-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a483b158f8fc86e45e7c0fc603a66925f">keyx</a>.ecdsa.other_pub_x));</div>
-<div class="line"><a name="l02595"></a><span class="lineno"> 2595</span>&#160;  <span class="keywordflow">if</span> (err &lt; 0) {</div>
-<div class="line"><a name="l02596"></a><span class="lineno"> 2596</span>&#160;    <a class="code" href="debug_8h.html#ae1c22127c92fab70da7bf9cae8536e5c">dtls_warn</a>(<span class="stringliteral">&quot;The certificate was not accepted\n&quot;</span>);</div>
-<div class="line"><a name="l02597"></a><span class="lineno"> 2597</span>&#160;    <span class="keywordflow">return</span> err;</div>
-<div class="line"><a name="l02598"></a><span class="lineno"> 2598</span>&#160;  }</div>
-<div class="line"><a name="l02599"></a><span class="lineno"> 2599</span>&#160;</div>
-<div class="line"><a name="l02600"></a><span class="lineno"> 2600</span>&#160;  <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l02601"></a><span class="lineno"> 2601</span>&#160;}</div>
-<div class="line"><a name="l02602"></a><span class="lineno"> 2602</span>&#160;</div>
-<div class="line"><a name="l02603"></a><span class="lineno"> 2603</span>&#160;<span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l02604"></a><span class="lineno"><a class="line" href="dtls_8c.html#a3de5b3956733293d3e19d83d3cc8d9bb"> 2604</a></span>&#160;<a class="code" href="dtls_8c.html#a3de5b3956733293d3e19d83d3cc8d9bb">check_server_key_exchange_ecdsa</a>(<a class="code" href="structdtls__context__t.html">dtls_context_t</a> *ctx,</div>
-<div class="line"><a name="l02605"></a><span class="lineno"> 2605</span>&#160;                <a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *peer,</div>
-<div class="line"><a name="l02606"></a><span class="lineno"> 2606</span>&#160;                <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *data, <span class="keywordtype">size_t</span> data_length)</div>
-<div class="line"><a name="l02607"></a><span class="lineno"> 2607</span>&#160;{</div>
-<div class="line"><a name="l02608"></a><span class="lineno"> 2608</span>&#160;  <a class="code" href="structdtls__handshake__parameters__t.html">dtls_handshake_parameters_t</a> *config = peer-&gt;<a class="code" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">handshake_params</a>;</div>
-<div class="line"><a name="l02609"></a><span class="lineno"> 2609</span>&#160;  <span class="keywordtype">int</span> ret;</div>
-<div class="line"><a name="l02610"></a><span class="lineno"> 2610</span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *result_r;</div>
-<div class="line"><a name="l02611"></a><span class="lineno"> 2611</span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *result_s;</div>
-<div class="line"><a name="l02612"></a><span class="lineno"> 2612</span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *key_params;</div>
-<div class="line"><a name="l02613"></a><span class="lineno"> 2613</span>&#160;</div>
-<div class="line"><a name="l02614"></a><span class="lineno"> 2614</span>&#160;  <a class="code" href="dtls_8c.html#a3db09acb5894f17f4745d7556555bea7">update_hs_hash</a>(peer, data, data_length);</div>
-<div class="line"><a name="l02615"></a><span class="lineno"> 2615</span>&#160;</div>
-<div class="line"><a name="l02616"></a><span class="lineno"> 2616</span>&#160;  assert(<a class="code" href="dtls_8c.html#a8098a728e5fff33ceeb7f57ebd48a212">is_tls_ecdhe_ecdsa_with_aes_128_ccm_8</a>(config-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a5cc61a98763800b5b4e7617307649933">cipher</a>));</div>
-<div class="line"><a name="l02617"></a><span class="lineno"> 2617</span>&#160;</div>
-<div class="line"><a name="l02618"></a><span class="lineno"> 2618</span>&#160;  data += <a class="code" href="dtls_8c.html#a520419d1976b301c508721faed549b4f">DTLS_HS_LENGTH</a>;</div>
-<div class="line"><a name="l02619"></a><span class="lineno"> 2619</span>&#160;</div>
-<div class="line"><a name="l02620"></a><span class="lineno"> 2620</span>&#160;  <span class="keywordflow">if</span> (data_length &lt; <a class="code" href="dtls_8c.html#a520419d1976b301c508721faed549b4f">DTLS_HS_LENGTH</a> + <a class="code" href="dtls_8c.html#ad9481c39cd66eac3059df28aef1e9843">DTLS_SKEXEC_LENGTH</a>) {</div>
-<div class="line"><a name="l02621"></a><span class="lineno"> 2621</span>&#160;    <a class="code" href="debug_8h.html#ab22e3494f6186183820142ba279fe9ae">dtls_alert</a>(<span class="stringliteral">&quot;the packet length does not match the expected\n&quot;</span>);</div>
-<div class="line"><a name="l02622"></a><span class="lineno"> 2622</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdae3249841cb226881ce6dadffb9f22649">DTLS_ALERT_DECODE_ERROR</a>);</div>
-<div class="line"><a name="l02623"></a><span class="lineno"> 2623</span>&#160;  }</div>
-<div class="line"><a name="l02624"></a><span class="lineno"> 2624</span>&#160;  key_params = data;</div>
-<div class="line"><a name="l02625"></a><span class="lineno"> 2625</span>&#160;</div>
-<div class="line"><a name="l02626"></a><span class="lineno"> 2626</span>&#160;  <span class="keywordflow">if</span> (<a class="code" href="numeric_8h.html#a7293cc28604d896cfef802b53b0ad99f">dtls_uint8_to_int</a>(data) != <a class="code" href="global_8h.html#ac97469cc46ceeb148ee92f47a26ebcf6">TLS_EC_CURVE_TYPE_NAMED_CURVE</a>) {</div>
-<div class="line"><a name="l02627"></a><span class="lineno"> 2627</span>&#160;    <a class="code" href="debug_8h.html#ab22e3494f6186183820142ba279fe9ae">dtls_alert</a>(<span class="stringliteral">&quot;Only named curves supported\n&quot;</span>);</div>
-<div class="line"><a name="l02628"></a><span class="lineno"> 2628</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdaea5ed33e912421eb48afb73ce0a6014d">DTLS_ALERT_HANDSHAKE_FAILURE</a>);</div>
-<div class="line"><a name="l02629"></a><span class="lineno"> 2629</span>&#160;  }</div>
-<div class="line"><a name="l02630"></a><span class="lineno"> 2630</span>&#160;  data += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>);</div>
-<div class="line"><a name="l02631"></a><span class="lineno"> 2631</span>&#160;  data_length -= <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>);</div>
-<div class="line"><a name="l02632"></a><span class="lineno"> 2632</span>&#160;</div>
-<div class="line"><a name="l02633"></a><span class="lineno"> 2633</span>&#160;  <span class="keywordflow">if</span> (<a class="code" href="numeric_8h.html#ae32dd0743658f1aa5a723d5a8357521f">dtls_uint16_to_int</a>(data) != <a class="code" href="global_8h.html#a8095691f33c0ce6b22d205640ccc9417">TLS_EXT_ELLIPTIC_CURVES_SECP256R1</a>) {</div>
-<div class="line"><a name="l02634"></a><span class="lineno"> 2634</span>&#160;    <a class="code" href="debug_8h.html#ab22e3494f6186183820142ba279fe9ae">dtls_alert</a>(<span class="stringliteral">&quot;secp256r1 supported\n&quot;</span>);</div>
-<div class="line"><a name="l02635"></a><span class="lineno"> 2635</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdaea5ed33e912421eb48afb73ce0a6014d">DTLS_ALERT_HANDSHAKE_FAILURE</a>);</div>
-<div class="line"><a name="l02636"></a><span class="lineno"> 2636</span>&#160;  }</div>
-<div class="line"><a name="l02637"></a><span class="lineno"> 2637</span>&#160;  data += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>);</div>
-<div class="line"><a name="l02638"></a><span class="lineno"> 2638</span>&#160;  data_length -= <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>);</div>
-<div class="line"><a name="l02639"></a><span class="lineno"> 2639</span>&#160;</div>
-<div class="line"><a name="l02640"></a><span class="lineno"> 2640</span>&#160;  <span class="keywordflow">if</span> (<a class="code" href="numeric_8h.html#a7293cc28604d896cfef802b53b0ad99f">dtls_uint8_to_int</a>(data) != 1 + 2 * <a class="code" href="crypto_8h.html#a9b039263057e157e1427c5d316133c3d">DTLS_EC_KEY_SIZE</a>) {</div>
-<div class="line"><a name="l02641"></a><span class="lineno"> 2641</span>&#160;    <a class="code" href="debug_8h.html#ab22e3494f6186183820142ba279fe9ae">dtls_alert</a>(<span class="stringliteral">&quot;expected 65 bytes long public point\n&quot;</span>);</div>
-<div class="line"><a name="l02642"></a><span class="lineno"> 2642</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdaea5ed33e912421eb48afb73ce0a6014d">DTLS_ALERT_HANDSHAKE_FAILURE</a>);</div>
-<div class="line"><a name="l02643"></a><span class="lineno"> 2643</span>&#160;  }</div>
-<div class="line"><a name="l02644"></a><span class="lineno"> 2644</span>&#160;  data += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>);</div>
-<div class="line"><a name="l02645"></a><span class="lineno"> 2645</span>&#160;  data_length -= <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>);</div>
-<div class="line"><a name="l02646"></a><span class="lineno"> 2646</span>&#160;</div>
-<div class="line"><a name="l02647"></a><span class="lineno"> 2647</span>&#160;  <span class="keywordflow">if</span> (<a class="code" href="numeric_8h.html#a7293cc28604d896cfef802b53b0ad99f">dtls_uint8_to_int</a>(data) != 4) {</div>
-<div class="line"><a name="l02648"></a><span class="lineno"> 2648</span>&#160;    <a class="code" href="debug_8h.html#ab22e3494f6186183820142ba279fe9ae">dtls_alert</a>(<span class="stringliteral">&quot;expected uncompressed public point\n&quot;</span>);</div>
-<div class="line"><a name="l02649"></a><span class="lineno"> 2649</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdae3249841cb226881ce6dadffb9f22649">DTLS_ALERT_DECODE_ERROR</a>);</div>
-<div class="line"><a name="l02650"></a><span class="lineno"> 2650</span>&#160;  }</div>
-<div class="line"><a name="l02651"></a><span class="lineno"> 2651</span>&#160;  data += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>);</div>
-<div class="line"><a name="l02652"></a><span class="lineno"> 2652</span>&#160;  data_length -= <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>);</div>
-<div class="line"><a name="l02653"></a><span class="lineno"> 2653</span>&#160;</div>
-<div class="line"><a name="l02654"></a><span class="lineno"> 2654</span>&#160;  memcpy(config-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a483b158f8fc86e45e7c0fc603a66925f">keyx</a>.ecdsa.other_eph_pub_x, data, <span class="keyword">sizeof</span>(config-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a483b158f8fc86e45e7c0fc603a66925f">keyx</a>.ecdsa.other_eph_pub_y));</div>
-<div class="line"><a name="l02655"></a><span class="lineno"> 2655</span>&#160;  data += <span class="keyword">sizeof</span>(config-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a483b158f8fc86e45e7c0fc603a66925f">keyx</a>.ecdsa.other_eph_pub_y);</div>
-<div class="line"><a name="l02656"></a><span class="lineno"> 2656</span>&#160;  data_length -= <span class="keyword">sizeof</span>(config-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a483b158f8fc86e45e7c0fc603a66925f">keyx</a>.ecdsa.other_eph_pub_y);</div>
-<div class="line"><a name="l02657"></a><span class="lineno"> 2657</span>&#160;</div>
-<div class="line"><a name="l02658"></a><span class="lineno"> 2658</span>&#160;  memcpy(config-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a483b158f8fc86e45e7c0fc603a66925f">keyx</a>.ecdsa.other_eph_pub_y, data, <span class="keyword">sizeof</span>(config-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a483b158f8fc86e45e7c0fc603a66925f">keyx</a>.ecdsa.other_eph_pub_y));</div>
-<div class="line"><a name="l02659"></a><span class="lineno"> 2659</span>&#160;  data += <span class="keyword">sizeof</span>(config-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a483b158f8fc86e45e7c0fc603a66925f">keyx</a>.ecdsa.other_eph_pub_y);</div>
-<div class="line"><a name="l02660"></a><span class="lineno"> 2660</span>&#160;  data_length -= <span class="keyword">sizeof</span>(config-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a483b158f8fc86e45e7c0fc603a66925f">keyx</a>.ecdsa.other_eph_pub_y);</div>
-<div class="line"><a name="l02661"></a><span class="lineno"> 2661</span>&#160;</div>
-<div class="line"><a name="l02662"></a><span class="lineno"> 2662</span>&#160;  ret = <a class="code" href="dtls_8c.html#af8409ba213cb87dbf9ed16ef87995c54">dtls_check_ecdsa_signature_elem</a>(data, data_length, &amp;result_r, &amp;result_s);</div>
-<div class="line"><a name="l02663"></a><span class="lineno"> 2663</span>&#160;  <span class="keywordflow">if</span> (ret &lt; 0) {</div>
-<div class="line"><a name="l02664"></a><span class="lineno"> 2664</span>&#160;    <span class="keywordflow">return</span> ret;</div>
-<div class="line"><a name="l02665"></a><span class="lineno"> 2665</span>&#160;  }</div>
-<div class="line"><a name="l02666"></a><span class="lineno"> 2666</span>&#160;  data += ret;</div>
-<div class="line"><a name="l02667"></a><span class="lineno"> 2667</span>&#160;  data_length -= ret;</div>
-<div class="line"><a name="l02668"></a><span class="lineno"> 2668</span>&#160;</div>
-<div class="line"><a name="l02669"></a><span class="lineno"> 2669</span>&#160;  ret = <a class="code" href="crypto_8c.html#a035860da45ba2586a95c8ef7f539a3c9">dtls_ecdsa_verify_sig</a>(config-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a483b158f8fc86e45e7c0fc603a66925f">keyx</a>.ecdsa.other_pub_x, config-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a483b158f8fc86e45e7c0fc603a66925f">keyx</a>.ecdsa.other_pub_y,</div>
-<div class="line"><a name="l02670"></a><span class="lineno"> 2670</span>&#160;                <span class="keyword">sizeof</span>(config-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a483b158f8fc86e45e7c0fc603a66925f">keyx</a>.ecdsa.other_pub_x),</div>
-<div class="line"><a name="l02671"></a><span class="lineno"> 2671</span>&#160;                config-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#ac27a2063a8136615971f8d591afdd01f">tmp</a>.<a class="code" href="structdtls__handshake__parameters__t.html#a5c4e7bb5d4d890200a176cfe13c6fb9a">random</a>.client, <a class="code" href="crypto_8h.html#a5a0bdff7c0889f35601b4935098508a0">DTLS_RANDOM_LENGTH</a>,</div>
-<div class="line"><a name="l02672"></a><span class="lineno"> 2672</span>&#160;                config-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#ac27a2063a8136615971f8d591afdd01f">tmp</a>.<a class="code" href="structdtls__handshake__parameters__t.html#a5c4e7bb5d4d890200a176cfe13c6fb9a">random</a>.server, <a class="code" href="crypto_8h.html#a5a0bdff7c0889f35601b4935098508a0">DTLS_RANDOM_LENGTH</a>,</div>
-<div class="line"><a name="l02673"></a><span class="lineno"> 2673</span>&#160;                key_params,</div>
-<div class="line"><a name="l02674"></a><span class="lineno"> 2674</span>&#160;                1 + 2 + 1 + 1 + (2 * <a class="code" href="crypto_8h.html#a9b039263057e157e1427c5d316133c3d">DTLS_EC_KEY_SIZE</a>),</div>
-<div class="line"><a name="l02675"></a><span class="lineno"> 2675</span>&#160;                result_r, result_s);</div>
-<div class="line"><a name="l02676"></a><span class="lineno"> 2676</span>&#160;</div>
-<div class="line"><a name="l02677"></a><span class="lineno"> 2677</span>&#160;  <span class="keywordflow">if</span> (ret &lt; 0) {</div>
-<div class="line"><a name="l02678"></a><span class="lineno"> 2678</span>&#160;    <a class="code" href="debug_8h.html#ab22e3494f6186183820142ba279fe9ae">dtls_alert</a>(<span class="stringliteral">&quot;wrong signature\n&quot;</span>);</div>
-<div class="line"><a name="l02679"></a><span class="lineno"> 2679</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdaea5ed33e912421eb48afb73ce0a6014d">DTLS_ALERT_HANDSHAKE_FAILURE</a>);</div>
-<div class="line"><a name="l02680"></a><span class="lineno"> 2680</span>&#160;  }</div>
-<div class="line"><a name="l02681"></a><span class="lineno"> 2681</span>&#160;  <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l02682"></a><span class="lineno"> 2682</span>&#160;}</div>
-<div class="line"><a name="l02683"></a><span class="lineno"> 2683</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* DTLS_ECC */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l02684"></a><span class="lineno"> 2684</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l02685"></a><span class="lineno"> 2685</span>&#160;<span class="preprocessor">#ifdef DTLS_PSK</span></div>
-<div class="line"><a name="l02686"></a><span class="lineno"> 2686</span>&#160;<span class="preprocessor"></span><span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l02687"></a><span class="lineno"><a class="line" href="dtls_8c.html#a915dccbe7e71d52d2650378f3aaad054"> 2687</a></span>&#160;<a class="code" href="dtls_8c.html#a915dccbe7e71d52d2650378f3aaad054">check_server_key_exchange_psk</a>(<a class="code" href="structdtls__context__t.html">dtls_context_t</a> *ctx,</div>
-<div class="line"><a name="l02688"></a><span class="lineno"> 2688</span>&#160;                  <a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *peer,</div>
-<div class="line"><a name="l02689"></a><span class="lineno"> 2689</span>&#160;                  <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *data, <span class="keywordtype">size_t</span> data_length)</div>
-<div class="line"><a name="l02690"></a><span class="lineno"> 2690</span>&#160;{</div>
-<div class="line"><a name="l02691"></a><span class="lineno"> 2691</span>&#160;  <a class="code" href="structdtls__handshake__parameters__t.html">dtls_handshake_parameters_t</a> *config = peer-&gt;<a class="code" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">handshake_params</a>;</div>
-<div class="line"><a name="l02692"></a><span class="lineno"> 2692</span>&#160;  uint16_t len;</div>
-<div class="line"><a name="l02693"></a><span class="lineno"> 2693</span>&#160;</div>
-<div class="line"><a name="l02694"></a><span class="lineno"> 2694</span>&#160;  <a class="code" href="dtls_8c.html#a3db09acb5894f17f4745d7556555bea7">update_hs_hash</a>(peer, data, data_length);</div>
-<div class="line"><a name="l02695"></a><span class="lineno"> 2695</span>&#160;</div>
-<div class="line"><a name="l02696"></a><span class="lineno"> 2696</span>&#160;  assert(<a class="code" href="dtls_8c.html#a8bb6e8bb947b943d2af4c1886a8e72ba">is_tls_psk_with_aes_128_ccm_8</a>(config-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a5cc61a98763800b5b4e7617307649933">cipher</a>));</div>
-<div class="line"><a name="l02697"></a><span class="lineno"> 2697</span>&#160;</div>
-<div class="line"><a name="l02698"></a><span class="lineno"> 2698</span>&#160;  data += <a class="code" href="dtls_8c.html#a520419d1976b301c508721faed549b4f">DTLS_HS_LENGTH</a>;</div>
-<div class="line"><a name="l02699"></a><span class="lineno"> 2699</span>&#160;</div>
-<div class="line"><a name="l02700"></a><span class="lineno"> 2700</span>&#160;  <span class="keywordflow">if</span> (data_length &lt; <a class="code" href="dtls_8c.html#a520419d1976b301c508721faed549b4f">DTLS_HS_LENGTH</a> + <a class="code" href="dtls_8c.html#a4c0c656efcfd0e33595914171e51ae6d">DTLS_SKEXECPSK_LENGTH_MIN</a>) {</div>
-<div class="line"><a name="l02701"></a><span class="lineno"> 2701</span>&#160;    <a class="code" href="debug_8h.html#ab22e3494f6186183820142ba279fe9ae">dtls_alert</a>(<span class="stringliteral">&quot;the packet length does not match the expected\n&quot;</span>);</div>
-<div class="line"><a name="l02702"></a><span class="lineno"> 2702</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdae3249841cb226881ce6dadffb9f22649">DTLS_ALERT_DECODE_ERROR</a>);</div>
-<div class="line"><a name="l02703"></a><span class="lineno"> 2703</span>&#160;  }</div>
-<div class="line"><a name="l02704"></a><span class="lineno"> 2704</span>&#160;</div>
-<div class="line"><a name="l02705"></a><span class="lineno"> 2705</span>&#160;  len = <a class="code" href="numeric_8h.html#ae32dd0743658f1aa5a723d5a8357521f">dtls_uint16_to_int</a>(data);</div>
-<div class="line"><a name="l02706"></a><span class="lineno"> 2706</span>&#160;  data += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>);</div>
-<div class="line"><a name="l02707"></a><span class="lineno"> 2707</span>&#160;</div>
-<div class="line"><a name="l02708"></a><span class="lineno"> 2708</span>&#160;  <span class="keywordflow">if</span> (len != data_length - <a class="code" href="dtls_8c.html#a520419d1976b301c508721faed549b4f">DTLS_HS_LENGTH</a> - <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>)) {</div>
-<div class="line"><a name="l02709"></a><span class="lineno"> 2709</span>&#160;    <a class="code" href="debug_8h.html#ae1c22127c92fab70da7bf9cae8536e5c">dtls_warn</a>(<span class="stringliteral">&quot;the length of the server identity hint is worng\n&quot;</span>);</div>
-<div class="line"><a name="l02710"></a><span class="lineno"> 2710</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdae3249841cb226881ce6dadffb9f22649">DTLS_ALERT_DECODE_ERROR</a>);</div>
-<div class="line"><a name="l02711"></a><span class="lineno"> 2711</span>&#160;  }</div>
-<div class="line"><a name="l02712"></a><span class="lineno"> 2712</span>&#160;</div>
-<div class="line"><a name="l02713"></a><span class="lineno"> 2713</span>&#160;  <span class="keywordflow">if</span> (len &gt; <a class="code" href="crypto_8h.html#ab96c8e0773a14d1ce1621eed1a78e2bd">DTLS_PSK_MAX_CLIENT_IDENTITY_LEN</a>) {</div>
-<div class="line"><a name="l02714"></a><span class="lineno"> 2714</span>&#160;    <a class="code" href="debug_8h.html#ae1c22127c92fab70da7bf9cae8536e5c">dtls_warn</a>(<span class="stringliteral">&quot;please use a smaller server identity hint\n&quot;</span>);</div>
-<div class="line"><a name="l02715"></a><span class="lineno"> 2715</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda22948f7c825b68cc18c79bd3634c8f58">DTLS_ALERT_INTERNAL_ERROR</a>);</div>
-<div class="line"><a name="l02716"></a><span class="lineno"> 2716</span>&#160;  }</div>
-<div class="line"><a name="l02717"></a><span class="lineno"> 2717</span>&#160;</div>
-<div class="line"><a name="l02718"></a><span class="lineno"> 2718</span>&#160;  <span class="comment">/* store the psk_identity_hint in config-&gt;keyx.psk for later use */</span></div>
-<div class="line"><a name="l02719"></a><span class="lineno"> 2719</span>&#160;  config-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a483b158f8fc86e45e7c0fc603a66925f">keyx</a>.psk.id_length = len;</div>
-<div class="line"><a name="l02720"></a><span class="lineno"> 2720</span>&#160;  memcpy(config-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a483b158f8fc86e45e7c0fc603a66925f">keyx</a>.psk.identity, data, len);</div>
-<div class="line"><a name="l02721"></a><span class="lineno"> 2721</span>&#160;  <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l02722"></a><span class="lineno"> 2722</span>&#160;}</div>
-<div class="line"><a name="l02723"></a><span class="lineno"> 2723</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* DTLS_PSK */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l02724"></a><span class="lineno"> 2724</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l02725"></a><span class="lineno"> 2725</span>&#160;<span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l02726"></a><span class="lineno"><a class="line" href="dtls_8c.html#a61ddc44bfdb8a92b72911a402aa0164e"> 2726</a></span>&#160;<a class="code" href="dtls_8c.html#a61ddc44bfdb8a92b72911a402aa0164e">check_certificate_request</a>(<a class="code" href="structdtls__context__t.html">dtls_context_t</a> *ctx, </div>
-<div class="line"><a name="l02727"></a><span class="lineno"> 2727</span>&#160;              <a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *peer,</div>
-<div class="line"><a name="l02728"></a><span class="lineno"> 2728</span>&#160;              <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *data, <span class="keywordtype">size_t</span> data_length)</div>
-<div class="line"><a name="l02729"></a><span class="lineno"> 2729</span>&#160;{</div>
-<div class="line"><a name="l02730"></a><span class="lineno"> 2730</span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i;</div>
-<div class="line"><a name="l02731"></a><span class="lineno"> 2731</span>&#160;  <span class="keywordtype">int</span> auth_alg;</div>
-<div class="line"><a name="l02732"></a><span class="lineno"> 2732</span>&#160;  <span class="keywordtype">int</span> sig_alg;</div>
-<div class="line"><a name="l02733"></a><span class="lineno"> 2733</span>&#160;  <span class="keywordtype">int</span> hash_alg;</div>
-<div class="line"><a name="l02734"></a><span class="lineno"> 2734</span>&#160;</div>
-<div class="line"><a name="l02735"></a><span class="lineno"> 2735</span>&#160;  <a class="code" href="dtls_8c.html#a3db09acb5894f17f4745d7556555bea7">update_hs_hash</a>(peer, data, data_length);</div>
-<div class="line"><a name="l02736"></a><span class="lineno"> 2736</span>&#160;</div>
-<div class="line"><a name="l02737"></a><span class="lineno"> 2737</span>&#160;  assert(<a class="code" href="dtls_8c.html#a8098a728e5fff33ceeb7f57ebd48a212">is_tls_ecdhe_ecdsa_with_aes_128_ccm_8</a>(peer-&gt;<a class="code" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">handshake_params</a>-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a5cc61a98763800b5b4e7617307649933">cipher</a>));</div>
-<div class="line"><a name="l02738"></a><span class="lineno"> 2738</span>&#160;</div>
-<div class="line"><a name="l02739"></a><span class="lineno"> 2739</span>&#160;  data += <a class="code" href="dtls_8c.html#a520419d1976b301c508721faed549b4f">DTLS_HS_LENGTH</a>;</div>
-<div class="line"><a name="l02740"></a><span class="lineno"> 2740</span>&#160;</div>
-<div class="line"><a name="l02741"></a><span class="lineno"> 2741</span>&#160;  <span class="keywordflow">if</span> (data_length &lt; <a class="code" href="dtls_8c.html#a520419d1976b301c508721faed549b4f">DTLS_HS_LENGTH</a> + 5) {</div>
-<div class="line"><a name="l02742"></a><span class="lineno"> 2742</span>&#160;    <a class="code" href="debug_8h.html#ab22e3494f6186183820142ba279fe9ae">dtls_alert</a>(<span class="stringliteral">&quot;the packet length does not match the expected\n&quot;</span>);</div>
-<div class="line"><a name="l02743"></a><span class="lineno"> 2743</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdae3249841cb226881ce6dadffb9f22649">DTLS_ALERT_DECODE_ERROR</a>);</div>
-<div class="line"><a name="l02744"></a><span class="lineno"> 2744</span>&#160;  }</div>
-<div class="line"><a name="l02745"></a><span class="lineno"> 2745</span>&#160;</div>
-<div class="line"><a name="l02746"></a><span class="lineno"> 2746</span>&#160;  i = <a class="code" href="numeric_8h.html#a7293cc28604d896cfef802b53b0ad99f">dtls_uint8_to_int</a>(data);</div>
-<div class="line"><a name="l02747"></a><span class="lineno"> 2747</span>&#160;  data += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>);</div>
-<div class="line"><a name="l02748"></a><span class="lineno"> 2748</span>&#160;  <span class="keywordflow">if</span> (i + 1 &gt; data_length) {</div>
-<div class="line"><a name="l02749"></a><span class="lineno"> 2749</span>&#160;    <a class="code" href="debug_8h.html#ab22e3494f6186183820142ba279fe9ae">dtls_alert</a>(<span class="stringliteral">&quot;the cerfificate types are too long\n&quot;</span>);</div>
-<div class="line"><a name="l02750"></a><span class="lineno"> 2750</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdae3249841cb226881ce6dadffb9f22649">DTLS_ALERT_DECODE_ERROR</a>);</div>
-<div class="line"><a name="l02751"></a><span class="lineno"> 2751</span>&#160;  }</div>
-<div class="line"><a name="l02752"></a><span class="lineno"> 2752</span>&#160;</div>
-<div class="line"><a name="l02753"></a><span class="lineno"> 2753</span>&#160;  auth_alg = 0;</div>
-<div class="line"><a name="l02754"></a><span class="lineno"> 2754</span>&#160;  <span class="keywordflow">for</span> (; i &gt; 0 ; i -= <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>)) {</div>
-<div class="line"><a name="l02755"></a><span class="lineno"> 2755</span>&#160;    <span class="keywordflow">if</span> (<a class="code" href="numeric_8h.html#a7293cc28604d896cfef802b53b0ad99f">dtls_uint8_to_int</a>(data) == <a class="code" href="global_8h.html#aaace8dce4341d910140609a96bb300db">TLS_CLIENT_CERTIFICATE_TYPE_ECDSA_SIGN</a></div>
-<div class="line"><a name="l02756"></a><span class="lineno"> 2756</span>&#160;    &amp;&amp; auth_alg == 0)</div>
-<div class="line"><a name="l02757"></a><span class="lineno"> 2757</span>&#160;      auth_alg = <a class="code" href="numeric_8h.html#a7293cc28604d896cfef802b53b0ad99f">dtls_uint8_to_int</a>(data);</div>
-<div class="line"><a name="l02758"></a><span class="lineno"> 2758</span>&#160;    data += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>);</div>
-<div class="line"><a name="l02759"></a><span class="lineno"> 2759</span>&#160;  }</div>
-<div class="line"><a name="l02760"></a><span class="lineno"> 2760</span>&#160;</div>
-<div class="line"><a name="l02761"></a><span class="lineno"> 2761</span>&#160;  <span class="keywordflow">if</span> (auth_alg != <a class="code" href="global_8h.html#aaace8dce4341d910140609a96bb300db">TLS_CLIENT_CERTIFICATE_TYPE_ECDSA_SIGN</a>) {</div>
-<div class="line"><a name="l02762"></a><span class="lineno"> 2762</span>&#160;    <a class="code" href="debug_8h.html#ab22e3494f6186183820142ba279fe9ae">dtls_alert</a>(<span class="stringliteral">&quot;the request authentication algorithm is not supproted\n&quot;</span>);</div>
-<div class="line"><a name="l02763"></a><span class="lineno"> 2763</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdaea5ed33e912421eb48afb73ce0a6014d">DTLS_ALERT_HANDSHAKE_FAILURE</a>);</div>
-<div class="line"><a name="l02764"></a><span class="lineno"> 2764</span>&#160;  }</div>
-<div class="line"><a name="l02765"></a><span class="lineno"> 2765</span>&#160;</div>
-<div class="line"><a name="l02766"></a><span class="lineno"> 2766</span>&#160;  i = <a class="code" href="numeric_8h.html#ae32dd0743658f1aa5a723d5a8357521f">dtls_uint16_to_int</a>(data);</div>
-<div class="line"><a name="l02767"></a><span class="lineno"> 2767</span>&#160;  data += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>);</div>
-<div class="line"><a name="l02768"></a><span class="lineno"> 2768</span>&#160;  <span class="keywordflow">if</span> (i + 1 &gt; data_length) {</div>
-<div class="line"><a name="l02769"></a><span class="lineno"> 2769</span>&#160;    <a class="code" href="debug_8h.html#ab22e3494f6186183820142ba279fe9ae">dtls_alert</a>(<span class="stringliteral">&quot;the signature and hash algorithm list is too long\n&quot;</span>);</div>
-<div class="line"><a name="l02770"></a><span class="lineno"> 2770</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdae3249841cb226881ce6dadffb9f22649">DTLS_ALERT_DECODE_ERROR</a>);</div>
-<div class="line"><a name="l02771"></a><span class="lineno"> 2771</span>&#160;  }</div>
-<div class="line"><a name="l02772"></a><span class="lineno"> 2772</span>&#160;</div>
-<div class="line"><a name="l02773"></a><span class="lineno"> 2773</span>&#160;  hash_alg = 0;</div>
-<div class="line"><a name="l02774"></a><span class="lineno"> 2774</span>&#160;  sig_alg = 0;</div>
-<div class="line"><a name="l02775"></a><span class="lineno"> 2775</span>&#160;  <span class="keywordflow">for</span> (; i &gt; 0 ; i -= <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>)) {</div>
-<div class="line"><a name="l02776"></a><span class="lineno"> 2776</span>&#160;    <span class="keywordtype">int</span> current_hash_alg;</div>
-<div class="line"><a name="l02777"></a><span class="lineno"> 2777</span>&#160;    <span class="keywordtype">int</span> current_sig_alg;</div>
-<div class="line"><a name="l02778"></a><span class="lineno"> 2778</span>&#160;</div>
-<div class="line"><a name="l02779"></a><span class="lineno"> 2779</span>&#160;    current_hash_alg = <a class="code" href="numeric_8h.html#a7293cc28604d896cfef802b53b0ad99f">dtls_uint8_to_int</a>(data);</div>
-<div class="line"><a name="l02780"></a><span class="lineno"> 2780</span>&#160;    data += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>);</div>
-<div class="line"><a name="l02781"></a><span class="lineno"> 2781</span>&#160;    current_sig_alg = <a class="code" href="numeric_8h.html#a7293cc28604d896cfef802b53b0ad99f">dtls_uint8_to_int</a>(data);</div>
-<div class="line"><a name="l02782"></a><span class="lineno"> 2782</span>&#160;    data += <span class="keyword">sizeof</span>(<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>);</div>
-<div class="line"><a name="l02783"></a><span class="lineno"> 2783</span>&#160;</div>
-<div class="line"><a name="l02784"></a><span class="lineno"> 2784</span>&#160;    <span class="keywordflow">if</span> (current_hash_alg == <a class="code" href="global_8h.html#aa347771eab2eabd24c4b9311fa61c4c9">TLS_EXT_SIG_HASH_ALGO_SHA256</a> &amp;&amp; hash_alg == 0 &amp;&amp; </div>
-<div class="line"><a name="l02785"></a><span class="lineno"> 2785</span>&#160;        current_sig_alg == <a class="code" href="global_8h.html#af126227a026a7af436a4323db6d02ecc">TLS_EXT_SIG_HASH_ALGO_ECDSA</a> &amp;&amp; sig_alg == 0) {</div>
-<div class="line"><a name="l02786"></a><span class="lineno"> 2786</span>&#160;      hash_alg = current_hash_alg;</div>
-<div class="line"><a name="l02787"></a><span class="lineno"> 2787</span>&#160;      sig_alg = current_sig_alg;</div>
-<div class="line"><a name="l02788"></a><span class="lineno"> 2788</span>&#160;    }</div>
-<div class="line"><a name="l02789"></a><span class="lineno"> 2789</span>&#160;  }</div>
-<div class="line"><a name="l02790"></a><span class="lineno"> 2790</span>&#160;</div>
-<div class="line"><a name="l02791"></a><span class="lineno"> 2791</span>&#160;  <span class="keywordflow">if</span> (hash_alg != <a class="code" href="global_8h.html#aa347771eab2eabd24c4b9311fa61c4c9">TLS_EXT_SIG_HASH_ALGO_SHA256</a> ||</div>
-<div class="line"><a name="l02792"></a><span class="lineno"> 2792</span>&#160;      sig_alg != <a class="code" href="global_8h.html#af126227a026a7af436a4323db6d02ecc">TLS_EXT_SIG_HASH_ALGO_ECDSA</a>) {</div>
-<div class="line"><a name="l02793"></a><span class="lineno"> 2793</span>&#160;    <a class="code" href="debug_8h.html#ab22e3494f6186183820142ba279fe9ae">dtls_alert</a>(<span class="stringliteral">&quot;no supported hash and signature algorithem\n&quot;</span>);</div>
-<div class="line"><a name="l02794"></a><span class="lineno"> 2794</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdaea5ed33e912421eb48afb73ce0a6014d">DTLS_ALERT_HANDSHAKE_FAILURE</a>);</div>
-<div class="line"><a name="l02795"></a><span class="lineno"> 2795</span>&#160;  }</div>
-<div class="line"><a name="l02796"></a><span class="lineno"> 2796</span>&#160;</div>
-<div class="line"><a name="l02797"></a><span class="lineno"> 2797</span>&#160;  <span class="comment">/* common names are ignored */</span></div>
-<div class="line"><a name="l02798"></a><span class="lineno"> 2798</span>&#160;</div>
-<div class="line"><a name="l02799"></a><span class="lineno"> 2799</span>&#160;  peer-&gt;<a class="code" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">handshake_params</a>-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#ab17efe8550600d945ced029e43ca86d6">do_client_auth</a> = 1;</div>
-<div class="line"><a name="l02800"></a><span class="lineno"> 2800</span>&#160;  <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l02801"></a><span class="lineno"> 2801</span>&#160;}</div>
-<div class="line"><a name="l02802"></a><span class="lineno"> 2802</span>&#160;</div>
-<div class="line"><a name="l02803"></a><span class="lineno"> 2803</span>&#160;<span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l02804"></a><span class="lineno"><a class="line" href="dtls_8c.html#aca393c29148080d4dfa343c8ec283928"> 2804</a></span>&#160;<a class="code" href="dtls_8c.html#aca393c29148080d4dfa343c8ec283928">check_server_hellodone</a>(<a class="code" href="structdtls__context__t.html">dtls_context_t</a> *ctx, </div>
-<div class="line"><a name="l02805"></a><span class="lineno"> 2805</span>&#160;              <a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *peer,</div>
-<div class="line"><a name="l02806"></a><span class="lineno"> 2806</span>&#160;              <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *data, <span class="keywordtype">size_t</span> data_length)</div>
-<div class="line"><a name="l02807"></a><span class="lineno"> 2807</span>&#160;{</div>
-<div class="line"><a name="l02808"></a><span class="lineno"> 2808</span>&#160;  <span class="keywordtype">int</span> res;</div>
-<div class="line"><a name="l02809"></a><span class="lineno"> 2809</span>&#160;<span class="preprocessor">#ifdef DTLS_ECC</span></div>
-<div class="line"><a name="l02810"></a><span class="lineno"> 2810</span>&#160;<span class="preprocessor"></span>  <span class="keyword">const</span> <a class="code" href="structdtls__ecdsa__key__t.html">dtls_ecdsa_key_t</a> *ecdsa_key;</div>
-<div class="line"><a name="l02811"></a><span class="lineno"> 2811</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* DTLS_ECC */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l02812"></a><span class="lineno"> 2812</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l02813"></a><span class="lineno"> 2813</span>&#160;  <a class="code" href="structdtls__handshake__parameters__t.html">dtls_handshake_parameters_t</a> *handshake = peer-&gt;<a class="code" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">handshake_params</a>;</div>
-<div class="line"><a name="l02814"></a><span class="lineno"> 2814</span>&#160;</div>
-<div class="line"><a name="l02815"></a><span class="lineno"> 2815</span>&#160;  <span class="comment">/* calculate master key, send CCS */</span></div>
-<div class="line"><a name="l02816"></a><span class="lineno"> 2816</span>&#160;</div>
-<div class="line"><a name="l02817"></a><span class="lineno"> 2817</span>&#160;  <a class="code" href="dtls_8c.html#a3db09acb5894f17f4745d7556555bea7">update_hs_hash</a>(peer, data, data_length);</div>
-<div class="line"><a name="l02818"></a><span class="lineno"> 2818</span>&#160;</div>
-<div class="line"><a name="l02819"></a><span class="lineno"> 2819</span>&#160;<span class="preprocessor">#ifdef DTLS_ECC</span></div>
-<div class="line"><a name="l02820"></a><span class="lineno"> 2820</span>&#160;<span class="preprocessor"></span>  <span class="keywordflow">if</span> (handshake-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#ab17efe8550600d945ced029e43ca86d6">do_client_auth</a>) {</div>
-<div class="line"><a name="l02821"></a><span class="lineno"> 2821</span>&#160;</div>
-<div class="line"><a name="l02822"></a><span class="lineno"> 2822</span>&#160;    res = <a class="code" href="dtls_8c.html#a3e132aba78de736930255d40ef3f2d34">CALL</a>(ctx, get_ecdsa_key, &amp;peer-&gt;<a class="code" href="structdtls__peer__t.html#a44ebb2ba643269c7e6943f3a9040febe">session</a>, &amp;ecdsa_key);</div>
-<div class="line"><a name="l02823"></a><span class="lineno"> 2823</span>&#160;    <span class="keywordflow">if</span> (res &lt; 0) {</div>
-<div class="line"><a name="l02824"></a><span class="lineno"> 2824</span>&#160;      <a class="code" href="debug_8h.html#ad4c9c94c054579b73789fead587c8514">dtls_crit</a>(<span class="stringliteral">&quot;no ecdsa certificate to send in certificate\n&quot;</span>);</div>
-<div class="line"><a name="l02825"></a><span class="lineno"> 2825</span>&#160;      <span class="keywordflow">return</span> res;</div>
-<div class="line"><a name="l02826"></a><span class="lineno"> 2826</span>&#160;    }</div>
-<div class="line"><a name="l02827"></a><span class="lineno"> 2827</span>&#160;</div>
-<div class="line"><a name="l02828"></a><span class="lineno"> 2828</span>&#160;    res = <a class="code" href="dtls_8c.html#a6b92c487825aa888acc0b55f5adc0220">dtls_send_certificate_ecdsa</a>(ctx, peer, ecdsa_key);</div>
-<div class="line"><a name="l02829"></a><span class="lineno"> 2829</span>&#160;</div>
-<div class="line"><a name="l02830"></a><span class="lineno"> 2830</span>&#160;    <span class="keywordflow">if</span> (res &lt; 0) {</div>
-<div class="line"><a name="l02831"></a><span class="lineno"> 2831</span>&#160;      <a class="code" href="debug_8h.html#a0f158325426415d9efb5a36bebf45844">dtls_debug</a>(<span class="stringliteral">&quot;dtls_server_hello: cannot prepare Certificate record\n&quot;</span>);</div>
-<div class="line"><a name="l02832"></a><span class="lineno"> 2832</span>&#160;      <span class="keywordflow">return</span> res;</div>
-<div class="line"><a name="l02833"></a><span class="lineno"> 2833</span>&#160;    }</div>
-<div class="line"><a name="l02834"></a><span class="lineno"> 2834</span>&#160;  }</div>
-<div class="line"><a name="l02835"></a><span class="lineno"> 2835</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* DTLS_ECC */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l02836"></a><span class="lineno"> 2836</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l02837"></a><span class="lineno"> 2837</span>&#160;  <span class="comment">/* send ClientKeyExchange */</span></div>
-<div class="line"><a name="l02838"></a><span class="lineno"> 2838</span>&#160;  res = <a class="code" href="dtls_8c.html#a12e4cab07baba9eae2a0182f4e0bf72d">dtls_send_client_key_exchange</a>(ctx, peer);</div>
-<div class="line"><a name="l02839"></a><span class="lineno"> 2839</span>&#160;</div>
-<div class="line"><a name="l02840"></a><span class="lineno"> 2840</span>&#160;  <span class="keywordflow">if</span> (res &lt; 0) {</div>
-<div class="line"><a name="l02841"></a><span class="lineno"> 2841</span>&#160;    <a class="code" href="debug_8h.html#a0f158325426415d9efb5a36bebf45844">dtls_debug</a>(<span class="stringliteral">&quot;cannot send KeyExchange message\n&quot;</span>);</div>
-<div class="line"><a name="l02842"></a><span class="lineno"> 2842</span>&#160;    <span class="keywordflow">return</span> res;</div>
-<div class="line"><a name="l02843"></a><span class="lineno"> 2843</span>&#160;  }</div>
-<div class="line"><a name="l02844"></a><span class="lineno"> 2844</span>&#160;</div>
-<div class="line"><a name="l02845"></a><span class="lineno"> 2845</span>&#160;<span class="preprocessor">#ifdef DTLS_ECC</span></div>
-<div class="line"><a name="l02846"></a><span class="lineno"> 2846</span>&#160;<span class="preprocessor"></span>  <span class="keywordflow">if</span> (handshake-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#ab17efe8550600d945ced029e43ca86d6">do_client_auth</a>) {</div>
-<div class="line"><a name="l02847"></a><span class="lineno"> 2847</span>&#160;</div>
-<div class="line"><a name="l02848"></a><span class="lineno"> 2848</span>&#160;    res = <a class="code" href="dtls_8c.html#adfe6fc0d0d66e9ffaef25c2c126b1c34">dtls_send_certificate_verify_ecdh</a>(ctx, peer, ecdsa_key);</div>
-<div class="line"><a name="l02849"></a><span class="lineno"> 2849</span>&#160;</div>
-<div class="line"><a name="l02850"></a><span class="lineno"> 2850</span>&#160;    <span class="keywordflow">if</span> (res &lt; 0) {</div>
-<div class="line"><a name="l02851"></a><span class="lineno"> 2851</span>&#160;      <a class="code" href="debug_8h.html#a0f158325426415d9efb5a36bebf45844">dtls_debug</a>(<span class="stringliteral">&quot;dtls_server_hello: cannot prepare Certificate record\n&quot;</span>);</div>
-<div class="line"><a name="l02852"></a><span class="lineno"> 2852</span>&#160;      <span class="keywordflow">return</span> res;</div>
-<div class="line"><a name="l02853"></a><span class="lineno"> 2853</span>&#160;    }</div>
-<div class="line"><a name="l02854"></a><span class="lineno"> 2854</span>&#160;  }</div>
-<div class="line"><a name="l02855"></a><span class="lineno"> 2855</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* DTLS_ECC */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l02856"></a><span class="lineno"> 2856</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l02857"></a><span class="lineno"> 2857</span>&#160;  res = <a class="code" href="dtls_8c.html#a94199c9fa65db19e0f761e3ff973eb4b">calculate_key_block</a>(ctx, handshake, peer,</div>
-<div class="line"><a name="l02858"></a><span class="lineno"> 2858</span>&#160;                &amp;peer-&gt;<a class="code" href="structdtls__peer__t.html#a44ebb2ba643269c7e6943f3a9040febe">session</a>, peer-&gt;<a class="code" href="structdtls__peer__t.html#aeca80f1bcbcfdba89a2ab08e4bc48120">role</a>);</div>
-<div class="line"><a name="l02859"></a><span class="lineno"> 2859</span>&#160;  <span class="keywordflow">if</span> (res &lt; 0) {</div>
-<div class="line"><a name="l02860"></a><span class="lineno"> 2860</span>&#160;    <span class="keywordflow">return</span> res;</div>
-<div class="line"><a name="l02861"></a><span class="lineno"> 2861</span>&#160;  }</div>
-<div class="line"><a name="l02862"></a><span class="lineno"> 2862</span>&#160;</div>
-<div class="line"><a name="l02863"></a><span class="lineno"> 2863</span>&#160;  res = <a class="code" href="dtls_8c.html#a9cfb3c9e63f378d0d8e3d3d0c60537a5">dtls_send_ccs</a>(ctx, peer);</div>
-<div class="line"><a name="l02864"></a><span class="lineno"> 2864</span>&#160;  <span class="keywordflow">if</span> (res &lt; 0) {</div>
-<div class="line"><a name="l02865"></a><span class="lineno"> 2865</span>&#160;    <a class="code" href="debug_8h.html#a0f158325426415d9efb5a36bebf45844">dtls_debug</a>(<span class="stringliteral">&quot;cannot send CCS message\n&quot;</span>);</div>
-<div class="line"><a name="l02866"></a><span class="lineno"> 2866</span>&#160;    <span class="keywordflow">return</span> res;</div>
-<div class="line"><a name="l02867"></a><span class="lineno"> 2867</span>&#160;  }</div>
-<div class="line"><a name="l02868"></a><span class="lineno"> 2868</span>&#160;</div>
-<div class="line"><a name="l02869"></a><span class="lineno"> 2869</span>&#160;  <span class="comment">/* and switch cipher suite */</span></div>
-<div class="line"><a name="l02870"></a><span class="lineno"> 2870</span>&#160;  <a class="code" href="peer_8h.html#a9c37ce3fd7539154289dd17215179e2d">dtls_security_params_switch</a>(peer);</div>
-<div class="line"><a name="l02871"></a><span class="lineno"> 2871</span>&#160;</div>
-<div class="line"><a name="l02872"></a><span class="lineno"> 2872</span>&#160;  <span class="comment">/* Client Finished */</span></div>
-<div class="line"><a name="l02873"></a><span class="lineno"> 2873</span>&#160;  <span class="keywordflow">return</span> <a class="code" href="dtls_8c.html#a112e0d83a0e576b5d22df60241900a67">dtls_send_finished</a>(ctx, peer, <a class="code" href="dtls_8c.html#abac8adda40bcb694e059e38f6ac115f9">PRF_LABEL</a>(client), <a class="code" href="dtls_8c.html#a83b260e812e69f1dae18497d167770a9">PRF_LABEL_SIZE</a>(client));</div>
-<div class="line"><a name="l02874"></a><span class="lineno"> 2874</span>&#160;}</div>
-<div class="line"><a name="l02875"></a><span class="lineno"> 2875</span>&#160;</div>
-<div class="line"><a name="l02876"></a><span class="lineno"> 2876</span>&#160;<span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l02877"></a><span class="lineno"><a class="line" href="dtls_8c.html#adc4e7aa5066240a362341bbdb998bc71"> 2877</a></span>&#160;<a class="code" href="dtls_8c.html#adc4e7aa5066240a362341bbdb998bc71">decrypt_verify</a>(<a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *peer, <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *packet, <span class="keywordtype">size_t</span> length,</div>
-<div class="line"><a name="l02878"></a><span class="lineno"> 2878</span>&#160;           <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> **cleartext)</div>
-<div class="line"><a name="l02879"></a><span class="lineno"> 2879</span>&#160;{</div>
-<div class="line"><a name="l02880"></a><span class="lineno"> 2880</span>&#160;  <a class="code" href="dtls_8h.html#a81936df7abb2c16aa897e3018aa24399">dtls_record_header_t</a> *header = <a class="code" href="dtls_8c.html#a35d050593196252c1826ac2e82cbac0b">DTLS_RECORD_HEADER</a>(packet);</div>
-<div class="line"><a name="l02881"></a><span class="lineno"> 2881</span>&#160;  <a class="code" href="structdtls__security__parameters__t.html">dtls_security_parameters_t</a> *security = <a class="code" href="peer_8h.html#af5de0315efd7e8c6b1aecf60078b2dd7">dtls_security_params_epoch</a>(peer, <a class="code" href="dtls_8c.html#a175d8e65080497463d13caf20e961500">dtls_get_epoch</a>(header));</div>
-<div class="line"><a name="l02882"></a><span class="lineno"> 2882</span>&#160;  <span class="keywordtype">int</span> clen;</div>
-<div class="line"><a name="l02883"></a><span class="lineno"> 2883</span>&#160;  </div>
-<div class="line"><a name="l02884"></a><span class="lineno"> 2884</span>&#160;  *cleartext = (<a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *)packet + <span class="keyword">sizeof</span>(<a class="code" href="dtls_8h.html#a81936df7abb2c16aa897e3018aa24399">dtls_record_header_t</a>);</div>
-<div class="line"><a name="l02885"></a><span class="lineno"> 2885</span>&#160;  clen = length - <span class="keyword">sizeof</span>(<a class="code" href="dtls_8h.html#a81936df7abb2c16aa897e3018aa24399">dtls_record_header_t</a>);</div>
-<div class="line"><a name="l02886"></a><span class="lineno"> 2886</span>&#160;</div>
-<div class="line"><a name="l02887"></a><span class="lineno"> 2887</span>&#160;  <span class="keywordflow">if</span> (!security) {</div>
-<div class="line"><a name="l02888"></a><span class="lineno"> 2888</span>&#160;    <a class="code" href="debug_8h.html#ab22e3494f6186183820142ba279fe9ae">dtls_alert</a>(<span class="stringliteral">&quot;No security context for epoch: %i\n&quot;</span>, <a class="code" href="dtls_8c.html#a175d8e65080497463d13caf20e961500">dtls_get_epoch</a>(header));</div>
-<div class="line"><a name="l02889"></a><span class="lineno"> 2889</span>&#160;    <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l02890"></a><span class="lineno"> 2890</span>&#160;  }</div>
-<div class="line"><a name="l02891"></a><span class="lineno"> 2891</span>&#160;</div>
-<div class="line"><a name="l02892"></a><span class="lineno"> 2892</span>&#160;  <span class="keywordflow">if</span> (security-&gt;<a class="code" href="structdtls__security__parameters__t.html#a21d9fac709d739535b0cbecce4c18830">cipher</a> == <a class="code" href="global_8h.html#ada7e71454d685b693df45b2c1ea0c59bacf33de998fd00f096eebbb0742d80abd">TLS_NULL_WITH_NULL_NULL</a>) {</div>
-<div class="line"><a name="l02893"></a><span class="lineno"> 2893</span>&#160;    <span class="comment">/* no cipher suite selected */</span></div>
-<div class="line"><a name="l02894"></a><span class="lineno"> 2894</span>&#160;    <span class="keywordflow">return</span> clen;</div>
-<div class="line"><a name="l02895"></a><span class="lineno"> 2895</span>&#160;  } <span class="keywordflow">else</span> { <span class="comment">/* TLS_PSK_WITH_AES_128_CCM_8 or TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8 */</span></div>
-<div class="line"><a name="l02900"></a><span class="lineno"> 2900</span>&#160;<span class="preprocessor">#define A_DATA_LEN 13</span></div>
-<div class="line"><a name="l02901"></a><span class="lineno"> 2901</span>&#160;<span class="preprocessor"></span>    <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> nonce[<a class="code" href="ccm_8h.html#a5c46c97c6c3ef5d4e5bd616dbd064859">DTLS_CCM_BLOCKSIZE</a>];</div>
-<div class="line"><a name="l02902"></a><span class="lineno"> 2902</span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> A_DATA[<a class="code" href="dtls_8c.html#aee0f4f3d8541ea6ab9c204761cc6082e">A_DATA_LEN</a>];</div>
-<div class="line"><a name="l02903"></a><span class="lineno"> 2903</span>&#160;</div>
-<div class="line"><a name="l02904"></a><span class="lineno"> 2904</span>&#160;    <span class="keywordflow">if</span> (clen &lt; 16)      <span class="comment">/* need at least IV and MAC */</span></div>
-<div class="line"><a name="l02905"></a><span class="lineno"> 2905</span>&#160;      <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l02906"></a><span class="lineno"> 2906</span>&#160;</div>
-<div class="line"><a name="l02907"></a><span class="lineno"> 2907</span>&#160;    memset(nonce, 0, <a class="code" href="ccm_8h.html#a5c46c97c6c3ef5d4e5bd616dbd064859">DTLS_CCM_BLOCKSIZE</a>);</div>
-<div class="line"><a name="l02908"></a><span class="lineno"> 2908</span>&#160;    memcpy(nonce, <a class="code" href="crypto_8h.html#a7119d3239c34d7e7f219200792339541">dtls_kb_remote_iv</a>(security, peer-&gt;<a class="code" href="structdtls__peer__t.html#aeca80f1bcbcfdba89a2ab08e4bc48120">role</a>),</div>
-<div class="line"><a name="l02909"></a><span class="lineno"> 2909</span>&#160;       <a class="code" href="crypto_8h.html#adcdadf1870e2acb2993b1a8726d26997">dtls_kb_iv_size</a>(security, peer-&gt;<a class="code" href="structdtls__peer__t.html#aeca80f1bcbcfdba89a2ab08e4bc48120">role</a>));</div>
-<div class="line"><a name="l02910"></a><span class="lineno"> 2910</span>&#160;</div>
-<div class="line"><a name="l02911"></a><span class="lineno"> 2911</span>&#160;    <span class="comment">/* read epoch and seq_num from message */</span></div>
-<div class="line"><a name="l02912"></a><span class="lineno"> 2912</span>&#160;    memcpy(nonce + <a class="code" href="crypto_8h.html#adcdadf1870e2acb2993b1a8726d26997">dtls_kb_iv_size</a>(security, peer-&gt;<a class="code" href="structdtls__peer__t.html#aeca80f1bcbcfdba89a2ab08e4bc48120">role</a>), *cleartext, 8);</div>
-<div class="line"><a name="l02913"></a><span class="lineno"> 2913</span>&#160;    *cleartext += 8;</div>
-<div class="line"><a name="l02914"></a><span class="lineno"> 2914</span>&#160;    clen -= 8;</div>
-<div class="line"><a name="l02915"></a><span class="lineno"> 2915</span>&#160;</div>
-<div class="line"><a name="l02916"></a><span class="lineno"> 2916</span>&#160;    <a class="code" href="debug_8h.html#ab27d2c7cae1e8022e93562ecda9140b6">dtls_debug_dump</a>(<span class="stringliteral">&quot;nonce&quot;</span>, nonce, <a class="code" href="ccm_8h.html#a5c46c97c6c3ef5d4e5bd616dbd064859">DTLS_CCM_BLOCKSIZE</a>);</div>
-<div class="line"><a name="l02917"></a><span class="lineno"> 2917</span>&#160;    <a class="code" href="debug_8h.html#ab27d2c7cae1e8022e93562ecda9140b6">dtls_debug_dump</a>(<span class="stringliteral">&quot;key&quot;</span>, <a class="code" href="crypto_8h.html#addc8fcbbdd80ba924d0ded2a6bae97f4">dtls_kb_remote_write_key</a>(security, peer-&gt;<a class="code" href="structdtls__peer__t.html#aeca80f1bcbcfdba89a2ab08e4bc48120">role</a>),</div>
-<div class="line"><a name="l02918"></a><span class="lineno"> 2918</span>&#160;            <a class="code" href="crypto_8h.html#a726ef8efa2e072c3c5e1ea1019e716aa">dtls_kb_key_size</a>(security, peer-&gt;<a class="code" href="structdtls__peer__t.html#aeca80f1bcbcfdba89a2ab08e4bc48120">role</a>));</div>
-<div class="line"><a name="l02919"></a><span class="lineno"> 2919</span>&#160;    <a class="code" href="debug_8h.html#ab27d2c7cae1e8022e93562ecda9140b6">dtls_debug_dump</a>(<span class="stringliteral">&quot;ciphertext&quot;</span>, *cleartext, clen);</div>
-<div class="line"><a name="l02920"></a><span class="lineno"> 2920</span>&#160;</div>
-<div class="line"><a name="l02921"></a><span class="lineno"> 2921</span>&#160;    <span class="comment">/* re-use N to create additional data according to RFC 5246, Section 6.2.3.3:</span></div>
-<div class="line"><a name="l02922"></a><span class="lineno"> 2922</span>&#160;<span class="comment">     * </span></div>
-<div class="line"><a name="l02923"></a><span class="lineno"> 2923</span>&#160;<span class="comment">     * additional_data = seq_num + TLSCompressed.type +</span></div>
-<div class="line"><a name="l02924"></a><span class="lineno"> 2924</span>&#160;<span class="comment">     *                   TLSCompressed.version + TLSCompressed.length;</span></div>
-<div class="line"><a name="l02925"></a><span class="lineno"> 2925</span>&#160;<span class="comment">     */</span></div>
-<div class="line"><a name="l02926"></a><span class="lineno"> 2926</span>&#160;    memcpy(A_DATA, &amp;<a class="code" href="dtls_8c.html#a35d050593196252c1826ac2e82cbac0b">DTLS_RECORD_HEADER</a>(packet)-&gt;epoch, 8); <span class="comment">/* epoch and seq_num */</span></div>
-<div class="line"><a name="l02927"></a><span class="lineno"> 2927</span>&#160;    memcpy(A_DATA + 8,  &amp;<a class="code" href="dtls_8c.html#a35d050593196252c1826ac2e82cbac0b">DTLS_RECORD_HEADER</a>(packet)-&gt;content_type, 3); <span class="comment">/* type and version */</span></div>
-<div class="line"><a name="l02928"></a><span class="lineno"> 2928</span>&#160;    <a class="code" href="numeric_8h.html#a074d352855e1ffde4c2ddb6a6fea01b9">dtls_int_to_uint16</a>(A_DATA + 11, clen - 8); <span class="comment">/* length without nonce_explicit */</span></div>
-<div class="line"><a name="l02929"></a><span class="lineno"> 2929</span>&#160;</div>
-<div class="line"><a name="l02930"></a><span class="lineno"> 2930</span>&#160;    clen = <a class="code" href="crypto_8c.html#aac32554190e3970917a31ff01eed4080">dtls_decrypt</a>(*cleartext, clen, *cleartext, nonce,</div>
-<div class="line"><a name="l02931"></a><span class="lineno"> 2931</span>&#160;               <a class="code" href="crypto_8h.html#addc8fcbbdd80ba924d0ded2a6bae97f4">dtls_kb_remote_write_key</a>(security, peer-&gt;<a class="code" href="structdtls__peer__t.html#aeca80f1bcbcfdba89a2ab08e4bc48120">role</a>),</div>
-<div class="line"><a name="l02932"></a><span class="lineno"> 2932</span>&#160;               <a class="code" href="crypto_8h.html#a726ef8efa2e072c3c5e1ea1019e716aa">dtls_kb_key_size</a>(security, peer-&gt;<a class="code" href="structdtls__peer__t.html#aeca80f1bcbcfdba89a2ab08e4bc48120">role</a>),</div>
-<div class="line"><a name="l02933"></a><span class="lineno"> 2933</span>&#160;               A_DATA, <a class="code" href="dtls_8c.html#aee0f4f3d8541ea6ab9c204761cc6082e">A_DATA_LEN</a>);</div>
-<div class="line"><a name="l02934"></a><span class="lineno"> 2934</span>&#160;    <span class="keywordflow">if</span> (clen &lt; 0)</div>
-<div class="line"><a name="l02935"></a><span class="lineno"> 2935</span>&#160;      <a class="code" href="debug_8h.html#ae1c22127c92fab70da7bf9cae8536e5c">dtls_warn</a>(<span class="stringliteral">&quot;decryption failed\n&quot;</span>);</div>
-<div class="line"><a name="l02936"></a><span class="lineno"> 2936</span>&#160;    <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l02937"></a><span class="lineno"> 2937</span>&#160;<span class="preprocessor">#ifndef NDEBUG</span></div>
-<div class="line"><a name="l02938"></a><span class="lineno"> 2938</span>&#160;<span class="preprocessor"></span>      printf(<span class="stringliteral">&quot;decrypt_verify(): found %i bytes cleartext\n&quot;</span>, clen);</div>
-<div class="line"><a name="l02939"></a><span class="lineno"> 2939</span>&#160;<span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l02940"></a><span class="lineno"> 2940</span>&#160;<span class="preprocessor"></span>      <a class="code" href="peer_8h.html#a9d0ec25ba319a38b17f30cf156e85c51">dtls_security_params_free_other</a>(peer);</div>
-<div class="line"><a name="l02941"></a><span class="lineno"> 2941</span>&#160;      <a class="code" href="debug_8h.html#ab27d2c7cae1e8022e93562ecda9140b6">dtls_debug_dump</a>(<span class="stringliteral">&quot;cleartext&quot;</span>, *cleartext, clen);</div>
-<div class="line"><a name="l02942"></a><span class="lineno"> 2942</span>&#160;    }</div>
-<div class="line"><a name="l02943"></a><span class="lineno"> 2943</span>&#160;  }</div>
-<div class="line"><a name="l02944"></a><span class="lineno"> 2944</span>&#160;  <span class="keywordflow">return</span> clen;</div>
-<div class="line"><a name="l02945"></a><span class="lineno"> 2945</span>&#160;}</div>
-<div class="line"><a name="l02946"></a><span class="lineno"> 2946</span>&#160;</div>
-<div class="line"><a name="l02947"></a><span class="lineno"> 2947</span>&#160;<span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l02948"></a><span class="lineno"><a class="line" href="dtls_8c.html#ab3af0ee4375c0da833aacec49c6fd8ad"> 2948</a></span>&#160;<a class="code" href="dtls_8c.html#ab3af0ee4375c0da833aacec49c6fd8ad">dtls_send_hello_request</a>(<a class="code" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *peer)</div>
-<div class="line"><a name="l02949"></a><span class="lineno"> 2949</span>&#160;{</div>
-<div class="line"><a name="l02950"></a><span class="lineno"> 2950</span>&#160;  <span class="keywordflow">return</span> <a class="code" href="dtls_8c.html#a4f06884f659f6a5120be7e0b86d29880">dtls_send_handshake_msg_hash</a>(ctx, peer, &amp;peer-&gt;<a class="code" href="structdtls__peer__t.html#a44ebb2ba643269c7e6943f3a9040febe">session</a>,</div>
-<div class="line"><a name="l02951"></a><span class="lineno"> 2951</span>&#160;                      <a class="code" href="dtls_8h.html#a66566dfd30b8ab388c08b4cde6c667cc">DTLS_HT_HELLO_REQUEST</a>,</div>
-<div class="line"><a name="l02952"></a><span class="lineno"> 2952</span>&#160;                      NULL, 0, 0);</div>
-<div class="line"><a name="l02953"></a><span class="lineno"> 2953</span>&#160;}</div>
-<div class="line"><a name="l02954"></a><span class="lineno"> 2954</span>&#160;</div>
-<div class="line"><a name="l02955"></a><span class="lineno"> 2955</span>&#160;<span class="keywordtype">int</span></div>
-<div class="line"><a name="l02956"></a><span class="lineno"><a class="line" href="dtls_8h.html#a5676a0ceeeabd1ec38d378212f7af4a1"> 2956</a></span>&#160;<a class="code" href="dtls_8c.html#a5676a0ceeeabd1ec38d378212f7af4a1">dtls_renegotiate</a>(<a class="code" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <span class="keyword">const</span> <a class="code" href="structsession__t.html">session_t</a> *dst)</div>
-<div class="line"><a name="l02957"></a><span class="lineno"> 2957</span>&#160;{</div>
-<div class="line"><a name="l02958"></a><span class="lineno"> 2958</span>&#160;  <a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *peer = NULL;</div>
-<div class="line"><a name="l02959"></a><span class="lineno"> 2959</span>&#160;  <span class="keywordtype">int</span> err;</div>
-<div class="line"><a name="l02960"></a><span class="lineno"> 2960</span>&#160;</div>
-<div class="line"><a name="l02961"></a><span class="lineno"> 2961</span>&#160;  peer = <a class="code" href="dtls_8c.html#a70333bea2db35153177347b5c7700cab">dtls_get_peer</a>(ctx, dst);</div>
-<div class="line"><a name="l02962"></a><span class="lineno"> 2962</span>&#160;</div>
-<div class="line"><a name="l02963"></a><span class="lineno"> 2963</span>&#160;  <span class="keywordflow">if</span> (!peer) {</div>
-<div class="line"><a name="l02964"></a><span class="lineno"> 2964</span>&#160;    <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l02965"></a><span class="lineno"> 2965</span>&#160;  }</div>
-<div class="line"><a name="l02966"></a><span class="lineno"> 2966</span>&#160;  <span class="keywordflow">if</span> (peer-&gt;<a class="code" href="structdtls__peer__t.html#a4e23cc3b273813744524c3db1fda9c83">state</a> != <a class="code" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a953a6aabd0aff0492df164e79815b122">DTLS_STATE_CONNECTED</a>)</div>
-<div class="line"><a name="l02967"></a><span class="lineno"> 2967</span>&#160;    <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l02968"></a><span class="lineno"> 2968</span>&#160;</div>
-<div class="line"><a name="l02969"></a><span class="lineno"> 2969</span>&#160;  peer-&gt;<a class="code" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">handshake_params</a> = <a class="code" href="crypto_8c.html#a25930cdb27a6ffcf05e2c2a9c95a6af8">dtls_handshake_new</a>();</div>
-<div class="line"><a name="l02970"></a><span class="lineno"> 2970</span>&#160;  <span class="keywordflow">if</span> (!peer-&gt;<a class="code" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">handshake_params</a>)</div>
-<div class="line"><a name="l02971"></a><span class="lineno"> 2971</span>&#160;    <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l02972"></a><span class="lineno"> 2972</span>&#160;</div>
-<div class="line"><a name="l02973"></a><span class="lineno"> 2973</span>&#160;  peer-&gt;<a class="code" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">handshake_params</a>-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a56e7392a649731166fc82a523b0eb027">hs_state</a>.<a class="code" href="structdtls__hs__state__t.html#a4e2184c917d1ad46d308e8770193f542">mseq_r</a> = 0;</div>
-<div class="line"><a name="l02974"></a><span class="lineno"> 2974</span>&#160;  peer-&gt;<a class="code" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">handshake_params</a>-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a56e7392a649731166fc82a523b0eb027">hs_state</a>.<a class="code" href="structdtls__hs__state__t.html#a694ce15382e7504a750a1b102ad8ec32">mseq_s</a> = 0;</div>
-<div class="line"><a name="l02975"></a><span class="lineno"> 2975</span>&#160;</div>
-<div class="line"><a name="l02976"></a><span class="lineno"> 2976</span>&#160;  <span class="keywordflow">if</span> (peer-&gt;<a class="code" href="structdtls__peer__t.html#aeca80f1bcbcfdba89a2ab08e4bc48120">role</a> == <a class="code" href="peer_8h.html#ae30cd4bcffed73f79f17c09e5a1452c8afd8391395303e28ee9b375232cb68a1e">DTLS_CLIENT</a>) {</div>
-<div class="line"><a name="l02977"></a><span class="lineno"> 2977</span>&#160;    <span class="comment">/* send ClientHello with empty Cookie */</span></div>
-<div class="line"><a name="l02978"></a><span class="lineno"> 2978</span>&#160;    err = <a class="code" href="dtls_8c.html#aecd3ffe8bf8a3970d3e091ce8e7c6476">dtls_send_client_hello</a>(ctx, peer, NULL, 0);</div>
-<div class="line"><a name="l02979"></a><span class="lineno"> 2979</span>&#160;    <span class="keywordflow">if</span> (err &lt; 0)</div>
-<div class="line"><a name="l02980"></a><span class="lineno"> 2980</span>&#160;      <a class="code" href="debug_8h.html#ae1c22127c92fab70da7bf9cae8536e5c">dtls_warn</a>(<span class="stringliteral">&quot;cannot send ClientHello\n&quot;</span>);</div>
-<div class="line"><a name="l02981"></a><span class="lineno"> 2981</span>&#160;    <span class="keywordflow">else</span></div>
-<div class="line"><a name="l02982"></a><span class="lineno"> 2982</span>&#160;      peer-&gt;<a class="code" href="structdtls__peer__t.html#a4e23cc3b273813744524c3db1fda9c83">state</a> = <a class="code" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a1a76f1e49c80d22df9673f8471d1ec53">DTLS_STATE_CLIENTHELLO</a>;</div>
-<div class="line"><a name="l02983"></a><span class="lineno"> 2983</span>&#160;    <span class="keywordflow">return</span> err;</div>
-<div class="line"><a name="l02984"></a><span class="lineno"> 2984</span>&#160;  } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (peer-&gt;<a class="code" href="structdtls__peer__t.html#aeca80f1bcbcfdba89a2ab08e4bc48120">role</a> == <a class="code" href="peer_8h.html#ae30cd4bcffed73f79f17c09e5a1452c8a7c2a694fc87273c445ad661575b28255">DTLS_SERVER</a>) {</div>
-<div class="line"><a name="l02985"></a><span class="lineno"> 2985</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="dtls_8c.html#ab3af0ee4375c0da833aacec49c6fd8ad">dtls_send_hello_request</a>(ctx, peer);</div>
-<div class="line"><a name="l02986"></a><span class="lineno"> 2986</span>&#160;  }</div>
-<div class="line"><a name="l02987"></a><span class="lineno"> 2987</span>&#160;</div>
-<div class="line"><a name="l02988"></a><span class="lineno"> 2988</span>&#160;  <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l02989"></a><span class="lineno"> 2989</span>&#160;}</div>
-<div class="line"><a name="l02990"></a><span class="lineno"> 2990</span>&#160;</div>
-<div class="line"><a name="l02991"></a><span class="lineno"> 2991</span>&#160;<span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l02992"></a><span class="lineno"><a class="line" href="dtls_8c.html#a24e7d6ad9fc0d87b7285615123bdd43d"> 2992</a></span>&#160;<a class="code" href="dtls_8c.html#a24e7d6ad9fc0d87b7285615123bdd43d">handle_handshake_msg</a>(<a class="code" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *peer, <a class="code" href="structsession__t.html">session_t</a> *session,</div>
-<div class="line"><a name="l02993"></a><span class="lineno"> 2993</span>&#160;         <span class="keyword">const</span> <a class="code" href="peer_8h.html#ae30cd4bcffed73f79f17c09e5a1452c8">dtls_peer_type</a> role, <span class="keyword">const</span> <a class="code" href="state_8h.html#aea0e57fd5b857535960534b53361aa35">dtls_state_t</a> state,</div>
-<div class="line"><a name="l02994"></a><span class="lineno"> 2994</span>&#160;         <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *data, <span class="keywordtype">size_t</span> data_length) {</div>
-<div class="line"><a name="l02995"></a><span class="lineno"> 2995</span>&#160;</div>
-<div class="line"><a name="l02996"></a><span class="lineno"> 2996</span>&#160;  <span class="keywordtype">int</span> err = 0;</div>
-<div class="line"><a name="l02997"></a><span class="lineno"> 2997</span>&#160;</div>
-<div class="line"><a name="l02998"></a><span class="lineno"> 2998</span>&#160;  <span class="comment">/* This will clear the retransmission buffer if we get an expected</span></div>
-<div class="line"><a name="l02999"></a><span class="lineno"> 2999</span>&#160;<span class="comment">   * handshake message. We have to make sure that no handshake message</span></div>
-<div class="line"><a name="l03000"></a><span class="lineno"> 3000</span>&#160;<span class="comment">   * should get expected when we still should retransmit something, when</span></div>
-<div class="line"><a name="l03001"></a><span class="lineno"> 3001</span>&#160;<span class="comment">   * we do everything accordingly to the DTLS 1.2 standard this should</span></div>
-<div class="line"><a name="l03002"></a><span class="lineno"> 3002</span>&#160;<span class="comment">   * not be a problem. */</span></div>
-<div class="line"><a name="l03003"></a><span class="lineno"> 3003</span>&#160;  <span class="keywordflow">if</span> (peer) {</div>
-<div class="line"><a name="l03004"></a><span class="lineno"> 3004</span>&#160;    <a class="code" href="dtls_8c.html#a3742f5067d1b0693d6a41e70d4ecd5b5">dtls_stop_retransmission</a>(ctx, peer);</div>
-<div class="line"><a name="l03005"></a><span class="lineno"> 3005</span>&#160;  }</div>
-<div class="line"><a name="l03006"></a><span class="lineno"> 3006</span>&#160;</div>
-<div class="line"><a name="l03007"></a><span class="lineno"> 3007</span>&#160;  <span class="comment">/* The following switch construct handles the given message with</span></div>
-<div class="line"><a name="l03008"></a><span class="lineno"> 3008</span>&#160;<span class="comment">   * respect to the current internal state for this peer. In case of</span></div>
-<div class="line"><a name="l03009"></a><span class="lineno"> 3009</span>&#160;<span class="comment">   * error, it is left with return 0. */</span></div>
-<div class="line"><a name="l03010"></a><span class="lineno"> 3010</span>&#160;</div>
-<div class="line"><a name="l03011"></a><span class="lineno"> 3011</span>&#160;  <a class="code" href="debug_8h.html#a0f158325426415d9efb5a36bebf45844">dtls_debug</a>(<span class="stringliteral">&quot;handle handshake packet of type: %s (%i)\n&quot;</span>,</div>
-<div class="line"><a name="l03012"></a><span class="lineno"> 3012</span>&#160;         <a class="code" href="dtls_8c.html#a00707f0f82235a2432338e77dae0911d">dtls_handshake_type_to_name</a>(data[0]), data[0]);</div>
-<div class="line"><a name="l03013"></a><span class="lineno"> 3013</span>&#160;  <span class="keywordflow">switch</span> (data[0]) {</div>
-<div class="line"><a name="l03014"></a><span class="lineno"> 3014</span>&#160;</div>
-<div class="line"><a name="l03015"></a><span class="lineno"> 3015</span>&#160;  <span class="comment">/************************************************************************</span></div>
-<div class="line"><a name="l03016"></a><span class="lineno"> 3016</span>&#160;<span class="comment">   * Client states</span></div>
-<div class="line"><a name="l03017"></a><span class="lineno"> 3017</span>&#160;<span class="comment">   ************************************************************************/</span></div>
-<div class="line"><a name="l03018"></a><span class="lineno"> 3018</span>&#160;  <span class="keywordflow">case</span> <a class="code" href="dtls_8h.html#ab04f98f1863c785fabd97925c9746f7d">DTLS_HT_HELLO_VERIFY_REQUEST</a>:</div>
-<div class="line"><a name="l03019"></a><span class="lineno"> 3019</span>&#160;</div>
-<div class="line"><a name="l03020"></a><span class="lineno"> 3020</span>&#160;    <span class="keywordflow">if</span> (state != <a class="code" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a1a76f1e49c80d22df9673f8471d1ec53">DTLS_STATE_CLIENTHELLO</a>) {</div>
-<div class="line"><a name="l03021"></a><span class="lineno"> 3021</span>&#160;      <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda7b9032725373912bd7fda54af8704d8a">DTLS_ALERT_UNEXPECTED_MESSAGE</a>);</div>
-<div class="line"><a name="l03022"></a><span class="lineno"> 3022</span>&#160;    }</div>
-<div class="line"><a name="l03023"></a><span class="lineno"> 3023</span>&#160;</div>
-<div class="line"><a name="l03024"></a><span class="lineno"> 3024</span>&#160;    err = <a class="code" href="dtls_8c.html#a2b598b29d3148bfc02e826d94bbc0642">check_server_hello_verify_request</a>(ctx, peer, data, data_length);</div>
-<div class="line"><a name="l03025"></a><span class="lineno"> 3025</span>&#160;    <span class="keywordflow">if</span> (err &lt; 0) {</div>
-<div class="line"><a name="l03026"></a><span class="lineno"> 3026</span>&#160;      <a class="code" href="debug_8h.html#ae1c22127c92fab70da7bf9cae8536e5c">dtls_warn</a>(<span class="stringliteral">&quot;error in check_server_hello_verify_request err: %i\n&quot;</span>, err);</div>
-<div class="line"><a name="l03027"></a><span class="lineno"> 3027</span>&#160;      <span class="keywordflow">return</span> err;</div>
-<div class="line"><a name="l03028"></a><span class="lineno"> 3028</span>&#160;    }</div>
-<div class="line"><a name="l03029"></a><span class="lineno"> 3029</span>&#160;</div>
-<div class="line"><a name="l03030"></a><span class="lineno"> 3030</span>&#160;    <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l03031"></a><span class="lineno"> 3031</span>&#160;  <span class="keywordflow">case</span> <a class="code" href="dtls_8h.html#ad5882a5ff4073ffefa266bb2c4a1ee3c">DTLS_HT_SERVER_HELLO</a>:</div>
-<div class="line"><a name="l03032"></a><span class="lineno"> 3032</span>&#160;</div>
-<div class="line"><a name="l03033"></a><span class="lineno"> 3033</span>&#160;    <span class="keywordflow">if</span> (state != <a class="code" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a1a76f1e49c80d22df9673f8471d1ec53">DTLS_STATE_CLIENTHELLO</a>) {</div>
-<div class="line"><a name="l03034"></a><span class="lineno"> 3034</span>&#160;      <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda7b9032725373912bd7fda54af8704d8a">DTLS_ALERT_UNEXPECTED_MESSAGE</a>);</div>
-<div class="line"><a name="l03035"></a><span class="lineno"> 3035</span>&#160;    }</div>
-<div class="line"><a name="l03036"></a><span class="lineno"> 3036</span>&#160;</div>
-<div class="line"><a name="l03037"></a><span class="lineno"> 3037</span>&#160;    err = <a class="code" href="dtls_8c.html#afcc64c0abfd9b157b71a47e5a5a78b26">check_server_hello</a>(ctx, peer, data, data_length);</div>
-<div class="line"><a name="l03038"></a><span class="lineno"> 3038</span>&#160;    <span class="keywordflow">if</span> (err &lt; 0) {</div>
-<div class="line"><a name="l03039"></a><span class="lineno"> 3039</span>&#160;      <a class="code" href="debug_8h.html#ae1c22127c92fab70da7bf9cae8536e5c">dtls_warn</a>(<span class="stringliteral">&quot;error in check_server_hello err: %i\n&quot;</span>, err);</div>
-<div class="line"><a name="l03040"></a><span class="lineno"> 3040</span>&#160;      <span class="keywordflow">return</span> err;</div>
-<div class="line"><a name="l03041"></a><span class="lineno"> 3041</span>&#160;    }</div>
-<div class="line"><a name="l03042"></a><span class="lineno"> 3042</span>&#160;    <span class="keywordflow">if</span> (<a class="code" href="dtls_8c.html#a8098a728e5fff33ceeb7f57ebd48a212">is_tls_ecdhe_ecdsa_with_aes_128_ccm_8</a>(peer-&gt;<a class="code" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">handshake_params</a>-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a5cc61a98763800b5b4e7617307649933">cipher</a>))</div>
-<div class="line"><a name="l03043"></a><span class="lineno"> 3043</span>&#160;      peer-&gt;<a class="code" href="structdtls__peer__t.html#a4e23cc3b273813744524c3db1fda9c83">state</a> = <a class="code" href="state_8h.html#aea0e57fd5b857535960534b53361aa35aa58cb54cde33e338814177a41ca2df6b">DTLS_STATE_WAIT_SERVERCERTIFICATE</a>;</div>
-<div class="line"><a name="l03044"></a><span class="lineno"> 3044</span>&#160;    <span class="keywordflow">else</span></div>
-<div class="line"><a name="l03045"></a><span class="lineno"> 3045</span>&#160;      peer-&gt;<a class="code" href="structdtls__peer__t.html#a4e23cc3b273813744524c3db1fda9c83">state</a> = <a class="code" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a5c55da9c6de8eb986de811cf2135a1a0">DTLS_STATE_WAIT_SERVERHELLODONE</a>;</div>
-<div class="line"><a name="l03046"></a><span class="lineno"> 3046</span>&#160;    <span class="comment">/* update_hs_hash(peer, data, data_length); */</span></div>
-<div class="line"><a name="l03047"></a><span class="lineno"> 3047</span>&#160;</div>
-<div class="line"><a name="l03048"></a><span class="lineno"> 3048</span>&#160;    <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l03049"></a><span class="lineno"> 3049</span>&#160;</div>
-<div class="line"><a name="l03050"></a><span class="lineno"> 3050</span>&#160;<span class="preprocessor">#ifdef DTLS_ECC</span></div>
-<div class="line"><a name="l03051"></a><span class="lineno"> 3051</span>&#160;<span class="preprocessor"></span>  <span class="keywordflow">case</span> <a class="code" href="dtls_8h.html#a55a0a899d7f151e7f53b76fe8a82c10e">DTLS_HT_CERTIFICATE</a>:</div>
-<div class="line"><a name="l03052"></a><span class="lineno"> 3052</span>&#160;</div>
-<div class="line"><a name="l03053"></a><span class="lineno"> 3053</span>&#160;    <span class="keywordflow">if</span> ((role == <a class="code" href="peer_8h.html#ae30cd4bcffed73f79f17c09e5a1452c8afd8391395303e28ee9b375232cb68a1e">DTLS_CLIENT</a> &amp;&amp; state != <a class="code" href="state_8h.html#aea0e57fd5b857535960534b53361aa35aa58cb54cde33e338814177a41ca2df6b">DTLS_STATE_WAIT_SERVERCERTIFICATE</a>) ||</div>
-<div class="line"><a name="l03054"></a><span class="lineno"> 3054</span>&#160;        (role == <a class="code" href="peer_8h.html#ae30cd4bcffed73f79f17c09e5a1452c8a7c2a694fc87273c445ad661575b28255">DTLS_SERVER</a> &amp;&amp; state != <a class="code" href="state_8h.html#aea0e57fd5b857535960534b53361aa35abdb6292772d18296f76c90fdc2533ab9">DTLS_STATE_WAIT_CLIENTCERTIFICATE</a>)) {</div>
-<div class="line"><a name="l03055"></a><span class="lineno"> 3055</span>&#160;      <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda7b9032725373912bd7fda54af8704d8a">DTLS_ALERT_UNEXPECTED_MESSAGE</a>);</div>
-<div class="line"><a name="l03056"></a><span class="lineno"> 3056</span>&#160;    }</div>
-<div class="line"><a name="l03057"></a><span class="lineno"> 3057</span>&#160;    err = <a class="code" href="dtls_8c.html#a88db0e7ffa0836761bef7b62ac3d2fb7">check_server_certificate</a>(ctx, peer, data, data_length);</div>
-<div class="line"><a name="l03058"></a><span class="lineno"> 3058</span>&#160;    <span class="keywordflow">if</span> (err &lt; 0) {</div>
-<div class="line"><a name="l03059"></a><span class="lineno"> 3059</span>&#160;      <a class="code" href="debug_8h.html#ae1c22127c92fab70da7bf9cae8536e5c">dtls_warn</a>(<span class="stringliteral">&quot;error in check_server_certificate err: %i\n&quot;</span>, err);</div>
-<div class="line"><a name="l03060"></a><span class="lineno"> 3060</span>&#160;      <span class="keywordflow">return</span> err;</div>
-<div class="line"><a name="l03061"></a><span class="lineno"> 3061</span>&#160;    }</div>
-<div class="line"><a name="l03062"></a><span class="lineno"> 3062</span>&#160;    <span class="keywordflow">if</span> (role == <a class="code" href="peer_8h.html#ae30cd4bcffed73f79f17c09e5a1452c8afd8391395303e28ee9b375232cb68a1e">DTLS_CLIENT</a>) {</div>
-<div class="line"><a name="l03063"></a><span class="lineno"> 3063</span>&#160;      peer-&gt;<a class="code" href="structdtls__peer__t.html#a4e23cc3b273813744524c3db1fda9c83">state</a> = <a class="code" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a97f1fd8aadc13e8d721d5e40d42a0330">DTLS_STATE_WAIT_SERVERKEYEXCHANGE</a>;</div>
-<div class="line"><a name="l03064"></a><span class="lineno"> 3064</span>&#160;    } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (role == <a class="code" href="peer_8h.html#ae30cd4bcffed73f79f17c09e5a1452c8a7c2a694fc87273c445ad661575b28255">DTLS_SERVER</a>){</div>
-<div class="line"><a name="l03065"></a><span class="lineno"> 3065</span>&#160;      peer-&gt;<a class="code" href="structdtls__peer__t.html#a4e23cc3b273813744524c3db1fda9c83">state</a> = <a class="code" href="state_8h.html#aea0e57fd5b857535960534b53361aa35aa013ec95c846eaebd37acecc1a2f8a05">DTLS_STATE_WAIT_CLIENTKEYEXCHANGE</a>;</div>
-<div class="line"><a name="l03066"></a><span class="lineno"> 3066</span>&#160;    }</div>
-<div class="line"><a name="l03067"></a><span class="lineno"> 3067</span>&#160;    <span class="comment">/* update_hs_hash(peer, data, data_length); */</span></div>
-<div class="line"><a name="l03068"></a><span class="lineno"> 3068</span>&#160;</div>
-<div class="line"><a name="l03069"></a><span class="lineno"> 3069</span>&#160;    <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l03070"></a><span class="lineno"> 3070</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* DTLS_ECC */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l03071"></a><span class="lineno"> 3071</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l03072"></a><span class="lineno"> 3072</span>&#160;  <span class="keywordflow">case</span> <a class="code" href="dtls_8h.html#aab327e17614cf2902c5fc6169466613f">DTLS_HT_SERVER_KEY_EXCHANGE</a>:</div>
-<div class="line"><a name="l03073"></a><span class="lineno"> 3073</span>&#160;</div>
-<div class="line"><a name="l03074"></a><span class="lineno"> 3074</span>&#160;<span class="preprocessor">#ifdef DTLS_ECC</span></div>
-<div class="line"><a name="l03075"></a><span class="lineno"> 3075</span>&#160;<span class="preprocessor"></span>    <span class="keywordflow">if</span> (<a class="code" href="dtls_8c.html#a8098a728e5fff33ceeb7f57ebd48a212">is_tls_ecdhe_ecdsa_with_aes_128_ccm_8</a>(peer-&gt;<a class="code" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">handshake_params</a>-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a5cc61a98763800b5b4e7617307649933">cipher</a>)) {</div>
-<div class="line"><a name="l03076"></a><span class="lineno"> 3076</span>&#160;      <span class="keywordflow">if</span> (state != <a class="code" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a97f1fd8aadc13e8d721d5e40d42a0330">DTLS_STATE_WAIT_SERVERKEYEXCHANGE</a>) {</div>
-<div class="line"><a name="l03077"></a><span class="lineno"> 3077</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda7b9032725373912bd7fda54af8704d8a">DTLS_ALERT_UNEXPECTED_MESSAGE</a>);</div>
-<div class="line"><a name="l03078"></a><span class="lineno"> 3078</span>&#160;      }</div>
-<div class="line"><a name="l03079"></a><span class="lineno"> 3079</span>&#160;      err = <a class="code" href="dtls_8c.html#a3de5b3956733293d3e19d83d3cc8d9bb">check_server_key_exchange_ecdsa</a>(ctx, peer, data, data_length);</div>
-<div class="line"><a name="l03080"></a><span class="lineno"> 3080</span>&#160;    }</div>
-<div class="line"><a name="l03081"></a><span class="lineno"> 3081</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* DTLS_ECC */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l03082"></a><span class="lineno"> 3082</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#ifdef DTLS_PSK</span></div>
-<div class="line"><a name="l03083"></a><span class="lineno"> 3083</span>&#160;<span class="preprocessor"></span>    <span class="keywordflow">if</span> (<a class="code" href="dtls_8c.html#a8bb6e8bb947b943d2af4c1886a8e72ba">is_tls_psk_with_aes_128_ccm_8</a>(peer-&gt;<a class="code" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">handshake_params</a>-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a5cc61a98763800b5b4e7617307649933">cipher</a>)) {</div>
-<div class="line"><a name="l03084"></a><span class="lineno"> 3084</span>&#160;      <span class="keywordflow">if</span> (state != <a class="code" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a5c55da9c6de8eb986de811cf2135a1a0">DTLS_STATE_WAIT_SERVERHELLODONE</a>) {</div>
-<div class="line"><a name="l03085"></a><span class="lineno"> 3085</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda7b9032725373912bd7fda54af8704d8a">DTLS_ALERT_UNEXPECTED_MESSAGE</a>);</div>
-<div class="line"><a name="l03086"></a><span class="lineno"> 3086</span>&#160;      }</div>
-<div class="line"><a name="l03087"></a><span class="lineno"> 3087</span>&#160;      err = <a class="code" href="dtls_8c.html#a915dccbe7e71d52d2650378f3aaad054">check_server_key_exchange_psk</a>(ctx, peer, data, data_length);</div>
-<div class="line"><a name="l03088"></a><span class="lineno"> 3088</span>&#160;    }</div>
-<div class="line"><a name="l03089"></a><span class="lineno"> 3089</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* DTLS_PSK */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l03090"></a><span class="lineno"> 3090</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l03091"></a><span class="lineno"> 3091</span>&#160;    <span class="keywordflow">if</span> (err &lt; 0) {</div>
-<div class="line"><a name="l03092"></a><span class="lineno"> 3092</span>&#160;      <a class="code" href="debug_8h.html#ae1c22127c92fab70da7bf9cae8536e5c">dtls_warn</a>(<span class="stringliteral">&quot;error in check_server_key_exchange err: %i\n&quot;</span>, err);</div>
-<div class="line"><a name="l03093"></a><span class="lineno"> 3093</span>&#160;      <span class="keywordflow">return</span> err;</div>
-<div class="line"><a name="l03094"></a><span class="lineno"> 3094</span>&#160;    }</div>
-<div class="line"><a name="l03095"></a><span class="lineno"> 3095</span>&#160;    peer-&gt;<a class="code" href="structdtls__peer__t.html#a4e23cc3b273813744524c3db1fda9c83">state</a> = <a class="code" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a5c55da9c6de8eb986de811cf2135a1a0">DTLS_STATE_WAIT_SERVERHELLODONE</a>;</div>
-<div class="line"><a name="l03096"></a><span class="lineno"> 3096</span>&#160;    <span class="comment">/* update_hs_hash(peer, data, data_length); */</span></div>
-<div class="line"><a name="l03097"></a><span class="lineno"> 3097</span>&#160;</div>
-<div class="line"><a name="l03098"></a><span class="lineno"> 3098</span>&#160;    <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l03099"></a><span class="lineno"> 3099</span>&#160;</div>
-<div class="line"><a name="l03100"></a><span class="lineno"> 3100</span>&#160;  <span class="keywordflow">case</span> <a class="code" href="dtls_8h.html#a44399f223a3e1c8a8bf3fc638a06a4d7">DTLS_HT_SERVER_HELLO_DONE</a>:</div>
-<div class="line"><a name="l03101"></a><span class="lineno"> 3101</span>&#160;</div>
-<div class="line"><a name="l03102"></a><span class="lineno"> 3102</span>&#160;    <span class="keywordflow">if</span> (state != <a class="code" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a5c55da9c6de8eb986de811cf2135a1a0">DTLS_STATE_WAIT_SERVERHELLODONE</a>) {</div>
-<div class="line"><a name="l03103"></a><span class="lineno"> 3103</span>&#160;      <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda7b9032725373912bd7fda54af8704d8a">DTLS_ALERT_UNEXPECTED_MESSAGE</a>);</div>
-<div class="line"><a name="l03104"></a><span class="lineno"> 3104</span>&#160;    }</div>
-<div class="line"><a name="l03105"></a><span class="lineno"> 3105</span>&#160;</div>
-<div class="line"><a name="l03106"></a><span class="lineno"> 3106</span>&#160;    err = <a class="code" href="dtls_8c.html#aca393c29148080d4dfa343c8ec283928">check_server_hellodone</a>(ctx, peer, data, data_length);</div>
-<div class="line"><a name="l03107"></a><span class="lineno"> 3107</span>&#160;    <span class="keywordflow">if</span> (err &lt; 0) {</div>
-<div class="line"><a name="l03108"></a><span class="lineno"> 3108</span>&#160;      <a class="code" href="debug_8h.html#ae1c22127c92fab70da7bf9cae8536e5c">dtls_warn</a>(<span class="stringliteral">&quot;error in check_server_hellodone err: %i\n&quot;</span>, err);</div>
-<div class="line"><a name="l03109"></a><span class="lineno"> 3109</span>&#160;      <span class="keywordflow">return</span> err;</div>
-<div class="line"><a name="l03110"></a><span class="lineno"> 3110</span>&#160;    }</div>
-<div class="line"><a name="l03111"></a><span class="lineno"> 3111</span>&#160;    peer-&gt;<a class="code" href="structdtls__peer__t.html#a4e23cc3b273813744524c3db1fda9c83">state</a> = <a class="code" href="state_8h.html#aea0e57fd5b857535960534b53361aa35ab3436ceaa0f47131771c288b8b5f1840">DTLS_STATE_WAIT_CHANGECIPHERSPEC</a>;</div>
-<div class="line"><a name="l03112"></a><span class="lineno"> 3112</span>&#160;    <span class="comment">/* update_hs_hash(peer, data, data_length); */</span></div>
-<div class="line"><a name="l03113"></a><span class="lineno"> 3113</span>&#160;</div>
-<div class="line"><a name="l03114"></a><span class="lineno"> 3114</span>&#160;    <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l03115"></a><span class="lineno"> 3115</span>&#160;</div>
-<div class="line"><a name="l03116"></a><span class="lineno"> 3116</span>&#160;  <span class="keywordflow">case</span> <a class="code" href="dtls_8h.html#a6f49d7b0a6e9190d71d51b1ee9ff3bd5">DTLS_HT_CERTIFICATE_REQUEST</a>:</div>
-<div class="line"><a name="l03117"></a><span class="lineno"> 3117</span>&#160;</div>
-<div class="line"><a name="l03118"></a><span class="lineno"> 3118</span>&#160;    <span class="keywordflow">if</span> (state != <a class="code" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a5c55da9c6de8eb986de811cf2135a1a0">DTLS_STATE_WAIT_SERVERHELLODONE</a>) {</div>
-<div class="line"><a name="l03119"></a><span class="lineno"> 3119</span>&#160;      <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda7b9032725373912bd7fda54af8704d8a">DTLS_ALERT_UNEXPECTED_MESSAGE</a>);</div>
-<div class="line"><a name="l03120"></a><span class="lineno"> 3120</span>&#160;    }</div>
-<div class="line"><a name="l03121"></a><span class="lineno"> 3121</span>&#160;</div>
-<div class="line"><a name="l03122"></a><span class="lineno"> 3122</span>&#160;    err = <a class="code" href="dtls_8c.html#a61ddc44bfdb8a92b72911a402aa0164e">check_certificate_request</a>(ctx, peer, data, data_length);</div>
-<div class="line"><a name="l03123"></a><span class="lineno"> 3123</span>&#160;    <span class="keywordflow">if</span> (err &lt; 0) {</div>
-<div class="line"><a name="l03124"></a><span class="lineno"> 3124</span>&#160;      <a class="code" href="debug_8h.html#ae1c22127c92fab70da7bf9cae8536e5c">dtls_warn</a>(<span class="stringliteral">&quot;error in check_certificate_request err: %i\n&quot;</span>, err);</div>
-<div class="line"><a name="l03125"></a><span class="lineno"> 3125</span>&#160;      <span class="keywordflow">return</span> err;</div>
-<div class="line"><a name="l03126"></a><span class="lineno"> 3126</span>&#160;    }</div>
-<div class="line"><a name="l03127"></a><span class="lineno"> 3127</span>&#160;</div>
-<div class="line"><a name="l03128"></a><span class="lineno"> 3128</span>&#160;    <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l03129"></a><span class="lineno"> 3129</span>&#160;</div>
-<div class="line"><a name="l03130"></a><span class="lineno"> 3130</span>&#160;  <span class="keywordflow">case</span> <a class="code" href="dtls_8h.html#a16b49d03e041d43b60e1b7bacf35daad">DTLS_HT_FINISHED</a>:</div>
-<div class="line"><a name="l03131"></a><span class="lineno"> 3131</span>&#160;    <span class="comment">/* expect a Finished message from server */</span></div>
-<div class="line"><a name="l03132"></a><span class="lineno"> 3132</span>&#160;</div>
-<div class="line"><a name="l03133"></a><span class="lineno"> 3133</span>&#160;    <span class="keywordflow">if</span> (state != <a class="code" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a8c1ffc1652e7c5ba25239fe1f3a430ba">DTLS_STATE_WAIT_FINISHED</a>) {</div>
-<div class="line"><a name="l03134"></a><span class="lineno"> 3134</span>&#160;      <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda7b9032725373912bd7fda54af8704d8a">DTLS_ALERT_UNEXPECTED_MESSAGE</a>);</div>
-<div class="line"><a name="l03135"></a><span class="lineno"> 3135</span>&#160;    }</div>
-<div class="line"><a name="l03136"></a><span class="lineno"> 3136</span>&#160;</div>
-<div class="line"><a name="l03137"></a><span class="lineno"> 3137</span>&#160;    err = <a class="code" href="dtls_8c.html#a91b2653747ca1e4058ae3b350019188b">check_finished</a>(ctx, peer, data, data_length);</div>
-<div class="line"><a name="l03138"></a><span class="lineno"> 3138</span>&#160;    <span class="keywordflow">if</span> (err &lt; 0) {</div>
-<div class="line"><a name="l03139"></a><span class="lineno"> 3139</span>&#160;      <a class="code" href="debug_8h.html#ae1c22127c92fab70da7bf9cae8536e5c">dtls_warn</a>(<span class="stringliteral">&quot;error in check_finished err: %i\n&quot;</span>, err);</div>
-<div class="line"><a name="l03140"></a><span class="lineno"> 3140</span>&#160;      <span class="keywordflow">return</span> err;</div>
-<div class="line"><a name="l03141"></a><span class="lineno"> 3141</span>&#160;    }</div>
-<div class="line"><a name="l03142"></a><span class="lineno"> 3142</span>&#160;    <span class="keywordflow">if</span> (role == <a class="code" href="peer_8h.html#ae30cd4bcffed73f79f17c09e5a1452c8a7c2a694fc87273c445ad661575b28255">DTLS_SERVER</a>) {</div>
-<div class="line"><a name="l03143"></a><span class="lineno"> 3143</span>&#160;      <span class="comment">/* send ServerFinished */</span></div>
-<div class="line"><a name="l03144"></a><span class="lineno"> 3144</span>&#160;      <a class="code" href="dtls_8c.html#a3db09acb5894f17f4745d7556555bea7">update_hs_hash</a>(peer, data, data_length);</div>
-<div class="line"><a name="l03145"></a><span class="lineno"> 3145</span>&#160;</div>
-<div class="line"><a name="l03146"></a><span class="lineno"> 3146</span>&#160;      <span class="comment">/* send change cipher spec message and switch to new configuration */</span></div>
-<div class="line"><a name="l03147"></a><span class="lineno"> 3147</span>&#160;      err = <a class="code" href="dtls_8c.html#a9cfb3c9e63f378d0d8e3d3d0c60537a5">dtls_send_ccs</a>(ctx, peer);</div>
-<div class="line"><a name="l03148"></a><span class="lineno"> 3148</span>&#160;      <span class="keywordflow">if</span> (err &lt; 0) {</div>
-<div class="line"><a name="l03149"></a><span class="lineno"> 3149</span>&#160;        <a class="code" href="debug_8h.html#ae1c22127c92fab70da7bf9cae8536e5c">dtls_warn</a>(<span class="stringliteral">&quot;cannot send CCS message\n&quot;</span>);</div>
-<div class="line"><a name="l03150"></a><span class="lineno"> 3150</span>&#160;        <span class="keywordflow">return</span> err;</div>
-<div class="line"><a name="l03151"></a><span class="lineno"> 3151</span>&#160;      }</div>
-<div class="line"><a name="l03152"></a><span class="lineno"> 3152</span>&#160;</div>
-<div class="line"><a name="l03153"></a><span class="lineno"> 3153</span>&#160;      <a class="code" href="peer_8h.html#a9c37ce3fd7539154289dd17215179e2d">dtls_security_params_switch</a>(peer);</div>
-<div class="line"><a name="l03154"></a><span class="lineno"> 3154</span>&#160;</div>
-<div class="line"><a name="l03155"></a><span class="lineno"> 3155</span>&#160;      err = <a class="code" href="dtls_8c.html#a112e0d83a0e576b5d22df60241900a67">dtls_send_finished</a>(ctx, peer, <a class="code" href="dtls_8c.html#abac8adda40bcb694e059e38f6ac115f9">PRF_LABEL</a>(server), <a class="code" href="dtls_8c.html#a83b260e812e69f1dae18497d167770a9">PRF_LABEL_SIZE</a>(server));</div>
-<div class="line"><a name="l03156"></a><span class="lineno"> 3156</span>&#160;      <span class="keywordflow">if</span> (err &lt; 0) {</div>
-<div class="line"><a name="l03157"></a><span class="lineno"> 3157</span>&#160;        <a class="code" href="debug_8h.html#ae1c22127c92fab70da7bf9cae8536e5c">dtls_warn</a>(<span class="stringliteral">&quot;sending server Finished failed\n&quot;</span>);</div>
-<div class="line"><a name="l03158"></a><span class="lineno"> 3158</span>&#160;        <span class="keywordflow">return</span> err;</div>
-<div class="line"><a name="l03159"></a><span class="lineno"> 3159</span>&#160;      }</div>
-<div class="line"><a name="l03160"></a><span class="lineno"> 3160</span>&#160;    }</div>
-<div class="line"><a name="l03161"></a><span class="lineno"> 3161</span>&#160;    <a class="code" href="crypto_8c.html#aa17bcdc666796e52788f82ee003bb172">dtls_handshake_free</a>(peer-&gt;<a class="code" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">handshake_params</a>);</div>
-<div class="line"><a name="l03162"></a><span class="lineno"> 3162</span>&#160;    peer-&gt;<a class="code" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">handshake_params</a> = NULL;</div>
-<div class="line"><a name="l03163"></a><span class="lineno"> 3163</span>&#160;    <a class="code" href="debug_8h.html#a0f158325426415d9efb5a36bebf45844">dtls_debug</a>(<span class="stringliteral">&quot;Handshake complete\n&quot;</span>);</div>
-<div class="line"><a name="l03164"></a><span class="lineno"> 3164</span>&#160;    <a class="code" href="debug_8h.html#a4a3c60a1e54594e78cd207c57ddb1378">check_stack</a>();</div>
-<div class="line"><a name="l03165"></a><span class="lineno"> 3165</span>&#160;    peer-&gt;<a class="code" href="structdtls__peer__t.html#a4e23cc3b273813744524c3db1fda9c83">state</a> = <a class="code" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a953a6aabd0aff0492df164e79815b122">DTLS_STATE_CONNECTED</a>;</div>
-<div class="line"><a name="l03166"></a><span class="lineno"> 3166</span>&#160;</div>
-<div class="line"><a name="l03167"></a><span class="lineno"> 3167</span>&#160;    <span class="comment">/* return here to not increase the message receive counter */</span></div>
-<div class="line"><a name="l03168"></a><span class="lineno"> 3168</span>&#160;    <span class="keywordflow">return</span> err;</div>
-<div class="line"><a name="l03169"></a><span class="lineno"> 3169</span>&#160;</div>
-<div class="line"><a name="l03170"></a><span class="lineno"> 3170</span>&#160;  <span class="comment">/************************************************************************</span></div>
-<div class="line"><a name="l03171"></a><span class="lineno"> 3171</span>&#160;<span class="comment">   * Server states</span></div>
-<div class="line"><a name="l03172"></a><span class="lineno"> 3172</span>&#160;<span class="comment">   ************************************************************************/</span></div>
-<div class="line"><a name="l03173"></a><span class="lineno"> 3173</span>&#160;</div>
-<div class="line"><a name="l03174"></a><span class="lineno"> 3174</span>&#160;  <span class="keywordflow">case</span> <a class="code" href="dtls_8h.html#a577885c74492a460729a451f33a894c4">DTLS_HT_CLIENT_KEY_EXCHANGE</a>:</div>
-<div class="line"><a name="l03175"></a><span class="lineno"> 3175</span>&#160;    <span class="comment">/* handle ClientHello, update msg and msglen and goto next if not finished */</span></div>
-<div class="line"><a name="l03176"></a><span class="lineno"> 3176</span>&#160;</div>
-<div class="line"><a name="l03177"></a><span class="lineno"> 3177</span>&#160;    <span class="keywordflow">if</span> (state != <a class="code" href="state_8h.html#aea0e57fd5b857535960534b53361aa35aa013ec95c846eaebd37acecc1a2f8a05">DTLS_STATE_WAIT_CLIENTKEYEXCHANGE</a>) {</div>
-<div class="line"><a name="l03178"></a><span class="lineno"> 3178</span>&#160;      <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda7b9032725373912bd7fda54af8704d8a">DTLS_ALERT_UNEXPECTED_MESSAGE</a>);</div>
-<div class="line"><a name="l03179"></a><span class="lineno"> 3179</span>&#160;    }</div>
-<div class="line"><a name="l03180"></a><span class="lineno"> 3180</span>&#160;</div>
-<div class="line"><a name="l03181"></a><span class="lineno"> 3181</span>&#160;    err = <a class="code" href="dtls_8c.html#ab9251eac8015afc7985ff4398657ea3f">check_client_keyexchange</a>(ctx, peer-&gt;<a class="code" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">handshake_params</a>, data, data_length);</div>
-<div class="line"><a name="l03182"></a><span class="lineno"> 3182</span>&#160;    <span class="keywordflow">if</span> (err &lt; 0) {</div>
-<div class="line"><a name="l03183"></a><span class="lineno"> 3183</span>&#160;      <a class="code" href="debug_8h.html#ae1c22127c92fab70da7bf9cae8536e5c">dtls_warn</a>(<span class="stringliteral">&quot;error in check_client_keyexchange err: %i\n&quot;</span>, err);</div>
-<div class="line"><a name="l03184"></a><span class="lineno"> 3184</span>&#160;      <span class="keywordflow">return</span> err;</div>
-<div class="line"><a name="l03185"></a><span class="lineno"> 3185</span>&#160;    }</div>
-<div class="line"><a name="l03186"></a><span class="lineno"> 3186</span>&#160;    <a class="code" href="dtls_8c.html#a3db09acb5894f17f4745d7556555bea7">update_hs_hash</a>(peer, data, data_length);</div>
-<div class="line"><a name="l03187"></a><span class="lineno"> 3187</span>&#160;</div>
-<div class="line"><a name="l03188"></a><span class="lineno"> 3188</span>&#160;    <span class="keywordflow">if</span> (<a class="code" href="dtls_8c.html#a8098a728e5fff33ceeb7f57ebd48a212">is_tls_ecdhe_ecdsa_with_aes_128_ccm_8</a>(peer-&gt;<a class="code" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">handshake_params</a>-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a5cc61a98763800b5b4e7617307649933">cipher</a>) &amp;&amp;</div>
-<div class="line"><a name="l03189"></a><span class="lineno"> 3189</span>&#160;    <a class="code" href="dtls_8c.html#a599f0d6e9134869e55b64c4f8720ebfa">is_ecdsa_client_auth_supported</a>(ctx))</div>
-<div class="line"><a name="l03190"></a><span class="lineno"> 3190</span>&#160;      peer-&gt;<a class="code" href="structdtls__peer__t.html#a4e23cc3b273813744524c3db1fda9c83">state</a> = <a class="code" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a1bb7cd2cdb77a9cdc5a5df541e8d99c4">DTLS_STATE_WAIT_CERTIFICATEVERIFY</a>;</div>
-<div class="line"><a name="l03191"></a><span class="lineno"> 3191</span>&#160;    <span class="keywordflow">else</span></div>
-<div class="line"><a name="l03192"></a><span class="lineno"> 3192</span>&#160;      peer-&gt;<a class="code" href="structdtls__peer__t.html#a4e23cc3b273813744524c3db1fda9c83">state</a> = <a class="code" href="state_8h.html#aea0e57fd5b857535960534b53361aa35ab3436ceaa0f47131771c288b8b5f1840">DTLS_STATE_WAIT_CHANGECIPHERSPEC</a>;</div>
-<div class="line"><a name="l03193"></a><span class="lineno"> 3193</span>&#160;    <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l03194"></a><span class="lineno"> 3194</span>&#160;</div>
-<div class="line"><a name="l03195"></a><span class="lineno"> 3195</span>&#160;<span class="preprocessor">#ifdef DTLS_ECC</span></div>
-<div class="line"><a name="l03196"></a><span class="lineno"> 3196</span>&#160;<span class="preprocessor"></span>  <span class="keywordflow">case</span> <a class="code" href="dtls_8h.html#a9abc650dd8339a227ddd165ede9350d0">DTLS_HT_CERTIFICATE_VERIFY</a>:</div>
-<div class="line"><a name="l03197"></a><span class="lineno"> 3197</span>&#160;</div>
-<div class="line"><a name="l03198"></a><span class="lineno"> 3198</span>&#160;    <span class="keywordflow">if</span> (state != <a class="code" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a1bb7cd2cdb77a9cdc5a5df541e8d99c4">DTLS_STATE_WAIT_CERTIFICATEVERIFY</a>) {</div>
-<div class="line"><a name="l03199"></a><span class="lineno"> 3199</span>&#160;      <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda7b9032725373912bd7fda54af8704d8a">DTLS_ALERT_UNEXPECTED_MESSAGE</a>);</div>
-<div class="line"><a name="l03200"></a><span class="lineno"> 3200</span>&#160;    }</div>
-<div class="line"><a name="l03201"></a><span class="lineno"> 3201</span>&#160;</div>
-<div class="line"><a name="l03202"></a><span class="lineno"> 3202</span>&#160;    err = <a class="code" href="dtls_8c.html#a017195b30506fbdf32fff55af9276a02">check_client_certificate_verify</a>(ctx, peer, data, data_length);</div>
-<div class="line"><a name="l03203"></a><span class="lineno"> 3203</span>&#160;    <span class="keywordflow">if</span> (err &lt; 0) {</div>
-<div class="line"><a name="l03204"></a><span class="lineno"> 3204</span>&#160;      <a class="code" href="debug_8h.html#ae1c22127c92fab70da7bf9cae8536e5c">dtls_warn</a>(<span class="stringliteral">&quot;error in check_client_certificate_verify err: %i\n&quot;</span>, err);</div>
-<div class="line"><a name="l03205"></a><span class="lineno"> 3205</span>&#160;      <span class="keywordflow">return</span> err;</div>
-<div class="line"><a name="l03206"></a><span class="lineno"> 3206</span>&#160;    }</div>
-<div class="line"><a name="l03207"></a><span class="lineno"> 3207</span>&#160;</div>
-<div class="line"><a name="l03208"></a><span class="lineno"> 3208</span>&#160;    <a class="code" href="dtls_8c.html#a3db09acb5894f17f4745d7556555bea7">update_hs_hash</a>(peer, data, data_length);</div>
-<div class="line"><a name="l03209"></a><span class="lineno"> 3209</span>&#160;    peer-&gt;<a class="code" href="structdtls__peer__t.html#a4e23cc3b273813744524c3db1fda9c83">state</a> = <a class="code" href="state_8h.html#aea0e57fd5b857535960534b53361aa35ab3436ceaa0f47131771c288b8b5f1840">DTLS_STATE_WAIT_CHANGECIPHERSPEC</a>;</div>
-<div class="line"><a name="l03210"></a><span class="lineno"> 3210</span>&#160;    <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l03211"></a><span class="lineno"> 3211</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* DTLS_ECC */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l03212"></a><span class="lineno"> 3212</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l03213"></a><span class="lineno"> 3213</span>&#160;  <span class="keywordflow">case</span> <a class="code" href="dtls_8h.html#a25f0afef67a1fd8d9e3e61074d11e2f5">DTLS_HT_CLIENT_HELLO</a>:</div>
-<div class="line"><a name="l03214"></a><span class="lineno"> 3214</span>&#160;</div>
-<div class="line"><a name="l03215"></a><span class="lineno"> 3215</span>&#160;    <span class="keywordflow">if</span> ((peer &amp;&amp; state != <a class="code" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a953a6aabd0aff0492df164e79815b122">DTLS_STATE_CONNECTED</a>) ||</div>
-<div class="line"><a name="l03216"></a><span class="lineno"> 3216</span>&#160;    (!peer &amp;&amp; state != <a class="code" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a84b76c7a571c4b1d659e26d4e540c151">DTLS_STATE_WAIT_CLIENTHELLO</a>)) {</div>
-<div class="line"><a name="l03217"></a><span class="lineno"> 3217</span>&#160;      <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda7b9032725373912bd7fda54af8704d8a">DTLS_ALERT_UNEXPECTED_MESSAGE</a>);</div>
-<div class="line"><a name="l03218"></a><span class="lineno"> 3218</span>&#160;    }</div>
-<div class="line"><a name="l03219"></a><span class="lineno"> 3219</span>&#160;</div>
-<div class="line"><a name="l03220"></a><span class="lineno"> 3220</span>&#160;    <span class="comment">/* When no DTLS state exists for this peer, we only allow a</span></div>
-<div class="line"><a name="l03221"></a><span class="lineno"> 3221</span>&#160;<span class="comment">       Client Hello message with</span></div>
-<div class="line"><a name="l03222"></a><span class="lineno"> 3222</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l03223"></a><span class="lineno"> 3223</span>&#160;<span class="comment">       a) a valid cookie, or</span></div>
-<div class="line"><a name="l03224"></a><span class="lineno"> 3224</span>&#160;<span class="comment">       b) no cookie.</span></div>
-<div class="line"><a name="l03225"></a><span class="lineno"> 3225</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l03226"></a><span class="lineno"> 3226</span>&#160;<span class="comment">       Anything else will be rejected. Fragementation is not allowed</span></div>
-<div class="line"><a name="l03227"></a><span class="lineno"> 3227</span>&#160;<span class="comment">       here as it would require peer state as well.</span></div>
-<div class="line"><a name="l03228"></a><span class="lineno"> 3228</span>&#160;<span class="comment">    */</span></div>
-<div class="line"><a name="l03229"></a><span class="lineno"> 3229</span>&#160;    err = <a class="code" href="dtls_8c.html#a604f68a801e55b884f7f7f1d2f1b9c9f">dtls_verify_peer</a>(ctx, peer, session, data, data_length);</div>
-<div class="line"><a name="l03230"></a><span class="lineno"> 3230</span>&#160;    <span class="keywordflow">if</span> (err &lt; 0) {</div>
-<div class="line"><a name="l03231"></a><span class="lineno"> 3231</span>&#160;      <a class="code" href="debug_8h.html#ae1c22127c92fab70da7bf9cae8536e5c">dtls_warn</a>(<span class="stringliteral">&quot;error in dtls_verify_peer err: %i\n&quot;</span>, err);</div>
-<div class="line"><a name="l03232"></a><span class="lineno"> 3232</span>&#160;      <span class="keywordflow">return</span> err;</div>
-<div class="line"><a name="l03233"></a><span class="lineno"> 3233</span>&#160;    }</div>
-<div class="line"><a name="l03234"></a><span class="lineno"> 3234</span>&#160;</div>
-<div class="line"><a name="l03235"></a><span class="lineno"> 3235</span>&#160;    <span class="keywordflow">if</span> (err &gt; 0) {</div>
-<div class="line"><a name="l03236"></a><span class="lineno"> 3236</span>&#160;      <a class="code" href="debug_8h.html#a0f158325426415d9efb5a36bebf45844">dtls_debug</a>(<span class="stringliteral">&quot;server hello verify was sent\n&quot;</span>);</div>
-<div class="line"><a name="l03237"></a><span class="lineno"> 3237</span>&#160;      <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l03238"></a><span class="lineno"> 3238</span>&#160;    }</div>
-<div class="line"><a name="l03239"></a><span class="lineno"> 3239</span>&#160;</div>
-<div class="line"><a name="l03240"></a><span class="lineno"> 3240</span>&#160;    <span class="comment">/* At this point, we have a good relationship with this peer. This</span></div>
-<div class="line"><a name="l03241"></a><span class="lineno"> 3241</span>&#160;<span class="comment">     * state is left for re-negotiation of key material. */</span></div>
-<div class="line"><a name="l03242"></a><span class="lineno"> 3242</span>&#160;    <span class="keywordflow">if</span> (!peer) {</div>
-<div class="line"><a name="l03243"></a><span class="lineno"> 3243</span>&#160;      <a class="code" href="structdtls__security__parameters__t.html">dtls_security_parameters_t</a> *security;</div>
-<div class="line"><a name="l03244"></a><span class="lineno"> 3244</span>&#160;</div>
-<div class="line"><a name="l03245"></a><span class="lineno"> 3245</span>&#160;      <span class="comment">/* msg contains a Client Hello with a valid cookie, so we can</span></div>
-<div class="line"><a name="l03246"></a><span class="lineno"> 3246</span>&#160;<span class="comment">       * safely create the server state machine and continue with</span></div>
-<div class="line"><a name="l03247"></a><span class="lineno"> 3247</span>&#160;<span class="comment">       * the handshake. */</span></div>
-<div class="line"><a name="l03248"></a><span class="lineno"> 3248</span>&#160;      peer = <a class="code" href="peer_8c.html#a209e22be64be13e116711829d21d864c">dtls_new_peer</a>(session);</div>
-<div class="line"><a name="l03249"></a><span class="lineno"> 3249</span>&#160;      <span class="keywordflow">if</span> (!peer) {</div>
-<div class="line"><a name="l03250"></a><span class="lineno"> 3250</span>&#160;        <a class="code" href="debug_8h.html#ab22e3494f6186183820142ba279fe9ae">dtls_alert</a>(<span class="stringliteral">&quot;cannot create peer\n&quot;</span>);</div>
-<div class="line"><a name="l03251"></a><span class="lineno"> 3251</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda22948f7c825b68cc18c79bd3634c8f58">DTLS_ALERT_INTERNAL_ERROR</a>);</div>
-<div class="line"><a name="l03252"></a><span class="lineno"> 3252</span>&#160;      }</div>
-<div class="line"><a name="l03253"></a><span class="lineno"> 3253</span>&#160;      peer-&gt;<a class="code" href="structdtls__peer__t.html#aeca80f1bcbcfdba89a2ab08e4bc48120">role</a> = <a class="code" href="peer_8h.html#ae30cd4bcffed73f79f17c09e5a1452c8a7c2a694fc87273c445ad661575b28255">DTLS_SERVER</a>;</div>
-<div class="line"><a name="l03254"></a><span class="lineno"> 3254</span>&#160;</div>
-<div class="line"><a name="l03255"></a><span class="lineno"> 3255</span>&#160;      <span class="comment">/* Initialize record sequence number to 1 for new peers. The first</span></div>
-<div class="line"><a name="l03256"></a><span class="lineno"> 3256</span>&#160;<span class="comment">       * record with sequence number 0 is a stateless Hello Verify Request.</span></div>
-<div class="line"><a name="l03257"></a><span class="lineno"> 3257</span>&#160;<span class="comment">       */</span></div>
-<div class="line"><a name="l03258"></a><span class="lineno"> 3258</span>&#160;      security = <a class="code" href="peer_8h.html#a48abcad7383e1db957af9b4fed030d52">dtls_security_params</a>(peer);</div>
-<div class="line"><a name="l03259"></a><span class="lineno"> 3259</span>&#160;      security-&gt;<a class="code" href="structdtls__security__parameters__t.html#a100dc82ee41004df1d9f211873332f87">rseq</a> = 1;</div>
-<div class="line"><a name="l03260"></a><span class="lineno"> 3260</span>&#160;      <a class="code" href="dtls_8c.html#ae4a2961a027959f907145f82ca9107c3">dtls_add_peer</a>(ctx, peer);</div>
-<div class="line"><a name="l03261"></a><span class="lineno"> 3261</span>&#160;    }</div>
-<div class="line"><a name="l03262"></a><span class="lineno"> 3262</span>&#160;    <span class="keywordflow">if</span> (peer &amp;&amp; !peer-&gt;<a class="code" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">handshake_params</a>) {</div>
-<div class="line"><a name="l03263"></a><span class="lineno"> 3263</span>&#160;      <a class="code" href="dtls_8h.html#a5c6625ffcf61189392768253e8919a45">dtls_handshake_header_t</a> *hs_header = <a class="code" href="dtls_8c.html#a2cc930733d35ea870c7a0a131bee0d7a">DTLS_HANDSHAKE_HEADER</a>(data);</div>
-<div class="line"><a name="l03264"></a><span class="lineno"> 3264</span>&#160;</div>
-<div class="line"><a name="l03265"></a><span class="lineno"> 3265</span>&#160;      peer-&gt;<a class="code" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">handshake_params</a> = <a class="code" href="crypto_8c.html#a25930cdb27a6ffcf05e2c2a9c95a6af8">dtls_handshake_new</a>();</div>
-<div class="line"><a name="l03266"></a><span class="lineno"> 3266</span>&#160;      <span class="keywordflow">if</span> (!peer-&gt;<a class="code" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">handshake_params</a>)</div>
-<div class="line"><a name="l03267"></a><span class="lineno"> 3267</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda22948f7c825b68cc18c79bd3634c8f58">DTLS_ALERT_INTERNAL_ERROR</a>);</div>
-<div class="line"><a name="l03268"></a><span class="lineno"> 3268</span>&#160;</div>
-<div class="line"><a name="l03269"></a><span class="lineno"> 3269</span>&#160;      <a class="code" href="t__list_8h.html#adcb86fe4485a0f8ea79541117641f730">LIST_STRUCT_INIT</a>(peer-&gt;<a class="code" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">handshake_params</a>, reorder_queue);</div>
-<div class="line"><a name="l03270"></a><span class="lineno"> 3270</span>&#160;      peer-&gt;<a class="code" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">handshake_params</a>-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a56e7392a649731166fc82a523b0eb027">hs_state</a>.<a class="code" href="structdtls__hs__state__t.html#a4e2184c917d1ad46d308e8770193f542">mseq_r</a> = <a class="code" href="numeric_8h.html#ae32dd0743658f1aa5a723d5a8357521f">dtls_uint16_to_int</a>(hs_header-&gt;message_seq);</div>
-<div class="line"><a name="l03271"></a><span class="lineno"> 3271</span>&#160;      peer-&gt;<a class="code" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">handshake_params</a>-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a56e7392a649731166fc82a523b0eb027">hs_state</a>.<a class="code" href="structdtls__hs__state__t.html#a694ce15382e7504a750a1b102ad8ec32">mseq_s</a> = 1;</div>
-<div class="line"><a name="l03272"></a><span class="lineno"> 3272</span>&#160;    }</div>
-<div class="line"><a name="l03273"></a><span class="lineno"> 3273</span>&#160;</div>
-<div class="line"><a name="l03274"></a><span class="lineno"> 3274</span>&#160;    <a class="code" href="dtls_8c.html#a82181208ec1e9f42896f0606e0036c1d">clear_hs_hash</a>(peer);</div>
-<div class="line"><a name="l03275"></a><span class="lineno"> 3275</span>&#160;</div>
-<div class="line"><a name="l03276"></a><span class="lineno"> 3276</span>&#160;    <span class="comment">/* First negotiation step: check for PSK</span></div>
-<div class="line"><a name="l03277"></a><span class="lineno"> 3277</span>&#160;<span class="comment">     *</span></div>
-<div class="line"><a name="l03278"></a><span class="lineno"> 3278</span>&#160;<span class="comment">     * Note that we already have checked that msg is a Handshake</span></div>
-<div class="line"><a name="l03279"></a><span class="lineno"> 3279</span>&#160;<span class="comment">     * message containing a ClientHello. dtls_get_cipher() therefore</span></div>
-<div class="line"><a name="l03280"></a><span class="lineno"> 3280</span>&#160;<span class="comment">     * does not check again.</span></div>
-<div class="line"><a name="l03281"></a><span class="lineno"> 3281</span>&#160;<span class="comment">     */</span></div>
-<div class="line"><a name="l03282"></a><span class="lineno"> 3282</span>&#160;    err = <a class="code" href="dtls_8c.html#a63f2c7e75b86bb2839b8fedf3fa9c93d">dtls_update_parameters</a>(ctx, peer, data, data_length);</div>
-<div class="line"><a name="l03283"></a><span class="lineno"> 3283</span>&#160;    <span class="keywordflow">if</span> (err &lt; 0) {</div>
-<div class="line"><a name="l03284"></a><span class="lineno"> 3284</span>&#160;      <a class="code" href="debug_8h.html#ae1c22127c92fab70da7bf9cae8536e5c">dtls_warn</a>(<span class="stringliteral">&quot;error updating security parameters\n&quot;</span>);</div>
-<div class="line"><a name="l03285"></a><span class="lineno"> 3285</span>&#160;      <span class="keywordflow">return</span> err;</div>
-<div class="line"><a name="l03286"></a><span class="lineno"> 3286</span>&#160;    }</div>
-<div class="line"><a name="l03287"></a><span class="lineno"> 3287</span>&#160;</div>
-<div class="line"><a name="l03288"></a><span class="lineno"> 3288</span>&#160;    <span class="comment">/* update finish MAC */</span></div>
-<div class="line"><a name="l03289"></a><span class="lineno"> 3289</span>&#160;    <a class="code" href="dtls_8c.html#a3db09acb5894f17f4745d7556555bea7">update_hs_hash</a>(peer, data, data_length);</div>
-<div class="line"><a name="l03290"></a><span class="lineno"> 3290</span>&#160;</div>
-<div class="line"><a name="l03291"></a><span class="lineno"> 3291</span>&#160;    err = <a class="code" href="dtls_8c.html#afc54bc2ed42b4b65ad8f01abca9a8772">dtls_send_server_hello_msgs</a>(ctx, peer);</div>
-<div class="line"><a name="l03292"></a><span class="lineno"> 3292</span>&#160;    <span class="keywordflow">if</span> (err &lt; 0) {</div>
-<div class="line"><a name="l03293"></a><span class="lineno"> 3293</span>&#160;      <span class="keywordflow">return</span> err;</div>
-<div class="line"><a name="l03294"></a><span class="lineno"> 3294</span>&#160;    }</div>
-<div class="line"><a name="l03295"></a><span class="lineno"> 3295</span>&#160;    <span class="keywordflow">if</span> (<a class="code" href="dtls_8c.html#a8098a728e5fff33ceeb7f57ebd48a212">is_tls_ecdhe_ecdsa_with_aes_128_ccm_8</a>(peer-&gt;<a class="code" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">handshake_params</a>-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a5cc61a98763800b5b4e7617307649933">cipher</a>) &amp;&amp;</div>
-<div class="line"><a name="l03296"></a><span class="lineno"> 3296</span>&#160;    <a class="code" href="dtls_8c.html#a599f0d6e9134869e55b64c4f8720ebfa">is_ecdsa_client_auth_supported</a>(ctx))</div>
-<div class="line"><a name="l03297"></a><span class="lineno"> 3297</span>&#160;      peer-&gt;<a class="code" href="structdtls__peer__t.html#a4e23cc3b273813744524c3db1fda9c83">state</a> = <a class="code" href="state_8h.html#aea0e57fd5b857535960534b53361aa35abdb6292772d18296f76c90fdc2533ab9">DTLS_STATE_WAIT_CLIENTCERTIFICATE</a>;</div>
-<div class="line"><a name="l03298"></a><span class="lineno"> 3298</span>&#160;    <span class="keywordflow">else</span></div>
-<div class="line"><a name="l03299"></a><span class="lineno"> 3299</span>&#160;      peer-&gt;<a class="code" href="structdtls__peer__t.html#a4e23cc3b273813744524c3db1fda9c83">state</a> = <a class="code" href="state_8h.html#aea0e57fd5b857535960534b53361aa35aa013ec95c846eaebd37acecc1a2f8a05">DTLS_STATE_WAIT_CLIENTKEYEXCHANGE</a>;</div>
-<div class="line"><a name="l03300"></a><span class="lineno"> 3300</span>&#160;</div>
-<div class="line"><a name="l03301"></a><span class="lineno"> 3301</span>&#160;    <span class="comment">/* after sending the ServerHelloDone, we expect the</span></div>
-<div class="line"><a name="l03302"></a><span class="lineno"> 3302</span>&#160;<span class="comment">     * ClientKeyExchange (possibly containing the PSK id),</span></div>
-<div class="line"><a name="l03303"></a><span class="lineno"> 3303</span>&#160;<span class="comment">     * followed by a ChangeCipherSpec and an encrypted Finished.</span></div>
-<div class="line"><a name="l03304"></a><span class="lineno"> 3304</span>&#160;<span class="comment">     */</span></div>
-<div class="line"><a name="l03305"></a><span class="lineno"> 3305</span>&#160;</div>
-<div class="line"><a name="l03306"></a><span class="lineno"> 3306</span>&#160;    <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l03307"></a><span class="lineno"> 3307</span>&#160;</div>
-<div class="line"><a name="l03308"></a><span class="lineno"> 3308</span>&#160;  <span class="keywordflow">case</span> <a class="code" href="dtls_8h.html#a66566dfd30b8ab388c08b4cde6c667cc">DTLS_HT_HELLO_REQUEST</a>:</div>
-<div class="line"><a name="l03309"></a><span class="lineno"> 3309</span>&#160;</div>
-<div class="line"><a name="l03310"></a><span class="lineno"> 3310</span>&#160;    <span class="keywordflow">if</span> (state != <a class="code" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a953a6aabd0aff0492df164e79815b122">DTLS_STATE_CONNECTED</a>) {</div>
-<div class="line"><a name="l03311"></a><span class="lineno"> 3311</span>&#160;      <span class="comment">/* we should just ignore such packets when in handshake */</span></div>
-<div class="line"><a name="l03312"></a><span class="lineno"> 3312</span>&#160;      <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l03313"></a><span class="lineno"> 3313</span>&#160;    }</div>
-<div class="line"><a name="l03314"></a><span class="lineno"> 3314</span>&#160;</div>
-<div class="line"><a name="l03315"></a><span class="lineno"> 3315</span>&#160;    <span class="keywordflow">if</span> (peer &amp;&amp; !peer-&gt;<a class="code" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">handshake_params</a>) {</div>
-<div class="line"><a name="l03316"></a><span class="lineno"> 3316</span>&#160;      peer-&gt;<a class="code" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">handshake_params</a> = <a class="code" href="crypto_8c.html#a25930cdb27a6ffcf05e2c2a9c95a6af8">dtls_handshake_new</a>();</div>
-<div class="line"><a name="l03317"></a><span class="lineno"> 3317</span>&#160;      <span class="keywordflow">if</span> (!peer-&gt;<a class="code" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">handshake_params</a>)</div>
-<div class="line"><a name="l03318"></a><span class="lineno"> 3318</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda22948f7c825b68cc18c79bd3634c8f58">DTLS_ALERT_INTERNAL_ERROR</a>);</div>
-<div class="line"><a name="l03319"></a><span class="lineno"> 3319</span>&#160;</div>
-<div class="line"><a name="l03320"></a><span class="lineno"> 3320</span>&#160;      <a class="code" href="t__list_8h.html#adcb86fe4485a0f8ea79541117641f730">LIST_STRUCT_INIT</a>(peer-&gt;<a class="code" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">handshake_params</a>, reorder_queue);</div>
-<div class="line"><a name="l03321"></a><span class="lineno"> 3321</span>&#160;      peer-&gt;<a class="code" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">handshake_params</a>-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a56e7392a649731166fc82a523b0eb027">hs_state</a>.<a class="code" href="structdtls__hs__state__t.html#a4e2184c917d1ad46d308e8770193f542">mseq_r</a> = 0;</div>
-<div class="line"><a name="l03322"></a><span class="lineno"> 3322</span>&#160;      peer-&gt;<a class="code" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">handshake_params</a>-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a56e7392a649731166fc82a523b0eb027">hs_state</a>.<a class="code" href="structdtls__hs__state__t.html#a694ce15382e7504a750a1b102ad8ec32">mseq_s</a> = 0;</div>
-<div class="line"><a name="l03323"></a><span class="lineno"> 3323</span>&#160;    }</div>
-<div class="line"><a name="l03324"></a><span class="lineno"> 3324</span>&#160;</div>
-<div class="line"><a name="l03325"></a><span class="lineno"> 3325</span>&#160;    <span class="comment">/* send ClientHello with empty Cookie */</span></div>
-<div class="line"><a name="l03326"></a><span class="lineno"> 3326</span>&#160;    err = <a class="code" href="dtls_8c.html#aecd3ffe8bf8a3970d3e091ce8e7c6476">dtls_send_client_hello</a>(ctx, peer, NULL, 0);</div>
-<div class="line"><a name="l03327"></a><span class="lineno"> 3327</span>&#160;    <span class="keywordflow">if</span> (err &lt; 0) {</div>
-<div class="line"><a name="l03328"></a><span class="lineno"> 3328</span>&#160;      <a class="code" href="debug_8h.html#ae1c22127c92fab70da7bf9cae8536e5c">dtls_warn</a>(<span class="stringliteral">&quot;cannot send ClientHello\n&quot;</span>);</div>
-<div class="line"><a name="l03329"></a><span class="lineno"> 3329</span>&#160;      <span class="keywordflow">return</span> err;</div>
-<div class="line"><a name="l03330"></a><span class="lineno"> 3330</span>&#160;    }</div>
-<div class="line"><a name="l03331"></a><span class="lineno"> 3331</span>&#160;    peer-&gt;<a class="code" href="structdtls__peer__t.html#a4e23cc3b273813744524c3db1fda9c83">state</a> = <a class="code" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a1a76f1e49c80d22df9673f8471d1ec53">DTLS_STATE_CLIENTHELLO</a>;</div>
-<div class="line"><a name="l03332"></a><span class="lineno"> 3332</span>&#160;    <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l03333"></a><span class="lineno"> 3333</span>&#160;</div>
-<div class="line"><a name="l03334"></a><span class="lineno"> 3334</span>&#160;  <span class="keywordflow">default</span>:</div>
-<div class="line"><a name="l03335"></a><span class="lineno"> 3335</span>&#160;    <a class="code" href="debug_8h.html#ad4c9c94c054579b73789fead587c8514">dtls_crit</a>(<span class="stringliteral">&quot;unhandled message %d\n&quot;</span>, data[0]);</div>
-<div class="line"><a name="l03336"></a><span class="lineno"> 3336</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda7b9032725373912bd7fda54af8704d8a">DTLS_ALERT_UNEXPECTED_MESSAGE</a>);</div>
-<div class="line"><a name="l03337"></a><span class="lineno"> 3337</span>&#160;  }</div>
-<div class="line"><a name="l03338"></a><span class="lineno"> 3338</span>&#160;</div>
-<div class="line"><a name="l03339"></a><span class="lineno"> 3339</span>&#160;  <span class="keywordflow">if</span> (peer &amp;&amp; peer-&gt;<a class="code" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">handshake_params</a> &amp;&amp; err &gt;= 0) {</div>
-<div class="line"><a name="l03340"></a><span class="lineno"> 3340</span>&#160;    peer-&gt;<a class="code" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">handshake_params</a>-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a56e7392a649731166fc82a523b0eb027">hs_state</a>.<a class="code" href="structdtls__hs__state__t.html#a4e2184c917d1ad46d308e8770193f542">mseq_r</a>++;</div>
-<div class="line"><a name="l03341"></a><span class="lineno"> 3341</span>&#160;  }</div>
-<div class="line"><a name="l03342"></a><span class="lineno"> 3342</span>&#160;</div>
-<div class="line"><a name="l03343"></a><span class="lineno"> 3343</span>&#160;  <span class="keywordflow">return</span> err;</div>
-<div class="line"><a name="l03344"></a><span class="lineno"> 3344</span>&#160;}</div>
-<div class="line"><a name="l03345"></a><span class="lineno"> 3345</span>&#160;      </div>
-<div class="line"><a name="l03346"></a><span class="lineno"> 3346</span>&#160;<span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l03347"></a><span class="lineno"><a class="line" href="dtls_8c.html#ab199f50f39a96464ff7b532f2635ce9d"> 3347</a></span>&#160;<a class="code" href="dtls_8c.html#ab199f50f39a96464ff7b532f2635ce9d">handle_handshake</a>(<a class="code" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *peer, <a class="code" href="structsession__t.html">session_t</a> *session,</div>
-<div class="line"><a name="l03348"></a><span class="lineno"> 3348</span>&#160;         <span class="keyword">const</span> <a class="code" href="peer_8h.html#ae30cd4bcffed73f79f17c09e5a1452c8">dtls_peer_type</a> role, <span class="keyword">const</span> <a class="code" href="state_8h.html#aea0e57fd5b857535960534b53361aa35">dtls_state_t</a> state,</div>
-<div class="line"><a name="l03349"></a><span class="lineno"> 3349</span>&#160;         <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *data, <span class="keywordtype">size_t</span> data_length)</div>
-<div class="line"><a name="l03350"></a><span class="lineno"> 3350</span>&#160;{</div>
-<div class="line"><a name="l03351"></a><span class="lineno"> 3351</span>&#160;  <a class="code" href="dtls_8h.html#a5c6625ffcf61189392768253e8919a45">dtls_handshake_header_t</a> *hs_header;</div>
-<div class="line"><a name="l03352"></a><span class="lineno"> 3352</span>&#160;  <span class="keywordtype">int</span> res;</div>
-<div class="line"><a name="l03353"></a><span class="lineno"> 3353</span>&#160;</div>
-<div class="line"><a name="l03354"></a><span class="lineno"> 3354</span>&#160;  <span class="keywordflow">if</span> (data_length &lt; <a class="code" href="dtls_8c.html#a520419d1976b301c508721faed549b4f">DTLS_HS_LENGTH</a>) {</div>
-<div class="line"><a name="l03355"></a><span class="lineno"> 3355</span>&#160;    <a class="code" href="debug_8h.html#ae1c22127c92fab70da7bf9cae8536e5c">dtls_warn</a>(<span class="stringliteral">&quot;handshake message too short\n&quot;</span>);</div>
-<div class="line"><a name="l03356"></a><span class="lineno"> 3356</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdae3249841cb226881ce6dadffb9f22649">DTLS_ALERT_DECODE_ERROR</a>);</div>
-<div class="line"><a name="l03357"></a><span class="lineno"> 3357</span>&#160;  }</div>
-<div class="line"><a name="l03358"></a><span class="lineno"> 3358</span>&#160;  hs_header = <a class="code" href="dtls_8c.html#a2cc930733d35ea870c7a0a131bee0d7a">DTLS_HANDSHAKE_HEADER</a>(data);</div>
-<div class="line"><a name="l03359"></a><span class="lineno"> 3359</span>&#160;</div>
-<div class="line"><a name="l03360"></a><span class="lineno"> 3360</span>&#160;  <a class="code" href="debug_8h.html#a0f158325426415d9efb5a36bebf45844">dtls_debug</a>(<span class="stringliteral">&quot;received handshake packet of type: %s (%i)\n&quot;</span>,</div>
-<div class="line"><a name="l03361"></a><span class="lineno"> 3361</span>&#160;         <a class="code" href="dtls_8c.html#a00707f0f82235a2432338e77dae0911d">dtls_handshake_type_to_name</a>(hs_header-&gt;msg_type), hs_header-&gt;msg_type);</div>
-<div class="line"><a name="l03362"></a><span class="lineno"> 3362</span>&#160;</div>
-<div class="line"><a name="l03363"></a><span class="lineno"> 3363</span>&#160;  <span class="keywordflow">if</span> (!peer || !peer-&gt;<a class="code" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">handshake_params</a>) {</div>
-<div class="line"><a name="l03364"></a><span class="lineno"> 3364</span>&#160;    <span class="comment">/* This is the initial ClientHello */</span></div>
-<div class="line"><a name="l03365"></a><span class="lineno"> 3365</span>&#160;    <span class="keywordflow">if</span> (hs_header-&gt;msg_type != <a class="code" href="dtls_8h.html#a25f0afef67a1fd8d9e3e61074d11e2f5">DTLS_HT_CLIENT_HELLO</a> &amp;&amp; !peer) {</div>
-<div class="line"><a name="l03366"></a><span class="lineno"> 3366</span>&#160;      <a class="code" href="debug_8h.html#ae1c22127c92fab70da7bf9cae8536e5c">dtls_warn</a>(<span class="stringliteral">&quot;If there is no peer only ClientHello is allowed\n&quot;</span>);</div>
-<div class="line"><a name="l03367"></a><span class="lineno"> 3367</span>&#160;      <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdaea5ed33e912421eb48afb73ce0a6014d">DTLS_ALERT_HANDSHAKE_FAILURE</a>);</div>
-<div class="line"><a name="l03368"></a><span class="lineno"> 3368</span>&#160;    }</div>
-<div class="line"><a name="l03369"></a><span class="lineno"> 3369</span>&#160;</div>
-<div class="line"><a name="l03370"></a><span class="lineno"> 3370</span>&#160;    <span class="comment">/* This is a ClientHello or Hello Request send when doing TLS renegotiation */</span></div>
-<div class="line"><a name="l03371"></a><span class="lineno"> 3371</span>&#160;    <span class="keywordflow">if</span> (hs_header-&gt;msg_type == <a class="code" href="dtls_8h.html#a25f0afef67a1fd8d9e3e61074d11e2f5">DTLS_HT_CLIENT_HELLO</a> ||</div>
-<div class="line"><a name="l03372"></a><span class="lineno"> 3372</span>&#160;    hs_header-&gt;msg_type == <a class="code" href="dtls_8h.html#a66566dfd30b8ab388c08b4cde6c667cc">DTLS_HT_HELLO_REQUEST</a>) {</div>
-<div class="line"><a name="l03373"></a><span class="lineno"> 3373</span>&#160;      <span class="keywordflow">return</span> <a class="code" href="dtls_8c.html#a24e7d6ad9fc0d87b7285615123bdd43d">handle_handshake_msg</a>(ctx, peer, session, role, state, data,</div>
-<div class="line"><a name="l03374"></a><span class="lineno"> 3374</span>&#160;                  data_length);</div>
-<div class="line"><a name="l03375"></a><span class="lineno"> 3375</span>&#160;    } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l03376"></a><span class="lineno"> 3376</span>&#160;      <a class="code" href="debug_8h.html#ae1c22127c92fab70da7bf9cae8536e5c">dtls_warn</a>(<span class="stringliteral">&quot;ignore unexpected handshake message\n&quot;</span>);</div>
-<div class="line"><a name="l03377"></a><span class="lineno"> 3377</span>&#160;      <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l03378"></a><span class="lineno"> 3378</span>&#160;    }</div>
-<div class="line"><a name="l03379"></a><span class="lineno"> 3379</span>&#160;  }</div>
-<div class="line"><a name="l03380"></a><span class="lineno"> 3380</span>&#160;</div>
-<div class="line"><a name="l03381"></a><span class="lineno"> 3381</span>&#160;  <span class="keywordflow">if</span> (<a class="code" href="numeric_8h.html#ae32dd0743658f1aa5a723d5a8357521f">dtls_uint16_to_int</a>(hs_header-&gt;message_seq) &lt; peer-&gt;<a class="code" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">handshake_params</a>-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a56e7392a649731166fc82a523b0eb027">hs_state</a>.<a class="code" href="structdtls__hs__state__t.html#a4e2184c917d1ad46d308e8770193f542">mseq_r</a>) {</div>
-<div class="line"><a name="l03382"></a><span class="lineno"> 3382</span>&#160;    <a class="code" href="debug_8h.html#ae1c22127c92fab70da7bf9cae8536e5c">dtls_warn</a>(<span class="stringliteral">&quot;The message sequence number is too small, expected %i, got: %i\n&quot;</span>,</div>
-<div class="line"><a name="l03383"></a><span class="lineno"> 3383</span>&#160;          peer-&gt;<a class="code" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">handshake_params</a>-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a56e7392a649731166fc82a523b0eb027">hs_state</a>.<a class="code" href="structdtls__hs__state__t.html#a4e2184c917d1ad46d308e8770193f542">mseq_r</a>, <a class="code" href="numeric_8h.html#ae32dd0743658f1aa5a723d5a8357521f">dtls_uint16_to_int</a>(hs_header-&gt;message_seq));</div>
-<div class="line"><a name="l03384"></a><span class="lineno"> 3384</span>&#160;    <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l03385"></a><span class="lineno"> 3385</span>&#160;  } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="numeric_8h.html#ae32dd0743658f1aa5a723d5a8357521f">dtls_uint16_to_int</a>(hs_header-&gt;message_seq) &gt; peer-&gt;<a class="code" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">handshake_params</a>-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a56e7392a649731166fc82a523b0eb027">hs_state</a>.<a class="code" href="structdtls__hs__state__t.html#a4e2184c917d1ad46d308e8770193f542">mseq_r</a>) {</div>
-<div class="line"><a name="l03386"></a><span class="lineno"> 3386</span>&#160;    <span class="comment">/* A packet in between is missing, buffer this packet. */</span></div>
-<div class="line"><a name="l03387"></a><span class="lineno"> 3387</span>&#160;    <a class="code" href="structnetq__t.html">netq_t</a> *n;</div>
-<div class="line"><a name="l03388"></a><span class="lineno"> 3388</span>&#160;</div>
-<div class="line"><a name="l03389"></a><span class="lineno"> 3389</span>&#160;    <span class="comment">/* TODO: only add packet that are not too new. */</span></div>
-<div class="line"><a name="l03390"></a><span class="lineno"> 3390</span>&#160;    <span class="keywordflow">if</span> (data_length &gt; <a class="code" href="global_8h.html#acdbfba15eb1a5692e177d582b4ca1583">DTLS_MAX_BUF</a>) {</div>
-<div class="line"><a name="l03391"></a><span class="lineno"> 3391</span>&#160;      <a class="code" href="debug_8h.html#ae1c22127c92fab70da7bf9cae8536e5c">dtls_warn</a>(<span class="stringliteral">&quot;the packet is too big to buffer for reoder\n&quot;</span>);</div>
-<div class="line"><a name="l03392"></a><span class="lineno"> 3392</span>&#160;      <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l03393"></a><span class="lineno"> 3393</span>&#160;    }</div>
-<div class="line"><a name="l03394"></a><span class="lineno"> 3394</span>&#160;</div>
-<div class="line"><a name="l03395"></a><span class="lineno"> 3395</span>&#160;    <a class="code" href="structnetq__t.html">netq_t</a> *node = <a class="code" href="group__netq.html#gac769de2e30bcf2c2db89ff10822219d4">netq_head</a>(peer-&gt;<a class="code" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">handshake_params</a>-&gt;reorder_queue);</div>
-<div class="line"><a name="l03396"></a><span class="lineno"> 3396</span>&#160;    <span class="keywordflow">while</span> (node) {</div>
-<div class="line"><a name="l03397"></a><span class="lineno"> 3397</span>&#160;      <a class="code" href="dtls_8h.html#a5c6625ffcf61189392768253e8919a45">dtls_handshake_header_t</a> *node_header = <a class="code" href="dtls_8c.html#a2cc930733d35ea870c7a0a131bee0d7a">DTLS_HANDSHAKE_HEADER</a>(node-&gt;<a class="code" href="structnetq__t.html#a5b4d387623df43fe25a3b11e9d4fb02c">data</a>);</div>
-<div class="line"><a name="l03398"></a><span class="lineno"> 3398</span>&#160;      <span class="keywordflow">if</span> (<a class="code" href="numeric_8h.html#ae32dd0743658f1aa5a723d5a8357521f">dtls_uint16_to_int</a>(node_header-&gt;message_seq) == <a class="code" href="numeric_8h.html#ae32dd0743658f1aa5a723d5a8357521f">dtls_uint16_to_int</a>(hs_header-&gt;message_seq)) {</div>
-<div class="line"><a name="l03399"></a><span class="lineno"> 3399</span>&#160;        <a class="code" href="debug_8h.html#ae1c22127c92fab70da7bf9cae8536e5c">dtls_warn</a>(<span class="stringliteral">&quot;a packet with this sequence number is already stored\n&quot;</span>);</div>
-<div class="line"><a name="l03400"></a><span class="lineno"> 3400</span>&#160;        <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l03401"></a><span class="lineno"> 3401</span>&#160;      }</div>
-<div class="line"><a name="l03402"></a><span class="lineno"> 3402</span>&#160;      node = <a class="code" href="group__netq.html#gab4c90c003808a784ae1ee9322e75627d">netq_next</a>(node);</div>
-<div class="line"><a name="l03403"></a><span class="lineno"> 3403</span>&#160;    }</div>
-<div class="line"><a name="l03404"></a><span class="lineno"> 3404</span>&#160;</div>
-<div class="line"><a name="l03405"></a><span class="lineno"> 3405</span>&#160;    n = <a class="code" href="group__netq.html#gafcf245cd934e9b8f0909a7ca8940e9cb">netq_node_new</a>(data_length);</div>
-<div class="line"><a name="l03406"></a><span class="lineno"> 3406</span>&#160;    <span class="keywordflow">if</span> (!n) {</div>
-<div class="line"><a name="l03407"></a><span class="lineno"> 3407</span>&#160;      <a class="code" href="debug_8h.html#ae1c22127c92fab70da7bf9cae8536e5c">dtls_warn</a>(<span class="stringliteral">&quot;no space in reoder buffer\n&quot;</span>);</div>
-<div class="line"><a name="l03408"></a><span class="lineno"> 3408</span>&#160;      <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l03409"></a><span class="lineno"> 3409</span>&#160;    }</div>
-<div class="line"><a name="l03410"></a><span class="lineno"> 3410</span>&#160;</div>
-<div class="line"><a name="l03411"></a><span class="lineno"> 3411</span>&#160;    n-&gt;<a class="code" href="structnetq__t.html#aaca5f6407bd7b3162d9ee7e7e7b8f0ff">peer</a> = peer;</div>
-<div class="line"><a name="l03412"></a><span class="lineno"> 3412</span>&#160;    n-&gt;<a class="code" href="structnetq__t.html#ac72c9378282becab5a273f612f58c124">length</a> = data_length;</div>
-<div class="line"><a name="l03413"></a><span class="lineno"> 3413</span>&#160;    memcpy(n-&gt;<a class="code" href="structnetq__t.html#a5b4d387623df43fe25a3b11e9d4fb02c">data</a>, data, data_length);</div>
-<div class="line"><a name="l03414"></a><span class="lineno"> 3414</span>&#160;</div>
-<div class="line"><a name="l03415"></a><span class="lineno"> 3415</span>&#160;    <span class="keywordflow">if</span> (!<a class="code" href="group__netq.html#ga142c8e39fe2cd55250e3c1f0370dfe6b">netq_insert_node</a>(peer-&gt;<a class="code" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">handshake_params</a>-&gt;reorder_queue, n)) {</div>
-<div class="line"><a name="l03416"></a><span class="lineno"> 3416</span>&#160;      <a class="code" href="debug_8h.html#ae1c22127c92fab70da7bf9cae8536e5c">dtls_warn</a>(<span class="stringliteral">&quot;cannot add packet to reoder buffer\n&quot;</span>);</div>
-<div class="line"><a name="l03417"></a><span class="lineno"> 3417</span>&#160;      <a class="code" href="group__netq.html#ga9ef9da1a2af266dadef83ddf6c8524d7">netq_node_free</a>(n);</div>
-<div class="line"><a name="l03418"></a><span class="lineno"> 3418</span>&#160;    }</div>
-<div class="line"><a name="l03419"></a><span class="lineno"> 3419</span>&#160;    <a class="code" href="debug_8h.html#afde5692e7a590b0dd016d5753284c175">dtls_info</a>(<span class="stringliteral">&quot;Added packet for reordering\n&quot;</span>);</div>
-<div class="line"><a name="l03420"></a><span class="lineno"> 3420</span>&#160;    <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l03421"></a><span class="lineno"> 3421</span>&#160;  } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="numeric_8h.html#ae32dd0743658f1aa5a723d5a8357521f">dtls_uint16_to_int</a>(hs_header-&gt;message_seq) == peer-&gt;<a class="code" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">handshake_params</a>-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a56e7392a649731166fc82a523b0eb027">hs_state</a>.<a class="code" href="structdtls__hs__state__t.html#a4e2184c917d1ad46d308e8770193f542">mseq_r</a>) {</div>
-<div class="line"><a name="l03422"></a><span class="lineno"> 3422</span>&#160;    <span class="comment">/* Found the expected packet, use this and all the buffered packet */</span></div>
-<div class="line"><a name="l03423"></a><span class="lineno"> 3423</span>&#160;    <span class="keywordtype">int</span> next = 1;</div>
-<div class="line"><a name="l03424"></a><span class="lineno"> 3424</span>&#160;</div>
-<div class="line"><a name="l03425"></a><span class="lineno"> 3425</span>&#160;    res = <a class="code" href="dtls_8c.html#a24e7d6ad9fc0d87b7285615123bdd43d">handle_handshake_msg</a>(ctx, peer, session, role, state, data, data_length);</div>
-<div class="line"><a name="l03426"></a><span class="lineno"> 3426</span>&#160;    <span class="keywordflow">if</span> (res &lt; 0)</div>
-<div class="line"><a name="l03427"></a><span class="lineno"> 3427</span>&#160;      <span class="keywordflow">return</span> res;</div>
-<div class="line"><a name="l03428"></a><span class="lineno"> 3428</span>&#160;</div>
-<div class="line"><a name="l03429"></a><span class="lineno"> 3429</span>&#160;    <span class="comment">/* We do not know in which order the packet are in the list just search the list for every packet. */</span></div>
-<div class="line"><a name="l03430"></a><span class="lineno"> 3430</span>&#160;    <span class="keywordflow">while</span> (next &amp;&amp; peer-&gt;<a class="code" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">handshake_params</a>) {</div>
-<div class="line"><a name="l03431"></a><span class="lineno"> 3431</span>&#160;      next = 0;</div>
-<div class="line"><a name="l03432"></a><span class="lineno"> 3432</span>&#160;      <a class="code" href="structnetq__t.html">netq_t</a> *node = <a class="code" href="group__netq.html#gac769de2e30bcf2c2db89ff10822219d4">netq_head</a>(peer-&gt;<a class="code" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">handshake_params</a>-&gt;reorder_queue);</div>
-<div class="line"><a name="l03433"></a><span class="lineno"> 3433</span>&#160;      <span class="keywordflow">while</span> (node) {</div>
-<div class="line"><a name="l03434"></a><span class="lineno"> 3434</span>&#160;        <a class="code" href="dtls_8h.html#a5c6625ffcf61189392768253e8919a45">dtls_handshake_header_t</a> *node_header = <a class="code" href="dtls_8c.html#a2cc930733d35ea870c7a0a131bee0d7a">DTLS_HANDSHAKE_HEADER</a>(node-&gt;<a class="code" href="structnetq__t.html#a5b4d387623df43fe25a3b11e9d4fb02c">data</a>);</div>
-<div class="line"><a name="l03435"></a><span class="lineno"> 3435</span>&#160;</div>
-<div class="line"><a name="l03436"></a><span class="lineno"> 3436</span>&#160;        <span class="keywordflow">if</span> (<a class="code" href="numeric_8h.html#ae32dd0743658f1aa5a723d5a8357521f">dtls_uint16_to_int</a>(node_header-&gt;message_seq) == peer-&gt;<a class="code" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">handshake_params</a>-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a56e7392a649731166fc82a523b0eb027">hs_state</a>.<a class="code" href="structdtls__hs__state__t.html#a4e2184c917d1ad46d308e8770193f542">mseq_r</a>) {</div>
-<div class="line"><a name="l03437"></a><span class="lineno"> 3437</span>&#160;          <a class="code" href="group__netq.html#gace12cd802d76d5bd98b2eaedc591fd22">netq_remove</a>(peer-&gt;<a class="code" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">handshake_params</a>-&gt;reorder_queue, node);</div>
-<div class="line"><a name="l03438"></a><span class="lineno"> 3438</span>&#160;          next = 1;</div>
-<div class="line"><a name="l03439"></a><span class="lineno"> 3439</span>&#160;          res = <a class="code" href="dtls_8c.html#a24e7d6ad9fc0d87b7285615123bdd43d">handle_handshake_msg</a>(ctx, peer, session, role, peer-&gt;<a class="code" href="structdtls__peer__t.html#a4e23cc3b273813744524c3db1fda9c83">state</a>, node-&gt;<a class="code" href="structnetq__t.html#a5b4d387623df43fe25a3b11e9d4fb02c">data</a>, node-&gt;<a class="code" href="structnetq__t.html#ac72c9378282becab5a273f612f58c124">length</a>);</div>
-<div class="line"><a name="l03440"></a><span class="lineno"> 3440</span>&#160;          <span class="keywordflow">if</span> (res &lt; 0) {</div>
-<div class="line"><a name="l03441"></a><span class="lineno"> 3441</span>&#160;            <span class="keywordflow">return</span> res;</div>
-<div class="line"><a name="l03442"></a><span class="lineno"> 3442</span>&#160;          }</div>
-<div class="line"><a name="l03443"></a><span class="lineno"> 3443</span>&#160;</div>
-<div class="line"><a name="l03444"></a><span class="lineno"> 3444</span>&#160;          <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l03445"></a><span class="lineno"> 3445</span>&#160;        } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l03446"></a><span class="lineno"> 3446</span>&#160;          node = <a class="code" href="group__netq.html#gab4c90c003808a784ae1ee9322e75627d">netq_next</a>(node);</div>
-<div class="line"><a name="l03447"></a><span class="lineno"> 3447</span>&#160;        }</div>
-<div class="line"><a name="l03448"></a><span class="lineno"> 3448</span>&#160;      }</div>
-<div class="line"><a name="l03449"></a><span class="lineno"> 3449</span>&#160;    }</div>
-<div class="line"><a name="l03450"></a><span class="lineno"> 3450</span>&#160;    <span class="keywordflow">return</span> res;</div>
-<div class="line"><a name="l03451"></a><span class="lineno"> 3451</span>&#160;  }</div>
-<div class="line"><a name="l03452"></a><span class="lineno"> 3452</span>&#160;  assert(0);</div>
-<div class="line"><a name="l03453"></a><span class="lineno"> 3453</span>&#160;  <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l03454"></a><span class="lineno"> 3454</span>&#160;}</div>
-<div class="line"><a name="l03455"></a><span class="lineno"> 3455</span>&#160;</div>
-<div class="line"><a name="l03456"></a><span class="lineno"> 3456</span>&#160;<span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l03457"></a><span class="lineno"><a class="line" href="dtls_8c.html#a4d7a16c9d0cd28666a2cc8ec471aa664"> 3457</a></span>&#160;<a class="code" href="dtls_8c.html#a4d7a16c9d0cd28666a2cc8ec471aa664">handle_ccs</a>(<a class="code" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *peer, </div>
-<div class="line"><a name="l03458"></a><span class="lineno"> 3458</span>&#160;       <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *record_header, <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *data, <span class="keywordtype">size_t</span> data_length)</div>
-<div class="line"><a name="l03459"></a><span class="lineno"> 3459</span>&#160;{</div>
-<div class="line"><a name="l03460"></a><span class="lineno"> 3460</span>&#160;  <span class="keywordtype">int</span> err;</div>
-<div class="line"><a name="l03461"></a><span class="lineno"> 3461</span>&#160;  <a class="code" href="structdtls__handshake__parameters__t.html">dtls_handshake_parameters_t</a> *handshake = peer-&gt;<a class="code" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">handshake_params</a>;</div>
-<div class="line"><a name="l03462"></a><span class="lineno"> 3462</span>&#160;</div>
-<div class="line"><a name="l03463"></a><span class="lineno"> 3463</span>&#160;  <span class="comment">/* A CCS message is handled after a KeyExchange message was</span></div>
-<div class="line"><a name="l03464"></a><span class="lineno"> 3464</span>&#160;<span class="comment">   * received from the client. When security parameters have been</span></div>
-<div class="line"><a name="l03465"></a><span class="lineno"> 3465</span>&#160;<span class="comment">   * updated successfully and a ChangeCipherSpec message was sent</span></div>
-<div class="line"><a name="l03466"></a><span class="lineno"> 3466</span>&#160;<span class="comment">   * by ourself, the security context is switched and the record</span></div>
-<div class="line"><a name="l03467"></a><span class="lineno"> 3467</span>&#160;<span class="comment">   * sequence number is reset. */</span></div>
-<div class="line"><a name="l03468"></a><span class="lineno"> 3468</span>&#160;  </div>
-<div class="line"><a name="l03469"></a><span class="lineno"> 3469</span>&#160;  <span class="keywordflow">if</span> (!peer || peer-&gt;<a class="code" href="structdtls__peer__t.html#a4e23cc3b273813744524c3db1fda9c83">state</a> != <a class="code" href="state_8h.html#aea0e57fd5b857535960534b53361aa35ab3436ceaa0f47131771c288b8b5f1840">DTLS_STATE_WAIT_CHANGECIPHERSPEC</a>) {</div>
-<div class="line"><a name="l03470"></a><span class="lineno"> 3470</span>&#160;    <a class="code" href="debug_8h.html#ae1c22127c92fab70da7bf9cae8536e5c">dtls_warn</a>(<span class="stringliteral">&quot;expected ChangeCipherSpec during handshake\n&quot;</span>);</div>
-<div class="line"><a name="l03471"></a><span class="lineno"> 3471</span>&#160;    <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l03472"></a><span class="lineno"> 3472</span>&#160;  }</div>
-<div class="line"><a name="l03473"></a><span class="lineno"> 3473</span>&#160;</div>
-<div class="line"><a name="l03474"></a><span class="lineno"> 3474</span>&#160;  <span class="keywordflow">if</span> (data_length &lt; 1 || data[0] != 1)</div>
-<div class="line"><a name="l03475"></a><span class="lineno"> 3475</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdae3249841cb226881ce6dadffb9f22649">DTLS_ALERT_DECODE_ERROR</a>);</div>
-<div class="line"><a name="l03476"></a><span class="lineno"> 3476</span>&#160;</div>
-<div class="line"><a name="l03477"></a><span class="lineno"> 3477</span>&#160;  <span class="comment">/* Just change the cipher when we are on the same epoch */</span></div>
-<div class="line"><a name="l03478"></a><span class="lineno"> 3478</span>&#160;  <span class="keywordflow">if</span> (peer-&gt;<a class="code" href="structdtls__peer__t.html#aeca80f1bcbcfdba89a2ab08e4bc48120">role</a> == <a class="code" href="peer_8h.html#ae30cd4bcffed73f79f17c09e5a1452c8a7c2a694fc87273c445ad661575b28255">DTLS_SERVER</a>) {</div>
-<div class="line"><a name="l03479"></a><span class="lineno"> 3479</span>&#160;    err = <a class="code" href="dtls_8c.html#a94199c9fa65db19e0f761e3ff973eb4b">calculate_key_block</a>(ctx, handshake, peer,</div>
-<div class="line"><a name="l03480"></a><span class="lineno"> 3480</span>&#160;                  &amp;peer-&gt;<a class="code" href="structdtls__peer__t.html#a44ebb2ba643269c7e6943f3a9040febe">session</a>, peer-&gt;<a class="code" href="structdtls__peer__t.html#aeca80f1bcbcfdba89a2ab08e4bc48120">role</a>);</div>
-<div class="line"><a name="l03481"></a><span class="lineno"> 3481</span>&#160;    <span class="keywordflow">if</span> (err &lt; 0) {</div>
-<div class="line"><a name="l03482"></a><span class="lineno"> 3482</span>&#160;      <span class="keywordflow">return</span> err;</div>
-<div class="line"><a name="l03483"></a><span class="lineno"> 3483</span>&#160;    }</div>
-<div class="line"><a name="l03484"></a><span class="lineno"> 3484</span>&#160;  }</div>
-<div class="line"><a name="l03485"></a><span class="lineno"> 3485</span>&#160;  </div>
-<div class="line"><a name="l03486"></a><span class="lineno"> 3486</span>&#160;  peer-&gt;<a class="code" href="structdtls__peer__t.html#a4e23cc3b273813744524c3db1fda9c83">state</a> = <a class="code" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a8c1ffc1652e7c5ba25239fe1f3a430ba">DTLS_STATE_WAIT_FINISHED</a>;</div>
-<div class="line"><a name="l03487"></a><span class="lineno"> 3487</span>&#160;</div>
-<div class="line"><a name="l03488"></a><span class="lineno"> 3488</span>&#160;  <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l03489"></a><span class="lineno"> 3489</span>&#160;}  </div>
-<div class="line"><a name="l03490"></a><span class="lineno"> 3490</span>&#160;</div>
-<div class="line"><a name="l03495"></a><span class="lineno"> 3495</span>&#160;<span class="keyword">static</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l03496"></a><span class="lineno"><a class="line" href="dtls_8c.html#a445994c602b105608f277c6fc066301d"> 3496</a></span>&#160;<a class="code" href="dtls_8c.html#a445994c602b105608f277c6fc066301d">handle_alert</a>(<a class="code" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *peer, </div>
-<div class="line"><a name="l03497"></a><span class="lineno"> 3497</span>&#160;         <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *record_header, <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *data, <span class="keywordtype">size_t</span> data_length) {</div>
-<div class="line"><a name="l03498"></a><span class="lineno"> 3498</span>&#160;  <span class="keywordtype">int</span> free_peer = 0;        <span class="comment">/* indicates whether to free peer */</span></div>
-<div class="line"><a name="l03499"></a><span class="lineno"> 3499</span>&#160;</div>
-<div class="line"><a name="l03500"></a><span class="lineno"> 3500</span>&#160;  <span class="keywordflow">if</span> (data_length &lt; 2)</div>
-<div class="line"><a name="l03501"></a><span class="lineno"> 3501</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdae3249841cb226881ce6dadffb9f22649">DTLS_ALERT_DECODE_ERROR</a>);</div>
-<div class="line"><a name="l03502"></a><span class="lineno"> 3502</span>&#160;</div>
-<div class="line"><a name="l03503"></a><span class="lineno"> 3503</span>&#160;  <a class="code" href="debug_8h.html#afde5692e7a590b0dd016d5753284c175">dtls_info</a>(<span class="stringliteral">&quot;** Alert: level %d, description %d\n&quot;</span>, data[0], data[1]);</div>
-<div class="line"><a name="l03504"></a><span class="lineno"> 3504</span>&#160;</div>
-<div class="line"><a name="l03505"></a><span class="lineno"> 3505</span>&#160;  <span class="keywordflow">if</span> (!peer) {</div>
-<div class="line"><a name="l03506"></a><span class="lineno"> 3506</span>&#160;    <a class="code" href="debug_8h.html#ae1c22127c92fab70da7bf9cae8536e5c">dtls_warn</a>(<span class="stringliteral">&quot;got an alert for an unknown peer, we probably already removed it, ignore it\n&quot;</span>);</div>
-<div class="line"><a name="l03507"></a><span class="lineno"> 3507</span>&#160;    <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l03508"></a><span class="lineno"> 3508</span>&#160;  }</div>
-<div class="line"><a name="l03509"></a><span class="lineno"> 3509</span>&#160;</div>
-<div class="line"><a name="l03510"></a><span class="lineno"> 3510</span>&#160;  <span class="comment">/* The peer object is invalidated for FATAL alerts and close</span></div>
-<div class="line"><a name="l03511"></a><span class="lineno"> 3511</span>&#160;<span class="comment">   * notifies. This is done in two steps.: First, remove the object</span></div>
-<div class="line"><a name="l03512"></a><span class="lineno"> 3512</span>&#160;<span class="comment">   * from our list of peers. After that, the event handler callback is</span></div>
-<div class="line"><a name="l03513"></a><span class="lineno"> 3513</span>&#160;<span class="comment">   * invoked with the still existing peer object. Finally, the storage</span></div>
-<div class="line"><a name="l03514"></a><span class="lineno"> 3514</span>&#160;<span class="comment">   * used by peer is released.</span></div>
-<div class="line"><a name="l03515"></a><span class="lineno"> 3515</span>&#160;<span class="comment">   */</span></div>
-<div class="line"><a name="l03516"></a><span class="lineno"> 3516</span>&#160;  <span class="keywordflow">if</span> (data[0] == <a class="code" href="alert_8h.html#ab6264d1b950719f1c2e00b122cad871fabd07bcf63c24aa5f1b9706a4197ceaf4">DTLS_ALERT_LEVEL_FATAL</a> || data[1] == <a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda6bbae4f2f3747af4cdbe80c4a1061800">DTLS_ALERT_CLOSE_NOTIFY</a>) {</div>
-<div class="line"><a name="l03517"></a><span class="lineno"> 3517</span>&#160;    <a class="code" href="debug_8h.html#ab22e3494f6186183820142ba279fe9ae">dtls_alert</a>(<span class="stringliteral">&quot;%d invalidate peer\n&quot;</span>, data[1]);</div>
-<div class="line"><a name="l03518"></a><span class="lineno"> 3518</span>&#160;    </div>
-<div class="line"><a name="l03519"></a><span class="lineno"> 3519</span>&#160;<span class="preprocessor">#ifndef WITH_CONTIKI</span></div>
-<div class="line"><a name="l03520"></a><span class="lineno"> 3520</span>&#160;<span class="preprocessor"></span>    <a class="code" href="dtls_8c.html#a0844494b0b76acb7bcf832ae74fb25c0">HASH_DEL_PEER</a>(ctx-&gt;<a class="code" href="structdtls__context__t.html#a417fa8ac04478292f0539d2da0fec088">peers</a>, peer);</div>
-<div class="line"><a name="l03521"></a><span class="lineno"> 3521</span>&#160;<span class="preprocessor">#else </span><span class="comment">/* WITH_CONTIKI */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l03522"></a><span class="lineno"> 3522</span>&#160;<span class="preprocessor"></span>    <a class="code" href="t__list_8h.html#a10de2120be61f445c5989c983c1e133b">list_remove</a>(ctx-&gt;<a class="code" href="structdtls__context__t.html#a417fa8ac04478292f0539d2da0fec088">peers</a>, peer);</div>
-<div class="line"><a name="l03523"></a><span class="lineno"> 3523</span>&#160;</div>
-<div class="line"><a name="l03524"></a><span class="lineno"> 3524</span>&#160;<span class="preprocessor">#ifndef NDEBUG</span></div>
-<div class="line"><a name="l03525"></a><span class="lineno"> 3525</span>&#160;<span class="preprocessor"></span>    <a class="code" href="debug_8h.html#a1f464e950a4fa11e8821b5c725921a15">PRINTF</a>(<span class="stringliteral">&quot;removed peer [&quot;</span>);</div>
-<div class="line"><a name="l03526"></a><span class="lineno"> 3526</span>&#160;    PRINT6ADDR(&amp;peer-&gt;<a class="code" href="structdtls__peer__t.html#a44ebb2ba643269c7e6943f3a9040febe">session</a>.<a class="code" href="structsession__t.html#a0bb4423cd29b415a4cf6c32d5d9a43e4">addr</a>);</div>
-<div class="line"><a name="l03527"></a><span class="lineno"> 3527</span>&#160;    <a class="code" href="debug_8h.html#a1f464e950a4fa11e8821b5c725921a15">PRINTF</a>(<span class="stringliteral">&quot;]:%d\n&quot;</span>, uip_ntohs(peer-&gt;<a class="code" href="structdtls__peer__t.html#a44ebb2ba643269c7e6943f3a9040febe">session</a>.port));</div>
-<div class="line"><a name="l03528"></a><span class="lineno"> 3528</span>&#160;<span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l03529"></a><span class="lineno"> 3529</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif </span><span class="comment">/* WITH_CONTIKI */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l03530"></a><span class="lineno"> 3530</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l03531"></a><span class="lineno"> 3531</span>&#160;    free_peer = 1;</div>
-<div class="line"><a name="l03532"></a><span class="lineno"> 3532</span>&#160;</div>
-<div class="line"><a name="l03533"></a><span class="lineno"> 3533</span>&#160;  }</div>
-<div class="line"><a name="l03534"></a><span class="lineno"> 3534</span>&#160;</div>
-<div class="line"><a name="l03535"></a><span class="lineno"> 3535</span>&#160;  (void)<a class="code" href="dtls_8c.html#a3e132aba78de736930255d40ef3f2d34">CALL</a>(ctx, event, &amp;peer-&gt;<a class="code" href="structdtls__peer__t.html#a44ebb2ba643269c7e6943f3a9040febe">session</a>, </div>
-<div class="line"><a name="l03536"></a><span class="lineno"> 3536</span>&#160;         (<a class="code" href="alert_8h.html#ab6264d1b950719f1c2e00b122cad871f">dtls_alert_level_t</a>)data[0], (<span class="keywordtype">unsigned</span> short)data[1]);</div>
-<div class="line"><a name="l03537"></a><span class="lineno"> 3537</span>&#160;  <span class="keywordflow">switch</span> (data[1]) {</div>
-<div class="line"><a name="l03538"></a><span class="lineno"> 3538</span>&#160;  <span class="keywordflow">case</span> <a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda6bbae4f2f3747af4cdbe80c4a1061800">DTLS_ALERT_CLOSE_NOTIFY</a>:</div>
-<div class="line"><a name="l03539"></a><span class="lineno"> 3539</span>&#160;    <span class="comment">/* If state is DTLS_STATE_CLOSING, we have already sent a</span></div>
-<div class="line"><a name="l03540"></a><span class="lineno"> 3540</span>&#160;<span class="comment">     * close_notify so, do not send that again. */</span></div>
-<div class="line"><a name="l03541"></a><span class="lineno"> 3541</span>&#160;    <span class="keywordflow">if</span> (peer-&gt;<a class="code" href="structdtls__peer__t.html#a4e23cc3b273813744524c3db1fda9c83">state</a> != <a class="code" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a4aa3fcce37191fc2a915aa330efd381b">DTLS_STATE_CLOSING</a>) {</div>
-<div class="line"><a name="l03542"></a><span class="lineno"> 3542</span>&#160;      peer-&gt;<a class="code" href="structdtls__peer__t.html#a4e23cc3b273813744524c3db1fda9c83">state</a> = <a class="code" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a4aa3fcce37191fc2a915aa330efd381b">DTLS_STATE_CLOSING</a>;</div>
-<div class="line"><a name="l03543"></a><span class="lineno"> 3543</span>&#160;      <a class="code" href="dtls_8c.html#a4aac4fa55afe2d19342136acaaaf9641">dtls_send_alert</a>(ctx, peer, <a class="code" href="alert_8h.html#ab6264d1b950719f1c2e00b122cad871fabd07bcf63c24aa5f1b9706a4197ceaf4">DTLS_ALERT_LEVEL_FATAL</a>, <a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda6bbae4f2f3747af4cdbe80c4a1061800">DTLS_ALERT_CLOSE_NOTIFY</a>);</div>
-<div class="line"><a name="l03544"></a><span class="lineno"> 3544</span>&#160;    } <span class="keywordflow">else</span></div>
-<div class="line"><a name="l03545"></a><span class="lineno"> 3545</span>&#160;      peer-&gt;<a class="code" href="structdtls__peer__t.html#a4e23cc3b273813744524c3db1fda9c83">state</a> = <a class="code" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a88bc0f5ff63003f57a59700dc4b55553">DTLS_STATE_CLOSED</a>;</div>
-<div class="line"><a name="l03546"></a><span class="lineno"> 3546</span>&#160;    <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l03547"></a><span class="lineno"> 3547</span>&#160;  <span class="keywordflow">default</span>:</div>
-<div class="line"><a name="l03548"></a><span class="lineno"> 3548</span>&#160;    ;</div>
-<div class="line"><a name="l03549"></a><span class="lineno"> 3549</span>&#160;  }</div>
-<div class="line"><a name="l03550"></a><span class="lineno"> 3550</span>&#160;  </div>
-<div class="line"><a name="l03551"></a><span class="lineno"> 3551</span>&#160;  <span class="keywordflow">if</span> (free_peer) {</div>
-<div class="line"><a name="l03552"></a><span class="lineno"> 3552</span>&#160;    <a class="code" href="dtls_8c.html#a3742f5067d1b0693d6a41e70d4ecd5b5">dtls_stop_retransmission</a>(ctx, peer);</div>
-<div class="line"><a name="l03553"></a><span class="lineno"> 3553</span>&#160;    <a class="code" href="dtls_8c.html#a81061928e291b6a3e7701f6a7f51b6f3">dtls_destroy_peer</a>(ctx, peer, 0);</div>
-<div class="line"><a name="l03554"></a><span class="lineno"> 3554</span>&#160;  }</div>
-<div class="line"><a name="l03555"></a><span class="lineno"> 3555</span>&#160;</div>
-<div class="line"><a name="l03556"></a><span class="lineno"> 3556</span>&#160;  <span class="keywordflow">return</span> free_peer;</div>
-<div class="line"><a name="l03557"></a><span class="lineno"> 3557</span>&#160;}</div>
-<div class="line"><a name="l03558"></a><span class="lineno"> 3558</span>&#160;</div>
-<div class="line"><a name="l03559"></a><span class="lineno"><a class="line" href="dtls_8c.html#a4c7a26bc520ac2ac88b4758e0fb84f1e"> 3559</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="dtls_8c.html#a4c7a26bc520ac2ac88b4758e0fb84f1e">dtls_alert_send_from_err</a>(<a class="code" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *peer,</div>
-<div class="line"><a name="l03560"></a><span class="lineno"> 3560</span>&#160;                    <a class="code" href="structsession__t.html">session_t</a> *session, <span class="keywordtype">int</span> err)</div>
-<div class="line"><a name="l03561"></a><span class="lineno"> 3561</span>&#160;{</div>
-<div class="line"><a name="l03562"></a><span class="lineno"> 3562</span>&#160;  <span class="keywordtype">int</span> level;</div>
-<div class="line"><a name="l03563"></a><span class="lineno"> 3563</span>&#160;  <span class="keywordtype">int</span> desc;</div>
-<div class="line"><a name="l03564"></a><span class="lineno"> 3564</span>&#160;</div>
-<div class="line"><a name="l03565"></a><span class="lineno"> 3565</span>&#160;  <span class="keywordflow">if</span> (err &lt; -(1 &lt;&lt; 8) &amp;&amp; err &gt; -(3 &lt;&lt; 8)) {</div>
-<div class="line"><a name="l03566"></a><span class="lineno"> 3566</span>&#160;    level = ((-err) &amp; 0xff00) &gt;&gt; 8;</div>
-<div class="line"><a name="l03567"></a><span class="lineno"> 3567</span>&#160;    desc = (-err) &amp; 0xff;</div>
-<div class="line"><a name="l03568"></a><span class="lineno"> 3568</span>&#160;    <span class="keywordflow">if</span> (!peer) {</div>
-<div class="line"><a name="l03569"></a><span class="lineno"> 3569</span>&#160;      peer = <a class="code" href="dtls_8c.html#a70333bea2db35153177347b5c7700cab">dtls_get_peer</a>(ctx, session);</div>
-<div class="line"><a name="l03570"></a><span class="lineno"> 3570</span>&#160;    }</div>
-<div class="line"><a name="l03571"></a><span class="lineno"> 3571</span>&#160;    <span class="keywordflow">if</span> (peer) {</div>
-<div class="line"><a name="l03572"></a><span class="lineno"> 3572</span>&#160;      peer-&gt;<a class="code" href="structdtls__peer__t.html#a4e23cc3b273813744524c3db1fda9c83">state</a> = <a class="code" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a4aa3fcce37191fc2a915aa330efd381b">DTLS_STATE_CLOSING</a>;</div>
-<div class="line"><a name="l03573"></a><span class="lineno"> 3573</span>&#160;      <span class="keywordflow">return</span> <a class="code" href="dtls_8c.html#a4aac4fa55afe2d19342136acaaaf9641">dtls_send_alert</a>(ctx, peer, level, desc);</div>
-<div class="line"><a name="l03574"></a><span class="lineno"> 3574</span>&#160;    }</div>
-<div class="line"><a name="l03575"></a><span class="lineno"> 3575</span>&#160;  } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (err == -1) {</div>
-<div class="line"><a name="l03576"></a><span class="lineno"> 3576</span>&#160;    <span class="keywordflow">if</span> (!peer) {</div>
-<div class="line"><a name="l03577"></a><span class="lineno"> 3577</span>&#160;      peer = <a class="code" href="dtls_8c.html#a70333bea2db35153177347b5c7700cab">dtls_get_peer</a>(ctx, session);</div>
-<div class="line"><a name="l03578"></a><span class="lineno"> 3578</span>&#160;    }</div>
-<div class="line"><a name="l03579"></a><span class="lineno"> 3579</span>&#160;    <span class="keywordflow">if</span> (peer) {</div>
-<div class="line"><a name="l03580"></a><span class="lineno"> 3580</span>&#160;      peer-&gt;<a class="code" href="structdtls__peer__t.html#a4e23cc3b273813744524c3db1fda9c83">state</a> = <a class="code" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a4aa3fcce37191fc2a915aa330efd381b">DTLS_STATE_CLOSING</a>;</div>
-<div class="line"><a name="l03581"></a><span class="lineno"> 3581</span>&#160;      <span class="keywordflow">return</span> <a class="code" href="dtls_8c.html#a4aac4fa55afe2d19342136acaaaf9641">dtls_send_alert</a>(ctx, peer, <a class="code" href="alert_8h.html#ab6264d1b950719f1c2e00b122cad871fabd07bcf63c24aa5f1b9706a4197ceaf4">DTLS_ALERT_LEVEL_FATAL</a>, <a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda22948f7c825b68cc18c79bd3634c8f58">DTLS_ALERT_INTERNAL_ERROR</a>);</div>
-<div class="line"><a name="l03582"></a><span class="lineno"> 3582</span>&#160;    }</div>
-<div class="line"><a name="l03583"></a><span class="lineno"> 3583</span>&#160;  }</div>
-<div class="line"><a name="l03584"></a><span class="lineno"> 3584</span>&#160;  <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l03585"></a><span class="lineno"> 3585</span>&#160;}</div>
-<div class="line"><a name="l03586"></a><span class="lineno"> 3586</span>&#160;</div>
-<div class="line"><a name="l03590"></a><span class="lineno"> 3590</span>&#160;<span class="keywordtype">int</span></div>
-<div class="line"><a name="l03591"></a><span class="lineno"><a class="line" href="dtls_8h.html#ae272fea7269714fe7a67d6da64961731"> 3591</a></span>&#160;<a class="code" href="dtls_8c.html#ae272fea7269714fe7a67d6da64961731">dtls_handle_message</a>(<a class="code" href="structdtls__context__t.html">dtls_context_t</a> *ctx, </div>
-<div class="line"><a name="l03592"></a><span class="lineno"> 3592</span>&#160;            <a class="code" href="structsession__t.html">session_t</a> *session,</div>
-<div class="line"><a name="l03593"></a><span class="lineno"> 3593</span>&#160;            <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *msg, <span class="keywordtype">int</span> msglen) {</div>
-<div class="line"><a name="l03594"></a><span class="lineno"> 3594</span>&#160;  <a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *peer = NULL;</div>
-<div class="line"><a name="l03595"></a><span class="lineno"> 3595</span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> rlen;        <span class="comment">/* record length */</span></div>
-<div class="line"><a name="l03596"></a><span class="lineno"> 3596</span>&#160;  <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *data;          <span class="comment">/* (decrypted) payload */</span></div>
-<div class="line"><a name="l03597"></a><span class="lineno"> 3597</span>&#160;  <span class="keywordtype">int</span> data_length;      <span class="comment">/* length of decrypted payload </span></div>
-<div class="line"><a name="l03598"></a><span class="lineno"> 3598</span>&#160;<span class="comment">                   (without MAC and padding) */</span></div>
-<div class="line"><a name="l03599"></a><span class="lineno"> 3599</span>&#160;  <span class="keywordtype">int</span> err;</div>
-<div class="line"><a name="l03600"></a><span class="lineno"> 3600</span>&#160;</div>
-<div class="line"><a name="l03601"></a><span class="lineno"> 3601</span>&#160;  <span class="comment">/* check if we have DTLS state for addr/port/ifindex */</span></div>
-<div class="line"><a name="l03602"></a><span class="lineno"> 3602</span>&#160;  peer = <a class="code" href="dtls_8c.html#a70333bea2db35153177347b5c7700cab">dtls_get_peer</a>(ctx, session);</div>
-<div class="line"><a name="l03603"></a><span class="lineno"> 3603</span>&#160;</div>
-<div class="line"><a name="l03604"></a><span class="lineno"> 3604</span>&#160;  <span class="keywordflow">if</span> (!peer) {</div>
-<div class="line"><a name="l03605"></a><span class="lineno"> 3605</span>&#160;    <a class="code" href="debug_8h.html#a0f158325426415d9efb5a36bebf45844">dtls_debug</a>(<span class="stringliteral">&quot;dtls_handle_message: PEER NOT FOUND\n&quot;</span>);</div>
-<div class="line"><a name="l03606"></a><span class="lineno"> 3606</span>&#160;    <a class="code" href="debug_8c.html#a66cb8756d40a3326315d9b5f003a5a76">dtls_dsrv_log_addr</a>(<a class="code" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9da87f82ea2bdc3f03d9f6d3355a5f8a020">DTLS_LOG_DEBUG</a>, <span class="stringliteral">&quot;peer addr&quot;</span>, session);</div>
-<div class="line"><a name="l03607"></a><span class="lineno"> 3607</span>&#160;  } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l03608"></a><span class="lineno"> 3608</span>&#160;    <a class="code" href="debug_8h.html#a0f158325426415d9efb5a36bebf45844">dtls_debug</a>(<span class="stringliteral">&quot;dtls_handle_message: FOUND PEER\n&quot;</span>);</div>
-<div class="line"><a name="l03609"></a><span class="lineno"> 3609</span>&#160;  }</div>
-<div class="line"><a name="l03610"></a><span class="lineno"> 3610</span>&#160;</div>
-<div class="line"><a name="l03611"></a><span class="lineno"> 3611</span>&#160;  <span class="keywordflow">while</span> ((rlen = <a class="code" href="dtls_8c.html#aaafa285eb634873480c0ff429edd8064">is_record</a>(msg,msglen))) {</div>
-<div class="line"><a name="l03612"></a><span class="lineno"> 3612</span>&#160;    <a class="code" href="peer_8h.html#ae30cd4bcffed73f79f17c09e5a1452c8">dtls_peer_type</a> role;</div>
-<div class="line"><a name="l03613"></a><span class="lineno"> 3613</span>&#160;    <a class="code" href="state_8h.html#aea0e57fd5b857535960534b53361aa35">dtls_state_t</a> state;</div>
-<div class="line"><a name="l03614"></a><span class="lineno"> 3614</span>&#160;</div>
-<div class="line"><a name="l03615"></a><span class="lineno"> 3615</span>&#160;    <a class="code" href="debug_8h.html#a0f158325426415d9efb5a36bebf45844">dtls_debug</a>(<span class="stringliteral">&quot;got packet %d (%d bytes)\n&quot;</span>, msg[0], rlen);</div>
-<div class="line"><a name="l03616"></a><span class="lineno"> 3616</span>&#160;    <span class="keywordflow">if</span> (peer) {</div>
-<div class="line"><a name="l03617"></a><span class="lineno"> 3617</span>&#160;      data_length = <a class="code" href="dtls_8c.html#adc4e7aa5066240a362341bbdb998bc71">decrypt_verify</a>(peer, msg, rlen, &amp;data);</div>
-<div class="line"><a name="l03618"></a><span class="lineno"> 3618</span>&#160;      <span class="keywordflow">if</span> (data_length &lt; 0) {</div>
-<div class="line"><a name="l03619"></a><span class="lineno"> 3619</span>&#160;    <span class="keywordtype">int</span> err =  <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda56a136f4d20b3ce9fb967eedb37371e0">DTLS_ALERT_DECRYPT_ERROR</a>);</div>
-<div class="line"><a name="l03620"></a><span class="lineno"> 3620</span>&#160;        <a class="code" href="debug_8h.html#afde5692e7a590b0dd016d5753284c175">dtls_info</a>(<span class="stringliteral">&quot;decrypt_verify() failed\n&quot;</span>);</div>
-<div class="line"><a name="l03621"></a><span class="lineno"> 3621</span>&#160;    <span class="keywordflow">if</span> (peer-&gt;<a class="code" href="structdtls__peer__t.html#a4e23cc3b273813744524c3db1fda9c83">state</a> &lt; <a class="code" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a953a6aabd0aff0492df164e79815b122">DTLS_STATE_CONNECTED</a>) {</div>
-<div class="line"><a name="l03622"></a><span class="lineno"> 3622</span>&#160;      <a class="code" href="dtls_8c.html#a4c7a26bc520ac2ac88b4758e0fb84f1e">dtls_alert_send_from_err</a>(ctx, peer, &amp;peer-&gt;<a class="code" href="structdtls__peer__t.html#a44ebb2ba643269c7e6943f3a9040febe">session</a>, err);</div>
-<div class="line"><a name="l03623"></a><span class="lineno"> 3623</span>&#160;      peer-&gt;<a class="code" href="structdtls__peer__t.html#a4e23cc3b273813744524c3db1fda9c83">state</a> = <a class="code" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a88bc0f5ff63003f57a59700dc4b55553">DTLS_STATE_CLOSED</a>;</div>
-<div class="line"><a name="l03624"></a><span class="lineno"> 3624</span>&#160;      <span class="comment">/* dtls_stop_retransmission(ctx, peer); */</span></div>
-<div class="line"><a name="l03625"></a><span class="lineno"> 3625</span>&#160;      <a class="code" href="dtls_8c.html#a81061928e291b6a3e7701f6a7f51b6f3">dtls_destroy_peer</a>(ctx, peer, 1);</div>
-<div class="line"><a name="l03626"></a><span class="lineno"> 3626</span>&#160;    }</div>
-<div class="line"><a name="l03627"></a><span class="lineno"> 3627</span>&#160;        <span class="keywordflow">return</span> err;</div>
-<div class="line"><a name="l03628"></a><span class="lineno"> 3628</span>&#160;      }</div>
-<div class="line"><a name="l03629"></a><span class="lineno"> 3629</span>&#160;      role = peer-&gt;<a class="code" href="structdtls__peer__t.html#aeca80f1bcbcfdba89a2ab08e4bc48120">role</a>;</div>
-<div class="line"><a name="l03630"></a><span class="lineno"> 3630</span>&#160;      state = peer-&gt;<a class="code" href="structdtls__peer__t.html#a4e23cc3b273813744524c3db1fda9c83">state</a>;</div>
-<div class="line"><a name="l03631"></a><span class="lineno"> 3631</span>&#160;    } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l03632"></a><span class="lineno"> 3632</span>&#160;      <span class="comment">/* is_record() ensures that msg contains at least a record header */</span></div>
-<div class="line"><a name="l03633"></a><span class="lineno"> 3633</span>&#160;      data = msg + <a class="code" href="dtls_8c.html#ae97c368900c13dc7074c09e8848afa8f">DTLS_RH_LENGTH</a>;</div>
-<div class="line"><a name="l03634"></a><span class="lineno"> 3634</span>&#160;      data_length = rlen - <a class="code" href="dtls_8c.html#ae97c368900c13dc7074c09e8848afa8f">DTLS_RH_LENGTH</a>;</div>
-<div class="line"><a name="l03635"></a><span class="lineno"> 3635</span>&#160;      state = <a class="code" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a84b76c7a571c4b1d659e26d4e540c151">DTLS_STATE_WAIT_CLIENTHELLO</a>;</div>
-<div class="line"><a name="l03636"></a><span class="lineno"> 3636</span>&#160;      role = <a class="code" href="peer_8h.html#ae30cd4bcffed73f79f17c09e5a1452c8a7c2a694fc87273c445ad661575b28255">DTLS_SERVER</a>;</div>
-<div class="line"><a name="l03637"></a><span class="lineno"> 3637</span>&#160;    }</div>
-<div class="line"><a name="l03638"></a><span class="lineno"> 3638</span>&#160;</div>
-<div class="line"><a name="l03639"></a><span class="lineno"> 3639</span>&#160;    <a class="code" href="debug_8h.html#a24b1e8ecaa65f684d879ed9d5c37119d">dtls_debug_hexdump</a>(<span class="stringliteral">&quot;receive header&quot;</span>, msg, <span class="keyword">sizeof</span>(<a class="code" href="dtls_8h.html#a81936df7abb2c16aa897e3018aa24399">dtls_record_header_t</a>));</div>
-<div class="line"><a name="l03640"></a><span class="lineno"> 3640</span>&#160;    <a class="code" href="debug_8h.html#a24b1e8ecaa65f684d879ed9d5c37119d">dtls_debug_hexdump</a>(<span class="stringliteral">&quot;receive unencrypted&quot;</span>, data, data_length);</div>
-<div class="line"><a name="l03641"></a><span class="lineno"> 3641</span>&#160;</div>
-<div class="line"><a name="l03642"></a><span class="lineno"> 3642</span>&#160;    <span class="comment">/* Handle received record according to the first byte of the</span></div>
-<div class="line"><a name="l03643"></a><span class="lineno"> 3643</span>&#160;<span class="comment">     * message, i.e. the subprotocol. We currently do not support</span></div>
-<div class="line"><a name="l03644"></a><span class="lineno"> 3644</span>&#160;<span class="comment">     * combining multiple fragments of one type into a single</span></div>
-<div class="line"><a name="l03645"></a><span class="lineno"> 3645</span>&#160;<span class="comment">     * record. */</span></div>
-<div class="line"><a name="l03646"></a><span class="lineno"> 3646</span>&#160;</div>
-<div class="line"><a name="l03647"></a><span class="lineno"> 3647</span>&#160;    <span class="keywordflow">switch</span> (msg[0]) {</div>
-<div class="line"><a name="l03648"></a><span class="lineno"> 3648</span>&#160;</div>
-<div class="line"><a name="l03649"></a><span class="lineno"> 3649</span>&#160;    <span class="keywordflow">case</span> <a class="code" href="dtls_8h.html#a3114c327a12e3850e97c4cf8a0cc5c9d">DTLS_CT_CHANGE_CIPHER_SPEC</a>:</div>
-<div class="line"><a name="l03650"></a><span class="lineno"> 3650</span>&#160;      <span class="keywordflow">if</span> (peer) {</div>
-<div class="line"><a name="l03651"></a><span class="lineno"> 3651</span>&#160;        <a class="code" href="dtls_8c.html#a3742f5067d1b0693d6a41e70d4ecd5b5">dtls_stop_retransmission</a>(ctx, peer);</div>
-<div class="line"><a name="l03652"></a><span class="lineno"> 3652</span>&#160;      }</div>
-<div class="line"><a name="l03653"></a><span class="lineno"> 3653</span>&#160;      err = <a class="code" href="dtls_8c.html#a4d7a16c9d0cd28666a2cc8ec471aa664">handle_ccs</a>(ctx, peer, msg, data, data_length);</div>
-<div class="line"><a name="l03654"></a><span class="lineno"> 3654</span>&#160;      <span class="keywordflow">if</span> (err &lt; 0) {</div>
-<div class="line"><a name="l03655"></a><span class="lineno"> 3655</span>&#160;    <a class="code" href="debug_8h.html#ae1c22127c92fab70da7bf9cae8536e5c">dtls_warn</a>(<span class="stringliteral">&quot;error while handling ChangeCipherSpec message\n&quot;</span>);</div>
-<div class="line"><a name="l03656"></a><span class="lineno"> 3656</span>&#160;    <a class="code" href="dtls_8c.html#a4c7a26bc520ac2ac88b4758e0fb84f1e">dtls_alert_send_from_err</a>(ctx, peer, session, err);</div>
-<div class="line"><a name="l03657"></a><span class="lineno"> 3657</span>&#160;</div>
-<div class="line"><a name="l03658"></a><span class="lineno"> 3658</span>&#160;    <span class="comment">/* invalidate peer */</span></div>
-<div class="line"><a name="l03659"></a><span class="lineno"> 3659</span>&#160;    <a class="code" href="dtls_8c.html#a81061928e291b6a3e7701f6a7f51b6f3">dtls_destroy_peer</a>(ctx, peer, 1);</div>
-<div class="line"><a name="l03660"></a><span class="lineno"> 3660</span>&#160;    peer = NULL;</div>
-<div class="line"><a name="l03661"></a><span class="lineno"> 3661</span>&#160;</div>
-<div class="line"><a name="l03662"></a><span class="lineno"> 3662</span>&#160;    <span class="keywordflow">return</span> err;</div>
-<div class="line"><a name="l03663"></a><span class="lineno"> 3663</span>&#160;      }</div>
-<div class="line"><a name="l03664"></a><span class="lineno"> 3664</span>&#160;      <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l03665"></a><span class="lineno"> 3665</span>&#160;</div>
-<div class="line"><a name="l03666"></a><span class="lineno"> 3666</span>&#160;    <span class="keywordflow">case</span> <a class="code" href="dtls_8h.html#af8ce2230240b6d3c36b216ef459baff1">DTLS_CT_ALERT</a>:</div>
-<div class="line"><a name="l03667"></a><span class="lineno"> 3667</span>&#160;      <span class="keywordflow">if</span> (peer) {</div>
-<div class="line"><a name="l03668"></a><span class="lineno"> 3668</span>&#160;        <a class="code" href="dtls_8c.html#a3742f5067d1b0693d6a41e70d4ecd5b5">dtls_stop_retransmission</a>(ctx, peer);</div>
-<div class="line"><a name="l03669"></a><span class="lineno"> 3669</span>&#160;      }</div>
-<div class="line"><a name="l03670"></a><span class="lineno"> 3670</span>&#160;      err = <a class="code" href="dtls_8c.html#a445994c602b105608f277c6fc066301d">handle_alert</a>(ctx, peer, msg, data, data_length);</div>
-<div class="line"><a name="l03671"></a><span class="lineno"> 3671</span>&#160;      <span class="keywordflow">if</span> (err &lt; 0 || err == 1) {</div>
-<div class="line"><a name="l03672"></a><span class="lineno"> 3672</span>&#160;         <a class="code" href="debug_8h.html#ae1c22127c92fab70da7bf9cae8536e5c">dtls_warn</a>(<span class="stringliteral">&quot;received alert, peer has been invalidated\n&quot;</span>);</div>
-<div class="line"><a name="l03673"></a><span class="lineno"> 3673</span>&#160;         <span class="comment">/* handle alert has invalidated peer */</span></div>
-<div class="line"><a name="l03674"></a><span class="lineno"> 3674</span>&#160;         peer = NULL;</div>
-<div class="line"><a name="l03675"></a><span class="lineno"> 3675</span>&#160;         <span class="keywordflow">return</span> err &lt; 0 ?err:-1;</div>
-<div class="line"><a name="l03676"></a><span class="lineno"> 3676</span>&#160;      }</div>
-<div class="line"><a name="l03677"></a><span class="lineno"> 3677</span>&#160;      <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l03678"></a><span class="lineno"> 3678</span>&#160;</div>
-<div class="line"><a name="l03679"></a><span class="lineno"> 3679</span>&#160;    <span class="keywordflow">case</span> <a class="code" href="dtls_8h.html#a76965db5ec449b3c8a9a54c24a4d45dc">DTLS_CT_HANDSHAKE</a>:</div>
-<div class="line"><a name="l03680"></a><span class="lineno"> 3680</span>&#160;      <span class="comment">/* Handshake messages other than Finish must use the current</span></div>
-<div class="line"><a name="l03681"></a><span class="lineno"> 3681</span>&#160;<span class="comment">       * epoch, Finish has epoch + 1. */</span></div>
-<div class="line"><a name="l03682"></a><span class="lineno"> 3682</span>&#160;</div>
-<div class="line"><a name="l03683"></a><span class="lineno"> 3683</span>&#160;      <span class="keywordflow">if</span> (peer) {</div>
-<div class="line"><a name="l03684"></a><span class="lineno"> 3684</span>&#160;    uint16_t expected_epoch = <a class="code" href="peer_8h.html#a48abcad7383e1db957af9b4fed030d52">dtls_security_params</a>(peer)-&gt;<a class="code" href="structdtls__security__parameters__t.html#a2bce1fa0bf77eeab8fadca824de602da">epoch</a>;</div>
-<div class="line"><a name="l03685"></a><span class="lineno"> 3685</span>&#160;    uint16_t msg_epoch = </div>
-<div class="line"><a name="l03686"></a><span class="lineno"> 3686</span>&#160;      <a class="code" href="numeric_8h.html#ae32dd0743658f1aa5a723d5a8357521f">dtls_uint16_to_int</a>(<a class="code" href="dtls_8c.html#a35d050593196252c1826ac2e82cbac0b">DTLS_RECORD_HEADER</a>(msg)-&gt;epoch);</div>
-<div class="line"><a name="l03687"></a><span class="lineno"> 3687</span>&#160;</div>
-<div class="line"><a name="l03688"></a><span class="lineno"> 3688</span>&#160;    <span class="comment">/* The new security parameters must be used for all messages</span></div>
-<div class="line"><a name="l03689"></a><span class="lineno"> 3689</span>&#160;<span class="comment">     * that are sent after the ChangeCipherSpec message. This</span></div>
-<div class="line"><a name="l03690"></a><span class="lineno"> 3690</span>&#160;<span class="comment">     * means that the client&#39;s Finished message uses epoch + 1</span></div>
-<div class="line"><a name="l03691"></a><span class="lineno"> 3691</span>&#160;<span class="comment">     * while the server is still in the old epoch.</span></div>
-<div class="line"><a name="l03692"></a><span class="lineno"> 3692</span>&#160;<span class="comment">     */</span></div>
-<div class="line"><a name="l03693"></a><span class="lineno"> 3693</span>&#160;    <span class="keywordflow">if</span> (role == <a class="code" href="peer_8h.html#ae30cd4bcffed73f79f17c09e5a1452c8a7c2a694fc87273c445ad661575b28255">DTLS_SERVER</a> &amp;&amp; state == <a class="code" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a8c1ffc1652e7c5ba25239fe1f3a430ba">DTLS_STATE_WAIT_FINISHED</a>) {</div>
-<div class="line"><a name="l03694"></a><span class="lineno"> 3694</span>&#160;      expected_epoch++;</div>
-<div class="line"><a name="l03695"></a><span class="lineno"> 3695</span>&#160;    }</div>
-<div class="line"><a name="l03696"></a><span class="lineno"> 3696</span>&#160;</div>
-<div class="line"><a name="l03697"></a><span class="lineno"> 3697</span>&#160;    <span class="keywordflow">if</span> (expected_epoch != msg_epoch) {</div>
-<div class="line"><a name="l03698"></a><span class="lineno"> 3698</span>&#160;      <a class="code" href="debug_8h.html#ae1c22127c92fab70da7bf9cae8536e5c">dtls_warn</a>(<span class="stringliteral">&quot;Wrong epoch, expected %i, got: %i\n&quot;</span>,</div>
-<div class="line"><a name="l03699"></a><span class="lineno"> 3699</span>&#160;            expected_epoch, msg_epoch);</div>
-<div class="line"><a name="l03700"></a><span class="lineno"> 3700</span>&#160;      <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l03701"></a><span class="lineno"> 3701</span>&#160;    }</div>
-<div class="line"><a name="l03702"></a><span class="lineno"> 3702</span>&#160;      }</div>
-<div class="line"><a name="l03703"></a><span class="lineno"> 3703</span>&#160;</div>
-<div class="line"><a name="l03704"></a><span class="lineno"> 3704</span>&#160;      err = <a class="code" href="dtls_8c.html#ab199f50f39a96464ff7b532f2635ce9d">handle_handshake</a>(ctx, peer, session, role, state, data, data_length);</div>
-<div class="line"><a name="l03705"></a><span class="lineno"> 3705</span>&#160;      <span class="keywordflow">if</span> (err &lt; 0) {</div>
-<div class="line"><a name="l03706"></a><span class="lineno"> 3706</span>&#160;    <a class="code" href="debug_8h.html#ae1c22127c92fab70da7bf9cae8536e5c">dtls_warn</a>(<span class="stringliteral">&quot;error while handling handshake packet\n&quot;</span>);</div>
-<div class="line"><a name="l03707"></a><span class="lineno"> 3707</span>&#160;    <a class="code" href="dtls_8c.html#a4c7a26bc520ac2ac88b4758e0fb84f1e">dtls_alert_send_from_err</a>(ctx, peer, session, err);</div>
-<div class="line"><a name="l03708"></a><span class="lineno"> 3708</span>&#160;    <span class="keywordflow">return</span> err;</div>
-<div class="line"><a name="l03709"></a><span class="lineno"> 3709</span>&#160;      }</div>
-<div class="line"><a name="l03710"></a><span class="lineno"> 3710</span>&#160;      <span class="keywordflow">if</span> (peer &amp;&amp; peer-&gt;<a class="code" href="structdtls__peer__t.html#a4e23cc3b273813744524c3db1fda9c83">state</a> == <a class="code" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a953a6aabd0aff0492df164e79815b122">DTLS_STATE_CONNECTED</a>) {</div>
-<div class="line"><a name="l03711"></a><span class="lineno"> 3711</span>&#160;    <span class="comment">/* stop retransmissions */</span></div>
-<div class="line"><a name="l03712"></a><span class="lineno"> 3712</span>&#160;    <a class="code" href="dtls_8c.html#a3742f5067d1b0693d6a41e70d4ecd5b5">dtls_stop_retransmission</a>(ctx, peer);</div>
-<div class="line"><a name="l03713"></a><span class="lineno"> 3713</span>&#160;    <a class="code" href="dtls_8c.html#a3e132aba78de736930255d40ef3f2d34">CALL</a>(ctx, event, &amp;peer-&gt;<a class="code" href="structdtls__peer__t.html#a44ebb2ba643269c7e6943f3a9040febe">session</a>, 0, <a class="code" href="alert_8h.html#a5bed06f27f571d7c7d9b9f212c3a0b22">DTLS_EVENT_CONNECTED</a>);</div>
-<div class="line"><a name="l03714"></a><span class="lineno"> 3714</span>&#160;      }</div>
-<div class="line"><a name="l03715"></a><span class="lineno"> 3715</span>&#160;      <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l03716"></a><span class="lineno"> 3716</span>&#160;</div>
-<div class="line"><a name="l03717"></a><span class="lineno"> 3717</span>&#160;    <span class="keywordflow">case</span> <a class="code" href="dtls_8h.html#a2e3ff1e96b8b7db8a3648beba35bfd0c">DTLS_CT_APPLICATION_DATA</a>:</div>
-<div class="line"><a name="l03718"></a><span class="lineno"> 3718</span>&#160;      <a class="code" href="debug_8h.html#afde5692e7a590b0dd016d5753284c175">dtls_info</a>(<span class="stringliteral">&quot;** application data:\n&quot;</span>);</div>
-<div class="line"><a name="l03719"></a><span class="lineno"> 3719</span>&#160;      <span class="keywordflow">if</span> (!peer) {</div>
-<div class="line"><a name="l03720"></a><span class="lineno"> 3720</span>&#160;        <a class="code" href="debug_8h.html#ae1c22127c92fab70da7bf9cae8536e5c">dtls_warn</a>(<span class="stringliteral">&quot;no peer available, send an alert\n&quot;</span>);</div>
-<div class="line"><a name="l03721"></a><span class="lineno"> 3721</span>&#160;        <span class="comment">// TODO: should we send a alert here?</span></div>
-<div class="line"><a name="l03722"></a><span class="lineno"> 3722</span>&#160;        <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l03723"></a><span class="lineno"> 3723</span>&#160;      }</div>
-<div class="line"><a name="l03724"></a><span class="lineno"> 3724</span>&#160;      <a class="code" href="dtls_8c.html#a3742f5067d1b0693d6a41e70d4ecd5b5">dtls_stop_retransmission</a>(ctx, peer);</div>
-<div class="line"><a name="l03725"></a><span class="lineno"> 3725</span>&#160;      <a class="code" href="dtls_8c.html#a3e132aba78de736930255d40ef3f2d34">CALL</a>(ctx, read, &amp;peer-&gt;<a class="code" href="structdtls__peer__t.html#a44ebb2ba643269c7e6943f3a9040febe">session</a>, data, data_length);</div>
-<div class="line"><a name="l03726"></a><span class="lineno"> 3726</span>&#160;      <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l03727"></a><span class="lineno"> 3727</span>&#160;    <span class="keywordflow">default</span>:</div>
-<div class="line"><a name="l03728"></a><span class="lineno"> 3728</span>&#160;      <a class="code" href="debug_8h.html#afde5692e7a590b0dd016d5753284c175">dtls_info</a>(<span class="stringliteral">&quot;dropped unknown message of type %d\n&quot;</span>,msg[0]);</div>
-<div class="line"><a name="l03729"></a><span class="lineno"> 3729</span>&#160;    }</div>
-<div class="line"><a name="l03730"></a><span class="lineno"> 3730</span>&#160;</div>
-<div class="line"><a name="l03731"></a><span class="lineno"> 3731</span>&#160;    <span class="comment">/* advance msg by length of ciphertext */</span></div>
-<div class="line"><a name="l03732"></a><span class="lineno"> 3732</span>&#160;    msg += rlen;</div>
-<div class="line"><a name="l03733"></a><span class="lineno"> 3733</span>&#160;    msglen -= rlen;</div>
-<div class="line"><a name="l03734"></a><span class="lineno"> 3734</span>&#160;  }</div>
-<div class="line"><a name="l03735"></a><span class="lineno"> 3735</span>&#160;</div>
-<div class="line"><a name="l03736"></a><span class="lineno"> 3736</span>&#160;  <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l03737"></a><span class="lineno"> 3737</span>&#160;}</div>
-<div class="line"><a name="l03738"></a><span class="lineno"> 3738</span>&#160;</div>
-<div class="line"><a name="l03739"></a><span class="lineno"> 3739</span>&#160;<a class="code" href="structdtls__context__t.html">dtls_context_t</a> *</div>
-<div class="line"><a name="l03740"></a><span class="lineno"><a class="line" href="dtls_8h.html#a11f53d301448aa8f1dbcfaf77441bd9c"> 3740</a></span>&#160;<a class="code" href="dtls_8c.html#a11f53d301448aa8f1dbcfaf77441bd9c">dtls_new_context</a>(<span class="keywordtype">void</span> *app_data) {</div>
-<div class="line"><a name="l03741"></a><span class="lineno"> 3741</span>&#160;  <a class="code" href="structdtls__context__t.html">dtls_context_t</a> *c;</div>
-<div class="line"><a name="l03742"></a><span class="lineno"> 3742</span>&#160;  <a class="code" href="group__clock.html#gaded617551180951f4841969e396a8012">dtls_tick_t</a> now;</div>
-<div class="line"><a name="l03743"></a><span class="lineno"> 3743</span>&#160;<span class="preprocessor">#ifndef WITH_CONTIKI</span></div>
-<div class="line"><a name="l03744"></a><span class="lineno"> 3744</span>&#160;<span class="preprocessor"></span>  FILE *urandom = fopen(<span class="stringliteral">&quot;/dev/urandom&quot;</span>, <span class="stringliteral">&quot;r&quot;</span>);</div>
-<div class="line"><a name="l03745"></a><span class="lineno"> 3745</span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> buf[<span class="keyword">sizeof</span>(<span class="keywordtype">unsigned</span> long)];</div>
-<div class="line"><a name="l03746"></a><span class="lineno"> 3746</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* WITH_CONTIKI */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l03747"></a><span class="lineno"> 3747</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l03748"></a><span class="lineno"> 3748</span>&#160;  <a class="code" href="group__clock.html#ga1834985745ba5d3dd03f7e7498e3a304">dtls_ticks</a>(&amp;now);</div>
-<div class="line"><a name="l03749"></a><span class="lineno"> 3749</span>&#160;<span class="preprocessor">#ifdef WITH_CONTIKI</span></div>
-<div class="line"><a name="l03750"></a><span class="lineno"> 3750</span>&#160;<span class="preprocessor"></span>  <span class="comment">/* FIXME: need something better to init PRNG here */</span></div>
-<div class="line"><a name="l03751"></a><span class="lineno"> 3751</span>&#160;  <a class="code" href="group__prng.html#gac68680277206146d06c9e5468f260ee0">dtls_prng_init</a>(now);</div>
-<div class="line"><a name="l03752"></a><span class="lineno"> 3752</span>&#160;<span class="preprocessor">#else </span><span class="comment">/* WITH_CONTIKI */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l03753"></a><span class="lineno"> 3753</span>&#160;<span class="preprocessor"></span>  <span class="keywordflow">if</span> (!urandom) {</div>
-<div class="line"><a name="l03754"></a><span class="lineno"> 3754</span>&#160;    <a class="code" href="debug_8h.html#a94fa8dba0861075ba507ea0417fd83c8">dtls_emerg</a>(<span class="stringliteral">&quot;cannot initialize PRNG\n&quot;</span>);</div>
-<div class="line"><a name="l03755"></a><span class="lineno"> 3755</span>&#160;    <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l03756"></a><span class="lineno"> 3756</span>&#160;  }</div>
-<div class="line"><a name="l03757"></a><span class="lineno"> 3757</span>&#160;</div>
-<div class="line"><a name="l03758"></a><span class="lineno"> 3758</span>&#160;  <span class="keywordflow">if</span> (fread(buf, 1, <span class="keyword">sizeof</span>(buf), urandom) != <span class="keyword">sizeof</span>(buf)) {</div>
-<div class="line"><a name="l03759"></a><span class="lineno"> 3759</span>&#160;    <a class="code" href="debug_8h.html#a94fa8dba0861075ba507ea0417fd83c8">dtls_emerg</a>(<span class="stringliteral">&quot;cannot initialize PRNG\n&quot;</span>);</div>
-<div class="line"><a name="l03760"></a><span class="lineno"> 3760</span>&#160;    <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l03761"></a><span class="lineno"> 3761</span>&#160;  }</div>
-<div class="line"><a name="l03762"></a><span class="lineno"> 3762</span>&#160;</div>
-<div class="line"><a name="l03763"></a><span class="lineno"> 3763</span>&#160;  fclose(urandom);</div>
-<div class="line"><a name="l03764"></a><span class="lineno"> 3764</span>&#160;  <a class="code" href="group__prng.html#gac68680277206146d06c9e5468f260ee0">dtls_prng_init</a>((<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span>)*buf);</div>
-<div class="line"><a name="l03765"></a><span class="lineno"> 3765</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* WITH_CONTIKI */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l03766"></a><span class="lineno"> 3766</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l03767"></a><span class="lineno"> 3767</span>&#160;  c = <a class="code" href="dtls_8c.html#a9e02f1c6e70dab40e56d5131a259521a">malloc_context</a>();</div>
-<div class="line"><a name="l03768"></a><span class="lineno"> 3768</span>&#160;  <span class="keywordflow">if</span> (!c)</div>
-<div class="line"><a name="l03769"></a><span class="lineno"> 3769</span>&#160;    <span class="keywordflow">goto</span> error;</div>
-<div class="line"><a name="l03770"></a><span class="lineno"> 3770</span>&#160;</div>
-<div class="line"><a name="l03771"></a><span class="lineno"> 3771</span>&#160;  memset(c, 0, <span class="keyword">sizeof</span>(<a class="code" href="structdtls__context__t.html">dtls_context_t</a>));</div>
-<div class="line"><a name="l03772"></a><span class="lineno"> 3772</span>&#160;  c-&gt;<a class="code" href="structdtls__context__t.html#ab37722ec6b82dd3120827812f212a51e">app</a> = app_data;</div>
-<div class="line"><a name="l03773"></a><span class="lineno"> 3773</span>&#160;  </div>
-<div class="line"><a name="l03774"></a><span class="lineno"> 3774</span>&#160;  <a class="code" href="t__list_8h.html#adcb86fe4485a0f8ea79541117641f730">LIST_STRUCT_INIT</a>(c, sendqueue);</div>
-<div class="line"><a name="l03775"></a><span class="lineno"> 3775</span>&#160;</div>
-<div class="line"><a name="l03776"></a><span class="lineno"> 3776</span>&#160;<span class="preprocessor">#ifdef WITH_CONTIKI</span></div>
-<div class="line"><a name="l03777"></a><span class="lineno"> 3777</span>&#160;<span class="preprocessor"></span>  <a class="code" href="t__list_8h.html#adcb86fe4485a0f8ea79541117641f730">LIST_STRUCT_INIT</a>(c, peers);</div>
-<div class="line"><a name="l03778"></a><span class="lineno"> 3778</span>&#160;  <span class="comment">/* LIST_STRUCT_INIT(c, key_store); */</span></div>
-<div class="line"><a name="l03779"></a><span class="lineno"> 3779</span>&#160;  </div>
-<div class="line"><a name="l03780"></a><span class="lineno"> 3780</span>&#160;  process_start(&amp;dtls_retransmit_process, (<span class="keywordtype">char</span> *)c);</div>
-<div class="line"><a name="l03781"></a><span class="lineno"> 3781</span>&#160;  PROCESS_CONTEXT_BEGIN(&amp;dtls_retransmit_process);</div>
-<div class="line"><a name="l03782"></a><span class="lineno"> 3782</span>&#160;  <span class="comment">/* the retransmit timer must be initialized to some large value */</span></div>
-<div class="line"><a name="l03783"></a><span class="lineno"> 3783</span>&#160;  etimer_set(&amp;c-&gt;retransmit_timer, 0xFFFF);</div>
-<div class="line"><a name="l03784"></a><span class="lineno"> 3784</span>&#160;  PROCESS_CONTEXT_END(&amp;coap_retransmit_process);</div>
-<div class="line"><a name="l03785"></a><span class="lineno"> 3785</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* WITH_CONTIKI */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l03786"></a><span class="lineno"> 3786</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l03787"></a><span class="lineno"> 3787</span>&#160;  <span class="keywordflow">if</span> (<a class="code" href="group__prng.html#ga3f4036a1abfcec552ab583a2dc37be6c">dtls_prng</a>(c-&gt;<a class="code" href="structdtls__context__t.html#adb7dc6a53a7e00f2c4bbf726973e002f">cookie_secret</a>, <a class="code" href="dtls_8h.html#a44ec206b1d84aa3d83281a92ed7cc238">DTLS_COOKIE_SECRET_LENGTH</a>))</div>
-<div class="line"><a name="l03788"></a><span class="lineno"> 3788</span>&#160;    c-&gt;<a class="code" href="structdtls__context__t.html#a3f26099dbb3588ae9a86d26f69ec08f8">cookie_secret_age</a> = now;</div>
-<div class="line"><a name="l03789"></a><span class="lineno"> 3789</span>&#160;  <span class="keywordflow">else</span> </div>
-<div class="line"><a name="l03790"></a><span class="lineno"> 3790</span>&#160;    <span class="keywordflow">goto</span> error;</div>
-<div class="line"><a name="l03791"></a><span class="lineno"> 3791</span>&#160;  </div>
-<div class="line"><a name="l03792"></a><span class="lineno"> 3792</span>&#160;  <span class="keywordflow">return</span> c;</div>
-<div class="line"><a name="l03793"></a><span class="lineno"> 3793</span>&#160;</div>
-<div class="line"><a name="l03794"></a><span class="lineno"> 3794</span>&#160; error:</div>
-<div class="line"><a name="l03795"></a><span class="lineno"> 3795</span>&#160;  <a class="code" href="debug_8h.html#ab22e3494f6186183820142ba279fe9ae">dtls_alert</a>(<span class="stringliteral">&quot;cannot create DTLS context\n&quot;</span>);</div>
-<div class="line"><a name="l03796"></a><span class="lineno"> 3796</span>&#160;  <span class="keywordflow">if</span> (c)</div>
-<div class="line"><a name="l03797"></a><span class="lineno"> 3797</span>&#160;    <a class="code" href="dtls_8c.html#a3171c099d25ed29e31326526b8e1de84">dtls_free_context</a>(c);</div>
-<div class="line"><a name="l03798"></a><span class="lineno"> 3798</span>&#160;  <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l03799"></a><span class="lineno"> 3799</span>&#160;}</div>
-<div class="line"><a name="l03800"></a><span class="lineno"> 3800</span>&#160;</div>
-<div class="line"><a name="l03801"></a><span class="lineno"> 3801</span>&#160;<span class="keywordtype">void</span></div>
-<div class="line"><a name="l03802"></a><span class="lineno"><a class="line" href="dtls_8h.html#a3171c099d25ed29e31326526b8e1de84"> 3802</a></span>&#160;<a class="code" href="dtls_8c.html#a3171c099d25ed29e31326526b8e1de84">dtls_free_context</a>(<a class="code" href="structdtls__context__t.html">dtls_context_t</a> *ctx) {</div>
-<div class="line"><a name="l03803"></a><span class="lineno"> 3803</span>&#160;  <a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *p;</div>
-<div class="line"><a name="l03804"></a><span class="lineno"> 3804</span>&#160;</div>
-<div class="line"><a name="l03805"></a><span class="lineno"> 3805</span>&#160;  <span class="keywordflow">if</span> (!ctx) {</div>
-<div class="line"><a name="l03806"></a><span class="lineno"> 3806</span>&#160;    <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l03807"></a><span class="lineno"> 3807</span>&#160;  }</div>
-<div class="line"><a name="l03808"></a><span class="lineno"> 3808</span>&#160;</div>
-<div class="line"><a name="l03809"></a><span class="lineno"> 3809</span>&#160;<span class="preprocessor">#ifndef WITH_CONTIKI</span></div>
-<div class="line"><a name="l03810"></a><span class="lineno"> 3810</span>&#160;<span class="preprocessor"></span>  <a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *tmp;</div>
-<div class="line"><a name="l03811"></a><span class="lineno"> 3811</span>&#160;</div>
-<div class="line"><a name="l03812"></a><span class="lineno"> 3812</span>&#160;  <span class="keywordflow">if</span> (ctx-&gt;<a class="code" href="structdtls__context__t.html#a417fa8ac04478292f0539d2da0fec088">peers</a>) {</div>
-<div class="line"><a name="l03813"></a><span class="lineno"> 3813</span>&#160;    <a class="code" href="uthash_8h.html#a4d524042f1fcb976d8bccae9e4cc63d6">HASH_ITER</a>(hh, ctx-&gt;<a class="code" href="structdtls__context__t.html#a417fa8ac04478292f0539d2da0fec088">peers</a>, p, tmp) {</div>
-<div class="line"><a name="l03814"></a><span class="lineno"> 3814</span>&#160;      <a class="code" href="dtls_8c.html#a81061928e291b6a3e7701f6a7f51b6f3">dtls_destroy_peer</a>(ctx, p, 1);</div>
-<div class="line"><a name="l03815"></a><span class="lineno"> 3815</span>&#160;    }</div>
-<div class="line"><a name="l03816"></a><span class="lineno"> 3816</span>&#160;  }</div>
-<div class="line"><a name="l03817"></a><span class="lineno"> 3817</span>&#160;<span class="preprocessor">#else </span><span class="comment">/* WITH_CONTIKI */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l03818"></a><span class="lineno"> 3818</span>&#160;<span class="preprocessor"></span>  <span class="keywordflow">for</span> (p = <a class="code" href="t__list_8h.html#adb42e31bb4fe0df6ec1aa3494902968d">list_head</a>(ctx-&gt;<a class="code" href="structdtls__context__t.html#a417fa8ac04478292f0539d2da0fec088">peers</a>); p; p = <a class="code" href="t__list_8h.html#ae7f0bdad2409695760ffd8de55b6a99b">list_item_next</a>(p))</div>
-<div class="line"><a name="l03819"></a><span class="lineno"> 3819</span>&#160;    <a class="code" href="dtls_8c.html#a81061928e291b6a3e7701f6a7f51b6f3">dtls_destroy_peer</a>(ctx, p, 1);</div>
-<div class="line"><a name="l03820"></a><span class="lineno"> 3820</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* WITH_CONTIKI */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l03821"></a><span class="lineno"> 3821</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l03822"></a><span class="lineno"> 3822</span>&#160;  <a class="code" href="dtls_8c.html#aa2f1fb16f297640b319ff0d864139ea5">free_context</a>(ctx);</div>
-<div class="line"><a name="l03823"></a><span class="lineno"> 3823</span>&#160;}</div>
-<div class="line"><a name="l03824"></a><span class="lineno"> 3824</span>&#160;</div>
-<div class="line"><a name="l03825"></a><span class="lineno"> 3825</span>&#160;<span class="keywordtype">int</span></div>
-<div class="line"><a name="l03826"></a><span class="lineno"><a class="line" href="dtls_8h.html#ad60bf1197fa1a074f91aed508cfefa62"> 3826</a></span>&#160;<a class="code" href="dtls_8c.html#ad60bf1197fa1a074f91aed508cfefa62">dtls_connect_peer</a>(<a class="code" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *peer) {</div>
-<div class="line"><a name="l03827"></a><span class="lineno"> 3827</span>&#160;  <span class="keywordtype">int</span> res;</div>
-<div class="line"><a name="l03828"></a><span class="lineno"> 3828</span>&#160;</div>
-<div class="line"><a name="l03829"></a><span class="lineno"> 3829</span>&#160;  assert(peer);</div>
-<div class="line"><a name="l03830"></a><span class="lineno"> 3830</span>&#160;  <span class="keywordflow">if</span> (!peer)</div>
-<div class="line"><a name="l03831"></a><span class="lineno"> 3831</span>&#160;    <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l03832"></a><span class="lineno"> 3832</span>&#160;</div>
-<div class="line"><a name="l03833"></a><span class="lineno"> 3833</span>&#160;  <span class="comment">/* check if the same peer is already in our list */</span></div>
-<div class="line"><a name="l03834"></a><span class="lineno"> 3834</span>&#160;  <span class="keywordflow">if</span> (peer == <a class="code" href="dtls_8c.html#a70333bea2db35153177347b5c7700cab">dtls_get_peer</a>(ctx, &amp;peer-&gt;<a class="code" href="structdtls__peer__t.html#a44ebb2ba643269c7e6943f3a9040febe">session</a>)) {</div>
-<div class="line"><a name="l03835"></a><span class="lineno"> 3835</span>&#160;    <a class="code" href="debug_8h.html#a0f158325426415d9efb5a36bebf45844">dtls_debug</a>(<span class="stringliteral">&quot;found peer, try to re-connect\n&quot;</span>);</div>
-<div class="line"><a name="l03836"></a><span class="lineno"> 3836</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="dtls_8c.html#a5676a0ceeeabd1ec38d378212f7af4a1">dtls_renegotiate</a>(ctx, &amp;peer-&gt;<a class="code" href="structdtls__peer__t.html#a44ebb2ba643269c7e6943f3a9040febe">session</a>);</div>
-<div class="line"><a name="l03837"></a><span class="lineno"> 3837</span>&#160;  }</div>
-<div class="line"><a name="l03838"></a><span class="lineno"> 3838</span>&#160;    </div>
-<div class="line"><a name="l03839"></a><span class="lineno"> 3839</span>&#160;  <span class="comment">/* set local peer role to client, remote is server */</span></div>
-<div class="line"><a name="l03840"></a><span class="lineno"> 3840</span>&#160;  peer-&gt;<a class="code" href="structdtls__peer__t.html#aeca80f1bcbcfdba89a2ab08e4bc48120">role</a> = <a class="code" href="peer_8h.html#ae30cd4bcffed73f79f17c09e5a1452c8afd8391395303e28ee9b375232cb68a1e">DTLS_CLIENT</a>;</div>
-<div class="line"><a name="l03841"></a><span class="lineno"> 3841</span>&#160;</div>
-<div class="line"><a name="l03842"></a><span class="lineno"> 3842</span>&#160;  <a class="code" href="dtls_8c.html#ae4a2961a027959f907145f82ca9107c3">dtls_add_peer</a>(ctx, peer);</div>
-<div class="line"><a name="l03843"></a><span class="lineno"> 3843</span>&#160;</div>
-<div class="line"><a name="l03844"></a><span class="lineno"> 3844</span>&#160;  <span class="comment">/* send ClientHello with empty Cookie */</span></div>
-<div class="line"><a name="l03845"></a><span class="lineno"> 3845</span>&#160;  peer-&gt;<a class="code" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">handshake_params</a> = <a class="code" href="crypto_8c.html#a25930cdb27a6ffcf05e2c2a9c95a6af8">dtls_handshake_new</a>();</div>
-<div class="line"><a name="l03846"></a><span class="lineno"> 3846</span>&#160;      <span class="keywordflow">if</span> (!peer-&gt;<a class="code" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">handshake_params</a>)</div>
-<div class="line"><a name="l03847"></a><span class="lineno"> 3847</span>&#160;        <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l03848"></a><span class="lineno"> 3848</span>&#160;</div>
-<div class="line"><a name="l03849"></a><span class="lineno"> 3849</span>&#160;  peer-&gt;<a class="code" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">handshake_params</a>-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a56e7392a649731166fc82a523b0eb027">hs_state</a>.<a class="code" href="structdtls__hs__state__t.html#a4e2184c917d1ad46d308e8770193f542">mseq_r</a> = 0;</div>
-<div class="line"><a name="l03850"></a><span class="lineno"> 3850</span>&#160;  peer-&gt;<a class="code" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">handshake_params</a>-&gt;<a class="code" href="structdtls__handshake__parameters__t.html#a56e7392a649731166fc82a523b0eb027">hs_state</a>.<a class="code" href="structdtls__hs__state__t.html#a694ce15382e7504a750a1b102ad8ec32">mseq_s</a> = 0;</div>
-<div class="line"><a name="l03851"></a><span class="lineno"> 3851</span>&#160;  <a class="code" href="t__list_8h.html#adcb86fe4485a0f8ea79541117641f730">LIST_STRUCT_INIT</a>(peer-&gt;<a class="code" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">handshake_params</a>, reorder_queue);</div>
-<div class="line"><a name="l03852"></a><span class="lineno"> 3852</span>&#160;  res = <a class="code" href="dtls_8c.html#aecd3ffe8bf8a3970d3e091ce8e7c6476">dtls_send_client_hello</a>(ctx, peer, NULL, 0);</div>
-<div class="line"><a name="l03853"></a><span class="lineno"> 3853</span>&#160;  <span class="keywordflow">if</span> (res &lt; 0)</div>
-<div class="line"><a name="l03854"></a><span class="lineno"> 3854</span>&#160;    <a class="code" href="debug_8h.html#ae1c22127c92fab70da7bf9cae8536e5c">dtls_warn</a>(<span class="stringliteral">&quot;cannot send ClientHello\n&quot;</span>);</div>
-<div class="line"><a name="l03855"></a><span class="lineno"> 3855</span>&#160;  <span class="keywordflow">else</span> </div>
-<div class="line"><a name="l03856"></a><span class="lineno"> 3856</span>&#160;    peer-&gt;<a class="code" href="structdtls__peer__t.html#a4e23cc3b273813744524c3db1fda9c83">state</a> = <a class="code" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a1a76f1e49c80d22df9673f8471d1ec53">DTLS_STATE_CLIENTHELLO</a>;</div>
-<div class="line"><a name="l03857"></a><span class="lineno"> 3857</span>&#160;</div>
-<div class="line"><a name="l03858"></a><span class="lineno"> 3858</span>&#160;  <span class="keywordflow">return</span> res;</div>
-<div class="line"><a name="l03859"></a><span class="lineno"> 3859</span>&#160;}</div>
-<div class="line"><a name="l03860"></a><span class="lineno"> 3860</span>&#160;</div>
-<div class="line"><a name="l03861"></a><span class="lineno"> 3861</span>&#160;<span class="keywordtype">int</span></div>
-<div class="line"><a name="l03862"></a><span class="lineno"><a class="line" href="dtls_8h.html#a187f5e145bb869a732fbed426929a4e9"> 3862</a></span>&#160;<a class="code" href="dtls_8c.html#a187f5e145bb869a732fbed426929a4e9">dtls_connect</a>(<a class="code" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <span class="keyword">const</span> <a class="code" href="structsession__t.html">session_t</a> *dst) {</div>
-<div class="line"><a name="l03863"></a><span class="lineno"> 3863</span>&#160;  <a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *peer;</div>
-<div class="line"><a name="l03864"></a><span class="lineno"> 3864</span>&#160;  <span class="keywordtype">int</span> res;</div>
-<div class="line"><a name="l03865"></a><span class="lineno"> 3865</span>&#160;</div>
-<div class="line"><a name="l03866"></a><span class="lineno"> 3866</span>&#160;  peer = <a class="code" href="dtls_8c.html#a70333bea2db35153177347b5c7700cab">dtls_get_peer</a>(ctx, dst);</div>
-<div class="line"><a name="l03867"></a><span class="lineno"> 3867</span>&#160;  </div>
-<div class="line"><a name="l03868"></a><span class="lineno"> 3868</span>&#160;  <span class="keywordflow">if</span> (!peer)</div>
-<div class="line"><a name="l03869"></a><span class="lineno"> 3869</span>&#160;    peer = <a class="code" href="peer_8c.html#a209e22be64be13e116711829d21d864c">dtls_new_peer</a>(dst);</div>
-<div class="line"><a name="l03870"></a><span class="lineno"> 3870</span>&#160;</div>
-<div class="line"><a name="l03871"></a><span class="lineno"> 3871</span>&#160;  <span class="keywordflow">if</span> (!peer) {</div>
-<div class="line"><a name="l03872"></a><span class="lineno"> 3872</span>&#160;    <a class="code" href="debug_8h.html#ad4c9c94c054579b73789fead587c8514">dtls_crit</a>(<span class="stringliteral">&quot;cannot create new peer\n&quot;</span>);</div>
-<div class="line"><a name="l03873"></a><span class="lineno"> 3873</span>&#160;    <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l03874"></a><span class="lineno"> 3874</span>&#160;  }</div>
-<div class="line"><a name="l03875"></a><span class="lineno"> 3875</span>&#160;</div>
-<div class="line"><a name="l03876"></a><span class="lineno"> 3876</span>&#160;  res = <a class="code" href="dtls_8c.html#ad60bf1197fa1a074f91aed508cfefa62">dtls_connect_peer</a>(ctx, peer);</div>
-<div class="line"><a name="l03877"></a><span class="lineno"> 3877</span>&#160;</div>
-<div class="line"><a name="l03878"></a><span class="lineno"> 3878</span>&#160;  <span class="comment">/* Invoke event callback to indicate connection attempt or</span></div>
-<div class="line"><a name="l03879"></a><span class="lineno"> 3879</span>&#160;<span class="comment">   * re-negotiation. */</span></div>
-<div class="line"><a name="l03880"></a><span class="lineno"> 3880</span>&#160;  <span class="keywordflow">if</span> (res &gt; 0) {</div>
-<div class="line"><a name="l03881"></a><span class="lineno"> 3881</span>&#160;    <a class="code" href="dtls_8c.html#a3e132aba78de736930255d40ef3f2d34">CALL</a>(ctx, event, &amp;peer-&gt;<a class="code" href="structdtls__peer__t.html#a44ebb2ba643269c7e6943f3a9040febe">session</a>, 0, <a class="code" href="alert_8h.html#aec2aa0683b1a39b4b1abba357b06f844">DTLS_EVENT_CONNECT</a>);</div>
-<div class="line"><a name="l03882"></a><span class="lineno"> 3882</span>&#160;  } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (res == 0) {</div>
-<div class="line"><a name="l03883"></a><span class="lineno"> 3883</span>&#160;    <a class="code" href="dtls_8c.html#a3e132aba78de736930255d40ef3f2d34">CALL</a>(ctx, event, &amp;peer-&gt;<a class="code" href="structdtls__peer__t.html#a44ebb2ba643269c7e6943f3a9040febe">session</a>, 0, <a class="code" href="alert_8h.html#a06e52ce3a2909c8f5a3d47d2c0346124">DTLS_EVENT_RENEGOTIATE</a>);</div>
-<div class="line"><a name="l03884"></a><span class="lineno"> 3884</span>&#160;  }</div>
-<div class="line"><a name="l03885"></a><span class="lineno"> 3885</span>&#160;  </div>
-<div class="line"><a name="l03886"></a><span class="lineno"> 3886</span>&#160;  <span class="keywordflow">return</span> res;</div>
-<div class="line"><a name="l03887"></a><span class="lineno"> 3887</span>&#160;}</div>
-<div class="line"><a name="l03888"></a><span class="lineno"> 3888</span>&#160;</div>
-<div class="line"><a name="l03889"></a><span class="lineno"> 3889</span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l03890"></a><span class="lineno"><a class="line" href="dtls_8c.html#aa57a9ccb1344c5baf8bd3adf35f3beeb"> 3890</a></span>&#160;<a class="code" href="dtls_8c.html#aa57a9ccb1344c5baf8bd3adf35f3beeb">dtls_retransmit</a>(<a class="code" href="structdtls__context__t.html">dtls_context_t</a> *context, <a class="code" href="structnetq__t.html">netq_t</a> *node) {</div>
-<div class="line"><a name="l03891"></a><span class="lineno"> 3891</span>&#160;  <span class="keywordflow">if</span> (!context || !node)</div>
-<div class="line"><a name="l03892"></a><span class="lineno"> 3892</span>&#160;    <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l03893"></a><span class="lineno"> 3893</span>&#160;</div>
-<div class="line"><a name="l03894"></a><span class="lineno"> 3894</span>&#160;  <span class="comment">/* re-initialize timeout when maximum number of retransmissions are not reached yet */</span></div>
-<div class="line"><a name="l03895"></a><span class="lineno"> 3895</span>&#160;  <span class="keywordflow">if</span> (node-&gt;<a class="code" href="structnetq__t.html#aacd03017f40248c2f48c2b7b9cd92dc8">retransmit_cnt</a> &lt; <a class="code" href="global_8h.html#a9fc59fb51c2e3cb4da6fb19bc8cad080">DTLS_DEFAULT_MAX_RETRANSMIT</a>) {</div>
-<div class="line"><a name="l03896"></a><span class="lineno"> 3896</span>&#160;      <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> sendbuf[<a class="code" href="global_8h.html#acdbfba15eb1a5692e177d582b4ca1583">DTLS_MAX_BUF</a>];</div>
-<div class="line"><a name="l03897"></a><span class="lineno"> 3897</span>&#160;      <span class="keywordtype">size_t</span> len = <span class="keyword">sizeof</span>(sendbuf);</div>
-<div class="line"><a name="l03898"></a><span class="lineno"> 3898</span>&#160;      <span class="keywordtype">int</span> err;</div>
-<div class="line"><a name="l03899"></a><span class="lineno"> 3899</span>&#160;      <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *data = node-&gt;<a class="code" href="structnetq__t.html#a5b4d387623df43fe25a3b11e9d4fb02c">data</a>;</div>
-<div class="line"><a name="l03900"></a><span class="lineno"> 3900</span>&#160;      <span class="keywordtype">size_t</span> length = node-&gt;<a class="code" href="structnetq__t.html#ac72c9378282becab5a273f612f58c124">length</a>;</div>
-<div class="line"><a name="l03901"></a><span class="lineno"> 3901</span>&#160;      <a class="code" href="group__clock.html#gaded617551180951f4841969e396a8012">dtls_tick_t</a> now;</div>
-<div class="line"><a name="l03902"></a><span class="lineno"> 3902</span>&#160;      <a class="code" href="structdtls__security__parameters__t.html">dtls_security_parameters_t</a> *security = <a class="code" href="peer_8h.html#af5de0315efd7e8c6b1aecf60078b2dd7">dtls_security_params_epoch</a>(node-&gt;<a class="code" href="structnetq__t.html#aaca5f6407bd7b3162d9ee7e7e7b8f0ff">peer</a>, node-&gt;<a class="code" href="structnetq__t.html#a9998944e43a39a2e5700156876a312e0">epoch</a>);</div>
-<div class="line"><a name="l03903"></a><span class="lineno"> 3903</span>&#160;</div>
-<div class="line"><a name="l03904"></a><span class="lineno"> 3904</span>&#160;      <a class="code" href="group__clock.html#ga1834985745ba5d3dd03f7e7498e3a304">dtls_ticks</a>(&amp;now);</div>
-<div class="line"><a name="l03905"></a><span class="lineno"> 3905</span>&#160;      node-&gt;<a class="code" href="structnetq__t.html#aacd03017f40248c2f48c2b7b9cd92dc8">retransmit_cnt</a>++;</div>
-<div class="line"><a name="l03906"></a><span class="lineno"> 3906</span>&#160;      node-&gt;<a class="code" href="structnetq__t.html#afe91256ff5267fc680b96efd3bd8635a">t</a> = now + (node-&gt;<a class="code" href="structnetq__t.html#ae0c2648acf87d1e6f2566bc3600771b6">timeout</a> &lt;&lt; node-&gt;<a class="code" href="structnetq__t.html#aacd03017f40248c2f48c2b7b9cd92dc8">retransmit_cnt</a>);</div>
-<div class="line"><a name="l03907"></a><span class="lineno"> 3907</span>&#160;      <a class="code" href="group__netq.html#ga142c8e39fe2cd55250e3c1f0370dfe6b">netq_insert_node</a>(context-&gt;sendqueue, node);</div>
-<div class="line"><a name="l03908"></a><span class="lineno"> 3908</span>&#160;      </div>
-<div class="line"><a name="l03909"></a><span class="lineno"> 3909</span>&#160;      <span class="keywordflow">if</span> (node-&gt;<a class="code" href="structnetq__t.html#a13d74bc65c8879b894698935fbbe2246">type</a> == <a class="code" href="dtls_8h.html#a76965db5ec449b3c8a9a54c24a4d45dc">DTLS_CT_HANDSHAKE</a>) {</div>
-<div class="line"><a name="l03910"></a><span class="lineno"> 3910</span>&#160;    <a class="code" href="dtls_8h.html#a5c6625ffcf61189392768253e8919a45">dtls_handshake_header_t</a> *hs_header = <a class="code" href="dtls_8c.html#a2cc930733d35ea870c7a0a131bee0d7a">DTLS_HANDSHAKE_HEADER</a>(data);</div>
-<div class="line"><a name="l03911"></a><span class="lineno"> 3911</span>&#160;</div>
-<div class="line"><a name="l03912"></a><span class="lineno"> 3912</span>&#160;    <a class="code" href="debug_8h.html#a0f158325426415d9efb5a36bebf45844">dtls_debug</a>(<span class="stringliteral">&quot;** retransmit handshake packet of type: %s (%i)\n&quot;</span>,</div>
-<div class="line"><a name="l03913"></a><span class="lineno"> 3913</span>&#160;               <a class="code" href="dtls_8c.html#a00707f0f82235a2432338e77dae0911d">dtls_handshake_type_to_name</a>(hs_header-&gt;msg_type), hs_header-&gt;msg_type);</div>
-<div class="line"><a name="l03914"></a><span class="lineno"> 3914</span>&#160;      } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l03915"></a><span class="lineno"> 3915</span>&#160;    <a class="code" href="debug_8h.html#a0f158325426415d9efb5a36bebf45844">dtls_debug</a>(<span class="stringliteral">&quot;** retransmit packet\n&quot;</span>);</div>
-<div class="line"><a name="l03916"></a><span class="lineno"> 3916</span>&#160;      }</div>
-<div class="line"><a name="l03917"></a><span class="lineno"> 3917</span>&#160;      </div>
-<div class="line"><a name="l03918"></a><span class="lineno"> 3918</span>&#160;      err = <a class="code" href="dtls_8c.html#ab9733484b9a23775b1bc8b3d723282e5">dtls_prepare_record</a>(node-&gt;<a class="code" href="structnetq__t.html#aaca5f6407bd7b3162d9ee7e7e7b8f0ff">peer</a>, security, node-&gt;<a class="code" href="structnetq__t.html#a13d74bc65c8879b894698935fbbe2246">type</a>, &amp;data, &amp;length,</div>
-<div class="line"><a name="l03919"></a><span class="lineno"> 3919</span>&#160;                1, sendbuf, &amp;len);</div>
-<div class="line"><a name="l03920"></a><span class="lineno"> 3920</span>&#160;      <span class="keywordflow">if</span> (err &lt; 0) {</div>
-<div class="line"><a name="l03921"></a><span class="lineno"> 3921</span>&#160;    <a class="code" href="debug_8h.html#ae1c22127c92fab70da7bf9cae8536e5c">dtls_warn</a>(<span class="stringliteral">&quot;can not retransmit packet, err: %i\n&quot;</span>, err);</div>
-<div class="line"><a name="l03922"></a><span class="lineno"> 3922</span>&#160;    <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l03923"></a><span class="lineno"> 3923</span>&#160;      }</div>
-<div class="line"><a name="l03924"></a><span class="lineno"> 3924</span>&#160;      <a class="code" href="debug_8h.html#a24b1e8ecaa65f684d879ed9d5c37119d">dtls_debug_hexdump</a>(<span class="stringliteral">&quot;retransmit header&quot;</span>, sendbuf,</div>
-<div class="line"><a name="l03925"></a><span class="lineno"> 3925</span>&#160;             <span class="keyword">sizeof</span>(<a class="code" href="dtls_8h.html#a81936df7abb2c16aa897e3018aa24399">dtls_record_header_t</a>));</div>
-<div class="line"><a name="l03926"></a><span class="lineno"> 3926</span>&#160;      <a class="code" href="debug_8h.html#a24b1e8ecaa65f684d879ed9d5c37119d">dtls_debug_hexdump</a>(<span class="stringliteral">&quot;retransmit unencrypted&quot;</span>, node-&gt;<a class="code" href="structnetq__t.html#a5b4d387623df43fe25a3b11e9d4fb02c">data</a>, node-&gt;<a class="code" href="structnetq__t.html#ac72c9378282becab5a273f612f58c124">length</a>);</div>
-<div class="line"><a name="l03927"></a><span class="lineno"> 3927</span>&#160;</div>
-<div class="line"><a name="l03928"></a><span class="lineno"> 3928</span>&#160;      (void)<a class="code" href="dtls_8c.html#a3e132aba78de736930255d40ef3f2d34">CALL</a>(context, write, &amp;node-&gt;<a class="code" href="structnetq__t.html#aaca5f6407bd7b3162d9ee7e7e7b8f0ff">peer</a>-&gt;<a class="code" href="structdtls__peer__t.html#a44ebb2ba643269c7e6943f3a9040febe">session</a>, sendbuf, len);</div>
-<div class="line"><a name="l03929"></a><span class="lineno"> 3929</span>&#160;      <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l03930"></a><span class="lineno"> 3930</span>&#160;  }</div>
-<div class="line"><a name="l03931"></a><span class="lineno"> 3931</span>&#160;</div>
-<div class="line"><a name="l03932"></a><span class="lineno"> 3932</span>&#160;  <span class="comment">/* no more retransmissions, remove node from system */</span></div>
-<div class="line"><a name="l03933"></a><span class="lineno"> 3933</span>&#160;  </div>
-<div class="line"><a name="l03934"></a><span class="lineno"> 3934</span>&#160;  <a class="code" href="debug_8h.html#a0f158325426415d9efb5a36bebf45844">dtls_debug</a>(<span class="stringliteral">&quot;** removed transaction\n&quot;</span>);</div>
-<div class="line"><a name="l03935"></a><span class="lineno"> 3935</span>&#160;</div>
-<div class="line"><a name="l03936"></a><span class="lineno"> 3936</span>&#160;  <span class="comment">/* And finally delete the node */</span></div>
-<div class="line"><a name="l03937"></a><span class="lineno"> 3937</span>&#160;  <a class="code" href="group__netq.html#ga9ef9da1a2af266dadef83ddf6c8524d7">netq_node_free</a>(node);</div>
-<div class="line"><a name="l03938"></a><span class="lineno"> 3938</span>&#160;}</div>
-<div class="line"><a name="l03939"></a><span class="lineno"> 3939</span>&#160;</div>
-<div class="line"><a name="l03940"></a><span class="lineno"> 3940</span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l03941"></a><span class="lineno"><a class="line" href="dtls_8c.html#a3742f5067d1b0693d6a41e70d4ecd5b5"> 3941</a></span>&#160;<a class="code" href="dtls_8c.html#a3742f5067d1b0693d6a41e70d4ecd5b5">dtls_stop_retransmission</a>(<a class="code" href="structdtls__context__t.html">dtls_context_t</a> *context, <a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *peer) {</div>
-<div class="line"><a name="l03942"></a><span class="lineno"> 3942</span>&#160;  <a class="code" href="structnetq__t.html">netq_t</a> *node;</div>
-<div class="line"><a name="l03943"></a><span class="lineno"> 3943</span>&#160;  node = <a class="code" href="t__list_8h.html#adb42e31bb4fe0df6ec1aa3494902968d">list_head</a>(context-&gt;sendqueue); </div>
-<div class="line"><a name="l03944"></a><span class="lineno"> 3944</span>&#160;</div>
-<div class="line"><a name="l03945"></a><span class="lineno"> 3945</span>&#160;  <span class="keywordflow">while</span> (node) {</div>
-<div class="line"><a name="l03946"></a><span class="lineno"> 3946</span>&#160;    <span class="keywordflow">if</span> (<a class="code" href="session_8c.html#a96f4d60f388d56d37b3e69261bea2417">dtls_session_equals</a>(&amp;node-&gt;<a class="code" href="structnetq__t.html#aaca5f6407bd7b3162d9ee7e7e7b8f0ff">peer</a>-&gt;<a class="code" href="structdtls__peer__t.html#a44ebb2ba643269c7e6943f3a9040febe">session</a>, &amp;peer-&gt;<a class="code" href="structdtls__peer__t.html#a44ebb2ba643269c7e6943f3a9040febe">session</a>)) {</div>
-<div class="line"><a name="l03947"></a><span class="lineno"> 3947</span>&#160;      <a class="code" href="structnetq__t.html">netq_t</a> *tmp = node;</div>
-<div class="line"><a name="l03948"></a><span class="lineno"> 3948</span>&#160;      node = <a class="code" href="t__list_8h.html#ae7f0bdad2409695760ffd8de55b6a99b">list_item_next</a>(node);</div>
-<div class="line"><a name="l03949"></a><span class="lineno"> 3949</span>&#160;      <a class="code" href="t__list_8h.html#a10de2120be61f445c5989c983c1e133b">list_remove</a>(context-&gt;sendqueue, tmp);</div>
-<div class="line"><a name="l03950"></a><span class="lineno"> 3950</span>&#160;      <a class="code" href="group__netq.html#ga9ef9da1a2af266dadef83ddf6c8524d7">netq_node_free</a>(tmp);</div>
-<div class="line"><a name="l03951"></a><span class="lineno"> 3951</span>&#160;    } <span class="keywordflow">else</span></div>
-<div class="line"><a name="l03952"></a><span class="lineno"> 3952</span>&#160;      node = <a class="code" href="t__list_8h.html#ae7f0bdad2409695760ffd8de55b6a99b">list_item_next</a>(node);    </div>
-<div class="line"><a name="l03953"></a><span class="lineno"> 3953</span>&#160;  }</div>
-<div class="line"><a name="l03954"></a><span class="lineno"> 3954</span>&#160;}</div>
-<div class="line"><a name="l03955"></a><span class="lineno"> 3955</span>&#160;</div>
-<div class="line"><a name="l03956"></a><span class="lineno"> 3956</span>&#160;<span class="keywordtype">void</span></div>
-<div class="line"><a name="l03957"></a><span class="lineno"><a class="line" href="dtls_8h.html#ab50d1ee589e91d07032d0a65768dee82"> 3957</a></span>&#160;<a class="code" href="dtls_8c.html#ab50d1ee589e91d07032d0a65768dee82">dtls_check_retransmit</a>(<a class="code" href="structdtls__context__t.html">dtls_context_t</a> *context, <a class="code" href="group__clock.html#ga6e6c13e871b82d881a01d1bc8df69d23">clock_time_t</a> *next) {</div>
-<div class="line"><a name="l03958"></a><span class="lineno"> 3958</span>&#160;  <a class="code" href="group__clock.html#gaded617551180951f4841969e396a8012">dtls_tick_t</a> now;</div>
-<div class="line"><a name="l03959"></a><span class="lineno"> 3959</span>&#160;  <a class="code" href="structnetq__t.html">netq_t</a> *node = <a class="code" href="group__netq.html#gac769de2e30bcf2c2db89ff10822219d4">netq_head</a>(context-&gt;sendqueue);</div>
-<div class="line"><a name="l03960"></a><span class="lineno"> 3960</span>&#160;</div>
-<div class="line"><a name="l03961"></a><span class="lineno"> 3961</span>&#160;  <a class="code" href="group__clock.html#ga1834985745ba5d3dd03f7e7498e3a304">dtls_ticks</a>(&amp;now);</div>
-<div class="line"><a name="l03962"></a><span class="lineno"> 3962</span>&#160;  <span class="keywordflow">while</span> (node &amp;&amp; node-&gt;<a class="code" href="structnetq__t.html#afe91256ff5267fc680b96efd3bd8635a">t</a> &lt;= now) {</div>
-<div class="line"><a name="l03963"></a><span class="lineno"> 3963</span>&#160;    <a class="code" href="group__netq.html#ga108e6c43e524fd4b23a5d4731631fae3">netq_pop_first</a>(context-&gt;sendqueue);</div>
-<div class="line"><a name="l03964"></a><span class="lineno"> 3964</span>&#160;    <a class="code" href="dtls_8c.html#aa57a9ccb1344c5baf8bd3adf35f3beeb">dtls_retransmit</a>(context, node);</div>
-<div class="line"><a name="l03965"></a><span class="lineno"> 3965</span>&#160;    node = <a class="code" href="group__netq.html#gac769de2e30bcf2c2db89ff10822219d4">netq_head</a>(context-&gt;sendqueue);</div>
-<div class="line"><a name="l03966"></a><span class="lineno"> 3966</span>&#160;  }</div>
-<div class="line"><a name="l03967"></a><span class="lineno"> 3967</span>&#160;</div>
-<div class="line"><a name="l03968"></a><span class="lineno"> 3968</span>&#160;  <span class="keywordflow">if</span> (next &amp;&amp; node)</div>
-<div class="line"><a name="l03969"></a><span class="lineno"> 3969</span>&#160;    *next = node-&gt;<a class="code" href="structnetq__t.html#afe91256ff5267fc680b96efd3bd8635a">t</a>;</div>
-<div class="line"><a name="l03970"></a><span class="lineno"> 3970</span>&#160;}</div>
-<div class="line"><a name="l03971"></a><span class="lineno"> 3971</span>&#160;</div>
-<div class="line"><a name="l03972"></a><span class="lineno"> 3972</span>&#160;<span class="preprocessor">#ifdef WITH_CONTIKI</span></div>
-<div class="line"><a name="l03973"></a><span class="lineno"> 3973</span>&#160;<span class="preprocessor"></span><span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l03974"></a><span class="lineno"> 3974</span>&#160;<span class="comment">/* message retransmission */</span></div>
-<div class="line"><a name="l03975"></a><span class="lineno"> 3975</span>&#160;<span class="comment">/*---------------------------------------------------------------------------*/</span></div>
-<div class="line"><a name="l03976"></a><span class="lineno"> 3976</span>&#160;PROCESS_THREAD(dtls_retransmit_process, ev, data)</div>
-<div class="line"><a name="l03977"></a><span class="lineno"> 3977</span>&#160;{</div>
-<div class="line"><a name="l03978"></a><span class="lineno"> 3978</span>&#160;  <a class="code" href="group__clock.html#ga6e6c13e871b82d881a01d1bc8df69d23">clock_time_t</a> now;</div>
-<div class="line"><a name="l03979"></a><span class="lineno"> 3979</span>&#160;  <a class="code" href="structnetq__t.html">netq_t</a> *node;</div>
-<div class="line"><a name="l03980"></a><span class="lineno"> 3980</span>&#160;</div>
-<div class="line"><a name="l03981"></a><span class="lineno"> 3981</span>&#160;  PROCESS_BEGIN();</div>
-<div class="line"><a name="l03982"></a><span class="lineno"> 3982</span>&#160;</div>
-<div class="line"><a name="l03983"></a><span class="lineno"> 3983</span>&#160;  <a class="code" href="debug_8h.html#a0f158325426415d9efb5a36bebf45844">dtls_debug</a>(<span class="stringliteral">&quot;Started DTLS retransmit process\r\n&quot;</span>);</div>
-<div class="line"><a name="l03984"></a><span class="lineno"> 3984</span>&#160;</div>
-<div class="line"><a name="l03985"></a><span class="lineno"> 3985</span>&#160;  <span class="keywordflow">while</span>(1) {</div>
-<div class="line"><a name="l03986"></a><span class="lineno"> 3986</span>&#160;    PROCESS_YIELD();</div>
-<div class="line"><a name="l03987"></a><span class="lineno"> 3987</span>&#160;    <span class="keywordflow">if</span> (ev == PROCESS_EVENT_TIMER) {</div>
-<div class="line"><a name="l03988"></a><span class="lineno"> 3988</span>&#160;      <span class="keywordflow">if</span> (etimer_expired(&amp;the_dtls_context.retransmit_timer)) {</div>
-<div class="line"><a name="l03989"></a><span class="lineno"> 3989</span>&#160;    </div>
-<div class="line"><a name="l03990"></a><span class="lineno"> 3990</span>&#160;    node = <a class="code" href="t__list_8h.html#adb42e31bb4fe0df6ec1aa3494902968d">list_head</a>(the_dtls_context.sendqueue);</div>
-<div class="line"><a name="l03991"></a><span class="lineno"> 3991</span>&#160;    </div>
-<div class="line"><a name="l03992"></a><span class="lineno"> 3992</span>&#160;    now = clock_time();</div>
-<div class="line"><a name="l03993"></a><span class="lineno"> 3993</span>&#160;    <span class="keywordflow">if</span> (node &amp;&amp; node-&gt;<a class="code" href="structnetq__t.html#afe91256ff5267fc680b96efd3bd8635a">t</a> &lt;= now) {</div>
-<div class="line"><a name="l03994"></a><span class="lineno"> 3994</span>&#160;      <a class="code" href="dtls_8c.html#aa57a9ccb1344c5baf8bd3adf35f3beeb">dtls_retransmit</a>(&amp;the_dtls_context, <a class="code" href="t__list_8h.html#a5ba6a8506e0226ab945349e25ef65d56">list_pop</a>(the_dtls_context.sendqueue));</div>
-<div class="line"><a name="l03995"></a><span class="lineno"> 3995</span>&#160;      node = <a class="code" href="t__list_8h.html#adb42e31bb4fe0df6ec1aa3494902968d">list_head</a>(the_dtls_context.sendqueue);</div>
-<div class="line"><a name="l03996"></a><span class="lineno"> 3996</span>&#160;    }</div>
-<div class="line"><a name="l03997"></a><span class="lineno"> 3997</span>&#160;</div>
-<div class="line"><a name="l03998"></a><span class="lineno"> 3998</span>&#160;    <span class="comment">/* need to set timer to some value even if no nextpdu is available */</span></div>
-<div class="line"><a name="l03999"></a><span class="lineno"> 3999</span>&#160;    <span class="keywordflow">if</span> (node) {</div>
-<div class="line"><a name="l04000"></a><span class="lineno"> 4000</span>&#160;      etimer_set(&amp;the_dtls_context.retransmit_timer, </div>
-<div class="line"><a name="l04001"></a><span class="lineno"> 4001</span>&#160;             node-&gt;<a class="code" href="structnetq__t.html#afe91256ff5267fc680b96efd3bd8635a">t</a> &lt;= now ? 1 : node-&gt;<a class="code" href="structnetq__t.html#afe91256ff5267fc680b96efd3bd8635a">t</a> - now);</div>
-<div class="line"><a name="l04002"></a><span class="lineno"> 4002</span>&#160;    } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l04003"></a><span class="lineno"> 4003</span>&#160;      etimer_set(&amp;the_dtls_context.retransmit_timer, 0xFFFF);</div>
-<div class="line"><a name="l04004"></a><span class="lineno"> 4004</span>&#160;    }</div>
-<div class="line"><a name="l04005"></a><span class="lineno"> 4005</span>&#160;      } </div>
-<div class="line"><a name="l04006"></a><span class="lineno"> 4006</span>&#160;    }</div>
-<div class="line"><a name="l04007"></a><span class="lineno"> 4007</span>&#160;  }</div>
-<div class="line"><a name="l04008"></a><span class="lineno"> 4008</span>&#160;  </div>
-<div class="line"><a name="l04009"></a><span class="lineno"> 4009</span>&#160;  PROCESS_END();</div>
-<div class="line"><a name="l04010"></a><span class="lineno"> 4010</span>&#160;}</div>
-<div class="line"><a name="l04011"></a><span class="lineno"> 4011</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* WITH_CONTIKI */</span><span class="preprocessor"></span></div>
-<div class="ttc" id="state_8h_html_aea0e57fd5b857535960534b53361aa35a5c55da9c6de8eb986de811cf2135a1a0"><div class="ttname"><a href="state_8h.html#aea0e57fd5b857535960534b53361aa35a5c55da9c6de8eb986de811cf2135a1a0">DTLS_STATE_WAIT_SERVERHELLODONE</a></div><div class="ttdef"><b>Definition:</b> <a href="state_8h_source.html#l00047">state.h:47</a></div></div>
-<div class="ttc" id="dtls_8c_html_a3e132aba78de736930255d40ef3f2d34"><div class="ttname"><a href="dtls_8c.html#a3e132aba78de736930255d40ef3f2d34">CALL</a></div><div class="ttdeci">#define CALL(Context, which,...)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l00174">dtls.c:174</a></div></div>
-<div class="ttc" id="dtls_8c_html_afcca5dc5ebcc9eb8141ca0b49b647676"><div class="ttname"><a href="dtls_8c.html#afcca5dc5ebcc9eb8141ca0b49b647676">DTLS_SH_LENGTH</a></div><div class="ttdeci">#define DTLS_SH_LENGTH</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l00079">dtls.c:79</a></div></div>
-<div class="ttc" id="global_8h_html_a1ff555e0b1443c4cb4d17ac2161d89b2ac5b79ee16e8c0e46873fa63fdb1ab9ca"><div class="ttname"><a href="global_8h.html#a1ff555e0b1443c4cb4d17ac2161d89b2ac5b79ee16e8c0e46873fa63fdb1ab9ca">TLS_COMPRESSION_NULL</a></div><div class="ttdef"><b>Definition:</b> <a href="global_8h_source.html#l00082">global.h:82</a></div></div>
-<div class="ttc" id="dtls_8c_html_a22ab7a79391c2204337237949d69dad8"><div class="ttname"><a href="dtls_8c.html#a22ab7a79391c2204337237949d69dad8">copy_hs_hash</a></div><div class="ttdeci">static void copy_hs_hash(dtls_peer_t *peer, dtls_hash_ctx *hs_hash)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l01076">dtls.c:1076</a></div></div>
-<div class="ttc" id="dtls_8c_html_a3bbccb275cb23e84c0a148a157955770"><div class="ttname"><a href="dtls_8c.html#a3bbccb275cb23e84c0a148a157955770">is_psk_supported</a></div><div class="ttdeci">static int is_psk_supported(dtls_context_t *ctx)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l00481">dtls.c:481</a></div></div>
-<div class="ttc" id="structnetq__t_html_aacd03017f40248c2f48c2b7b9cd92dc8"><div class="ttname"><a href="structnetq__t.html#aacd03017f40248c2f48c2b7b9cd92dc8">netq_t::retransmit_cnt</a></div><div class="ttdeci">unsigned char retransmit_cnt</div><div class="ttdef"><b>Definition:</b> <a href="netq_8h_source.html#l00047">netq.h:47</a></div></div>
-<div class="ttc" id="dtls_8c_html_a187f5e145bb869a732fbed426929a4e9"><div class="ttname"><a href="dtls_8c.html#a187f5e145bb869a732fbed426929a4e9">dtls_connect</a></div><div class="ttdeci">int dtls_connect(dtls_context_t *ctx, const session_t *dst)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l03862">dtls.c:3862</a></div></div>
-<div class="ttc" id="crypto_8c_html_aa17bcdc666796e52788f82ee003bb172"><div class="ttname"><a href="crypto_8c.html#aa17bcdc666796e52788f82ee003bb172">dtls_handshake_free</a></div><div class="ttdeci">void dtls_handshake_free(dtls_handshake_parameters_t *handshake)</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8c_source.html#l00146">crypto.c:146</a></div></div>
-<div class="ttc" id="dtls_8c_html_afcc64c0abfd9b157b71a47e5a5a78b26"><div class="ttname"><a href="dtls_8c.html#afcc64c0abfd9b157b71a47e5a5a78b26">check_server_hello</a></div><div class="ttdeci">static int check_server_hello(dtls_context_t *ctx, dtls_peer_t *peer, uint8 *data, size_t data_length)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l02460">dtls.c:2460</a></div></div>
-<div class="ttc" id="session_8c_html_a96f4d60f388d56d37b3e69261bea2417"><div class="ttname"><a href="session_8c.html#a96f4d60f388d56d37b3e69261bea2417">dtls_session_equals</a></div><div class="ttdeci">int dtls_session_equals(const session_t *a, const session_t *b)</div><div class="ttdef"><b>Definition:</b> <a href="session_8c_source.html#l00080">session.c:80</a></div></div>
-<div class="ttc" id="dtls_8c_html_ae272fea7269714fe7a67d6da64961731"><div class="ttname"><a href="dtls_8c.html#ae272fea7269714fe7a67d6da64961731">dtls_handle_message</a></div><div class="ttdeci">int dtls_handle_message(dtls_context_t *ctx, session_t *session, uint8 *msg, int msglen)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l03591">dtls.c:3591</a></div></div>
-<div class="ttc" id="dtls_8h_html_ad5882a5ff4073ffefa266bb2c4a1ee3c"><div class="ttname"><a href="dtls_8h.html#ad5882a5ff4073ffefa266bb2c4a1ee3c">DTLS_HT_SERVER_HELLO</a></div><div class="ttdeci">#define DTLS_HT_SERVER_HELLO</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8h_source.html#l00344">dtls.h:344</a></div></div>
-<div class="ttc" id="structdtls__context__t_html_adb7dc6a53a7e00f2c4bbf726973e002f"><div class="ttname"><a href="structdtls__context__t.html#adb7dc6a53a7e00f2c4bbf726973e002f">dtls_context_t::cookie_secret</a></div><div class="ttdeci">unsigned char cookie_secret[DTLS_COOKIE_SECRET_LENGTH]</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8h_source.html#l00224">dtls.h:224</a></div></div>
-<div class="ttc" id="dtls_8c_html_a82181208ec1e9f42896f0606e0036c1d"><div class="ttname"><a href="dtls_8c.html#a82181208ec1e9f42896f0606e0036c1d">clear_hs_hash</a></div><div class="ttdeci">static void clear_hs_hash(dtls_peer_t *peer)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l01087">dtls.c:1087</a></div></div>
-<div class="ttc" id="structdtls__handshake__parameters__t_html_a56e7392a649731166fc82a523b0eb027"><div class="ttname"><a href="structdtls__handshake__parameters__t.html#a56e7392a649731166fc82a523b0eb027">dtls_handshake_parameters_t::hs_state</a></div><div class="ttdeci">dtls_hs_state_t hs_state</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00125">crypto.h:125</a></div></div>
-<div class="ttc" id="tinydtls_8h_html"><div class="ttname"><a href="tinydtls_8h.html">tinydtls.h</a></div><div class="ttdoc">public tinydtls API </div></div>
-<div class="ttc" id="state_8h_html_aea0e57fd5b857535960534b53361aa35aa013ec95c846eaebd37acecc1a2f8a05"><div class="ttname"><a href="state_8h.html#aea0e57fd5b857535960534b53361aa35aa013ec95c846eaebd37acecc1a2f8a05">DTLS_STATE_WAIT_CLIENTKEYEXCHANGE</a></div><div class="ttdef"><b>Definition:</b> <a href="state_8h_source.html#l00042">state.h:42</a></div></div>
-<div class="ttc" id="dtls_8c_html_ab7a17e13b17da97cbef046b20cd7280f"><div class="ttname"><a href="dtls_8c.html#ab7a17e13b17da97cbef046b20cd7280f">R_KEY_OFFSET</a></div><div class="ttdeci">#define R_KEY_OFFSET</div></div>
-<div class="ttc" id="dtls_8h_html_a76965db5ec449b3c8a9a54c24a4d45dc"><div class="ttname"><a href="dtls_8h.html#a76965db5ec449b3c8a9a54c24a4d45dc">DTLS_CT_HANDSHAKE</a></div><div class="ttdeci">#define DTLS_CT_HANDSHAKE</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8h_source.html#l00327">dtls.h:327</a></div></div>
-<div class="ttc" id="dtls_8c_html_af8409ba213cb87dbf9ed16ef87995c54"><div class="ttname"><a href="dtls_8c.html#af8409ba213cb87dbf9ed16ef87995c54">dtls_check_ecdsa_signature_elem</a></div><div class="ttdeci">static int dtls_check_ecdsa_signature_elem(uint8 *data, size_t data_length, unsigned char **result_r, unsigned char **result_s)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l01611">dtls.c:1611</a></div></div>
-<div class="ttc" id="alert_8h_html_a41c9f2d4035bc6bf5a0f437842a9ecbdaea5ed33e912421eb48afb73ce0a6014d"><div class="ttname"><a href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdaea5ed33e912421eb48afb73ce0a6014d">DTLS_ALERT_HANDSHAKE_FAILURE</a></div><div class="ttdef"><b>Definition:</b> <a href="alert_8h_source.html#l00045">alert.h:45</a></div></div>
-<div class="ttc" id="dtls_8c_html_a63f2c7e75b86bb2839b8fedf3fa9c93d"><div class="ttname"><a href="dtls_8c.html#a63f2c7e75b86bb2839b8fedf3fa9c93d">dtls_update_parameters</a></div><div class="ttdeci">static int dtls_update_parameters(dtls_context_t *ctx, dtls_peer_t *peer, uint8 *data, size_t data_length)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l00900">dtls.c:900</a></div></div>
-<div class="ttc" id="state_8h_html_aea0e57fd5b857535960534b53361aa35a84b76c7a571c4b1d659e26d4e540c151"><div class="ttname"><a href="state_8h.html#aea0e57fd5b857535960534b53361aa35a84b76c7a571c4b1d659e26d4e540c151">DTLS_STATE_WAIT_CLIENTHELLO</a></div><div class="ttdef"><b>Definition:</b> <a href="state_8h_source.html#l00041">state.h:41</a></div></div>
-<div class="ttc" id="crypto_8h_html_a7119d3239c34d7e7f219200792339541"><div class="ttname"><a href="crypto_8h.html#a7119d3239c34d7e7f219200792339541">dtls_kb_remote_iv</a></div><div class="ttdeci">#define dtls_kb_remote_iv(Param, Role)</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00172">crypto.h:172</a></div></div>
-<div class="ttc" id="dtls_8c_html_aca393c29148080d4dfa343c8ec283928"><div class="ttname"><a href="dtls_8c.html#aca393c29148080d4dfa343c8ec283928">check_server_hellodone</a></div><div class="ttdeci">static int check_server_hellodone(dtls_context_t *ctx, dtls_peer_t *peer, uint8 *data, size_t data_length)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l02804">dtls.c:2804</a></div></div>
-<div class="ttc" id="crypto_8h_html_ae23208578ac21350cb5915d11da0a2e3"><div class="ttname"><a href="crypto_8h.html#ae23208578ac21350cb5915d11da0a2e3">dtls_kb_local_iv</a></div><div class="ttdeci">#define dtls_kb_local_iv(Param, Role)</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00176">crypto.h:176</a></div></div>
-<div class="ttc" id="group__HMAC_html_ga1ef9c88a0a2053b442413a9cea3deb73"><div class="ttname"><a href="group__HMAC.html#ga1ef9c88a0a2053b442413a9cea3deb73">dtls_hmac_update</a></div><div class="ttdeci">void dtls_hmac_update(dtls_hmac_context_t *ctx, const unsigned char *input, size_t ilen)</div><div class="ttdef"><b>Definition:</b> <a href="hmac_8c_source.html#l00076">hmac.c:76</a></div></div>
-<div class="ttc" id="crypto_8c_html_a5f9937088ea2e1d19e7d472fecae9aaa"><div class="ttname"><a href="crypto_8c.html#a5f9937088ea2e1d19e7d472fecae9aaa">dtls_ecdh_pre_master_secret</a></div><div class="ttdeci">int dtls_ecdh_pre_master_secret(unsigned char *priv_key, unsigned char *pub_key_x, unsigned char *pub_key_y, size_t key_size, unsigned char *result, size_t result_len)</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8c_source.html#l00398">crypto.c:398</a></div></div>
-<div class="ttc" id="t__list_8h_html_adcb86fe4485a0f8ea79541117641f730"><div class="ttname"><a href="t__list_8h.html#adcb86fe4485a0f8ea79541117641f730">LIST_STRUCT_INIT</a></div><div class="ttdeci">#define LIST_STRUCT_INIT(struct_ptr, name)</div><div class="ttdef"><b>Definition:</b> <a href="t__list_8h_source.html#l00090">t_list.h:90</a></div></div>
-<div class="ttc" id="alert_8h_html_a9b9a52e7d4bb621be12878c7dfc8f5df"><div class="ttname"><a href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a></div><div class="ttdeci">static int dtls_alert_fatal_create(dtls_alert_t desc)</div><div class="ttdef"><b>Definition:</b> <a href="alert_8h_source.html#l00077">alert.h:77</a></div></div>
-<div class="ttc" id="dtls_8c_html_afdd0d094bfd136f65455e23fda087cd6"><div class="ttname"><a href="dtls_8c.html#afdd0d094bfd136f65455e23fda087cd6">dtls_send</a></div><div class="ttdeci">static int dtls_send(dtls_context_t *ctx, dtls_peer_t *peer, unsigned char type, uint8 *buf, size_t buflen)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l00200">dtls.c:200</a></div></div>
-<div class="ttc" id="structdtls__ecdsa__key__t_html_a91769609f44590f193d726187ab366de"><div class="ttname"><a href="structdtls__ecdsa__key__t.html#a91769609f44590f193d726187ab366de">dtls_ecdsa_key_t::priv_key</a></div><div class="ttdeci">const unsigned char * priv_key</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8h_source.html#l00065">dtls.h:65</a></div></div>
-<div class="ttc" id="dtls__config_8h_html"><div class="ttname"><a href="dtls__config_8h.html">dtls_config.h</a></div></div>
-<div class="ttc" id="crypto_8c_html_aa53dfed4868e257d2485024b5c170bae"><div class="ttname"><a href="crypto_8c.html#aa53dfed4868e257d2485024b5c170bae">dtls_psk_pre_master_secret</a></div><div class="ttdeci">int dtls_psk_pre_master_secret(unsigned char *key, size_t keylen, unsigned char *result, size_t result_len)</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8c_source.html#l00318">crypto.c:318</a></div></div>
-<div class="ttc" id="state_8h_html_aea0e57fd5b857535960534b53361aa35a8c1ffc1652e7c5ba25239fe1f3a430ba"><div class="ttname"><a href="state_8h.html#aea0e57fd5b857535960534b53361aa35a8c1ffc1652e7c5ba25239fe1f3a430ba">DTLS_STATE_WAIT_FINISHED</a></div><div class="ttdef"><b>Definition:</b> <a href="state_8h_source.html#l00044">state.h:44</a></div></div>
-<div class="ttc" id="structdtls__context__t_html"><div class="ttname"><a href="structdtls__context__t.html">dtls_context_t</a></div><div class="ttdef"><b>Definition:</b> <a href="dtls_8h_source.html#l00223">dtls.h:223</a></div></div>
-<div class="ttc" id="crypto_8h_html_ac8fdf3770dcd956ca10d1044a57a7a3a"><div class="ttname"><a href="crypto_8h.html#ac8fdf3770dcd956ca10d1044a57a7a3a">dtls_kb_server_mac_secret</a></div><div class="ttdeci">#define dtls_kb_server_mac_secret(Param, Role)</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00144">crypto.h:144</a></div></div>
-<div class="ttc" id="t__list_8h_html_a5ba6a8506e0226ab945349e25ef65d56"><div class="ttname"><a href="t__list_8h.html#a5ba6a8506e0226ab945349e25ef65d56">list_pop</a></div><div class="ttdeci">static void * list_pop(list_t list)</div><div class="ttdef"><b>Definition:</b> <a href="t__list_8h_source.html#l00117">t_list.h:117</a></div></div>
-<div class="ttc" id="hmac_8h_html_abb19650a510c73117da0e9b88d68f159"><div class="ttname"><a href="hmac_8h.html#abb19650a510c73117da0e9b88d68f159">dtls_hash_ctx</a></div><div class="ttdeci">SHA256_CTX dtls_hash_ctx</div><div class="ttdef"><b>Definition:</b> <a href="hmac_8h_source.html#l00038">hmac.h:38</a></div></div>
-<div class="ttc" id="crypto_8c_html_ad58098f0e821f81b4f1a6672ead17ac5"><div class="ttname"><a href="crypto_8c.html#ad58098f0e821f81b4f1a6672ead17ac5">dtls_encrypt</a></div><div class="ttdeci">int dtls_encrypt(const unsigned char *src, size_t length, unsigned char *buf, unsigned char *nounce, unsigned char *key, size_t keylen, const unsigned char *aad, size_t la)</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8c_source.html#l00524">crypto.c:524</a></div></div>
-<div class="ttc" id="dtls_8c_html_a112e0d83a0e576b5d22df60241900a67"><div class="ttname"><a href="dtls_8c.html#a112e0d83a0e576b5d22df60241900a67">dtls_send_finished</a></div><div class="ttdeci">static int dtls_send_finished(dtls_context_t *ctx, dtls_peer_t *peer, const unsigned char *label, size_t labellen)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l02277">dtls.c:2277</a></div></div>
-<div class="ttc" id="debug_8h_html"><div class="ttname"><a href="debug_8h.html">debug.h</a></div></div>
-<div class="ttc" id="structdtls__handshake__parameters__t_html_a5cc61a98763800b5b4e7617307649933"><div class="ttname"><a href="structdtls__handshake__parameters__t.html#a5cc61a98763800b5b4e7617307649933">dtls_handshake_parameters_t::cipher</a></div><div class="ttdeci">dtls_cipher_t cipher</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00128">crypto.h:128</a></div></div>
-<div class="ttc" id="global_8h_html_af086ed2d0aea096be56bf7e46f8f72a6"><div class="ttname"><a href="global_8h.html#af086ed2d0aea096be56bf7e46f8f72a6">TLS_EXT_EC_POINT_FORMATS_UNCOMPRESSED</a></div><div class="ttdeci">#define TLS_EXT_EC_POINT_FORMATS_UNCOMPRESSED</div><div class="ttdef"><b>Definition:</b> <a href="global_8h_source.html#l00096">global.h:96</a></div></div>
-<div class="ttc" id="global_8h_html_ad465b86d1841ddd6c2209ff304895a95"><div class="ttname"><a href="global_8h.html#ad465b86d1841ddd6c2209ff304895a95">TLS_EXT_SERVER_CERTIFICATE_TYPE</a></div><div class="ttdeci">#define TLS_EXT_SERVER_CERTIFICATE_TYPE</div><div class="ttdef"><b>Definition:</b> <a href="global_8h_source.html#l00089">global.h:89</a></div></div>
-<div class="ttc" id="state_8h_html_aea0e57fd5b857535960534b53361aa35"><div class="ttname"><a href="state_8h.html#aea0e57fd5b857535960534b53361aa35">dtls_state_t</a></div><div class="ttdeci">dtls_state_t</div><div class="ttdef"><b>Definition:</b> <a href="state_8h_source.html#l00040">state.h:40</a></div></div>
-<div class="ttc" id="dtls_8h_html_a09e4f571633bdb724236ac68459715b6"><div class="ttname"><a href="dtls_8h.html#a09e4f571633bdb724236ac68459715b6">DTLS_COOKIE_LENGTH</a></div><div class="ttdeci">#define DTLS_COOKIE_LENGTH</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8h_source.html#l00323">dtls.h:323</a></div></div>
-<div class="ttc" id="dtls_8h_html_a2e3ff1e96b8b7db8a3648beba35bfd0c"><div class="ttname"><a href="dtls_8h.html#a2e3ff1e96b8b7db8a3648beba35bfd0c">DTLS_CT_APPLICATION_DATA</a></div><div class="ttdeci">#define DTLS_CT_APPLICATION_DATA</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8h_source.html#l00328">dtls.h:328</a></div></div>
-<div class="ttc" id="dtls_8c_html_a21644ea2de742395df1e3b3281ba4f63"><div class="ttname"><a href="dtls_8c.html#a21644ea2de742395df1e3b3281ba4f63">DTLS_FIN_LENGTH</a></div><div class="ttdeci">#define DTLS_FIN_LENGTH</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l00087">dtls.c:87</a></div></div>
-<div class="ttc" id="dtls_8c_html_a7d7af4d19c7abef4583c1667ec449a5d"><div class="ttname"><a href="dtls_8c.html#a7d7af4d19c7abef4583c1667ec449a5d">dtls_add_ecdsa_signature_elem</a></div><div class="ttdeci">static uint8 * dtls_add_ecdsa_signature_elem(uint8 *p, uint32_t *point_r, uint32_t *point_s)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l01867">dtls.c:1867</a></div></div>
-<div class="ttc" id="structsession__t_html"><div class="ttname"><a href="structsession__t.html">session_t</a></div><div class="ttdef"><b>Definition:</b> <a href="session_8h_source.html#l00049">session.h:49</a></div></div>
-<div class="ttc" id="dtls_8c_html_a61ddc44bfdb8a92b72911a402aa0164e"><div class="ttname"><a href="dtls_8c.html#a61ddc44bfdb8a92b72911a402aa0164e">check_certificate_request</a></div><div class="ttdeci">static int check_certificate_request(dtls_context_t *ctx, dtls_peer_t *peer, uint8 *data, size_t data_length)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l02726">dtls.c:2726</a></div></div>
-<div class="ttc" id="uthash_8h_html_a4d524042f1fcb976d8bccae9e4cc63d6"><div class="ttname"><a href="uthash_8h.html#a4d524042f1fcb976d8bccae9e4cc63d6">HASH_ITER</a></div><div class="ttdeci">#define HASH_ITER(hh, head, el, tmp)</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00895">uthash.h:895</a></div></div>
-<div class="ttc" id="group__netq_html_gab4c90c003808a784ae1ee9322e75627d"><div class="ttname"><a href="group__netq.html#gab4c90c003808a784ae1ee9322e75627d">netq_next</a></div><div class="ttdeci">netq_t * netq_next(netq_t *p)</div><div class="ttdef"><b>Definition:</b> <a href="netq_8c_source.html#l00088">netq.c:88</a></div></div>
-<div class="ttc" id="dtls_8h_html_a16b49d03e041d43b60e1b7bacf35daad"><div class="ttname"><a href="dtls_8h.html#a16b49d03e041d43b60e1b7bacf35daad">DTLS_HT_FINISHED</a></div><div class="ttdeci">#define DTLS_HT_FINISHED</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8h_source.html#l00352">dtls.h:352</a></div></div>
-<div class="ttc" id="alert_8h_html_ab6264d1b950719f1c2e00b122cad871fabd07bcf63c24aa5f1b9706a4197ceaf4"><div class="ttname"><a href="alert_8h.html#ab6264d1b950719f1c2e00b122cad871fabd07bcf63c24aa5f1b9706a4197ceaf4">DTLS_ALERT_LEVEL_FATAL</a></div><div class="ttdef"><b>Definition:</b> <a href="alert_8h_source.html#l00036">alert.h:36</a></div></div>
-<div class="ttc" id="structdtls__handshake__parameters__t_html_a5c4e7bb5d4d890200a176cfe13c6fb9a"><div class="ttname"><a href="structdtls__handshake__parameters__t.html#a5c4e7bb5d4d890200a176cfe13c6fb9a">dtls_handshake_parameters_t::random</a></div><div class="ttdeci">struct dtls_handshake_parameters_t::@0::random_t random</div></div>
-<div class="ttc" id="dtls_8h_html_af0c44db3bf3a6a52e9ed271218daeaa6"><div class="ttname"><a href="dtls_8h.html#af0c44db3bf3a6a52e9ed271218daeaa6">DTLS_VERSION</a></div><div class="ttdeci">#define DTLS_VERSION</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8h_source.html#l00056">dtls.h:56</a></div></div>
-<div class="ttc" id="dtls_8c_html_abba2a2562813493d98b5671a4c5c082b"><div class="ttname"><a href="dtls_8c.html#abba2a2562813493d98b5671a4c5c082b">prf_label_client</a></div><div class="ttdeci">static const unsigned char prf_label_client[]</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l00119">dtls.c:119</a></div></div>
-<div class="ttc" id="dtls_8c_html_a70333bea2db35153177347b5c7700cab"><div class="ttname"><a href="dtls_8c.html#a70333bea2db35153177347b5c7700cab">dtls_get_peer</a></div><div class="ttdeci">dtls_peer_t * dtls_get_peer(const dtls_context_t *ctx, const session_t *session)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l00212">dtls.c:212</a></div></div>
-<div class="ttc" id="session_8h_html"><div class="ttname"><a href="session_8h.html">session.h</a></div></div>
-<div class="ttc" id="debug_8c_html_ac6afabdc09a49a433ee19d8a9486056d"><div class="ttname"><a href="debug_8c.html#ac6afabdc09a49a433ee19d8a9486056d">min</a></div><div class="ttdeci">#define min(a, b)</div><div class="ttdef"><b>Definition:</b> <a href="debug_8c_source.html#l00114">debug.c:114</a></div></div>
-<div class="ttc" id="numeric_8h_html_abe324cc4e62d03bdecf457382ba213c8"><div class="ttname"><a href="numeric_8h.html#abe324cc4e62d03bdecf457382ba213c8">dtls_int_to_uint48</a></div><div class="ttdeci">static int dtls_int_to_uint48(unsigned char *field, uint64_t value)</div><div class="ttdef"><b>Definition:</b> <a href="numeric_8h_source.html#l00070">numeric.h:70</a></div></div>
-<div class="ttc" id="dtls_8c_html_a8a4dc9af457241380a01c8e38fdc4e2d"><div class="ttname"><a href="dtls_8c.html#a8a4dc9af457241380a01c8e38fdc4e2d">DTLS_SKEXECPSK_LENGTH_MAX</a></div><div class="ttdeci">#define DTLS_SKEXECPSK_LENGTH_MAX</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l00083">dtls.c:83</a></div></div>
-<div class="ttc" id="crypto_8h_html_a147bfdc558c2ec69ffdf388ae19ae01c"><div class="ttname"><a href="crypto_8h.html#a147bfdc558c2ec69ffdf388ae19ae01c">dtls_kb_size</a></div><div class="ttdeci">#define dtls_kb_size(Param, Role)</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00182">crypto.h:182</a></div></div>
-<div class="ttc" id="dtls_8h_html_aab327e17614cf2902c5fc6169466613f"><div class="ttname"><a href="dtls_8h.html#aab327e17614cf2902c5fc6169466613f">DTLS_HT_SERVER_KEY_EXCHANGE</a></div><div class="ttdeci">#define DTLS_HT_SERVER_KEY_EXCHANGE</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8h_source.html#l00347">dtls.h:347</a></div></div>
-<div class="ttc" id="dtls_8c_html_a00f6591bce49f6122dab9827c8774ba3"><div class="ttname"><a href="dtls_8c.html#a00f6591bce49f6122dab9827c8774ba3">dtls_send_server_key_exchange_psk</a></div><div class="ttdeci">static int dtls_send_server_key_exchange_psk(dtls_context_t *ctx, dtls_peer_t *peer, const unsigned char *psk_hint, size_t len)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l01989">dtls.c:1989</a></div></div>
-<div class="ttc" id="group__clock_html_ga8b340ad858b708dbc7bf40f784935c90"><div class="ttname"><a href="group__clock.html#ga8b340ad858b708dbc7bf40f784935c90">dtls_clock_init</a></div><div class="ttdeci">void dtls_clock_init(void)</div><div class="ttdef"><b>Definition:</b> <a href="dtls__time_8c_source.html#l00054">dtls_time.c:54</a></div></div>
-<div class="ttc" id="crypto_8c_html_a49f03039780664684d110d83a228b163"><div class="ttname"><a href="crypto_8c.html#a49f03039780664684d110d83a228b163">dtls_ecdsa_create_sig_hash</a></div><div class="ttdeci">void dtls_ecdsa_create_sig_hash(const unsigned char *priv_key, size_t key_size, const unsigned char *sign_hash, size_t sign_hash_size, uint32_t point_r[9], uint32_t point_s[9])</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8c_source.html#l00446">crypto.c:446</a></div></div>
-<div class="ttc" id="group__clock_html_gaded617551180951f4841969e396a8012"><div class="ttname"><a href="group__clock.html#gaded617551180951f4841969e396a8012">dtls_tick_t</a></div><div class="ttdeci">clock_time_t dtls_tick_t</div><div class="ttdef"><b>Definition:</b> <a href="dtls__time_8h_source.html#l00058">dtls_time.h:58</a></div></div>
-<div class="ttc" id="structsession__t_html_aed21682e9f971221d9f35f1266dea125"><div class="ttname"><a href="structsession__t.html#aed21682e9f971221d9f35f1266dea125">session_t::size</a></div><div class="ttdeci">socklen_t size</div><div class="ttdef"><b>Definition:</b> <a href="session_8h_source.html#l00050">session.h:50</a></div></div>
-<div class="ttc" id="structnetq__t_html_a5b4d387623df43fe25a3b11e9d4fb02c"><div class="ttname"><a href="structnetq__t.html#a5b4d387623df43fe25a3b11e9d4fb02c">netq_t::data</a></div><div class="ttdeci">unsigned char data[]</div><div class="ttdef"><b>Definition:</b> <a href="netq_8h_source.html#l00051">netq.h:51</a></div></div>
-<div class="ttc" id="dtls_8c_html_a04a3580764ffd4f253ce6be858806c95"><div class="ttname"><a href="dtls_8c.html#a04a3580764ffd4f253ce6be858806c95">verify_ext_ec_point_formats</a></div><div class="ttdeci">static int verify_ext_ec_point_formats(uint8 *data, size_t data_length)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l00749">dtls.c:749</a></div></div>
-<div class="ttc" id="structnetq__t_html"><div class="ttname"><a href="structnetq__t.html">netq_t</a></div><div class="ttdef"><b>Definition:</b> <a href="netq_8h_source.html#l00038">netq.h:38</a></div></div>
-<div class="ttc" id="alert_8h_html_ab6264d1b950719f1c2e00b122cad871fa0f670b55dcb4ab291b869827d3c62ee7"><div class="ttname"><a href="alert_8h.html#ab6264d1b950719f1c2e00b122cad871fa0f670b55dcb4ab291b869827d3c62ee7">DTLS_ALERT_LEVEL_WARNING</a></div><div class="ttdef"><b>Definition:</b> <a href="alert_8h_source.html#l00035">alert.h:35</a></div></div>
-<div class="ttc" id="dtls_8c_html_abb41f4bb9b8e4218ef5115ce70ebdc21"><div class="ttname"><a href="dtls_8c.html#abb41f4bb9b8e4218ef5115ce70ebdc21">is_ecdsa_supported</a></div><div class="ttdeci">static int is_ecdsa_supported(dtls_context_t *ctx, int is_client)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l00491">dtls.c:491</a></div></div>
-<div class="ttc" id="dtls_8c_html_aad633ed0a80e25b3884d119a8d8aeaff"><div class="ttname"><a href="dtls_8c.html#aad633ed0a80e25b3884d119a8d8aeaff">dtls_get_fragment_length</a></div><div class="ttdeci">#define dtls_get_fragment_length(H)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l00062">dtls.c:62</a></div></div>
-<div class="ttc" id="numeric_8h_html_aff276cdd846cd194a21e9c61549292f6"><div class="ttname"><a href="numeric_8h.html#aff276cdd846cd194a21e9c61549292f6">dtls_int_to_uint24</a></div><div class="ttdeci">static int dtls_int_to_uint24(unsigned char *field, uint32_t value)</div><div class="ttdef"><b>Definition:</b> <a href="numeric_8h_source.html#l00053">numeric.h:53</a></div></div>
-<div class="ttc" id="dtls_8c_html_a4f06884f659f6a5120be7e0b86d29880"><div class="ttname"><a href="dtls_8c.html#a4f06884f659f6a5120be7e0b86d29880">dtls_send_handshake_msg_hash</a></div><div class="ttdeci">static int dtls_send_handshake_msg_hash(dtls_context_t *ctx, dtls_peer_t *peer, session_t *session, uint8 header_type, uint8 *data, size_t data_length, int add_hash)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l01323">dtls.c:1323</a></div></div>
-<div class="ttc" id="dtls_8h_html_a81936df7abb2c16aa897e3018aa24399"><div class="ttname"><a href="dtls_8h.html#a81936df7abb2c16aa897e3018aa24399">dtls_record_header_t</a></div><div class="ttdeci">dtls_record_header_t</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8h_source.html#l00338">dtls.h:338</a></div></div>
-<div class="ttc" id="dtls_8c_html_a445994c602b105608f277c6fc066301d"><div class="ttname"><a href="dtls_8c.html#a445994c602b105608f277c6fc066301d">handle_alert</a></div><div class="ttdeci">static int handle_alert(dtls_context_t *ctx, dtls_peer_t *peer, uint8 *record_header, uint8 *data, size_t data_length)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l03496">dtls.c:3496</a></div></div>
-<div class="ttc" id="dtls_8h_html_a36eda3add5e2d12a3b5e2b6fe7038e01adb8cac45614b2bc4e66970b64043cfc2"><div class="ttname"><a href="dtls_8h.html#a36eda3add5e2d12a3b5e2b6fe7038e01adb8cac45614b2bc4e66970b64043cfc2">DTLS_PSK_IDENTITY</a></div><div class="ttdef"><b>Definition:</b> <a href="dtls_8h_source.html#l00060">dtls.h:60</a></div></div>
-<div class="ttc" id="dtls_8c_html_a674da4ca826bf1206ec8053f4c9eb336"><div class="ttname"><a href="dtls_8c.html#a674da4ca826bf1206ec8053f4c9eb336">DTLS_CKXPSK_LENGTH_MIN</a></div><div class="ttdeci">#define DTLS_CKXPSK_LENGTH_MIN</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l00084">dtls.c:84</a></div></div>
-<div class="ttc" id="group__netq_html_gafcf245cd934e9b8f0909a7ca8940e9cb"><div class="ttname"><a href="group__netq.html#gafcf245cd934e9b8f0909a7ca8940e9cb">netq_node_new</a></div><div class="ttdeci">netq_t * netq_node_new(size_t size)</div><div class="ttdef"><b>Definition:</b> <a href="netq_8c_source.html#l00111">netq.c:111</a></div></div>
-<div class="ttc" id="alert_8h_html_ab6264d1b950719f1c2e00b122cad871f"><div class="ttname"><a href="alert_8h.html#ab6264d1b950719f1c2e00b122cad871f">dtls_alert_level_t</a></div><div class="ttdeci">dtls_alert_level_t</div><div class="ttdef"><b>Definition:</b> <a href="alert_8h_source.html#l00034">alert.h:34</a></div></div>
-<div class="ttc" id="debug_8h_html_a1f464e950a4fa11e8821b5c725921a15"><div class="ttname"><a href="debug_8h.html#a1f464e950a4fa11e8821b5c725921a15">PRINTF</a></div><div class="ttdeci">#define PRINTF(...)</div><div class="ttdef"><b>Definition:</b> <a href="debug_8h_source.html#l00057">debug.h:57</a></div></div>
-<div class="ttc" id="dtls_8h_html_a36eda3add5e2d12a3b5e2b6fe7038e01a1d64c04f18b370cf742595dc91098db4"><div class="ttname"><a href="dtls_8h.html#a36eda3add5e2d12a3b5e2b6fe7038e01a1d64c04f18b370cf742595dc91098db4">DTLS_PSK_KEY</a></div><div class="ttdef"><b>Definition:</b> <a href="dtls_8h_source.html#l00060">dtls.h:60</a></div></div>
-<div class="ttc" id="dtls_8c_html_ab43d3a34ddaf0f5bfaa2b0b3e76e25d1"><div class="ttname"><a href="dtls_8c.html#ab43d3a34ddaf0f5bfaa2b0b3e76e25d1">dtls_set_handshake_header</a></div><div class="ttdeci">static uint8 * dtls_set_handshake_header(uint8 type, dtls_peer_t *peer, int length, int frag_offset, int frag_length, uint8 *buf)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l00424">dtls.c:424</a></div></div>
-<div class="ttc" id="peer_8h_html_ae30cd4bcffed73f79f17c09e5a1452c8a7c2a694fc87273c445ad661575b28255"><div class="ttname"><a href="peer_8h.html#ae30cd4bcffed73f79f17c09e5a1452c8a7c2a694fc87273c445ad661575b28255">DTLS_SERVER</a></div><div class="ttdef"><b>Definition:</b> <a href="peer_8h_source.html#l00047">peer.h:47</a></div></div>
-<div class="ttc" id="global_8h_html_a8095691f33c0ce6b22d205640ccc9417"><div class="ttname"><a href="global_8h.html#a8095691f33c0ce6b22d205640ccc9417">TLS_EXT_ELLIPTIC_CURVES_SECP256R1</a></div><div class="ttdeci">#define TLS_EXT_ELLIPTIC_CURVES_SECP256R1</div><div class="ttdef"><b>Definition:</b> <a href="global_8h_source.html#l00094">global.h:94</a></div></div>
-<div class="ttc" id="structdtls__peer__t_html_a4e23cc3b273813744524c3db1fda9c83"><div class="ttname"><a href="structdtls__peer__t.html#a4e23cc3b273813744524c3db1fda9c83">dtls_peer_t::state</a></div><div class="ttdeci">dtls_state_t state</div><div class="ttdef"><b>Definition:</b> <a href="peer_8h_source.html#l00062">peer.h:62</a></div></div>
-<div class="ttc" id="state_8h_html_aea0e57fd5b857535960534b53361aa35ab3436ceaa0f47131771c288b8b5f1840"><div class="ttname"><a href="state_8h.html#aea0e57fd5b857535960534b53361aa35ab3436ceaa0f47131771c288b8b5f1840">DTLS_STATE_WAIT_CHANGECIPHERSPEC</a></div><div class="ttdef"><b>Definition:</b> <a href="state_8h_source.html#l00043">state.h:43</a></div></div>
-<div class="ttc" id="dtls_8c_html_a8098a728e5fff33ceeb7f57ebd48a212"><div class="ttname"><a href="dtls_8c.html#a8098a728e5fff33ceeb7f57ebd48a212">is_tls_ecdhe_ecdsa_with_aes_128_ccm_8</a></div><div class="ttdeci">static int is_tls_ecdhe_ecdsa_with_aes_128_ccm_8(dtls_cipher_t cipher)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l00461">dtls.c:461</a></div></div>
-<div class="ttc" id="structdtls__context__t_html_a3f26099dbb3588ae9a86d26f69ec08f8"><div class="ttname"><a href="structdtls__context__t.html#a3f26099dbb3588ae9a86d26f69ec08f8">dtls_context_t::cookie_secret_age</a></div><div class="ttdeci">clock_time_t cookie_secret_age</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8h_source.html#l00225">dtls.h:225</a></div></div>
-<div class="ttc" id="alert_8h_html"><div class="ttname"><a href="alert_8h.html">alert.h</a></div><div class="ttdoc">DTLS alert protocol. </div></div>
-<div class="ttc" id="alert_8h_html_aec2aa0683b1a39b4b1abba357b06f844"><div class="ttname"><a href="alert_8h.html#aec2aa0683b1a39b4b1abba357b06f844">DTLS_EVENT_CONNECT</a></div><div class="ttdeci">#define DTLS_EVENT_CONNECT</div><div class="ttdef"><b>Definition:</b> <a href="alert_8h_source.html#l00064">alert.h:64</a></div></div>
-<div class="ttc" id="dtls_8c_html_a3742f5067d1b0693d6a41e70d4ecd5b5"><div class="ttname"><a href="dtls_8c.html#a3742f5067d1b0693d6a41e70d4ecd5b5">dtls_stop_retransmission</a></div><div class="ttdeci">static void dtls_stop_retransmission(dtls_context_t *context, dtls_peer_t *peer)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l03941">dtls.c:3941</a></div></div>
-<div class="ttc" id="debug_8h_html_afde5692e7a590b0dd016d5753284c175"><div class="ttname"><a href="debug_8h.html#afde5692e7a590b0dd016d5753284c175">dtls_info</a></div><div class="ttdeci">#define dtls_info(...)</div><div class="ttdef"><b>Definition:</b> <a href="debug_8h_source.html#l00138">debug.h:138</a></div></div>
-<div class="ttc" id="t__list_8h_html_aee4e6fc5d9a6133555e7373c654b2120"><div class="ttname"><a href="t__list_8h.html#aee4e6fc5d9a6133555e7373c654b2120">list_add</a></div><div class="ttdeci">static void list_add(list_t list, void *item)</div><div class="ttdef"><b>Definition:</b> <a href="t__list_8h_source.html#l00106">t_list.h:106</a></div></div>
-<div class="ttc" id="peer_8h_html_af5de0315efd7e8c6b1aecf60078b2dd7"><div class="ttname"><a href="peer_8h.html#af5de0315efd7e8c6b1aecf60078b2dd7">dtls_security_params_epoch</a></div><div class="ttdeci">static dtls_security_parameters_t * dtls_security_params_epoch(dtls_peer_t *peer, uint16_t epoch)</div><div class="ttdef"><b>Definition:</b> <a href="peer_8h_source.html#l00068">peer.h:68</a></div></div>
-<div class="ttc" id="crypto_8c_html_a86e6ce9d4b4afcef355836955697f52c"><div class="ttname"><a href="crypto_8c.html#a86e6ce9d4b4afcef355836955697f52c">crypto_init</a></div><div class="ttdeci">void crypto_init()</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8c_source.html#l00076">crypto.c:76</a></div></div>
-<div class="ttc" id="dtls_8c_html_a2cc930733d35ea870c7a0a131bee0d7a"><div class="ttname"><a href="dtls_8c.html#a2cc930733d35ea870c7a0a131bee0d7a">DTLS_HANDSHAKE_HEADER</a></div><div class="ttdeci">#define DTLS_HANDSHAKE_HEADER(M)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l00096">dtls.c:96</a></div></div>
-<div class="ttc" id="dtls_8c_html_a4aac4fa55afe2d19342136acaaaf9641"><div class="ttname"><a href="dtls_8c.html#a4aac4fa55afe2d19342136acaaaf9641">dtls_send_alert</a></div><div class="ttdeci">static int dtls_send_alert(dtls_context_t *ctx, dtls_peer_t *peer, dtls_alert_level_t level, dtls_alert_t description)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l01485">dtls.c:1485</a></div></div>
-<div class="ttc" id="global_8h_html_ac97469cc46ceeb148ee92f47a26ebcf6"><div class="ttname"><a href="global_8h.html#ac97469cc46ceeb148ee92f47a26ebcf6">TLS_EC_CURVE_TYPE_NAMED_CURVE</a></div><div class="ttdeci">#define TLS_EC_CURVE_TYPE_NAMED_CURVE</div><div class="ttdef"><b>Definition:</b> <a href="global_8h_source.html#l00098">global.h:98</a></div></div>
-<div class="ttc" id="dtls_8c_html_adfe6fc0d0d66e9ffaef25c2c126b1c34"><div class="ttname"><a href="dtls_8c.html#adfe6fc0d0d66e9ffaef25c2c126b1c34">dtls_send_certificate_verify_ecdh</a></div><div class="ttdeci">static int dtls_send_certificate_verify_ecdh(dtls_context_t *ctx, dtls_peer_t *peer, const dtls_ecdsa_key_t *key)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l02241">dtls.c:2241</a></div></div>
-<div class="ttc" id="dtls_8c_html_a017195b30506fbdf32fff55af9276a02"><div class="ttname"><a href="dtls_8c.html#a017195b30506fbdf32fff55af9276a02">check_client_certificate_verify</a></div><div class="ttdeci">static int check_client_certificate_verify(dtls_context_t *ctx, dtls_peer_t *peer, uint8 *data, size_t data_length)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l01691">dtls.c:1691</a></div></div>
-<div class="ttc" id="structdtls__context__t_html_a417fa8ac04478292f0539d2da0fec088"><div class="ttname"><a href="structdtls__context__t.html#a417fa8ac04478292f0539d2da0fec088">dtls_context_t::peers</a></div><div class="ttdeci">dtls_peer_t * peers</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8h_source.html#l00228">dtls.h:228</a></div></div>
-<div class="ttc" id="crypto_8h_html_ab5659b0737d72a2fa1b1335952f9c305"><div class="ttname"><a href="crypto_8h.html#ab5659b0737d72a2fa1b1335952f9c305">dtls_kb_client_write_key</a></div><div class="ttdeci">#define dtls_kb_client_write_key(Param, Role)</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00155">crypto.h:155</a></div></div>
-<div class="ttc" id="global_8h_html_ada7e71454d685b693df45b2c1ea0c59ba39a3062f136db88f648ce514a591fac8"><div class="ttname"><a href="global_8h.html#ada7e71454d685b693df45b2c1ea0c59ba39a3062f136db88f648ce514a591fac8">TLS_PSK_WITH_AES_128_CCM_8</a></div><div class="ttdef"><b>Definition:</b> <a href="global_8h_source.html#l00076">global.h:76</a></div></div>
-<div class="ttc" id="crypto_8c_html_a982fc9e78cd10d9323756b15b72c7970"><div class="ttname"><a href="crypto_8c.html#a982fc9e78cd10d9323756b15b72c7970">dtls_ecdsa_generate_key</a></div><div class="ttdeci">void dtls_ecdsa_generate_key(unsigned char *priv_key, unsigned char *pub_key_x, unsigned char *pub_key_y, size_t key_size)</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8c_source.html#l00425">crypto.c:425</a></div></div>
-<div class="ttc" id="structdtls__peer__t_html_a44ebb2ba643269c7e6943f3a9040febe"><div class="ttname"><a href="structdtls__peer__t.html#a44ebb2ba643269c7e6943f3a9040febe">dtls_peer_t::session</a></div><div class="ttdeci">session_t session</div><div class="ttdef"><b>Definition:</b> <a href="peer_8h_source.html#l00059">peer.h:59</a></div></div>
-<div class="ttc" id="t__list_8h_html_ae7f0bdad2409695760ffd8de55b6a99b"><div class="ttname"><a href="t__list_8h.html#ae7f0bdad2409695760ffd8de55b6a99b">list_item_next</a></div><div class="ttdeci">static void * list_item_next(void *item)</div><div class="ttdef"><b>Definition:</b> <a href="t__list_8h_source.html#l00137">t_list.h:137</a></div></div>
-<div class="ttc" id="group__clock_html_ga6e6c13e871b82d881a01d1bc8df69d23"><div class="ttname"><a href="group__clock.html#ga6e6c13e871b82d881a01d1bc8df69d23">clock_time_t</a></div><div class="ttdeci">uint32_t clock_time_t</div><div class="ttdef"><b>Definition:</b> <a href="dtls__time_8h_source.html#l00055">dtls_time.h:55</a></div></div>
-<div class="ttc" id="crypto_8c_html_a5ae24f3621f545752732e318840d7e2b"><div class="ttname"><a href="crypto_8c.html#a5ae24f3621f545752732e318840d7e2b">dtls_ec_key_from_uint32_asn1</a></div><div class="ttdeci">int dtls_ec_key_from_uint32_asn1(const uint32_t *key, size_t key_size, unsigned char *buf)</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8c_source.html#l00362">crypto.c:362</a></div></div>
-<div class="ttc" id="alert_8h_html_a41c9f2d4035bc6bf5a0f437842a9ecbda6bbae4f2f3747af4cdbe80c4a1061800"><div class="ttname"><a href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda6bbae4f2f3747af4cdbe80c4a1061800">DTLS_ALERT_CLOSE_NOTIFY</a></div><div class="ttdef"><b>Definition:</b> <a href="alert_8h_source.html#l00040">alert.h:40</a></div></div>
-<div class="ttc" id="global_8h_html_a0749f1df578b26eccab986b0d8abaa56"><div class="ttname"><a href="global_8h.html#a0749f1df578b26eccab986b0d8abaa56">uint48</a></div><div class="ttdeci">unsigned char uint48[6]</div><div class="ttdef"><b>Definition:</b> <a href="global_8h_source.html#l00051">global.h:51</a></div></div>
-<div class="ttc" id="state_8h_html_aea0e57fd5b857535960534b53361aa35a4aa3fcce37191fc2a915aa330efd381b"><div class="ttname"><a href="state_8h.html#aea0e57fd5b857535960534b53361aa35a4aa3fcce37191fc2a915aa330efd381b">DTLS_STATE_CLOSING</a></div><div class="ttdef"><b>Definition:</b> <a href="state_8h_source.html#l00050">state.h:50</a></div></div>
-<div class="ttc" id="structdtls__handshake__parameters__t_html_a483b158f8fc86e45e7c0fc603a66925f"><div class="ttname"><a href="structdtls__handshake__parameters__t.html#a483b158f8fc86e45e7c0fc603a66925f">dtls_handshake_parameters_t::keyx</a></div><div class="ttdeci">union dtls_handshake_parameters_t::@1 keyx</div></div>
-<div class="ttc" id="crypto_8c_html_a035860da45ba2586a95c8ef7f539a3c9"><div class="ttname"><a href="crypto_8c.html#a035860da45ba2586a95c8ef7f539a3c9">dtls_ecdsa_verify_sig</a></div><div class="ttdeci">int dtls_ecdsa_verify_sig(const unsigned char *pub_key_x, const unsigned char *pub_key_y, size_t key_size, const unsigned char *client_random, size_t client_random_size, const unsigned char *server_random, size_t server_random_size, const unsigned char *keyx_params, size_t keyx_params_size, unsigned char *result_r, unsigned char *result_s)</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8c_source.html#l00503">crypto.c:503</a></div></div>
-<div class="ttc" id="global_8h_html_aa347771eab2eabd24c4b9311fa61c4c9"><div class="ttname"><a href="global_8h.html#aa347771eab2eabd24c4b9311fa61c4c9">TLS_EXT_SIG_HASH_ALGO_SHA256</a></div><div class="ttdeci">#define TLS_EXT_SIG_HASH_ALGO_SHA256</div><div class="ttdef"><b>Definition:</b> <a href="global_8h_source.html#l00102">global.h:102</a></div></div>
-<div class="ttc" id="structdtls__handshake__parameters__t_html_ab17efe8550600d945ced029e43ca86d6"><div class="ttname"><a href="structdtls__handshake__parameters__t.html#ab17efe8550600d945ced029e43ca86d6">dtls_handshake_parameters_t::do_client_auth</a></div><div class="ttdeci">unsigned int do_client_auth</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00129">crypto.h:129</a></div></div>
-<div class="ttc" id="alert_8h_html_a41c9f2d4035bc6bf5a0f437842a9ecbda8939a5d1777bf0dbdd8fa44e335137ab"><div class="ttname"><a href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda8939a5d1777bf0dbdd8fa44e335137ab">DTLS_ALERT_NO_RENEGOTIATION</a></div><div class="ttdef"><b>Definition:</b> <a href="alert_8h_source.html#l00060">alert.h:60</a></div></div>
-<div class="ttc" id="structdtls__handshake__parameters__t_html_ac27a2063a8136615971f8d591afdd01f"><div class="ttname"><a href="structdtls__handshake__parameters__t.html#ac27a2063a8136615971f8d591afdd01f">dtls_handshake_parameters_t::tmp</a></div><div class="ttdeci">union dtls_handshake_parameters_t::@0 tmp</div></div>
-<div class="ttc" id="alert_8h_html_a41c9f2d4035bc6bf5a0f437842a9ecbda7b9032725373912bd7fda54af8704d8a"><div class="ttname"><a href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda7b9032725373912bd7fda54af8704d8a">DTLS_ALERT_UNEXPECTED_MESSAGE</a></div><div class="ttdef"><b>Definition:</b> <a href="alert_8h_source.html#l00041">alert.h:41</a></div></div>
-<div class="ttc" id="crypto_8h_html_adcdadf1870e2acb2993b1a8726d26997"><div class="ttname"><a href="crypto_8h.html#adcdadf1870e2acb2993b1a8726d26997">dtls_kb_iv_size</a></div><div class="ttdeci">#define dtls_kb_iv_size(Param, Role)</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00180">crypto.h:180</a></div></div>
-<div class="ttc" id="dtls_8c_html_a37965d10b44a63ea6adbf28b9dc79b75"><div class="ttname"><a href="dtls_8c.html#a37965d10b44a63ea6adbf28b9dc79b75">known_cipher</a></div><div class="ttdeci">static int known_cipher(dtls_context_t *ctx, dtls_cipher_t code, int is_client)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l00522">dtls.c:522</a></div></div>
-<div class="ttc" id="group__HMAC_html_ga060019cf2dab9903d58118fe1abe7018"><div class="ttname"><a href="group__HMAC.html#ga060019cf2dab9903d58118fe1abe7018">DTLS_HMAC_DIGEST_SIZE</a></div><div class="ttdeci">#define DTLS_HMAC_DIGEST_SIZE</div><div class="ttdef"><b>Definition:</b> <a href="hmac_8h_source.html#l00074">hmac.h:74</a></div></div>
-<div class="ttc" id="dtls_8c_html_a80275f06c14cbbc18095bc2f61022d15"><div class="ttname"><a href="dtls_8c.html#a80275f06c14cbbc18095bc2f61022d15">dtls_send_server_key_exchange_ecdh</a></div><div class="ttdeci">static int dtls_send_server_key_exchange_ecdh(dtls_context_t *ctx, dtls_peer_t *peer, const dtls_ecdsa_key_t *key)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l01924">dtls.c:1924</a></div></div>
-<div class="ttc" id="numeric_8h_html_a7293cc28604d896cfef802b53b0ad99f"><div class="ttname"><a href="numeric_8h.html#a7293cc28604d896cfef802b53b0ad99f">dtls_uint8_to_int</a></div><div class="ttdeci">static uint8_t dtls_uint8_to_int(const unsigned char *field)</div><div class="ttdef"><b>Definition:</b> <a href="numeric_8h_source.html#l00094">numeric.h:94</a></div></div>
-<div class="ttc" id="dtls_8c_html_a604f68a801e55b884f7f7f1d2f1b9c9f"><div class="ttname"><a href="dtls_8c.html#a604f68a801e55b884f7f7f1d2f1b9c9f">dtls_verify_peer</a></div><div class="ttdeci">static int dtls_verify_peer(dtls_context_t *ctx, dtls_peer_t *peer, session_t *session, uint8 *data, size_t data_length)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l01540">dtls.c:1540</a></div></div>
-<div class="ttc" id="global_8h_html_af126227a026a7af436a4323db6d02ecc"><div class="ttname"><a href="global_8h.html#af126227a026a7af436a4323db6d02ecc">TLS_EXT_SIG_HASH_ALGO_ECDSA</a></div><div class="ttdeci">#define TLS_EXT_SIG_HASH_ALGO_ECDSA</div><div class="ttdef"><b>Definition:</b> <a href="global_8h_source.html#l00103">global.h:103</a></div></div>
-<div class="ttc" id="structdtls__context__t_html_a460737bda0d200538c00ef7877b339cd"><div class="ttname"><a href="structdtls__context__t.html#a460737bda0d200538c00ef7877b339cd">dtls_context_t::h</a></div><div class="ttdeci">dtls_handler_t * h</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8h_source.html#l00239">dtls.h:239</a></div></div>
-<div class="ttc" id="alert_8h_html_a41c9f2d4035bc6bf5a0f437842a9ecbda22948f7c825b68cc18c79bd3634c8f58"><div class="ttname"><a href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda22948f7c825b68cc18c79bd3634c8f58">DTLS_ALERT_INTERNAL_ERROR</a></div><div class="ttdef"><b>Definition:</b> <a href="alert_8h_source.html#l00058">alert.h:58</a></div></div>
-<div class="ttc" id="global_8h_html_aabc56baaf04f922a1ea0dda7691fec0a"><div class="ttname"><a href="global_8h.html#aabc56baaf04f922a1ea0dda7691fec0a">uint24</a></div><div class="ttdeci">unsigned char uint24[3]</div><div class="ttdef"><b>Definition:</b> <a href="global_8h_source.html#l00049">global.h:49</a></div></div>
-<div class="ttc" id="crypto_8h_html_addc8fcbbdd80ba924d0ded2a6bae97f4"><div class="ttname"><a href="crypto_8h.html#addc8fcbbdd80ba924d0ded2a6bae97f4">dtls_kb_remote_write_key</a></div><div class="ttdeci">#define dtls_kb_remote_write_key(Param, Role)</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00159">crypto.h:159</a></div></div>
-<div class="ttc" id="dtls_8c_html_a0844494b0b76acb7bcf832ae74fb25c0"><div class="ttname"><a href="dtls_8c.html#a0844494b0b76acb7bcf832ae74fb25c0">HASH_DEL_PEER</a></div><div class="ttdeci">#define HASH_DEL_PEER(head, delptr)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l00069">dtls.c:69</a></div></div>
-<div class="ttc" id="peer_8h_html_a9d0ec25ba319a38b17f30cf156e85c51"><div class="ttname"><a href="peer_8h.html#a9d0ec25ba319a38b17f30cf156e85c51">dtls_security_params_free_other</a></div><div class="ttdeci">static void dtls_security_params_free_other(dtls_peer_t *peer)</div><div class="ttdef"><b>Definition:</b> <a href="peer_8h_source.html#l00097">peer.h:97</a></div></div>
-<div class="ttc" id="global_8h_html_aaace8dce4341d910140609a96bb300db"><div class="ttname"><a href="global_8h.html#aaace8dce4341d910140609a96bb300db">TLS_CLIENT_CERTIFICATE_TYPE_ECDSA_SIGN</a></div><div class="ttdeci">#define TLS_CLIENT_CERTIFICATE_TYPE_ECDSA_SIGN</div><div class="ttdef"><b>Definition:</b> <a href="global_8h_source.html#l00100">global.h:100</a></div></div>
-<div class="ttc" id="alert_8h_html_a4242f419ffdd4b83bfaa2a0935ed2b6d"><div class="ttname"><a href="alert_8h.html#a4242f419ffdd4b83bfaa2a0935ed2b6d">dtls_alert_create</a></div><div class="ttdeci">static int dtls_alert_create(dtls_alert_level_t level, dtls_alert_t desc)</div><div class="ttdef"><b>Definition:</b> <a href="alert_8h_source.html#l00071">alert.h:71</a></div></div>
-<div class="ttc" id="dtls_8c_html_ad6ebff8518bb1d53ba888baf6898ee21"><div class="ttname"><a href="dtls_8c.html#ad6ebff8518bb1d53ba888baf6898ee21">dtls_send_server_hello_done</a></div><div class="ttdeci">static int dtls_send_server_hello_done(dtls_context_t *ctx, dtls_peer_t *peer)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l02061">dtls.c:2061</a></div></div>
-<div class="ttc" id="debug_8h_html_a0f158325426415d9efb5a36bebf45844"><div class="ttname"><a href="debug_8h.html#a0f158325426415d9efb5a36bebf45844">dtls_debug</a></div><div class="ttdeci">#define dtls_debug(...)</div><div class="ttdef"><b>Definition:</b> <a href="debug_8h_source.html#l00139">debug.h:139</a></div></div>
-<div class="ttc" id="dtls_8h_html_a44399f223a3e1c8a8bf3fc638a06a4d7"><div class="ttname"><a href="dtls_8h.html#a44399f223a3e1c8a8bf3fc638a06a4d7">DTLS_HT_SERVER_HELLO_DONE</a></div><div class="ttdeci">#define DTLS_HT_SERVER_HELLO_DONE</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8h_source.html#l00349">dtls.h:349</a></div></div>
-<div class="ttc" id="dtls_8c_html_a7730a402edfca00c35bc1c7c09eb2fb9"><div class="ttname"><a href="dtls_8c.html#a7730a402edfca00c35bc1c7c09eb2fb9">dtls_send_server_hello</a></div><div class="ttdeci">static int dtls_send_server_hello(dtls_context_t *ctx, dtls_peer_t *peer)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l01736">dtls.c:1736</a></div></div>
-<div class="ttc" id="crypto_8h_html_ab96c8e0773a14d1ce1621eed1a78e2bd"><div class="ttname"><a href="crypto_8h.html#ab96c8e0773a14d1ce1621eed1a78e2bd">DTLS_PSK_MAX_CLIENT_IDENTITY_LEN</a></div><div class="ttdeci">#define DTLS_PSK_MAX_CLIENT_IDENTITY_LEN</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00089">crypto.h:89</a></div></div>
-<div class="ttc" id="global_8h_html_a7e080d630a40510f655bf6982c555063"><div class="ttname"><a href="global_8h.html#a7e080d630a40510f655bf6982c555063">TLS_EXT_ELLIPTIC_CURVES</a></div><div class="ttdeci">#define TLS_EXT_ELLIPTIC_CURVES</div><div class="ttdef"><b>Definition:</b> <a href="global_8h_source.html#l00085">global.h:85</a></div></div>
-<div class="ttc" id="dtls_8c_html_aa5a4609da11d9496490853de9c2bf6fa"><div class="ttname"><a href="dtls_8c.html#aa5a4609da11d9496490853de9c2bf6fa">DTLS_CH_LENGTH_MAX</a></div><div class="ttdeci">#define DTLS_CH_LENGTH_MAX</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l00077">dtls.c:77</a></div></div>
-<div class="ttc" id="dtls__time_8h_html"><div class="ttname"><a href="dtls__time_8h.html">dtls_time.h</a></div><div class="ttdoc">Clock Handling. </div></div>
-<div class="ttc" id="structdtls__hs__state__t_html_a991b95919538531d730f74045e4fe3b1"><div class="ttname"><a href="structdtls__hs__state__t.html#a991b95919538531d730f74045e4fe3b1">dtls_hs_state_t::hs_hash</a></div><div class="ttdeci">dtls_hash_ctx hs_hash</div><div class="ttdef"><b>Definition:</b> <a href="state_8h_source.html#l00062">state.h:62</a></div></div>
-<div class="ttc" id="dtls_8c_html_a4c0c656efcfd0e33595914171e51ae6d"><div class="ttname"><a href="dtls_8c.html#a4c0c656efcfd0e33595914171e51ae6d">DTLS_SKEXECPSK_LENGTH_MIN</a></div><div class="ttdeci">#define DTLS_SKEXECPSK_LENGTH_MIN</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l00082">dtls.c:82</a></div></div>
-<div class="ttc" id="dtls_8c_html_abd652cf0e4512727591d3ec8ca066ace"><div class="ttname"><a href="dtls_8c.html#abd652cf0e4512727591d3ec8ca066ace">DTLS_COOKIE_LENGTH_MAX</a></div><div class="ttdeci">#define DTLS_COOKIE_LENGTH_MAX</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l00076">dtls.c:76</a></div></div>
-<div class="ttc" id="structnetq__t_html_afe91256ff5267fc680b96efd3bd8635a"><div class="ttname"><a href="structnetq__t.html#afe91256ff5267fc680b96efd3bd8635a">netq_t::t</a></div><div class="ttdeci">clock_time_t t</div><div class="ttdef"><b>Definition:</b> <a href="netq_8h_source.html#l00041">netq.h:41</a></div></div>
-<div class="ttc" id="dtls_8c_html_a915dccbe7e71d52d2650378f3aaad054"><div class="ttname"><a href="dtls_8c.html#a915dccbe7e71d52d2650378f3aaad054">check_server_key_exchange_psk</a></div><div class="ttdeci">static int check_server_key_exchange_psk(dtls_context_t *ctx, dtls_peer_t *peer, uint8 *data, size_t data_length)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l02687">dtls.c:2687</a></div></div>
-<div class="ttc" id="dtls_8c_html_a85d3d5311baabdaa06b7824528eef4e5"><div class="ttname"><a href="dtls_8c.html#a85d3d5311baabdaa06b7824528eef4e5">DTLS_HV_LENGTH</a></div><div class="ttdeci">#define DTLS_HV_LENGTH</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l00078">dtls.c:78</a></div></div>
-<div class="ttc" id="dtls_8h_html_af8ce2230240b6d3c36b216ef459baff1"><div class="ttname"><a href="dtls_8h.html#af8ce2230240b6d3c36b216ef459baff1">DTLS_CT_ALERT</a></div><div class="ttdeci">#define DTLS_CT_ALERT</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8h_source.html#l00326">dtls.h:326</a></div></div>
-<div class="ttc" id="crypto_8h_html_a0df6db4f8c29f2b0aa5a1363b4f9127f"><div class="ttname"><a href="crypto_8h.html#a0df6db4f8c29f2b0aa5a1363b4f9127f">MAX_KEYBLOCK_LENGTH</a></div><div class="ttdeci">#define MAX_KEYBLOCK_LENGTH</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00055">crypto.h:55</a></div></div>
-<div class="ttc" id="group__netq_html_ga9eba9e66570dcdfc933c6cf843694444"><div class="ttname"><a href="group__netq.html#ga9eba9e66570dcdfc933c6cf843694444">netq_init</a></div><div class="ttdeci">static void netq_init()</div><div class="ttdef"><b>Definition:</b> <a href="netq_8h_source.html#l00058">netq.h:58</a></div></div>
-<div class="ttc" id="dtls_8c_html_a45d793d73836bf96dacb1d558f81b6c7"><div class="ttname"><a href="dtls_8c.html#a45d793d73836bf96dacb1d558f81b6c7">prf_label_finished</a></div><div class="ttdeci">static const unsigned char prf_label_finished[]</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l00121">dtls.c:121</a></div></div>
-<div class="ttc" id="dtls_8h_html_a5c6625ffcf61189392768253e8919a45"><div class="ttname"><a href="dtls_8h.html#a5c6625ffcf61189392768253e8919a45">dtls_handshake_header_t</a></div><div class="ttdeci">dtls_handshake_header_t</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8h_source.html#l00362">dtls.h:362</a></div></div>
-<div class="ttc" id="dtls_8c_html_a0ce6e5416f5479558116b881d3eb1ad6"><div class="ttname"><a href="dtls_8c.html#a0ce6e5416f5479558116b881d3eb1ad6">HASH_FIND_PEER</a></div><div class="ttdeci">#define HASH_FIND_PEER(head, sess, out)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l00065">dtls.c:65</a></div></div>
-<div class="ttc" id="dtls_8c_html_a12e4cab07baba9eae2a0182f4e0bf72d"><div class="ttname"><a href="dtls_8c.html#a12e4cab07baba9eae2a0182f4e0bf72d">dtls_send_client_key_exchange</a></div><div class="ttdeci">static int dtls_send_client_key_exchange(dtls_context_t *ctx, dtls_peer_t *peer)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l02164">dtls.c:2164</a></div></div>
-<div class="ttc" id="global_8h_html_ae136afe82bd9031a4c1c604de0cb0118"><div class="ttname"><a href="global_8h.html#ae136afe82bd9031a4c1c604de0cb0118">TLS_EXT_ENCRYPT_THEN_MAC</a></div><div class="ttdeci">#define TLS_EXT_ENCRYPT_THEN_MAC</div><div class="ttdef"><b>Definition:</b> <a href="global_8h_source.html#l00090">global.h:90</a></div></div>
-<div class="ttc" id="dtls_8c_html_ad8c8390d0a1592207c4ea6dd0a623a9a"><div class="ttname"><a href="dtls_8c.html#ad8c8390d0a1592207c4ea6dd0a623a9a">dtls_check_tls_extension</a></div><div class="ttdeci">static int dtls_check_tls_extension(dtls_peer_t *peer, uint8 *data, size_t data_length, int client_hello)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l00777">dtls.c:777</a></div></div>
-<div class="ttc" id="crypto_8c_html_a25930cdb27a6ffcf05e2c2a9c95a6af8"><div class="ttname"><a href="crypto_8c.html#a25930cdb27a6ffcf05e2c2a9c95a6af8">dtls_handshake_new</a></div><div class="ttdeci">dtls_handshake_parameters_t * dtls_handshake_new()</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8c_source.html#l00123">crypto.c:123</a></div></div>
-<div class="ttc" id="debug_8h_html_ab22e3494f6186183820142ba279fe9ae"><div class="ttname"><a href="debug_8h.html#ab22e3494f6186183820142ba279fe9ae">dtls_alert</a></div><div class="ttdeci">#define dtls_alert(...)</div><div class="ttdef"><b>Definition:</b> <a href="debug_8h_source.html#l00134">debug.h:134</a></div></div>
-<div class="ttc" id="group__netq_html_gac769de2e30bcf2c2db89ff10822219d4"><div class="ttname"><a href="group__netq.html#gac769de2e30bcf2c2db89ff10822219d4">netq_head</a></div><div class="ttdeci">netq_t * netq_head(list_t queue)</div><div class="ttdef"><b>Definition:</b> <a href="netq_8c_source.html#l00080">netq.c:80</a></div></div>
-<div class="ttc" id="dtls_8c_html_a3de5b3956733293d3e19d83d3cc8d9bb"><div class="ttname"><a href="dtls_8c.html#a3de5b3956733293d3e19d83d3cc8d9bb">check_server_key_exchange_ecdsa</a></div><div class="ttdeci">static int check_server_key_exchange_ecdsa(dtls_context_t *ctx, dtls_peer_t *peer, uint8 *data, size_t data_length)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l02604">dtls.c:2604</a></div></div>
-<div class="ttc" id="group__clock_html_gae3ced0551b26c9b99cb45a86f34d100a"><div class="ttname"><a href="group__clock.html#gae3ced0551b26c9b99cb45a86f34d100a">CLOCK_SECOND</a></div><div class="ttdeci">#define CLOCK_SECOND</div><div class="ttdef"><b>Definition:</b> <a href="dtls__time_8h_source.html#l00052">dtls_time.h:52</a></div></div>
-<div class="ttc" id="debug_8c_html_a66cb8756d40a3326315d9b5f003a5a76"><div class="ttname"><a href="debug_8c.html#a66cb8756d40a3326315d9b5f003a5a76">dtls_dsrv_log_addr</a></div><div class="ttdeci">void dtls_dsrv_log_addr(log_t level, const char *name, const session_t *addr)</div><div class="ttdef"><b>Definition:</b> <a href="debug_8c_source.html#l00277">debug.c:277</a></div></div>
-<div class="ttc" id="crypto_8h_html_a5a0bdff7c0889f35601b4935098508a0"><div class="ttname"><a href="crypto_8h.html#a5a0bdff7c0889f35601b4935098508a0">DTLS_RANDOM_LENGTH</a></div><div class="ttdeci">#define DTLS_RANDOM_LENGTH</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00060">crypto.h:60</a></div></div>
-<div class="ttc" id="group__HMAC_html_gaa1eb35fcb2c2eb69eebaefa8eb4a790d"><div class="ttname"><a href="group__HMAC.html#gaa1eb35fcb2c2eb69eebaefa8eb4a790d">dtls_hmac_init</a></div><div class="ttdeci">void dtls_hmac_init(dtls_hmac_context_t *ctx, const unsigned char *key, size_t klen)</div><div class="ttdef"><b>Definition:</b> <a href="hmac_8c_source.html#l00094">hmac.c:94</a></div></div>
-<div class="ttc" id="debug_8h_html_a4a3c60a1e54594e78cd207c57ddb1378"><div class="ttname"><a href="debug_8h.html#a4a3c60a1e54594e78cd207c57ddb1378">check_stack</a></div><div class="ttdeci">static void check_stack()</div><div class="ttdef"><b>Definition:</b> <a href="debug_8h_source.html#l00059">debug.h:59</a></div></div>
-<div class="ttc" id="global_8h_html_a5d17863db920927ef8160547541b58e3"><div class="ttname"><a href="global_8h.html#a5d17863db920927ef8160547541b58e3">TLS_EXT_EC_POINT_FORMATS</a></div><div class="ttdeci">#define TLS_EXT_EC_POINT_FORMATS</div><div class="ttdef"><b>Definition:</b> <a href="global_8h_source.html#l00086">global.h:86</a></div></div>
-<div class="ttc" id="structdtls__handshake__parameters__psk__t_html"><div class="ttname"><a href="structdtls__handshake__parameters__psk__t.html">dtls_handshake_parameters_psk_t</a></div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00094">crypto.h:94</a></div></div>
-<div class="ttc" id="structdtls__hmac__context__t_html"><div class="ttname"><a href="structdtls__hmac__context__t.html">dtls_hmac_context_t</a></div><div class="ttdef"><b>Definition:</b> <a href="hmac_8h_source.html#l00095">hmac.h:95</a></div></div>
-<div class="ttc" id="dtls_8c_html_ab3af0ee4375c0da833aacec49c6fd8ad"><div class="ttname"><a href="dtls_8c.html#ab3af0ee4375c0da833aacec49c6fd8ad">dtls_send_hello_request</a></div><div class="ttdeci">static int dtls_send_hello_request(dtls_context_t *ctx, dtls_peer_t *peer)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l02948">dtls.c:2948</a></div></div>
-<div class="ttc" id="structdtls__peer__t_html_aa176a7ffe3a780dc97a716dfffb54992"><div class="ttname"><a href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">dtls_peer_t::handshake_params</a></div><div class="ttdeci">dtls_handshake_parameters_t * handshake_params</div><div class="ttdef"><b>Definition:</b> <a href="peer_8h_source.html#l00065">peer.h:65</a></div></div>
-<div class="ttc" id="hmac_8h_html_afe0af64930ac5d6a51289df6d1eb4f52"><div class="ttname"><a href="hmac_8h.html#afe0af64930ac5d6a51289df6d1eb4f52">dtls_hash_init</a></div><div class="ttdeci">static void dtls_hash_init(dtls_hash_t ctx)</div><div class="ttdef"><b>Definition:</b> <a href="hmac_8h_source.html#l00043">hmac.h:43</a></div></div>
-<div class="ttc" id="structdtls__ecdsa__key__t_html_aaceb7ea4b4f9e74fb2ec85c49746132f"><div class="ttname"><a href="structdtls__ecdsa__key__t.html#aaceb7ea4b4f9e74fb2ec85c49746132f">dtls_ecdsa_key_t::pub_key_y</a></div><div class="ttdeci">const unsigned char * pub_key_y</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8h_source.html#l00067">dtls.h:67</a></div></div>
-<div class="ttc" id="crypto_8h_html_a1f320854c9f4e9b2105649b3624976b0"><div class="ttname"><a href="crypto_8h.html#a1f320854c9f4e9b2105649b3624976b0">dtls_kb_mac_secret_size</a></div><div class="ttdeci">#define dtls_kb_mac_secret_size(Param, Role)</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00154">crypto.h:154</a></div></div>
-<div class="ttc" id="structnetq__t_html_aaca5f6407bd7b3162d9ee7e7e7b8f0ff"><div class="ttname"><a href="structnetq__t.html#aaca5f6407bd7b3162d9ee7e7e7b8f0ff">netq_t::peer</a></div><div class="ttdeci">dtls_peer_t * peer</div><div class="ttdef"><b>Definition:</b> <a href="netq_8h_source.html#l00044">netq.h:44</a></div></div>
-<div class="ttc" id="dtls_8c_html_ab9251eac8015afc7985ff4398657ea3f"><div class="ttname"><a href="dtls_8c.html#ab9251eac8015afc7985ff4398657ea3f">check_client_keyexchange</a></div><div class="ttdeci">static int check_client_keyexchange(dtls_context_t *ctx, dtls_handshake_parameters_t *handshake, uint8 *data, size_t length)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l01005">dtls.c:1005</a></div></div>
-<div class="ttc" id="dtls_8c_html_aa90f5eb6954137d5e098e29143c2586a"><div class="ttname"><a href="dtls_8c.html#aa90f5eb6954137d5e098e29143c2586a">dtls_close</a></div><div class="ttdeci">int dtls_close(dtls_context_t *ctx, const session_t *remote)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l01494">dtls.c:1494</a></div></div>
-<div class="ttc" id="structnetq__t_html_a9998944e43a39a2e5700156876a312e0"><div class="ttname"><a href="structnetq__t.html#a9998944e43a39a2e5700156876a312e0">netq_t::epoch</a></div><div class="ttdeci">uint16_t epoch</div><div class="ttdef"><b>Definition:</b> <a href="netq_8h_source.html#l00045">netq.h:45</a></div></div>
-<div class="ttc" id="alert_8h_html_a41c9f2d4035bc6bf5a0f437842a9ecbdae3249841cb226881ce6dadffb9f22649"><div class="ttname"><a href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdae3249841cb226881ce6dadffb9f22649">DTLS_ALERT_DECODE_ERROR</a></div><div class="ttdef"><b>Definition:</b> <a href="alert_8h_source.html#l00054">alert.h:54</a></div></div>
-<div class="ttc" id="dtls_8c_html_a91b2653747ca1e4058ae3b350019188b"><div class="ttname"><a href="dtls_8c.html#a91b2653747ca1e4058ae3b350019188b">check_finished</a></div><div class="ttdeci">static int check_finished(dtls_context_t *ctx, dtls_peer_t *peer, uint8 *data, size_t data_length)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l01104">dtls.c:1104</a></div></div>
-<div class="ttc" id="debug_8h_html_ad4c9c94c054579b73789fead587c8514"><div class="ttname"><a href="debug_8h.html#ad4c9c94c054579b73789fead587c8514">dtls_crit</a></div><div class="ttdeci">#define dtls_crit(...)</div><div class="ttdef"><b>Definition:</b> <a href="debug_8h_source.html#l00135">debug.h:135</a></div></div>
-<div class="ttc" id="dtls_8c_html_ad699a00b7ff5a71fa5b7fbc79a4dd9a8"><div class="ttname"><a href="dtls_8c.html#ad699a00b7ff5a71fa5b7fbc79a4dd9a8">verify_ext_eliptic_curves</a></div><div class="ttdeci">static int verify_ext_eliptic_curves(uint8 *data, size_t data_length)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l00701">dtls.c:701</a></div></div>
-<div class="ttc" id="dtls_8c_html_a09a0896d586ff27855ced6930cc17023"><div class="ttname"><a href="dtls_8c.html#a09a0896d586ff27855ced6930cc17023">SKIP_VAR_FIELD</a></div><div class="ttdeci">#define SKIP_VAR_FIELD(P, L, T)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l00106">dtls.c:106</a></div></div>
-<div class="ttc" id="dtls_8c_html_a6570b93f9f19e6abceef85c566fe3696"><div class="ttname"><a href="dtls_8c.html#a6570b93f9f19e6abceef85c566fe3696">DTLS_CE_LENGTH</a></div><div class="ttdeci">#define DTLS_CE_LENGTH</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l00080">dtls.c:80</a></div></div>
-<div class="ttc" id="dtls_8c_html_a94199c9fa65db19e0f761e3ff973eb4b"><div class="ttname"><a href="dtls_8c.html#a94199c9fa65db19e0f761e3ff973eb4b">calculate_key_block</a></div><div class="ttdeci">static int calculate_key_block(dtls_context_t *ctx, dtls_handshake_parameters_t *handshake, dtls_peer_t *peer, session_t *session, dtls_peer_type role)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l00599">dtls.c:599</a></div></div>
-<div class="ttc" id="global_8h_html_a9fc59fb51c2e3cb4da6fb19bc8cad080"><div class="ttname"><a href="global_8h.html#a9fc59fb51c2e3cb4da6fb19bc8cad080">DTLS_DEFAULT_MAX_RETRANSMIT</a></div><div class="ttdeci">#define DTLS_DEFAULT_MAX_RETRANSMIT</div><div class="ttdef"><b>Definition:</b> <a href="global_8h_source.html#l00070">global.h:70</a></div></div>
-<div class="ttc" id="dtls_8c_html_a83b260e812e69f1dae18497d167770a9"><div class="ttname"><a href="dtls_8c.html#a83b260e812e69f1dae18497d167770a9">PRF_LABEL_SIZE</a></div><div class="ttdeci">#define PRF_LABEL_SIZE(Label)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l00115">dtls.c:115</a></div></div>
-<div class="ttc" id="dtls_8c_html_ab199f50f39a96464ff7b532f2635ce9d"><div class="ttname"><a href="dtls_8c.html#ab199f50f39a96464ff7b532f2635ce9d">handle_handshake</a></div><div class="ttdeci">static int handle_handshake(dtls_context_t *ctx, dtls_peer_t *peer, session_t *session, const dtls_peer_type role, const dtls_state_t state, uint8 *data, size_t data_length)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l03347">dtls.c:3347</a></div></div>
-<div class="ttc" id="dtls_8h_html_a25f0afef67a1fd8d9e3e61074d11e2f5"><div class="ttname"><a href="dtls_8h.html#a25f0afef67a1fd8d9e3e61074d11e2f5">DTLS_HT_CLIENT_HELLO</a></div><div class="ttdeci">#define DTLS_HT_CLIENT_HELLO</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8h_source.html#l00343">dtls.h:343</a></div></div>
-<div class="ttc" id="dtls_8c_html_acf0d50c9f224c0677988f13e947e9523"><div class="ttname"><a href="dtls_8c.html#acf0d50c9f224c0677988f13e947e9523">HASH_ADD_PEER</a></div><div class="ttdeci">#define HASH_ADD_PEER(head, sess, add)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l00067">dtls.c:67</a></div></div>
-<div class="ttc" id="global_8h_html_adde6aaee8457bee49c2a92621fe22b79"><div class="ttname"><a href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a></div><div class="ttdeci">unsigned char uint8</div><div class="ttdef"><b>Definition:</b> <a href="global_8h_source.html#l00047">global.h:47</a></div></div>
-<div class="ttc" id="structdtls__handshake__parameters__t_html_a67f85371953c8ae07ec110cb39c13125"><div class="ttname"><a href="structdtls__handshake__parameters__t.html#a67f85371953c8ae07ec110cb39c13125">dtls_handshake_parameters_t::compression</a></div><div class="ttdeci">dtls_compression_t compression</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00127">crypto.h:127</a></div></div>
-<div class="ttc" id="dtls_8c_html_a734cf32b1c8b99e21d57006da24fd808"><div class="ttname"><a href="dtls_8c.html#a734cf32b1c8b99e21d57006da24fd808">dtls_set_record_header</a></div><div class="ttdeci">static uint8 * dtls_set_record_header(uint8 type, dtls_security_parameters_t *security, uint8 *buf)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l00390">dtls.c:390</a></div></div>
-<div class="ttc" id="dtls_8c_html_aa57a9ccb1344c5baf8bd3adf35f3beeb"><div class="ttname"><a href="dtls_8c.html#aa57a9ccb1344c5baf8bd3adf35f3beeb">dtls_retransmit</a></div><div class="ttdeci">static void dtls_retransmit(dtls_context_t *context, netq_t *node)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l03890">dtls.c:3890</a></div></div>
-<div class="ttc" id="structdtls__security__parameters__t_html_a100dc82ee41004df1d9f211873332f87"><div class="ttname"><a href="structdtls__security__parameters__t.html#a100dc82ee41004df1d9f211873332f87">dtls_security_parameters_t::rseq</a></div><div class="ttdeci">uint64_t rseq</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00104">crypto.h:104</a></div></div>
-<div class="ttc" id="dtls_8c_html_a42886cd9a1fd728f47ea40d38dfabcda"><div class="ttname"><a href="dtls_8c.html#a42886cd9a1fd728f47ea40d38dfabcda">prf_label_key</a></div><div class="ttdeci">static const unsigned char prf_label_key[]</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l00118">dtls.c:118</a></div></div>
-<div class="ttc" id="dtls_8c_html_ad60bf1197fa1a074f91aed508cfefa62"><div class="ttname"><a href="dtls_8c.html#ad60bf1197fa1a074f91aed508cfefa62">dtls_connect_peer</a></div><div class="ttdeci">int dtls_connect_peer(dtls_context_t *ctx, dtls_peer_t *peer)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l03826">dtls.c:3826</a></div></div>
-<div class="ttc" id="global_8h_html_ada7e71454d685b693df45b2c1ea0c59ba197892e216f63ddbc91c2b006a2d4c1e"><div class="ttname"><a href="global_8h.html#ada7e71454d685b693df45b2c1ea0c59ba197892e216f63ddbc91c2b006a2d4c1e">TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8</a></div><div class="ttdef"><b>Definition:</b> <a href="global_8h_source.html#l00077">global.h:77</a></div></div>
-<div class="ttc" id="dtls_8c_html_afc54bc2ed42b4b65ad8f01abca9a8772"><div class="ttname"><a href="dtls_8c.html#afc54bc2ed42b4b65ad8f01abca9a8772">dtls_send_server_hello_msgs</a></div><div class="ttdeci">static int dtls_send_server_hello_msgs(dtls_context_t *ctx, dtls_peer_t *peer)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l02073">dtls.c:2073</a></div></div>
-<div class="ttc" id="dtls_8h_html_a9abc650dd8339a227ddd165ede9350d0"><div class="ttname"><a href="dtls_8h.html#a9abc650dd8339a227ddd165ede9350d0">DTLS_HT_CERTIFICATE_VERIFY</a></div><div class="ttdeci">#define DTLS_HT_CERTIFICATE_VERIFY</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8h_source.html#l00350">dtls.h:350</a></div></div>
-<div class="ttc" id="crypto_8h_html_a9b039263057e157e1427c5d316133c3d"><div class="ttname"><a href="crypto_8h.html#a9b039263057e157e1427c5d316133c3d">DTLS_EC_KEY_SIZE</a></div><div class="ttdeci">#define DTLS_EC_KEY_SIZE</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00309">crypto.h:309</a></div></div>
-<div class="ttc" id="numeric_8h_html_a074d352855e1ffde4c2ddb6a6fea01b9"><div class="ttname"><a href="numeric_8h.html#a074d352855e1ffde4c2ddb6a6fea01b9">dtls_int_to_uint16</a></div><div class="ttdeci">static int dtls_int_to_uint16(unsigned char *field, uint16_t value)</div><div class="ttdef"><b>Definition:</b> <a href="numeric_8h_source.html#l00046">numeric.h:46</a></div></div>
-<div class="ttc" id="hmac_8h_html_adb5ad07ab9a1adcdfdc20e13aa37bee6"><div class="ttname"><a href="hmac_8h.html#adb5ad07ab9a1adcdfdc20e13aa37bee6">dtls_hash_update</a></div><div class="ttdeci">static void dtls_hash_update(dtls_hash_t ctx, const unsigned char *input, size_t len)</div><div class="ttdef"><b>Definition:</b> <a href="hmac_8h_source.html#l00048">hmac.h:48</a></div></div>
-<div class="ttc" id="structsession__t_html_a0bb4423cd29b415a4cf6c32d5d9a43e4"><div class="ttname"><a href="structsession__t.html#a0bb4423cd29b415a4cf6c32d5d9a43e4">session_t::addr</a></div><div class="ttdeci">union session_t::@2 addr</div></div>
-<div class="ttc" id="hmac_8h_html_a7fb242dc4ddd717e5eb67d4bf89618d5"><div class="ttname"><a href="hmac_8h.html#a7fb242dc4ddd717e5eb67d4bf89618d5">DTLS_HASH_CTX_SIZE</a></div><div class="ttdeci">#define DTLS_HASH_CTX_SIZE</div><div class="ttdef"><b>Definition:</b> <a href="hmac_8h_source.html#l00040">hmac.h:40</a></div></div>
-<div class="ttc" id="structdtls__peer__t_html"><div class="ttname"><a href="structdtls__peer__t.html">dtls_peer_t</a></div><div class="ttdef"><b>Definition:</b> <a href="peer_8h_source.html#l00052">peer.h:52</a></div></div>
-<div class="ttc" id="global_8h_html_ada7e71454d685b693df45b2c1ea0c59bacf33de998fd00f096eebbb0742d80abd"><div class="ttname"><a href="global_8h.html#ada7e71454d685b693df45b2c1ea0c59bacf33de998fd00f096eebbb0742d80abd">TLS_NULL_WITH_NULL_NULL</a></div><div class="ttdef"><b>Definition:</b> <a href="global_8h_source.html#l00075">global.h:75</a></div></div>
-<div class="ttc" id="dtls_8h_html"><div class="ttname"><a href="dtls_8h.html">dtls.h</a></div><div class="ttdoc">High level DTLS API and visible structures. </div></div>
-<div class="ttc" id="alert_8h_html_a41c9f2d4035bc6bf5a0f437842a9ecbd"><div class="ttname"><a href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbd">dtls_alert_t</a></div><div class="ttdeci">dtls_alert_t</div><div class="ttdef"><b>Definition:</b> <a href="alert_8h_source.html#l00039">alert.h:39</a></div></div>
-<div class="ttc" id="dtls_8h_html_a6f49d7b0a6e9190d71d51b1ee9ff3bd5"><div class="ttname"><a href="dtls_8h.html#a6f49d7b0a6e9190d71d51b1ee9ff3bd5">DTLS_HT_CERTIFICATE_REQUEST</a></div><div class="ttdeci">#define DTLS_HT_CERTIFICATE_REQUEST</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8h_source.html#l00348">dtls.h:348</a></div></div>
-<div class="ttc" id="debug_8h_html_ab27d2c7cae1e8022e93562ecda9140b6"><div class="ttname"><a href="debug_8h.html#ab27d2c7cae1e8022e93562ecda9140b6">dtls_debug_dump</a></div><div class="ttdeci">#define dtls_debug_dump(name, buf, length)</div><div class="ttdef"><b>Definition:</b> <a href="debug_8h_source.html#l00141">debug.h:141</a></div></div>
-<div class="ttc" id="state_8h_html_aea0e57fd5b857535960534b53361aa35a97f1fd8aadc13e8d721d5e40d42a0330"><div class="ttname"><a href="state_8h.html#aea0e57fd5b857535960534b53361aa35a97f1fd8aadc13e8d721d5e40d42a0330">DTLS_STATE_WAIT_SERVERKEYEXCHANGE</a></div><div class="ttdef"><b>Definition:</b> <a href="state_8h_source.html#l00046">state.h:46</a></div></div>
-<div class="ttc" id="dtls_8c_html_a97496e1be0f2fe54873b35ee8bf0d462"><div class="ttname"><a href="dtls_8c.html#a97496e1be0f2fe54873b35ee8bf0d462">mycookie</a></div><div class="ttdeci">#define mycookie</div></div>
-<div class="ttc" id="dtls_8c_html_ae97c368900c13dc7074c09e8848afa8f"><div class="ttname"><a href="dtls_8c.html#ae97c368900c13dc7074c09e8848afa8f">DTLS_RH_LENGTH</a></div><div class="ttdeci">#define DTLS_RH_LENGTH</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l00073">dtls.c:73</a></div></div>
-<div class="ttc" id="state_8h_html_aea0e57fd5b857535960534b53361aa35a88bc0f5ff63003f57a59700dc4b55553"><div class="ttname"><a href="state_8h.html#aea0e57fd5b857535960534b53361aa35a88bc0f5ff63003f57a59700dc4b55553">DTLS_STATE_CLOSED</a></div><div class="ttdef"><b>Definition:</b> <a href="state_8h_source.html#l00051">state.h:51</a></div></div>
-<div class="ttc" id="group__HMAC_html_gab98c992f3f9cc3c2d75077ddd46049bf"><div class="ttname"><a href="group__HMAC.html#gab98c992f3f9cc3c2d75077ddd46049bf">dtls_hmac_finalize</a></div><div class="ttdeci">int dtls_hmac_finalize(dtls_hmac_context_t *ctx, unsigned char *result)</div><div class="ttdef"><b>Definition:</b> <a href="hmac_8c_source.html#l00127">hmac.c:127</a></div></div>
-<div class="ttc" id="structdtls__ecdsa__key__t_html_aa54efc762737c1b94eaebae1262d4221"><div class="ttname"><a href="structdtls__ecdsa__key__t.html#aa54efc762737c1b94eaebae1262d4221">dtls_ecdsa_key_t::pub_key_x</a></div><div class="ttdeci">const unsigned char * pub_key_x</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8h_source.html#l00066">dtls.h:66</a></div></div>
-<div class="ttc" id="numeric_8h_html_ae32dd0743658f1aa5a723d5a8357521f"><div class="ttname"><a href="numeric_8h.html#ae32dd0743658f1aa5a723d5a8357521f">dtls_uint16_to_int</a></div><div class="ttdeci">static uint16_t dtls_uint16_to_int(const unsigned char *field)</div><div class="ttdef"><b>Definition:</b> <a href="numeric_8h_source.html#l00099">numeric.h:99</a></div></div>
-<div class="ttc" id="dtls_8c_html_a784ec579660900e758a9b7de84150c9b"><div class="ttname"><a href="dtls_8c.html#a784ec579660900e758a9b7de84150c9b">prf_label_master</a></div><div class="ttdeci">static const unsigned char prf_label_master[]</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l00117">dtls.c:117</a></div></div>
-<div class="ttc" id="dtls_8c_html_a175d8e65080497463d13caf20e961500"><div class="ttname"><a href="dtls_8c.html#a175d8e65080497463d13caf20e961500">dtls_get_epoch</a></div><div class="ttdeci">#define dtls_get_epoch(H)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l00060">dtls.c:60</a></div></div>
-<div class="ttc" id="peer_8h_html_a48abcad7383e1db957af9b4fed030d52"><div class="ttname"><a href="peer_8h.html#a48abcad7383e1db957af9b4fed030d52">dtls_security_params</a></div><div class="ttdeci">static dtls_security_parameters_t * dtls_security_params(dtls_peer_t *peer)</div><div class="ttdef"><b>Definition:</b> <a href="peer_8h_source.html#l00079">peer.h:79</a></div></div>
-<div class="ttc" id="crypto_8c_html_afa2d9b2a195a1d8e8c56b1af8cb7bc82"><div class="ttname"><a href="crypto_8c.html#afa2d9b2a195a1d8e8c56b1af8cb7bc82">dtls_ecdsa_create_sig</a></div><div class="ttdeci">void dtls_ecdsa_create_sig(const unsigned char *priv_key, size_t key_size, const unsigned char *client_random, size_t client_random_size, const unsigned char *server_random, size_t server_random_size, const unsigned char *keyx_params, size_t keyx_params_size, uint32_t point_r[9], uint32_t point_s[9])</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8c_source.html#l00463">crypto.c:463</a></div></div>
-<div class="ttc" id="structnetq__t_html_ae0c2648acf87d1e6f2566bc3600771b6"><div class="ttname"><a href="structnetq__t.html#ae0c2648acf87d1e6f2566bc3600771b6">netq_t::timeout</a></div><div class="ttdeci">unsigned int timeout</div><div class="ttdef"><b>Definition:</b> <a href="netq_8h_source.html#l00042">netq.h:42</a></div></div>
-<div class="ttc" id="crypto_8h_html_aea906786dcfa12acb320df731c8db7f6"><div class="ttname"><a href="crypto_8h.html#aea906786dcfa12acb320df731c8db7f6">dtls_kb_server_write_key</a></div><div class="ttdeci">#define dtls_kb_server_write_key(Param, Role)</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00157">crypto.h:157</a></div></div>
-<div class="ttc" id="crypto_8c_html_a802b3a2b267747a76d4557c6c9a899d7"><div class="ttname"><a href="crypto_8c.html#a802b3a2b267747a76d4557c6c9a899d7">dtls_ecdsa_verify_sig_hash</a></div><div class="ttdeci">int dtls_ecdsa_verify_sig_hash(const unsigned char *pub_key_x, const unsigned char *pub_key_y, size_t key_size, const unsigned char *sign_hash, size_t sign_hash_size, unsigned char *result_r, unsigned char *result_s)</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8c_source.html#l00483">crypto.c:483</a></div></div>
-<div class="ttc" id="group__netq_html_ga108e6c43e524fd4b23a5d4731631fae3"><div class="ttname"><a href="group__netq.html#ga108e6c43e524fd4b23a5d4731631fae3">netq_pop_first</a></div><div class="ttdeci">netq_t * netq_pop_first(list_t queue)</div><div class="ttdef"><b>Definition:</b> <a href="netq_8c_source.html#l00103">netq.c:103</a></div></div>
-<div class="ttc" id="structdtls__hs__state__t_html_a4e2184c917d1ad46d308e8770193f542"><div class="ttname"><a href="structdtls__hs__state__t.html#a4e2184c917d1ad46d308e8770193f542">dtls_hs_state_t::mseq_r</a></div><div class="ttdeci">uint16_t mseq_r</div><div class="ttdef"><b>Definition:</b> <a href="state_8h_source.html#l00056">state.h:56</a></div></div>
-<div class="ttc" id="structnetq__t_html_a13d74bc65c8879b894698935fbbe2246"><div class="ttname"><a href="structnetq__t.html#a13d74bc65c8879b894698935fbbe2246">netq_t::type</a></div><div class="ttdeci">uint8_t type</div><div class="ttdef"><b>Definition:</b> <a href="netq_8h_source.html#l00046">netq.h:46</a></div></div>
-<div class="ttc" id="crypto_8h_html_a72899232c09d09b86326c6f234addc02"><div class="ttname"><a href="crypto_8h.html#a72899232c09d09b86326c6f234addc02">dtls_kb_client_mac_secret</a></div><div class="ttdeci">#define dtls_kb_client_mac_secret(Param, Role)</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00143">crypto.h:143</a></div></div>
-<div class="ttc" id="dtls_8c_html_aacf8643991dec574dcb09a280357ae4f"><div class="ttname"><a href="dtls_8c.html#aacf8643991dec574dcb09a280357ae4f">prf_label_server</a></div><div class="ttdeci">static const unsigned char prf_label_server[]</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l00120">dtls.c:120</a></div></div>
-<div class="ttc" id="dtls_8c_html_a5676a0ceeeabd1ec38d378212f7af4a1"><div class="ttname"><a href="dtls_8c.html#a5676a0ceeeabd1ec38d378212f7af4a1">dtls_renegotiate</a></div><div class="ttdeci">int dtls_renegotiate(dtls_context_t *ctx, const session_t *dst)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l02956">dtls.c:2956</a></div></div>
-<div class="ttc" id="structdtls__security__parameters__t_html_a6a72df7ab1151f81e49d464175fcaf2a"><div class="ttname"><a href="structdtls__security__parameters__t.html#a6a72df7ab1151f81e49d464175fcaf2a">dtls_security_parameters_t::compression</a></div><div class="ttdeci">dtls_compression_t compression</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00100">crypto.h:100</a></div></div>
-<div class="ttc" id="t__list_8h_html_adb42e31bb4fe0df6ec1aa3494902968d"><div class="ttname"><a href="t__list_8h.html#adb42e31bb4fe0df6ec1aa3494902968d">list_head</a></div><div class="ttdeci">static void * list_head(list_t list)</div><div class="ttdef"><b>Definition:</b> <a href="t__list_8h_source.html#l00096">t_list.h:96</a></div></div>
-<div class="ttc" id="structdtls__security__parameters__t_html_a21d9fac709d739535b0cbecce4c18830"><div class="ttname"><a href="structdtls__security__parameters__t.html#a21d9fac709d739535b0cbecce4c18830">dtls_security_parameters_t::cipher</a></div><div class="ttdeci">dtls_cipher_t cipher</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00102">crypto.h:102</a></div></div>
-<div class="ttc" id="crypto_8h_html_a2648582ddf4c82abc01d8388bd3f15db"><div class="ttname"><a href="crypto_8h.html#a2648582ddf4c82abc01d8388bd3f15db">DTLS_MASTER_SECRET_LENGTH</a></div><div class="ttdeci">#define DTLS_MASTER_SECRET_LENGTH</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00059">crypto.h:59</a></div></div>
-<div class="ttc" id="peer_8c_html_a037178c201b2e6b7361570ff700f059d"><div class="ttname"><a href="peer_8c.html#a037178c201b2e6b7361570ff700f059d">dtls_free_peer</a></div><div class="ttdeci">void dtls_free_peer(dtls_peer_t *peer)</div><div class="ttdef"><b>Definition:</b> <a href="peer_8c_source.html#l00041">peer.c:41</a></div></div>
-<div class="ttc" id="structdtls__security__parameters__t_html_a1c3a56ea4af8ff71e1ffe77221541f4d"><div class="ttname"><a href="structdtls__security__parameters__t.html#a1c3a56ea4af8ff71e1ffe77221541f4d">dtls_security_parameters_t::key_block</a></div><div class="ttdeci">uint8 key_block[MAX_KEYBLOCK_LENGTH]</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00112">crypto.h:112</a></div></div>
-<div class="ttc" id="peer_8h_html_ae30cd4bcffed73f79f17c09e5a1452c8afd8391395303e28ee9b375232cb68a1e"><div class="ttname"><a href="peer_8h.html#ae30cd4bcffed73f79f17c09e5a1452c8afd8391395303e28ee9b375232cb68a1e">DTLS_CLIENT</a></div><div class="ttdef"><b>Definition:</b> <a href="peer_8h_source.html#l00047">peer.h:47</a></div></div>
-<div class="ttc" id="peer_8h_html_a9c37ce3fd7539154289dd17215179e2d"><div class="ttname"><a href="peer_8h.html#a9c37ce3fd7539154289dd17215179e2d">dtls_security_params_switch</a></div><div class="ttdeci">static void dtls_security_params_switch(dtls_peer_t *peer)</div><div class="ttdef"><b>Definition:</b> <a href="peer_8h_source.html#l00109">peer.h:109</a></div></div>
-<div class="ttc" id="dtls_8c_html_a3171c099d25ed29e31326526b8e1de84"><div class="ttname"><a href="dtls_8c.html#a3171c099d25ed29e31326526b8e1de84">dtls_free_context</a></div><div class="ttdeci">void dtls_free_context(dtls_context_t *ctx)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l03802">dtls.c:3802</a></div></div>
-<div class="ttc" id="peer_8h_html_ae30cd4bcffed73f79f17c09e5a1452c8"><div class="ttname"><a href="peer_8h.html#ae30cd4bcffed73f79f17c09e5a1452c8">dtls_peer_type</a></div><div class="ttdeci">dtls_peer_type</div><div class="ttdef"><b>Definition:</b> <a href="peer_8h_source.html#l00047">peer.h:47</a></div></div>
-<div class="ttc" id="structdtls__ecdsa__key__t_html"><div class="ttname"><a href="structdtls__ecdsa__key__t.html">dtls_ecdsa_key_t</a></div><div class="ttdef"><b>Definition:</b> <a href="dtls_8h_source.html#l00063">dtls.h:63</a></div></div>
-<div class="ttc" id="group__HMAC_html_ga3e84ddbef6bf0084252e16e6c547e332"><div class="ttname"><a href="group__HMAC.html#ga3e84ddbef6bf0084252e16e6c547e332">DTLS_HMAC_MAX</a></div><div class="ttdeci">#define DTLS_HMAC_MAX</div><div class="ttdef"><b>Definition:</b> <a href="hmac_8h_source.html#l00075">hmac.h:75</a></div></div>
-<div class="ttc" id="numeric_8h_html_a6914ee523b27539f4e441bede8c072b4"><div class="ttname"><a href="numeric_8h.html#a6914ee523b27539f4e441bede8c072b4">dtls_int_to_uint32</a></div><div class="ttdeci">static int dtls_int_to_uint32(unsigned char *field, uint32_t value)</div><div class="ttdef"><b>Definition:</b> <a href="numeric_8h_source.html#l00061">numeric.h:61</a></div></div>
-<div class="ttc" id="dtls_8c_html_a3db09acb5894f17f4745d7556555bea7"><div class="ttname"><a href="dtls_8c.html#a3db09acb5894f17f4745d7556555bea7">update_hs_hash</a></div><div class="ttdeci">static void update_hs_hash(dtls_peer_t *peer, uint8 *data, size_t length)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l01070">dtls.c:1070</a></div></div>
-<div class="ttc" id="dtls_8c_html_a5ddccf12706c8d18d80b7759454ca164"><div class="ttname"><a href="dtls_8c.html#a5ddccf12706c8d18d80b7759454ca164">DTLS_CKXEC_LENGTH</a></div><div class="ttdeci">#define DTLS_CKXEC_LENGTH</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l00085">dtls.c:85</a></div></div>
-<div class="ttc" id="dtls_8c_html_aecdb18ea2b899994542ec46b23528738"><div class="ttname"><a href="dtls_8c.html#aecdb18ea2b899994542ec46b23528738">cert_asn1_header</a></div><div class="ttdeci">static const unsigned char cert_asn1_header[]</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l00124">dtls.c:124</a></div></div>
-<div class="ttc" id="alert_8h_html_a41c9f2d4035bc6bf5a0f437842a9ecbda56a136f4d20b3ce9fb967eedb37371e0"><div class="ttname"><a href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda56a136f4d20b3ce9fb967eedb37371e0">DTLS_ALERT_DECRYPT_ERROR</a></div><div class="ttdef"><b>Definition:</b> <a href="alert_8h_source.html#l00055">alert.h:55</a></div></div>
-<div class="ttc" id="dtls_8c_html_a11f53d301448aa8f1dbcfaf77441bd9c"><div class="ttname"><a href="dtls_8c.html#a11f53d301448aa8f1dbcfaf77441bd9c">dtls_new_context</a></div><div class="ttdeci">dtls_context_t * dtls_new_context(void *app_data)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l03740">dtls.c:3740</a></div></div>
-<div class="ttc" id="t__list_8h_html_a10de2120be61f445c5989c983c1e133b"><div class="ttname"><a href="t__list_8h.html#a10de2120be61f445c5989c983c1e133b">list_remove</a></div><div class="ttdeci">static void list_remove(list_t list, void *item)</div><div class="ttdef"><b>Definition:</b> <a href="t__list_8h_source.html#l00101">t_list.h:101</a></div></div>
-<div class="ttc" id="netq_8h_html"><div class="ttname"><a href="netq_8h.html">netq.h</a></div></div>
-<div class="ttc" id="structdtls__handshake__parameters__t_html_a21ba88c7b062772beb75c5570d257898"><div class="ttname"><a href="structdtls__handshake__parameters__t.html#a21ba88c7b062772beb75c5570d257898">dtls_handshake_parameters_t::master_secret</a></div><div class="ttdeci">uint8 master_secret[DTLS_MASTER_SECRET_LENGTH]</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00122">crypto.h:122</a></div></div>
-<div class="ttc" id="dtls_8c_html_aee0f4f3d8541ea6ab9c204761cc6082e"><div class="ttname"><a href="dtls_8c.html#aee0f4f3d8541ea6ab9c204761cc6082e">A_DATA_LEN</a></div><div class="ttdeci">#define A_DATA_LEN</div></div>
-<div class="ttc" id="dtls_8c_html_aaafa285eb634873480c0ff429edd8064"><div class="ttname"><a href="dtls_8c.html#aaafa285eb634873480c0ff429edd8064">is_record</a></div><div class="ttdeci">static unsigned int is_record(uint8 *msg, size_t msglen)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l00361">dtls.c:361</a></div></div>
-<div class="ttc" id="dtls_8c_html_a0bcce8fa79dc3187eb5f1655798ac816"><div class="ttname"><a href="dtls_8c.html#a0bcce8fa79dc3187eb5f1655798ac816">DTLS_CV_LENGTH</a></div><div class="ttdeci">#define DTLS_CV_LENGTH</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l00086">dtls.c:86</a></div></div>
-<div class="ttc" id="dtls_8c_html_a9e02f1c6e70dab40e56d5131a259521a"><div class="ttname"><a href="dtls_8c.html#a9e02f1c6e70dab40e56d5131a259521a">malloc_context</a></div><div class="ttdeci">static dtls_context_t * malloc_context()</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l00152">dtls.c:152</a></div></div>
-<div class="ttc" id="alert_8h_html_a5bed06f27f571d7c7d9b9f212c3a0b22"><div class="ttname"><a href="alert_8h.html#a5bed06f27f571d7c7d9b9f212c3a0b22">DTLS_EVENT_CONNECTED</a></div><div class="ttdeci">#define DTLS_EVENT_CONNECTED</div><div class="ttdef"><b>Definition:</b> <a href="alert_8h_source.html#l00065">alert.h:65</a></div></div>
-<div class="ttc" id="debug_8h_html_ae1c22127c92fab70da7bf9cae8536e5c"><div class="ttname"><a href="debug_8h.html#ae1c22127c92fab70da7bf9cae8536e5c">dtls_warn</a></div><div class="ttdeci">#define dtls_warn(...)</div><div class="ttdef"><b>Definition:</b> <a href="debug_8h_source.html#l00136">debug.h:136</a></div></div>
-<div class="ttc" id="group__netq_html_gace12cd802d76d5bd98b2eaedc591fd22"><div class="ttname"><a href="group__netq.html#gace12cd802d76d5bd98b2eaedc591fd22">netq_remove</a></div><div class="ttdeci">void netq_remove(list_t queue, netq_t *p)</div><div class="ttdef"><b>Definition:</b> <a href="netq_8c_source.html#l00096">netq.c:96</a></div></div>
-<div class="ttc" id="dtls_8c_html_a872c53139e76cab7ec387cc54ae1a11b"><div class="ttname"><a href="dtls_8c.html#a872c53139e76cab7ec387cc54ae1a11b">dtls_send_handshake_msg</a></div><div class="ttdeci">static int dtls_send_handshake_msg(dtls_context_t *ctx, dtls_peer_t *peer, uint8 header_type, uint8 *data, size_t data_length)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l01361">dtls.c:1361</a></div></div>
-<div class="ttc" id="dtls_8c_html_abac8adda40bcb694e059e38f6ac115f9"><div class="ttname"><a href="dtls_8c.html#abac8adda40bcb694e059e38f6ac115f9">PRF_LABEL</a></div><div class="ttdeci">#define PRF_LABEL(Label)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l00114">dtls.c:114</a></div></div>
-<div class="ttc" id="dtls_8c_html_a45841106ebcb5b1373c0312842b90943"><div class="ttname"><a href="dtls_8c.html#a45841106ebcb5b1373c0312842b90943">dtls_create_cookie</a></div><div class="ttdeci">static int dtls_create_cookie(dtls_context_t *ctx, session_t *session, uint8 *msg, size_t msglen, uint8 *cookie, int *clen)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l00286">dtls.c:286</a></div></div>
-<div class="ttc" id="dtls_8c_html_a35d050593196252c1826ac2e82cbac0b"><div class="ttname"><a href="dtls_8c.html#a35d050593196252c1826ac2e82cbac0b">DTLS_RECORD_HEADER</a></div><div class="ttdeci">#define DTLS_RECORD_HEADER(M)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l00095">dtls.c:95</a></div></div>
-<div class="ttc" id="dtls_8h_html_a66566dfd30b8ab388c08b4cde6c667cc"><div class="ttname"><a href="dtls_8h.html#a66566dfd30b8ab388c08b4cde6c667cc">DTLS_HT_HELLO_REQUEST</a></div><div class="ttdeci">#define DTLS_HT_HELLO_REQUEST</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8h_source.html#l00342">dtls.h:342</a></div></div>
-<div class="ttc" id="global_8h_html_ada7e71454d685b693df45b2c1ea0c59b"><div class="ttname"><a href="global_8h.html#ada7e71454d685b693df45b2c1ea0c59b">dtls_cipher_t</a></div><div class="ttdeci">dtls_cipher_t</div><div class="ttdef"><b>Definition:</b> <a href="global_8h_source.html#l00074">global.h:74</a></div></div>
-<div class="ttc" id="dtls_8h_html_ab04f98f1863c785fabd97925c9746f7d"><div class="ttname"><a href="dtls_8h.html#ab04f98f1863c785fabd97925c9746f7d">DTLS_HT_HELLO_VERIFY_REQUEST</a></div><div class="ttdeci">#define DTLS_HT_HELLO_VERIFY_REQUEST</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8h_source.html#l00345">dtls.h:345</a></div></div>
-<div class="ttc" id="group__prng_html_gac68680277206146d06c9e5468f260ee0"><div class="ttname"><a href="group__prng.html#gac68680277206146d06c9e5468f260ee0">dtls_prng_init</a></div><div class="ttdeci">static void dtls_prng_init(unsigned short seed)</div><div class="ttdef"><b>Definition:</b> <a href="prng_8h_source.html#l00040">prng.h:40</a></div></div>
-<div class="ttc" id="alert_8h_html_a41c9f2d4035bc6bf5a0f437842a9ecbdaa392c9a6bb02b01386a1c34dc1947652"><div class="ttname"><a href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdaa392c9a6bb02b01386a1c34dc1947652">DTLS_ALERT_PROTOCOL_VERSION</a></div><div class="ttdef"><b>Definition:</b> <a href="alert_8h_source.html#l00056">alert.h:56</a></div></div>
-<div class="ttc" id="dtls_8c_html_a599f0d6e9134869e55b64c4f8720ebfa"><div class="ttname"><a href="dtls_8c.html#a599f0d6e9134869e55b64c4f8720ebfa">is_ecdsa_client_auth_supported</a></div><div class="ttdeci">static int is_ecdsa_client_auth_supported(dtls_context_t *ctx)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l00503">dtls.c:503</a></div></div>
-<div class="ttc" id="crypto_8h_html_a59cd7c0b8724e1f9b910611623396080"><div class="ttname"><a href="crypto_8h.html#a59cd7c0b8724e1f9b910611623396080">DTLS_PSK_MAX_KEY_LEN</a></div><div class="ttdeci">#define DTLS_PSK_MAX_KEY_LEN</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00092">crypto.h:92</a></div></div>
-<div class="ttc" id="ccm_8h_html_a5c46c97c6c3ef5d4e5bd616dbd064859"><div class="ttname"><a href="ccm_8h.html#a5c46c97c6c3ef5d4e5bd616dbd064859">DTLS_CCM_BLOCKSIZE</a></div><div class="ttdeci">#define DTLS_CCM_BLOCKSIZE</div><div class="ttdef"><b>Definition:</b> <a href="ccm_8h_source.html#l00033">ccm.h:33</a></div></div>
-<div class="ttc" id="alert_8h_html_a41c9f2d4035bc6bf5a0f437842a9ecbda2cc56008c097883058c0e2e8ecc6751e"><div class="ttname"><a href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda2cc56008c097883058c0e2e8ecc6751e">DTLS_ALERT_INSUFFICIENT_SECURITY</a></div><div class="ttdef"><b>Definition:</b> <a href="alert_8h_source.html#l00057">alert.h:57</a></div></div>
-<div class="ttc" id="state_8h_html_aea0e57fd5b857535960534b53361aa35a953a6aabd0aff0492df164e79815b122"><div class="ttname"><a href="state_8h.html#aea0e57fd5b857535960534b53361aa35a953a6aabd0aff0492df164e79815b122">DTLS_STATE_CONNECTED</a></div><div class="ttdef"><b>Definition:</b> <a href="state_8h_source.html#l00049">state.h:49</a></div></div>
-<div class="ttc" id="dtls_8c_html_a2b598b29d3148bfc02e826d94bbc0642"><div class="ttname"><a href="dtls_8c.html#a2b598b29d3148bfc02e826d94bbc0642">check_server_hello_verify_request</a></div><div class="ttdeci">static int check_server_hello_verify_request(dtls_context_t *ctx, dtls_peer_t *peer, uint8 *data, size_t data_length)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l02530">dtls.c:2530</a></div></div>
-<div class="ttc" id="dtls_8h_html_a36eda3add5e2d12a3b5e2b6fe7038e01a53b5588e3c87ce19b1340baf193d130c"><div class="ttname"><a href="dtls_8h.html#a36eda3add5e2d12a3b5e2b6fe7038e01a53b5588e3c87ce19b1340baf193d130c">DTLS_PSK_HINT</a></div><div class="ttdef"><b>Definition:</b> <a href="dtls_8h_source.html#l00060">dtls.h:60</a></div></div>
-<div class="ttc" id="dtls_8c_html_a88db0e7ffa0836761bef7b62ac3d2fb7"><div class="ttname"><a href="dtls_8c.html#a88db0e7ffa0836761bef7b62ac3d2fb7">check_server_certificate</a></div><div class="ttdeci">static int check_server_certificate(dtls_context_t *ctx, dtls_peer_t *peer, uint8 *data, size_t data_length)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l02552">dtls.c:2552</a></div></div>
-<div class="ttc" id="dtls_8c_html_a6b92c487825aa888acc0b55f5adc0220"><div class="ttname"><a href="dtls_8c.html#a6b92c487825aa888acc0b55f5adc0220">dtls_send_certificate_ecdsa</a></div><div class="ttdeci">static int dtls_send_certificate_ecdsa(dtls_context_t *ctx, dtls_peer_t *peer, const dtls_ecdsa_key_t *key)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l01834">dtls.c:1834</a></div></div>
-<div class="ttc" id="dtls_8c_html_a8bb6e8bb947b943d2af4c1886a8e72ba"><div class="ttname"><a href="dtls_8c.html#a8bb6e8bb947b943d2af4c1886a8e72ba">is_tls_psk_with_aes_128_ccm_8</a></div><div class="ttdeci">static int is_tls_psk_with_aes_128_ccm_8(dtls_cipher_t cipher)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l00471">dtls.c:471</a></div></div>
-<div class="ttc" id="crypto_8h_html_a1d3c04e5d39477a525b5255ab3240094"><div class="ttname"><a href="crypto_8h.html#a1d3c04e5d39477a525b5255ab3240094">dtls_kb_client_iv</a></div><div class="ttdeci">#define dtls_kb_client_iv(Param, Role)</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00168">crypto.h:168</a></div></div>
-<div class="ttc" id="dtls_8c_html_ac203466e393ac9030d405c8f0496e9cd"><div class="ttname"><a href="dtls_8c.html#ac203466e393ac9030d405c8f0496e9cd">dtls_init</a></div><div class="ttdeci">void dtls_init()</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l00163">dtls.c:163</a></div></div>
-<div class="ttc" id="group__prng_html_ga3f4036a1abfcec552ab583a2dc37be6c"><div class="ttname"><a href="group__prng.html#ga3f4036a1abfcec552ab583a2dc37be6c">dtls_prng</a></div><div class="ttdeci">static int dtls_prng(unsigned char *buf, size_t len)</div><div class="ttdef"><b>Definition:</b> <a href="prng_8h_source.html#l00033">prng.h:33</a></div></div>
-<div class="ttc" id="group__netq_html_ga9ef9da1a2af266dadef83ddf6c8524d7"><div class="ttname"><a href="group__netq.html#ga9ef9da1a2af266dadef83ddf6c8524d7">netq_node_free</a></div><div class="ttdeci">void netq_node_free(netq_t *node)</div><div class="ttdef"><b>Definition:</b> <a href="netq_8c_source.html#l00127">netq.c:127</a></div></div>
-<div class="ttc" id="global_8h_html_acdbfba15eb1a5692e177d582b4ca1583"><div class="ttname"><a href="global_8h.html#acdbfba15eb1a5692e177d582b4ca1583">DTLS_MAX_BUF</a></div><div class="ttdeci">#define DTLS_MAX_BUF</div><div class="ttdef"><b>Definition:</b> <a href="global_8h_source.html#l00064">global.h:64</a></div></div>
-<div class="ttc" id="global_8h_html_a8277c276ecd5cd2f998f08fd344d90ef"><div class="ttname"><a href="global_8h.html#a8277c276ecd5cd2f998f08fd344d90ef">equals</a></div><div class="ttdeci">static int equals(unsigned char *a, unsigned char *b, size_t len)</div><div class="ttdef"><b>Definition:</b> <a href="global_8h_source.html#l00127">global.h:127</a></div></div>
-<div class="ttc" id="debug_8h_html_a24b1e8ecaa65f684d879ed9d5c37119d"><div class="ttname"><a href="debug_8h.html#a24b1e8ecaa65f684d879ed9d5c37119d">dtls_debug_hexdump</a></div><div class="ttdeci">#define dtls_debug_hexdump(name, buf, length)</div><div class="ttdef"><b>Definition:</b> <a href="debug_8h_source.html#l00140">debug.h:140</a></div></div>
-<div class="ttc" id="crypto_8h_html_a726ef8efa2e072c3c5e1ea1019e716aa"><div class="ttname"><a href="crypto_8h.html#a726ef8efa2e072c3c5e1ea1019e716aa">dtls_kb_key_size</a></div><div class="ttdeci">#define dtls_kb_key_size(Param, Role)</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00167">crypto.h:167</a></div></div>
-<div class="ttc" id="hmac_8h_html_a96801bbb62f4c9c872b22cd8e438e51e"><div class="ttname"><a href="hmac_8h.html#a96801bbb62f4c9c872b22cd8e438e51e">dtls_hash_finalize</a></div><div class="ttdeci">static size_t dtls_hash_finalize(unsigned char *buf, dtls_hash_t ctx)</div><div class="ttdef"><b>Definition:</b> <a href="hmac_8h_source.html#l00053">hmac.h:53</a></div></div>
-<div class="ttc" id="structnetq__t_html_ac72c9378282becab5a273f612f58c124"><div class="ttname"><a href="structnetq__t.html#ac72c9378282becab5a273f612f58c124">netq_t::length</a></div><div class="ttdeci">size_t length</div><div class="ttdef"><b>Definition:</b> <a href="netq_8h_source.html#l00049">netq.h:49</a></div></div>
-<div class="ttc" id="dtls_8c_html_af073bf7cefa5e49e0c939e853678d417"><div class="ttname"><a href="dtls_8c.html#af073bf7cefa5e49e0c939e853678d417">verify_ext_cert_type</a></div><div class="ttdeci">static int verify_ext_cert_type(uint8 *data, size_t data_length)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l00725">dtls.c:725</a></div></div>
-<div class="ttc" id="dtls_8c_html_ad9481c39cd66eac3059df28aef1e9843"><div class="ttname"><a href="dtls_8c.html#ad9481c39cd66eac3059df28aef1e9843">DTLS_SKEXEC_LENGTH</a></div><div class="ttdeci">#define DTLS_SKEXEC_LENGTH</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l00081">dtls.c:81</a></div></div>
-<div class="ttc" id="peer_8h_html_ab6e209f206f570eed246530ec7960943"><div class="ttname"><a href="peer_8h.html#ab6e209f206f570eed246530ec7960943">dtls_security_params_next</a></div><div class="ttdeci">static dtls_security_parameters_t * dtls_security_params_next(dtls_peer_t *peer)</div><div class="ttdef"><b>Definition:</b> <a href="peer_8h_source.html#l00084">peer.h:84</a></div></div>
-<div class="ttc" id="numeric_8h_html_a7b602967e2fc28b0be02bd4585e255d0"><div class="ttname"><a href="numeric_8h.html#a7b602967e2fc28b0be02bd4585e255d0">dtls_int_to_uint8</a></div><div class="ttdeci">static int dtls_int_to_uint8(unsigned char *field, uint8_t value)</div><div class="ttdef"><b>Definition:</b> <a href="numeric_8h_source.html#l00040">numeric.h:40</a></div></div>
-<div class="ttc" id="peer_8c_html_a0297e9d772bfca004a98462d9c7d2828"><div class="ttname"><a href="peer_8c.html#a0297e9d772bfca004a98462d9c7d2828">peer_init</a></div><div class="ttdeci">void peer_init()</div><div class="ttdef"><b>Definition:</b> <a href="peer_8c_source.html#l00031">peer.c:31</a></div></div>
-<div class="ttc" id="numeric_8h_html"><div class="ttname"><a href="numeric_8h.html">numeric.h</a></div></div>
-<div class="ttc" id="global_8h_html_ab27072920285996a3e16d2e5e3d366be"><div class="ttname"><a href="global_8h.html#ab27072920285996a3e16d2e5e3d366be">uint32</a></div><div class="ttdeci">unsigned char uint32[4]</div><div class="ttdef"><b>Definition:</b> <a href="global_8h_source.html#l00050">global.h:50</a></div></div>
-<div class="ttc" id="prng_8h_html"><div class="ttname"><a href="prng_8h.html">prng.h</a></div><div class="ttdoc">Pseudo Random Numbers. </div></div>
-<div class="ttc" id="dtls_8c_html_aa89745c0af073102c9c350d28a84214d"><div class="ttname"><a href="dtls_8c.html#aa89745c0af073102c9c350d28a84214d">dtls_send_multi</a></div><div class="ttdeci">static int dtls_send_multi(dtls_context_t *ctx, dtls_peer_t *peer, dtls_security_parameters_t *security, session_t *session, unsigned char type, uint8 *buf_array[], size_t buf_len_array[], size_t buf_array_len)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l01407">dtls.c:1407</a></div></div>
-<div class="ttc" id="structdtls__security__parameters__t_html"><div class="ttname"><a href="structdtls__security__parameters__t.html">dtls_security_parameters_t</a></div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00099">crypto.h:99</a></div></div>
-<div class="ttc" id="dtls_8c_html_aecd3ffe8bf8a3970d3e091ce8e7c6476"><div class="ttname"><a href="dtls_8c.html#aecd3ffe8bf8a3970d3e091ce8e7c6476">dtls_send_client_hello</a></div><div class="ttdeci">static int dtls_send_client_hello(dtls_context_t *ctx, dtls_peer_t *peer, uint8 cookie[], size_t cookie_length)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l02308">dtls.c:2308</a></div></div>
-<div class="ttc" id="dtls_8h_html_aa9ebc35a08295c2ae09d4248ba8e6456"><div class="ttname"><a href="dtls_8h.html#aa9ebc35a08295c2ae09d4248ba8e6456">dtls_client_hello_t</a></div><div class="ttdeci">dtls_client_hello_t</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8h_source.html#l00373">dtls.h:373</a></div></div>
-<div class="ttc" id="structdtls__security__parameters__t_html_a2bce1fa0bf77eeab8fadca824de602da"><div class="ttname"><a href="structdtls__security__parameters__t.html#a2bce1fa0bf77eeab8fadca824de602da">dtls_security_parameters_t::epoch</a></div><div class="ttdeci">uint16_t epoch</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00103">crypto.h:103</a></div></div>
-<div class="ttc" id="state_8h_html_aea0e57fd5b857535960534b53361aa35aa58cb54cde33e338814177a41ca2df6b"><div class="ttname"><a href="state_8h.html#aea0e57fd5b857535960534b53361aa35aa58cb54cde33e338814177a41ca2df6b">DTLS_STATE_WAIT_SERVERCERTIFICATE</a></div><div class="ttdef"><b>Definition:</b> <a href="state_8h_source.html#l00046">state.h:46</a></div></div>
-<div class="ttc" id="dtls_8c_html_a81061928e291b6a3e7701f6a7f51b6f3"><div class="ttname"><a href="dtls_8c.html#a81061928e291b6a3e7701f6a7f51b6f3">dtls_destroy_peer</a></div><div class="ttdeci">static void dtls_destroy_peer(dtls_context_t *ctx, dtls_peer_t *peer, int unlink)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l01508">dtls.c:1508</a></div></div>
-<div class="ttc" id="dtls_8c_html_a51ab17e2a5ac1566ba4249b787bb98a3"><div class="ttname"><a href="dtls_8c.html#a51ab17e2a5ac1566ba4249b787bb98a3">dtls_send_server_certificate_request</a></div><div class="ttdeci">static int dtls_send_server_certificate_request(dtls_context_t *ctx, dtls_peer_t *peer)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l02019">dtls.c:2019</a></div></div>
-<div class="ttc" id="dtls_8c_html_a2cf5795397ac5779f281543fc0f44ae9"><div class="ttname"><a href="dtls_8c.html#a2cf5795397ac5779f281543fc0f44ae9">S_KEY_OFFSET</a></div><div class="ttdeci">#define S_KEY_OFFSET(len_s)</div></div>
-<div class="ttc" id="dtls_8c_html_a4b3eda5556d76e045b42b93055944ddd"><div class="ttname"><a href="dtls_8c.html#a4b3eda5556d76e045b42b93055944ddd">dtls_debug_keyblock</a></div><div class="ttdeci">static void dtls_debug_keyblock(dtls_security_parameters_t *config)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l00533">dtls.c:533</a></div></div>
-<div class="ttc" id="peer_8c_html_a209e22be64be13e116711829d21d864c"><div class="ttname"><a href="peer_8c.html#a209e22be64be13e116711829d21d864c">dtls_new_peer</a></div><div class="ttdeci">dtls_peer_t * dtls_new_peer(const session_t *session)</div><div class="ttdef"><b>Definition:</b> <a href="peer_8c_source.html#l00072">peer.c:72</a></div></div>
-<div class="ttc" id="structdtls__context__t_html_ab37722ec6b82dd3120827812f212a51e"><div class="ttname"><a href="structdtls__context__t.html#ab37722ec6b82dd3120827812f212a51e">dtls_context_t::app</a></div><div class="ttdeci">void * app</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8h_source.html#l00237">dtls.h:237</a></div></div>
-<div class="ttc" id="state_8h_html_aea0e57fd5b857535960534b53361aa35abdb6292772d18296f76c90fdc2533ab9"><div class="ttname"><a href="state_8h.html#aea0e57fd5b857535960534b53361aa35abdb6292772d18296f76c90fdc2533ab9">DTLS_STATE_WAIT_CLIENTCERTIFICATE</a></div><div class="ttdef"><b>Definition:</b> <a href="state_8h_source.html#l00041">state.h:41</a></div></div>
-<div class="ttc" id="alert_8h_html_a06e52ce3a2909c8f5a3d47d2c0346124"><div class="ttname"><a href="alert_8h.html#a06e52ce3a2909c8f5a3d47d2c0346124">DTLS_EVENT_RENEGOTIATE</a></div><div class="ttdeci">#define DTLS_EVENT_RENEGOTIATE</div><div class="ttdef"><b>Definition:</b> <a href="alert_8h_source.html#l00068">alert.h:68</a></div></div>
-<div class="ttc" id="dtls_8h_html_a55a0a899d7f151e7f53b76fe8a82c10e"><div class="ttname"><a href="dtls_8h.html#a55a0a899d7f151e7f53b76fe8a82c10e">DTLS_HT_CERTIFICATE</a></div><div class="ttdeci">#define DTLS_HT_CERTIFICATE</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8h_source.html#l00346">dtls.h:346</a></div></div>
-<div class="ttc" id="dtls_8h_html_abd61d526ef995e63a6debfd8ddda9e98"><div class="ttname"><a href="dtls_8h.html#abd61d526ef995e63a6debfd8ddda9e98">dtls_hello_verify_t</a></div><div class="ttdeci">dtls_hello_verify_t</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8h_source.html#l00380">dtls.h:380</a></div></div>
-<div class="ttc" id="structdtls__handshake__parameters__t_html"><div class="ttname"><a href="structdtls__handshake__parameters__t.html">dtls_handshake_parameters_t</a></div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00115">crypto.h:115</a></div></div>
-<div class="ttc" id="dtls_8c_html_a1e338587fb19c794c8d19bc2801f2eb2"><div class="ttname"><a href="dtls_8c.html#a1e338587fb19c794c8d19bc2801f2eb2">dtls_write</a></div><div class="ttdeci">int dtls_write(struct dtls_context_t *ctx, session_t *dst, uint8 *buf, size_t len)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l00236">dtls.c:236</a></div></div>
-<div class="ttc" id="global_8h_html_af36d51830256b7d1bf4dbaa8590c19e4"><div class="ttname"><a href="global_8h.html#af36d51830256b7d1bf4dbaa8590c19e4">TLS_CERT_TYPE_RAW_PUBLIC_KEY</a></div><div class="ttdeci">#define TLS_CERT_TYPE_RAW_PUBLIC_KEY</div><div class="ttdef"><b>Definition:</b> <a href="global_8h_source.html#l00092">global.h:92</a></div></div>
-<div class="ttc" id="dtls_8c_html_affe47ee08ad0e6a54d4f0c2a7f412675"><div class="ttname"><a href="dtls_8c.html#affe47ee08ad0e6a54d4f0c2a7f412675">DTLS_CH_LENGTH</a></div><div class="ttdeci">#define DTLS_CH_LENGTH</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l00075">dtls.c:75</a></div></div>
-<div class="ttc" id="dtls_8c_html_a8546683053c19be38b23aa9042139f4b"><div class="ttname"><a href="dtls_8c.html#a8546683053c19be38b23aa9042139f4b">dtls_get_cookie</a></div><div class="ttdeci">static int dtls_get_cookie(uint8 *msg, size_t msglen, uint8 **cookie)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l00261">dtls.c:261</a></div></div>
-<div class="ttc" id="state_8h_html_aea0e57fd5b857535960534b53361aa35a1bb7cd2cdb77a9cdc5a5df541e8d99c4"><div class="ttname"><a href="state_8h.html#aea0e57fd5b857535960534b53361aa35a1bb7cd2cdb77a9cdc5a5df541e8d99c4">DTLS_STATE_WAIT_CERTIFICATEVERIFY</a></div><div class="ttdef"><b>Definition:</b> <a href="state_8h_source.html#l00042">state.h:42</a></div></div>
-<div class="ttc" id="dtls_8c_html_ab9733484b9a23775b1bc8b3d723282e5"><div class="ttname"><a href="dtls_8c.html#ab9733484b9a23775b1bc8b3d723282e5">dtls_prepare_record</a></div><div class="ttdeci">static int dtls_prepare_record(dtls_peer_t *peer, dtls_security_parameters_t *security, unsigned char type, uint8 *data_array[], size_t data_len_array[], size_t data_array_len, uint8 *sendbuf, size_t *rlen)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l01180">dtls.c:1180</a></div></div>
-<div class="ttc" id="dtls_8h_html_a577885c74492a460729a451f33a894c4"><div class="ttname"><a href="dtls_8h.html#a577885c74492a460729a451f33a894c4">DTLS_HT_CLIENT_KEY_EXCHANGE</a></div><div class="ttdeci">#define DTLS_HT_CLIENT_KEY_EXCHANGE</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8h_source.html#l00351">dtls.h:351</a></div></div>
-<div class="ttc" id="dtls_8c_html_ab50d1ee589e91d07032d0a65768dee82"><div class="ttname"><a href="dtls_8c.html#ab50d1ee589e91d07032d0a65768dee82">dtls_check_retransmit</a></div><div class="ttdeci">void dtls_check_retransmit(dtls_context_t *context, clock_time_t *next)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l03957">dtls.c:3957</a></div></div>
-<div class="ttc" id="dtls_8c_html_a24e7d6ad9fc0d87b7285615123bdd43d"><div class="ttname"><a href="dtls_8c.html#a24e7d6ad9fc0d87b7285615123bdd43d">handle_handshake_msg</a></div><div class="ttdeci">static int handle_handshake_msg(dtls_context_t *ctx, dtls_peer_t *peer, session_t *session, const dtls_peer_type role, const dtls_state_t state, uint8 *data, size_t data_length)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l02992">dtls.c:2992</a></div></div>
-<div class="ttc" id="dtls_8h_html_a44ec206b1d84aa3d83281a92ed7cc238"><div class="ttname"><a href="dtls_8h.html#a44ec206b1d84aa3d83281a92ed7cc238">DTLS_COOKIE_SECRET_LENGTH</a></div><div class="ttdeci">#define DTLS_COOKIE_SECRET_LENGTH</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8h_source.html#l00071">dtls.h:71</a></div></div>
-<div class="ttc" id="crypto_8h_html_acdd95c24ec6aebf14dac6ee4386a79be"><div class="ttname"><a href="crypto_8h.html#acdd95c24ec6aebf14dac6ee4386a79be">dtls_kb_server_iv</a></div><div class="ttdeci">#define dtls_kb_server_iv(Param, Role)</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00170">crypto.h:170</a></div></div>
-<div class="ttc" id="dtls_8c_html_a520419d1976b301c508721faed549b4f"><div class="ttname"><a href="dtls_8c.html#a520419d1976b301c508721faed549b4f">DTLS_HS_LENGTH</a></div><div class="ttdeci">#define DTLS_HS_LENGTH</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l00074">dtls.c:74</a></div></div>
-<div class="ttc" id="dtls_8c_html_a69edf0296cf64026686d4ff4424d4e8f"><div class="ttname"><a href="dtls_8c.html#a69edf0296cf64026686d4ff4424d4e8f">LOW</a></div><div class="ttdeci">#define LOW(V)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l00093">dtls.c:93</a></div></div>
-<div class="ttc" id="dtls_8c_html_adb41bf916dc34af5cd79003a9243b727"><div class="ttname"><a href="dtls_8c.html#adb41bf916dc34af5cd79003a9243b727">finalize_hs_hash</a></div><div class="ttdeci">static size_t finalize_hs_hash(dtls_peer_t *peer, uint8 *buf)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l01082">dtls.c:1082</a></div></div>
-<div class="ttc" id="dtls_8c_html_ae4a2961a027959f907145f82ca9107c3"><div class="ttname"><a href="dtls_8c.html#ae4a2961a027959f907145f82ca9107c3">dtls_add_peer</a></div><div class="ttdeci">static void dtls_add_peer(dtls_context_t *ctx, dtls_peer_t *peer)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l00227">dtls.c:227</a></div></div>
-<div class="ttc" id="crypto_8h_html_a7c9e39188a2e50eb942ce8c7cd8add36"><div class="ttname"><a href="crypto_8h.html#a7c9e39188a2e50eb942ce8c7cd8add36">dtls_kb_local_write_key</a></div><div class="ttdeci">#define dtls_kb_local_write_key(Param, Role)</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00163">crypto.h:163</a></div></div>
-<div class="ttc" id="dtls_8c_html_aa5a8f0d3793bb3b194ca364b596ab01d"><div class="ttname"><a href="dtls_8c.html#aa5a8f0d3793bb3b194ca364b596ab01d">HIGH</a></div><div class="ttdeci">#define HIGH(V)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l00092">dtls.c:92</a></div></div>
-<div class="ttc" id="dtls_8c_html_a00707f0f82235a2432338e77dae0911d"><div class="ttname"><a href="dtls_8c.html#a00707f0f82235a2432338e77dae0911d">dtls_handshake_type_to_name</a></div><div class="ttdeci">static char * dtls_handshake_type_to_name(int type)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l00565">dtls.c:565</a></div></div>
-<div class="ttc" id="debug_8h_html_a5cae2fb7fec0dd9e63cf2d755642cd9da87f82ea2bdc3f03d9f6d3355a5f8a020"><div class="ttname"><a href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9da87f82ea2bdc3f03d9f6d3355a5f8a020">DTLS_LOG_DEBUG</a></div><div class="ttdef"><b>Definition:</b> <a href="debug_8h_source.html#l00067">debug.h:67</a></div></div>
-<div class="ttc" id="global_8h_html_a5e90b30856b81913af89565b55751da5"><div class="ttname"><a href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a></div><div class="ttdeci">unsigned char uint16[2]</div><div class="ttdef"><b>Definition:</b> <a href="global_8h_source.html#l00048">global.h:48</a></div></div>
-<div class="ttc" id="crypto_8c_html_a5e47576e502b5a6255f1b489a4915512"><div class="ttname"><a href="crypto_8c.html#a5e47576e502b5a6255f1b489a4915512">dtls_prf</a></div><div class="ttdeci">size_t dtls_prf(const unsigned char *key, size_t keylen, const unsigned char *label, size_t labellen, const unsigned char *random1, size_t random1len, const unsigned char *random2, size_t random2len, unsigned char *buf, size_t buflen)</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8c_source.html#l00249">crypto.c:249</a></div></div>
-<div class="ttc" id="group__netq_html_ga142c8e39fe2cd55250e3c1f0370dfe6b"><div class="ttname"><a href="group__netq.html#ga142c8e39fe2cd55250e3c1f0370dfe6b">netq_insert_node</a></div><div class="ttdeci">int netq_insert_node(list_t queue, netq_t *node)</div><div class="ttdef"><b>Definition:</b> <a href="netq_8c_source.html#l00061">netq.c:61</a></div></div>
-<div class="ttc" id="dtls_8h_html_a3114c327a12e3850e97c4cf8a0cc5c9d"><div class="ttname"><a href="dtls_8h.html#a3114c327a12e3850e97c4cf8a0cc5c9d">DTLS_CT_CHANGE_CIPHER_SPEC</a></div><div class="ttdeci">#define DTLS_CT_CHANGE_CIPHER_SPEC</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8h_source.html#l00325">dtls.h:325</a></div></div>
-<div class="ttc" id="numeric_8h_html_a238931e9197ce422acfba569deb2af71"><div class="ttname"><a href="numeric_8h.html#a238931e9197ce422acfba569deb2af71">dtls_uint24_to_int</a></div><div class="ttdeci">static uint32_t dtls_uint24_to_int(const unsigned char *field)</div><div class="ttdef"><b>Definition:</b> <a href="numeric_8h_source.html#l00105">numeric.h:105</a></div></div>
-<div class="ttc" id="group__clock_html_ga1834985745ba5d3dd03f7e7498e3a304"><div class="ttname"><a href="group__clock.html#ga1834985745ba5d3dd03f7e7498e3a304">dtls_ticks</a></div><div class="ttdeci">void dtls_ticks(dtls_tick_t *t)</div><div class="ttdef"><b>Definition:</b> <a href="dtls__time_8c_source.html#l00067">dtls_time.c:67</a></div></div>
-<div class="ttc" id="dtls_8c_html_aa2f1fb16f297640b319ff0d864139ea5"><div class="ttname"><a href="dtls_8c.html#aa2f1fb16f297640b319ff0d864139ea5">free_context</a></div><div class="ttdeci">static void free_context(dtls_context_t *context)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l00157">dtls.c:157</a></div></div>
-<div class="ttc" id="dtls_8c_html_ae35671d94ccea5f335546ce409aed601"><div class="ttname"><a href="dtls_8c.html#ae35671d94ccea5f335546ce409aed601">compression_methods</a></div><div class="ttdeci">static uint8 compression_methods[]</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l00456">dtls.c:456</a></div></div>
-<div class="ttc" id="dtls_8c_html_a9cfb3c9e63f378d0d8e3d3d0c60537a5"><div class="ttname"><a href="dtls_8c.html#a9cfb3c9e63f378d0d8e3d3d0c60537a5">dtls_send_ccs</a></div><div class="ttdeci">static int dtls_send_ccs(dtls_context_t *ctx, dtls_peer_t *peer)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l02156">dtls.c:2156</a></div></div>
-<div class="ttc" id="dtls_8c_html_a4d7a16c9d0cd28666a2cc8ec471aa664"><div class="ttname"><a href="dtls_8c.html#a4d7a16c9d0cd28666a2cc8ec471aa664">handle_ccs</a></div><div class="ttdeci">static int handle_ccs(dtls_context_t *ctx, dtls_peer_t *peer, uint8 *record_header, uint8 *data, size_t data_length)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l03457">dtls.c:3457</a></div></div>
-<div class="ttc" id="dtls_8c_html_a4c7a26bc520ac2ac88b4758e0fb84f1e"><div class="ttname"><a href="dtls_8c.html#a4c7a26bc520ac2ac88b4758e0fb84f1e">dtls_alert_send_from_err</a></div><div class="ttdeci">static int dtls_alert_send_from_err(dtls_context_t *ctx, dtls_peer_t *peer, session_t *session, int err)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l03559">dtls.c:3559</a></div></div>
-<div class="ttc" id="crypto_8c_html_aac32554190e3970917a31ff01eed4080"><div class="ttname"><a href="crypto_8c.html#aac32554190e3970917a31ff01eed4080">dtls_decrypt</a></div><div class="ttdeci">int dtls_decrypt(const unsigned char *src, size_t length, unsigned char *buf, unsigned char *nounce, unsigned char *key, size_t keylen, const unsigned char *aad, size_t la)</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8c_source.html#l00550">crypto.c:550</a></div></div>
-<div class="ttc" id="debug_8h_html_a94fa8dba0861075ba507ea0417fd83c8"><div class="ttname"><a href="debug_8h.html#a94fa8dba0861075ba507ea0417fd83c8">dtls_emerg</a></div><div class="ttdeci">#define dtls_emerg(...)</div><div class="ttdef"><b>Definition:</b> <a href="debug_8h_source.html#l00133">debug.h:133</a></div></div>
-<div class="ttc" id="structdtls__peer__t_html_aeca80f1bcbcfdba89a2ab08e4bc48120"><div class="ttname"><a href="structdtls__peer__t.html#aeca80f1bcbcfdba89a2ab08e4bc48120">dtls_peer_t::role</a></div><div class="ttdeci">dtls_peer_type role</div><div class="ttdef"><b>Definition:</b> <a href="peer_8h_source.html#l00061">peer.h:61</a></div></div>
-<div class="ttc" id="structdtls__hs__state__t_html_a694ce15382e7504a750a1b102ad8ec32"><div class="ttname"><a href="structdtls__hs__state__t.html#a694ce15382e7504a750a1b102ad8ec32">dtls_hs_state_t::mseq_s</a></div><div class="ttdeci">uint16_t mseq_s</div><div class="ttdef"><b>Definition:</b> <a href="state_8h_source.html#l00055">state.h:55</a></div></div>
-<div class="ttc" id="dtls_8c_html_adc4e7aa5066240a362341bbdb998bc71"><div class="ttname"><a href="dtls_8c.html#adc4e7aa5066240a362341bbdb998bc71">decrypt_verify</a></div><div class="ttdeci">static int decrypt_verify(dtls_peer_t *peer, uint8 *packet, size_t length, uint8 **cleartext)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l02877">dtls.c:2877</a></div></div>
-<div class="ttc" id="uthash_8h_html"><div class="ttname"><a href="uthash_8h.html">uthash.h</a></div></div>
-<div class="ttc" id="global_8h_html_a0074adc0b2543a913a597e510caf27b0"><div class="ttname"><a href="global_8h.html#a0074adc0b2543a913a597e510caf27b0">TLS_EXT_CLIENT_CERTIFICATE_TYPE</a></div><div class="ttdeci">#define TLS_EXT_CLIENT_CERTIFICATE_TYPE</div><div class="ttdef"><b>Definition:</b> <a href="global_8h_source.html#l00088">global.h:88</a></div></div>
-<div class="ttc" id="state_8h_html_aea0e57fd5b857535960534b53361aa35a1a76f1e49c80d22df9673f8471d1ec53"><div class="ttname"><a href="state_8h.html#aea0e57fd5b857535960534b53361aa35a1a76f1e49c80d22df9673f8471d1ec53">DTLS_STATE_CLIENTHELLO</a></div><div class="ttdef"><b>Definition:</b> <a href="state_8h_source.html#l00046">state.h:46</a></div></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/dtls_8h.html b/external/wakaama/examples/shared/tinydtls/doc/html/dtls_8h.html
deleted file mode 100644 (file)
index 3be9666..0000000
+++ /dev/null
@@ -1,1090 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: dtls.h File Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#nested-classes">Data Structures</a> &#124;
-<a href="#define-members">Macros</a> &#124;
-<a href="#typedef-members">Typedefs</a> &#124;
-<a href="#enum-members">Enumerations</a> &#124;
-<a href="#func-members">Functions</a> &#124;
-<a href="#var-members">Variables</a>  </div>
-  <div class="headertitle">
-<div class="title">dtls.h File Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p>High level DTLS API and visible structures.  
-<a href="#details">More...</a></p>
-<div class="textblock"><code>#include &lt;stdint.h&gt;</code><br/>
-<code>#include &quot;<a class="el" href="t__list_8h_source.html">t_list.h</a>&quot;</code><br/>
-<code>#include &quot;<a class="el" href="state_8h_source.html">state.h</a>&quot;</code><br/>
-<code>#include &quot;<a class="el" href="peer_8h_source.html">peer.h</a>&quot;</code><br/>
-<code>#include &quot;<a class="el" href="uthash_8h_source.html">uthash.h</a>&quot;</code><br/>
-<code>#include &quot;<a class="el" href="alert_8h_source.html">alert.h</a>&quot;</code><br/>
-<code>#include &quot;<a class="el" href="crypto_8h_source.html">crypto.h</a>&quot;</code><br/>
-<code>#include &quot;<a class="el" href="hmac_8h_source.html">hmac.h</a>&quot;</code><br/>
-<code>#include &quot;<a class="el" href="global_8h_source.html">global.h</a>&quot;</code><br/>
-<code>#include &quot;<a class="el" href="dtls__time_8h_source.html">dtls_time.h</a>&quot;</code><br/>
-</div>
-<p><a href="dtls_8h_source.html">Go to the source code of this file.</a></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
-Data Structures</h2></td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdtls__ecdsa__key__t.html">dtls_ecdsa_key_t</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdtls__handler__t.html">dtls_handler_t</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdtls__context__t.html">dtls_context_t</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
-Macros</h2></td></tr>
-<tr class="memitem:af0c44db3bf3a6a52e9ed271218daeaa6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8h.html#af0c44db3bf3a6a52e9ed271218daeaa6">DTLS_VERSION</a>&#160;&#160;&#160;0xfefd       /* DTLS v1.2 */</td></tr>
-<tr class="separator:af0c44db3bf3a6a52e9ed271218daeaa6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a44ec206b1d84aa3d83281a92ed7cc238"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8h.html#a44ec206b1d84aa3d83281a92ed7cc238">DTLS_COOKIE_SECRET_LENGTH</a>&#160;&#160;&#160;12</td></tr>
-<tr class="separator:a44ec206b1d84aa3d83281a92ed7cc238"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a89611ebcb02bb3bbf56dfb583937586e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8h.html#a89611ebcb02bb3bbf56dfb583937586e">dtls_set_app_data</a>(CTX, DATA)&#160;&#160;&#160;((CTX)-&gt;app = (DATA))</td></tr>
-<tr class="separator:a89611ebcb02bb3bbf56dfb583937586e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a95f7eb485bb814aa308e2612681176d9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8h.html#a95f7eb485bb814aa308e2612681176d9">dtls_get_app_data</a>(CTX)&#160;&#160;&#160;((CTX)-&gt;app)</td></tr>
-<tr class="separator:a95f7eb485bb814aa308e2612681176d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a09e4f571633bdb724236ac68459715b6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8h.html#a09e4f571633bdb724236ac68459715b6">DTLS_COOKIE_LENGTH</a>&#160;&#160;&#160;16</td></tr>
-<tr class="separator:a09e4f571633bdb724236ac68459715b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3114c327a12e3850e97c4cf8a0cc5c9d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8h.html#a3114c327a12e3850e97c4cf8a0cc5c9d">DTLS_CT_CHANGE_CIPHER_SPEC</a>&#160;&#160;&#160;20</td></tr>
-<tr class="separator:a3114c327a12e3850e97c4cf8a0cc5c9d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af8ce2230240b6d3c36b216ef459baff1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8h.html#af8ce2230240b6d3c36b216ef459baff1">DTLS_CT_ALERT</a>&#160;&#160;&#160;21</td></tr>
-<tr class="separator:af8ce2230240b6d3c36b216ef459baff1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a76965db5ec449b3c8a9a54c24a4d45dc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8h.html#a76965db5ec449b3c8a9a54c24a4d45dc">DTLS_CT_HANDSHAKE</a>&#160;&#160;&#160;22</td></tr>
-<tr class="separator:a76965db5ec449b3c8a9a54c24a4d45dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2e3ff1e96b8b7db8a3648beba35bfd0c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8h.html#a2e3ff1e96b8b7db8a3648beba35bfd0c">DTLS_CT_APPLICATION_DATA</a>&#160;&#160;&#160;23</td></tr>
-<tr class="separator:a2e3ff1e96b8b7db8a3648beba35bfd0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a66566dfd30b8ab388c08b4cde6c667cc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8h.html#a66566dfd30b8ab388c08b4cde6c667cc">DTLS_HT_HELLO_REQUEST</a>&#160;&#160;&#160;0</td></tr>
-<tr class="separator:a66566dfd30b8ab388c08b4cde6c667cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a25f0afef67a1fd8d9e3e61074d11e2f5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8h.html#a25f0afef67a1fd8d9e3e61074d11e2f5">DTLS_HT_CLIENT_HELLO</a>&#160;&#160;&#160;1</td></tr>
-<tr class="separator:a25f0afef67a1fd8d9e3e61074d11e2f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad5882a5ff4073ffefa266bb2c4a1ee3c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8h.html#ad5882a5ff4073ffefa266bb2c4a1ee3c">DTLS_HT_SERVER_HELLO</a>&#160;&#160;&#160;2</td></tr>
-<tr class="separator:ad5882a5ff4073ffefa266bb2c4a1ee3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab04f98f1863c785fabd97925c9746f7d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8h.html#ab04f98f1863c785fabd97925c9746f7d">DTLS_HT_HELLO_VERIFY_REQUEST</a>&#160;&#160;&#160;3</td></tr>
-<tr class="separator:ab04f98f1863c785fabd97925c9746f7d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a55a0a899d7f151e7f53b76fe8a82c10e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8h.html#a55a0a899d7f151e7f53b76fe8a82c10e">DTLS_HT_CERTIFICATE</a>&#160;&#160;&#160;11</td></tr>
-<tr class="separator:a55a0a899d7f151e7f53b76fe8a82c10e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aab327e17614cf2902c5fc6169466613f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8h.html#aab327e17614cf2902c5fc6169466613f">DTLS_HT_SERVER_KEY_EXCHANGE</a>&#160;&#160;&#160;12</td></tr>
-<tr class="separator:aab327e17614cf2902c5fc6169466613f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6f49d7b0a6e9190d71d51b1ee9ff3bd5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8h.html#a6f49d7b0a6e9190d71d51b1ee9ff3bd5">DTLS_HT_CERTIFICATE_REQUEST</a>&#160;&#160;&#160;13</td></tr>
-<tr class="separator:a6f49d7b0a6e9190d71d51b1ee9ff3bd5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a44399f223a3e1c8a8bf3fc638a06a4d7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8h.html#a44399f223a3e1c8a8bf3fc638a06a4d7">DTLS_HT_SERVER_HELLO_DONE</a>&#160;&#160;&#160;14</td></tr>
-<tr class="separator:a44399f223a3e1c8a8bf3fc638a06a4d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9abc650dd8339a227ddd165ede9350d0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8h.html#a9abc650dd8339a227ddd165ede9350d0">DTLS_HT_CERTIFICATE_VERIFY</a>&#160;&#160;&#160;15</td></tr>
-<tr class="separator:a9abc650dd8339a227ddd165ede9350d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a577885c74492a460729a451f33a894c4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8h.html#a577885c74492a460729a451f33a894c4">DTLS_HT_CLIENT_KEY_EXCHANGE</a>&#160;&#160;&#160;16</td></tr>
-<tr class="separator:a577885c74492a460729a451f33a894c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a16b49d03e041d43b60e1b7bacf35daad"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8h.html#a16b49d03e041d43b60e1b7bacf35daad">DTLS_HT_FINISHED</a>&#160;&#160;&#160;20</td></tr>
-<tr class="separator:a16b49d03e041d43b60e1b7bacf35daad"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
-Typedefs</h2></td></tr>
-<tr class="memitem:adb4c778ddcbf9ac28ef277b20adbfa33"><td class="memItemLeft" align="right" valign="top">typedef enum <br class="typebreak"/>
-<a class="el" href="dtls_8h.html#a36eda3add5e2d12a3b5e2b6fe7038e01">dtls_credentials_type_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8h.html#adb4c778ddcbf9ac28ef277b20adbfa33">dtls_credentials_type_t</a></td></tr>
-<tr class="separator:adb4c778ddcbf9ac28ef277b20adbfa33"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a472601639fcded4630fbd087f986ad10"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structdtls__ecdsa__key__t.html">dtls_ecdsa_key_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8h.html#a472601639fcded4630fbd087f986ad10">dtls_ecdsa_key_t</a></td></tr>
-<tr class="separator:a472601639fcded4630fbd087f986ad10"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a407c66c58bfc87651714de4103bee135"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structdtls__context__t.html">dtls_context_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8h.html#a407c66c58bfc87651714de4103bee135">dtls_context_t</a></td></tr>
-<tr class="separator:a407c66c58bfc87651714de4103bee135"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
-Enumerations</h2></td></tr>
-<tr class="memitem:a36eda3add5e2d12a3b5e2b6fe7038e01"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8h.html#a36eda3add5e2d12a3b5e2b6fe7038e01">dtls_credentials_type_t</a> { <a class="el" href="dtls_8h.html#a36eda3add5e2d12a3b5e2b6fe7038e01a53b5588e3c87ce19b1340baf193d130c">DTLS_PSK_HINT</a>, 
-<a class="el" href="dtls_8h.html#a36eda3add5e2d12a3b5e2b6fe7038e01adb8cac45614b2bc4e66970b64043cfc2">DTLS_PSK_IDENTITY</a>, 
-<a class="el" href="dtls_8h.html#a36eda3add5e2d12a3b5e2b6fe7038e01a1d64c04f18b370cf742595dc91098db4">DTLS_PSK_KEY</a>
- }</td></tr>
-<tr class="separator:a36eda3add5e2d12a3b5e2b6fe7038e01"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ac203466e393ac9030d405c8f0496e9cd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8h.html#ac203466e393ac9030d405c8f0496e9cd">dtls_init</a> ()</td></tr>
-<tr class="separator:ac203466e393ac9030d405c8f0496e9cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a11f53d301448aa8f1dbcfaf77441bd9c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structdtls__context__t.html">dtls_context_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8h.html#a11f53d301448aa8f1dbcfaf77441bd9c">dtls_new_context</a> (void *app_data)</td></tr>
-<tr class="separator:a11f53d301448aa8f1dbcfaf77441bd9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3171c099d25ed29e31326526b8e1de84"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8h.html#a3171c099d25ed29e31326526b8e1de84">dtls_free_context</a> (<a class="el" href="structdtls__context__t.html">dtls_context_t</a> *ctx)</td></tr>
-<tr class="separator:a3171c099d25ed29e31326526b8e1de84"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab0e3223c87b79e4946b19538b24634da"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8h.html#ab0e3223c87b79e4946b19538b24634da">dtls_set_handler</a> (<a class="el" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="el" href="structdtls__handler__t.html">dtls_handler_t</a> *h)</td></tr>
-<tr class="separator:ab0e3223c87b79e4946b19538b24634da"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a187f5e145bb869a732fbed426929a4e9"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8h.html#a187f5e145bb869a732fbed426929a4e9">dtls_connect</a> (<a class="el" href="structdtls__context__t.html">dtls_context_t</a> *ctx, const <a class="el" href="structsession__t.html">session_t</a> *dst)</td></tr>
-<tr class="separator:a187f5e145bb869a732fbed426929a4e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad60bf1197fa1a074f91aed508cfefa62"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8h.html#ad60bf1197fa1a074f91aed508cfefa62">dtls_connect_peer</a> (<a class="el" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *peer)</td></tr>
-<tr class="separator:ad60bf1197fa1a074f91aed508cfefa62"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa90f5eb6954137d5e098e29143c2586a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8h.html#aa90f5eb6954137d5e098e29143c2586a">dtls_close</a> (<a class="el" href="structdtls__context__t.html">dtls_context_t</a> *ctx, const <a class="el" href="structsession__t.html">session_t</a> *remote)</td></tr>
-<tr class="separator:aa90f5eb6954137d5e098e29143c2586a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5676a0ceeeabd1ec38d378212f7af4a1"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8h.html#a5676a0ceeeabd1ec38d378212f7af4a1">dtls_renegotiate</a> (<a class="el" href="structdtls__context__t.html">dtls_context_t</a> *ctx, const <a class="el" href="structsession__t.html">session_t</a> *dst)</td></tr>
-<tr class="separator:a5676a0ceeeabd1ec38d378212f7af4a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4743f51c3197d290fc9a88e1f3a64928"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8h.html#a4743f51c3197d290fc9a88e1f3a64928">dtls_write</a> (struct <a class="el" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="el" href="structsession__t.html">session_t</a> *session, <a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *buf, size_t len)</td></tr>
-<tr class="separator:a4743f51c3197d290fc9a88e1f3a64928"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab50d1ee589e91d07032d0a65768dee82"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8h.html#ab50d1ee589e91d07032d0a65768dee82">dtls_check_retransmit</a> (<a class="el" href="structdtls__context__t.html">dtls_context_t</a> *context, <a class="el" href="group__clock.html#ga6e6c13e871b82d881a01d1bc8df69d23">clock_time_t</a> *next)</td></tr>
-<tr class="separator:ab50d1ee589e91d07032d0a65768dee82"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad09246453a4dabd919c7541484046a87"><td class="memItemLeft" align="right" valign="top">struct&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8h.html#ad09246453a4dabd919c7541484046a87">__attribute__</a> ((__packed__))</td></tr>
-<tr class="separator:ad09246453a4dabd919c7541484046a87"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae272fea7269714fe7a67d6da64961731"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8h.html#ae272fea7269714fe7a67d6da64961731">dtls_handle_message</a> (<a class="el" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="el" href="structsession__t.html">session_t</a> *session, <a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *msg, int msglen)</td></tr>
-<tr class="separator:ae272fea7269714fe7a67d6da64961731"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3fd062108e5d0f48627ae644546824a6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8h.html#a3fd062108e5d0f48627ae644546824a6">dtls_get_peer</a> (const <a class="el" href="structdtls__context__t.html">dtls_context_t</a> *context, const <a class="el" href="structsession__t.html">session_t</a> *session)</td></tr>
-<tr class="separator:a3fd062108e5d0f48627ae644546824a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
-Variables</h2></td></tr>
-<tr class="memitem:a81936df7abb2c16aa897e3018aa24399"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8h.html#a81936df7abb2c16aa897e3018aa24399">dtls_record_header_t</a></td></tr>
-<tr class="separator:a81936df7abb2c16aa897e3018aa24399"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5c6625ffcf61189392768253e8919a45"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8h.html#a5c6625ffcf61189392768253e8919a45">dtls_handshake_header_t</a></td></tr>
-<tr class="separator:a5c6625ffcf61189392768253e8919a45"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa9ebc35a08295c2ae09d4248ba8e6456"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8h.html#aa9ebc35a08295c2ae09d4248ba8e6456">dtls_client_hello_t</a></td></tr>
-<tr class="separator:aa9ebc35a08295c2ae09d4248ba8e6456"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:abd61d526ef995e63a6debfd8ddda9e98"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls_8h.html#abd61d526ef995e63a6debfd8ddda9e98">dtls_hello_verify_t</a></td></tr>
-<tr class="separator:abd61d526ef995e63a6debfd8ddda9e98"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p>High level DTLS API and visible structures. </p>
-
-<p>Definition in file <a class="el" href="dtls_8h_source.html">dtls.h</a>.</p>
-</div><h2 class="groupheader">Macro Definition Documentation</h2>
-<a class="anchor" id="a09e4f571633bdb724236ac68459715b6"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DTLS_COOKIE_LENGTH&#160;&#160;&#160;16</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8h_source.html#l00323">323</a> of file <a class="el" href="dtls_8h_source.html">dtls.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a44ec206b1d84aa3d83281a92ed7cc238"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DTLS_COOKIE_SECRET_LENGTH&#160;&#160;&#160;12</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Length of the secret that is used for generating Hello Verify cookies. </p>
-
-<p>Definition at line <a class="el" href="dtls_8h_source.html#l00071">71</a> of file <a class="el" href="dtls_8h_source.html">dtls.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="af8ce2230240b6d3c36b216ef459baff1"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DTLS_CT_ALERT&#160;&#160;&#160;21</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8h_source.html#l00326">326</a> of file <a class="el" href="dtls_8h_source.html">dtls.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a2e3ff1e96b8b7db8a3648beba35bfd0c"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DTLS_CT_APPLICATION_DATA&#160;&#160;&#160;23</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8h_source.html#l00328">328</a> of file <a class="el" href="dtls_8h_source.html">dtls.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a3114c327a12e3850e97c4cf8a0cc5c9d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DTLS_CT_CHANGE_CIPHER_SPEC&#160;&#160;&#160;20</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8h_source.html#l00325">325</a> of file <a class="el" href="dtls_8h_source.html">dtls.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a76965db5ec449b3c8a9a54c24a4d45dc"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DTLS_CT_HANDSHAKE&#160;&#160;&#160;22</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8h_source.html#l00327">327</a> of file <a class="el" href="dtls_8h_source.html">dtls.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a95f7eb485bb814aa308e2612681176d9"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define dtls_get_app_data</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">CTX</td><td>)</td>
-          <td>&#160;&#160;&#160;((CTX)-&gt;app)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8h_source.html#l00259">259</a> of file <a class="el" href="dtls_8h_source.html">dtls.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a55a0a899d7f151e7f53b76fe8a82c10e"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DTLS_HT_CERTIFICATE&#160;&#160;&#160;11</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8h_source.html#l00346">346</a> of file <a class="el" href="dtls_8h_source.html">dtls.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a6f49d7b0a6e9190d71d51b1ee9ff3bd5"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DTLS_HT_CERTIFICATE_REQUEST&#160;&#160;&#160;13</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8h_source.html#l00348">348</a> of file <a class="el" href="dtls_8h_source.html">dtls.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a9abc650dd8339a227ddd165ede9350d0"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DTLS_HT_CERTIFICATE_VERIFY&#160;&#160;&#160;15</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8h_source.html#l00350">350</a> of file <a class="el" href="dtls_8h_source.html">dtls.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a25f0afef67a1fd8d9e3e61074d11e2f5"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DTLS_HT_CLIENT_HELLO&#160;&#160;&#160;1</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8h_source.html#l00343">343</a> of file <a class="el" href="dtls_8h_source.html">dtls.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a577885c74492a460729a451f33a894c4"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DTLS_HT_CLIENT_KEY_EXCHANGE&#160;&#160;&#160;16</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8h_source.html#l00351">351</a> of file <a class="el" href="dtls_8h_source.html">dtls.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a16b49d03e041d43b60e1b7bacf35daad"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DTLS_HT_FINISHED&#160;&#160;&#160;20</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8h_source.html#l00352">352</a> of file <a class="el" href="dtls_8h_source.html">dtls.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a66566dfd30b8ab388c08b4cde6c667cc"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DTLS_HT_HELLO_REQUEST&#160;&#160;&#160;0</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8h_source.html#l00342">342</a> of file <a class="el" href="dtls_8h_source.html">dtls.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ab04f98f1863c785fabd97925c9746f7d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DTLS_HT_HELLO_VERIFY_REQUEST&#160;&#160;&#160;3</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8h_source.html#l00345">345</a> of file <a class="el" href="dtls_8h_source.html">dtls.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ad5882a5ff4073ffefa266bb2c4a1ee3c"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DTLS_HT_SERVER_HELLO&#160;&#160;&#160;2</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8h_source.html#l00344">344</a> of file <a class="el" href="dtls_8h_source.html">dtls.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a44399f223a3e1c8a8bf3fc638a06a4d7"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DTLS_HT_SERVER_HELLO_DONE&#160;&#160;&#160;14</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8h_source.html#l00349">349</a> of file <a class="el" href="dtls_8h_source.html">dtls.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aab327e17614cf2902c5fc6169466613f"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DTLS_HT_SERVER_KEY_EXCHANGE&#160;&#160;&#160;12</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8h_source.html#l00347">347</a> of file <a class="el" href="dtls_8h_source.html">dtls.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a89611ebcb02bb3bbf56dfb583937586e"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define dtls_set_app_data</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">CTX, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">DATA&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td>&#160;&#160;&#160;((CTX)-&gt;app = (DATA))</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8h_source.html#l00258">258</a> of file <a class="el" href="dtls_8h_source.html">dtls.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="af0c44db3bf3a6a52e9ed271218daeaa6"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DTLS_VERSION&#160;&#160;&#160;0xfefd     /* DTLS v1.2 */</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8h_source.html#l00056">56</a> of file <a class="el" href="dtls_8h_source.html">dtls.h</a>.</p>
-
-</div>
-</div>
-<h2 class="groupheader">Typedef Documentation</h2>
-<a class="anchor" id="a407c66c58bfc87651714de4103bee135"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef struct <a class="el" href="structdtls__context__t.html">dtls_context_t</a>  <a class="el" href="structdtls__context__t.html">dtls_context_t</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Holds global information of the DTLS engine. </p>
-
-</div>
-</div>
-<a class="anchor" id="adb4c778ddcbf9ac28ef277b20adbfa33"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef enum <a class="el" href="dtls_8h.html#a36eda3add5e2d12a3b5e2b6fe7038e01">dtls_credentials_type_t</a>  <a class="el" href="dtls_8h.html#a36eda3add5e2d12a3b5e2b6fe7038e01">dtls_credentials_type_t</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a472601639fcded4630fbd087f986ad10"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef struct <a class="el" href="structdtls__ecdsa__key__t.html">dtls_ecdsa_key_t</a>  <a class="el" href="structdtls__ecdsa__key__t.html">dtls_ecdsa_key_t</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<h2 class="groupheader">Enumeration Type Documentation</h2>
-<a class="anchor" id="a36eda3add5e2d12a3b5e2b6fe7038e01"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">enum <a class="el" href="dtls_8h.html#a36eda3add5e2d12a3b5e2b6fe7038e01">dtls_credentials_type_t</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a36eda3add5e2d12a3b5e2b6fe7038e01a53b5588e3c87ce19b1340baf193d130c"></a>DTLS_PSK_HINT</em>&#160;</td><td class="fielddoc">
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a36eda3add5e2d12a3b5e2b6fe7038e01adb8cac45614b2bc4e66970b64043cfc2"></a>DTLS_PSK_IDENTITY</em>&#160;</td><td class="fielddoc">
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="a36eda3add5e2d12a3b5e2b6fe7038e01a1d64c04f18b370cf742595dc91098db4"></a>DTLS_PSK_KEY</em>&#160;</td><td class="fielddoc">
-</td></tr>
-</table>
-
-<p>Definition at line <a class="el" href="dtls_8h_source.html#l00059">59</a> of file <a class="el" href="dtls_8h_source.html">dtls.h</a>.</p>
-
-</div>
-</div>
-<h2 class="groupheader">Function Documentation</h2>
-<a class="anchor" id="ad09246453a4dabd919c7541484046a87"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">struct __attribute__ </td>
-          <td>(</td>
-          <td class="paramtype">(__packed__)&#160;</td>
-          <td class="paramname"></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Generic header structure of the DTLS record layer.</p>
-<p>Header structure for the DTLS handshake protocol.</p>
-<p>Structure of the Client Hello message.</p>
-<p>Structure of the Hello Verify Request. </p>
-<p>&lt; content type of the included message</p>
-<p>&lt; Protocol version</p>
-<p>&lt; counter for cipher state changes</p>
-<p>&lt; sequence number</p>
-<p>&lt; length of the following fragment</p>
-<p>&lt; Type of handshake message (one of DTLS_HT_)</p>
-<p>&lt; length of this message</p>
-<p>&lt; Message sequence number</p>
-<p>&lt; Fragment offset.</p>
-<p>&lt; Fragment length.</p>
-<p>&lt; Client version</p>
-<p>&lt; GMT time of the random byte creation</p>
-<p>&lt; Client random bytes</p>
-<p>&lt; Server version</p>
-<p>&lt; Length of the included cookie</p>
-<p>&lt; up to 32 bytes making up the cookie </p>
-
-<p>Definition at line <a class="el" href="dtls_8h_source.html#l00331">331</a> of file <a class="el" href="dtls_8h_source.html">dtls.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ab50d1ee589e91d07032d0a65768dee82"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void dtls_check_retransmit </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__context__t.html">dtls_context_t</a> *&#160;</td>
-          <td class="paramname"><em>context</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="group__clock.html#ga6e6c13e871b82d881a01d1bc8df69d23">clock_time_t</a> *&#160;</td>
-          <td class="paramname"><em>next</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Checks sendqueue of given DTLS context object for any outstanding packets to be transmitted.</p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">context</td><td>The DTLS context object to use. </td></tr>
-    <tr><td class="paramname">next</td><td>If not NULL, <code>next</code> is filled with the timestamp of the next scheduled retransmission, or <code>0</code> when no packets are waiting. </td></tr>
-  </table>
-  </dd>
-</dl>
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l03957">3957</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aa90f5eb6954137d5e098e29143c2586a"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int dtls_close </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__context__t.html">dtls_context_t</a> *&#160;</td>
-          <td class="paramname"><em>ctx</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const <a class="el" href="structsession__t.html">session_t</a> *&#160;</td>
-          <td class="paramname"><em>remote</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Closes the DTLS connection associated with <code>remote</code>. This function returns zero on success, and a value less than zero on error. </p>
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l01494">1494</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a187f5e145bb869a732fbed426929a4e9"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int dtls_connect </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__context__t.html">dtls_context_t</a> *&#160;</td>
-          <td class="paramname"><em>ctx</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const <a class="el" href="structsession__t.html">session_t</a> *&#160;</td>
-          <td class="paramname"><em>dst</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Establishes a DTLS channel with the specified remote peer <code>dst</code>. This function returns <code>0</code> if that channel already exists, a value greater than zero when a new ClientHello message was sent, and a value less than zero on error.</p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">ctx</td><td>The DTLS context to use. </td></tr>
-    <tr><td class="paramname">dst</td><td>The remote party to connect to. </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>A value less than zero on error, greater or equal otherwise. </dd></dl>
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l03862">3862</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ad60bf1197fa1a074f91aed508cfefa62"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int dtls_connect_peer </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__context__t.html">dtls_context_t</a> *&#160;</td>
-          <td class="paramname"><em>ctx</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *&#160;</td>
-          <td class="paramname"><em>peer</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Establishes a DTLS channel with the specified remote peer. This function returns <code>0</code> if that channel already exists, a value greater than zero when a new ClientHello message was sent, and a value less than zero on error.</p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">ctx</td><td>The DTLS context to use. </td></tr>
-    <tr><td class="paramname">peer</td><td>The peer object that describes the session. </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>A value less than zero on error, greater or equal otherwise. </dd></dl>
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l03826">3826</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a3171c099d25ed29e31326526b8e1de84"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void dtls_free_context </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__context__t.html">dtls_context_t</a> *&#160;</td>
-          <td class="paramname"><em>ctx</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Releases any storage that has been allocated for <code>ctx</code>. </p>
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l03802">3802</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a3fd062108e5d0f48627ae644546824a6"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="structdtls__peer__t.html">dtls_peer_t</a>* dtls_get_peer </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="structdtls__context__t.html">dtls_context_t</a> *&#160;</td>
-          <td class="paramname"><em>context</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const <a class="el" href="structsession__t.html">session_t</a> *&#160;</td>
-          <td class="paramname"><em>session</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Check if <code>session</code> is associated with a peer object in <code>context</code>. This function returns a pointer to the peer if found, NULL otherwise.</p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">context</td><td>The DTLS context to search. </td></tr>
-    <tr><td class="paramname">session</td><td>The remote address and local interface </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>A pointer to the peer associated with <code>session</code> or NULL if none exists. </dd></dl>
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l00212">212</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ae272fea7269714fe7a67d6da64961731"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int dtls_handle_message </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__context__t.html">dtls_context_t</a> *&#160;</td>
-          <td class="paramname"><em>ctx</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="structsession__t.html">session_t</a> *&#160;</td>
-          <td class="paramname"><em>session</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *&#160;</td>
-          <td class="paramname"><em>msg</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>msglen</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Handles incoming data as DTLS message from given peer.</p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">ctx</td><td>The dtls context to use. </td></tr>
-    <tr><td class="paramname">session</td><td>The current session </td></tr>
-    <tr><td class="paramname">msg</td><td>The received data </td></tr>
-    <tr><td class="paramname">msglen</td><td>The actual length of <code>msg</code>. </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>A value less than zero on error, zero on success.</dd></dl>
-<p>Handles incoming data as DTLS message from given peer. </p>
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l03591">3591</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ac203466e393ac9030d405c8f0496e9cd"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void dtls_init </td>
-          <td>(</td>
-          <td class="paramname"></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>This function initializes the tinyDTLS memory management and must be called first. </p>
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l00163">163</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a11f53d301448aa8f1dbcfaf77441bd9c"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="structdtls__context__t.html">dtls_context_t</a>* dtls_new_context </td>
-          <td>(</td>
-          <td class="paramtype">void *&#160;</td>
-          <td class="paramname"><em>app_data</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Creates a new context object. The storage allocated for the new object must be released with <a class="el" href="dtls_8h.html#a3171c099d25ed29e31326526b8e1de84">dtls_free_context()</a>. </p>
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l03740">3740</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a5676a0ceeeabd1ec38d378212f7af4a1"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int dtls_renegotiate </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__context__t.html">dtls_context_t</a> *&#160;</td>
-          <td class="paramname"><em>ctx</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const <a class="el" href="structsession__t.html">session_t</a> *&#160;</td>
-          <td class="paramname"><em>dst</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l02956">2956</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ab0e3223c87b79e4946b19538b24634da"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static void dtls_set_handler </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__context__t.html">dtls_context_t</a> *&#160;</td>
-          <td class="paramname"><em>ctx</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="structdtls__handler__t.html">dtls_handler_t</a> *&#160;</td>
-          <td class="paramname"><em>h</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-<p>Sets the callback handler object for <code>ctx</code> to <code>h</code>. </p>
-
-<p>Definition at line <a class="el" href="dtls_8h_source.html#l00262">262</a> of file <a class="el" href="dtls_8h_source.html">dtls.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a4743f51c3197d290fc9a88e1f3a64928"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int dtls_write </td>
-          <td>(</td>
-          <td class="paramtype">struct <a class="el" href="structdtls__context__t.html">dtls_context_t</a> *&#160;</td>
-          <td class="paramname"><em>ctx</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="structsession__t.html">session_t</a> *&#160;</td>
-          <td class="paramname"><em>session</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *&#160;</td>
-          <td class="paramname"><em>buf</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>len</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Writes the application data given in <code>buf</code> to the peer specified by <code>session</code>.</p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">ctx</td><td>The DTLS context to use. </td></tr>
-    <tr><td class="paramname">session</td><td>The remote transport address and local interface. </td></tr>
-    <tr><td class="paramname">buf</td><td>The data to write. </td></tr>
-    <tr><td class="paramname">len</td><td>The actual length of <code>data</code>.</td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The number of bytes written or <code>-1</code> on error. </dd></dl>
-
-<p>Definition at line <a class="el" href="dtls_8c_source.html#l00236">236</a> of file <a class="el" href="dtls_8c_source.html">dtls.c</a>.</p>
-
-</div>
-</div>
-<h2 class="groupheader">Variable Documentation</h2>
-<a class="anchor" id="aa9ebc35a08295c2ae09d4248ba8e6456"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">dtls_client_hello_t</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8h_source.html#l00373">373</a> of file <a class="el" href="dtls_8h_source.html">dtls.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a5c6625ffcf61189392768253e8919a45"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">dtls_handshake_header_t</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8h_source.html#l00362">362</a> of file <a class="el" href="dtls_8h_source.html">dtls.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="abd61d526ef995e63a6debfd8ddda9e98"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">dtls_hello_verify_t</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8h_source.html#l00380">380</a> of file <a class="el" href="dtls_8h_source.html">dtls.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a81936df7abb2c16aa897e3018aa24399"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">dtls_record_header_t</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8h_source.html#l00338">338</a> of file <a class="el" href="dtls_8h_source.html">dtls.h</a>.</p>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/dtls_8h_source.html b/external/wakaama/examples/shared/tinydtls/doc/html/dtls_8h_source.html
deleted file mode 100644 (file)
index bce365e..0000000
+++ /dev/null
@@ -1,369 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: dtls.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="header">
-  <div class="headertitle">
-<div class="title">dtls.h</div>  </div>
-</div><!--header-->
-<div class="contents">
-<a href="dtls_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/* dtls -- a very basic DTLS implementation</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> * Copyright (C) 2011--2013 Olaf Bergmann &lt;bergmann@tzi.org&gt;</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> * Copyright (C) 2013 Hauke Mehrtens &lt;hauke@hauke-m.de&gt;</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> * Permission is hereby granted, free of charge, to any person</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> * obtaining a copy of this software and associated documentation</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> * files (the &quot;Software&quot;), to deal in the Software without</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> * restriction, including without limitation the rights to use, copy,</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> * modify, merge, publish, distribute, sublicense, and/or sell copies</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * of the Software, and to permit persons to whom the Software is</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> * furnished to do so, subject to the following conditions:</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * The above copyright notice and this permission notice shall be</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> * included in all copies or substantial portions of the Software.</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> * THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND,</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment"> * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment"> * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment"> * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment"> * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment"> * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment"> * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment"> * SOFTWARE.</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;</div>
-<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#ifndef _DTLS_DTLS_H_</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define _DTLS_DTLS_H_</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#include &lt;stdint.h&gt;</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;</div>
-<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="t__list_8h.html">t_list.h</a>&quot;</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="state_8h.html">state.h</a>&quot;</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="peer_8h.html">peer.h</a>&quot;</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div>
-<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#ifndef WITH_CONTIKI</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &quot;<a class="code" href="uthash_8h.html">uthash.h</a>&quot;</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="t__list_8h.html">t_list.h</a>&quot;</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* WITH_CONTIKI */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="alert_8h.html">alert.h</a>&quot;</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="crypto_8h.html">crypto.h</a>&quot;</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="hmac_8h.html">hmac.h</a>&quot;</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;</div>
-<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="global_8h.html">global.h</a>&quot;</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="dtls__time_8h.html">dtls_time.h</a>&quot;</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;</div>
-<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="preprocessor">#ifndef DTLSv12</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define DTLS_VERSION 0xfeff </span><span class="comment">/* DTLS v1.1 */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="dtls_8h.html#af0c44db3bf3a6a52e9ed271218daeaa6">   56</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define DTLS_VERSION 0xfefd </span><span class="comment">/* DTLS v1.2 */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="dtls_8h.html#a36eda3add5e2d12a3b5e2b6fe7038e01">   59</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> <a class="code" href="dtls_8h.html#a36eda3add5e2d12a3b5e2b6fe7038e01">dtls_credentials_type_t</a> {</div>
-<div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="dtls_8h.html#a36eda3add5e2d12a3b5e2b6fe7038e01a1d64c04f18b370cf742595dc91098db4">   60</a></span>&#160;  <a class="code" href="dtls_8h.html#a36eda3add5e2d12a3b5e2b6fe7038e01a53b5588e3c87ce19b1340baf193d130c">DTLS_PSK_HINT</a>, <a class="code" href="dtls_8h.html#a36eda3add5e2d12a3b5e2b6fe7038e01adb8cac45614b2bc4e66970b64043cfc2">DTLS_PSK_IDENTITY</a>, <a class="code" href="dtls_8h.html#a36eda3add5e2d12a3b5e2b6fe7038e01a1d64c04f18b370cf742595dc91098db4">DTLS_PSK_KEY</a></div>
-<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;} <a class="code" href="dtls_8h.html#a36eda3add5e2d12a3b5e2b6fe7038e01">dtls_credentials_type_t</a>;</div>
-<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;</div>
-<div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="structdtls__ecdsa__key__t.html">   63</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structdtls__ecdsa__key__t.html">dtls_ecdsa_key_t</a> {</div>
-<div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="structdtls__ecdsa__key__t.html#ad78834cca7158114bd78d3d0acb4a548">   64</a></span>&#160;  <a class="code" href="crypto_8h.html#a3710d42871d602387a5147c05bf9f1ef">dtls_ecdh_curve</a> <a class="code" href="structdtls__ecdsa__key__t.html#ad78834cca7158114bd78d3d0acb4a548">curve</a>;</div>
-<div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="structdtls__ecdsa__key__t.html#a91769609f44590f193d726187ab366de">   65</a></span>&#160;  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *<a class="code" href="structdtls__ecdsa__key__t.html#a91769609f44590f193d726187ab366de">priv_key</a>;    </div>
-<div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="structdtls__ecdsa__key__t.html#aa54efc762737c1b94eaebae1262d4221">   66</a></span>&#160;  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *<a class="code" href="structdtls__ecdsa__key__t.html#aa54efc762737c1b94eaebae1262d4221">pub_key_x</a>;   </div>
-<div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="structdtls__ecdsa__key__t.html#aaceb7ea4b4f9e74fb2ec85c49746132f">   67</a></span>&#160;  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *<a class="code" href="structdtls__ecdsa__key__t.html#aaceb7ea4b4f9e74fb2ec85c49746132f">pub_key_y</a>;   </div>
-<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;} <a class="code" href="dtls_8h.html#a472601639fcded4630fbd087f986ad10">dtls_ecdsa_key_t</a>;</div>
-<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div>
-<div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="dtls_8h.html#a44ec206b1d84aa3d83281a92ed7cc238">   71</a></span>&#160;<span class="preprocessor">#define DTLS_COOKIE_SECRET_LENGTH 12</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="keyword">struct </span><a class="code" href="structdtls__context__t.html">dtls_context_t</a>;</div>
-<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;</div>
-<div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="structdtls__handler__t.html">   84</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
-<div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="structdtls__handler__t.html#a161ad99d77bd3b963bcd473eb3cbefe2">   99</a></span>&#160;  int (*write)(<span class="keyword">struct </span><a class="code" href="structdtls__context__t.html">dtls_context_t</a> *ctx, </div>
-<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;           <a class="code" href="structsession__t.html">session_t</a> *session, <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *buf, <span class="keywordtype">size_t</span> len);</div>
-<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;</div>
-<div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="structdtls__handler__t.html#a48f28d381286b493fe6dd8eab5cbaa88">  114</a></span>&#160;  int (*read)(<span class="keyword">struct </span><a class="code" href="structdtls__context__t.html">dtls_context_t</a> *ctx, </div>
-<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;           <a class="code" href="structsession__t.html">session_t</a> *session, <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *buf, <span class="keywordtype">size_t</span> len);</div>
-<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;</div>
-<div class="line"><a name="l00129"></a><span class="lineno"><a class="line" href="structdtls__handler__t.html#aae2db3733c5f0a0eea9a635490bdfe59">  129</a></span>&#160;  int (*event)(<span class="keyword">struct </span><a class="code" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="code" href="structsession__t.html">session_t</a> *session, </div>
-<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;        <a class="code" href="alert_8h.html#ab6264d1b950719f1c2e00b122cad871f">dtls_alert_level_t</a> level, <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> code);</div>
-<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;</div>
-<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="preprocessor">#ifdef DTLS_PSK</span></div>
-<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;  int (*get_psk_info)(<span class="keyword">struct </span><a class="code" href="structdtls__context__t.html">dtls_context_t</a> *ctx,</div>
-<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;              <span class="keyword">const</span> <a class="code" href="structsession__t.html">session_t</a> *session,</div>
-<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;              <a class="code" href="dtls_8h.html#a36eda3add5e2d12a3b5e2b6fe7038e01">dtls_credentials_type_t</a> type,</div>
-<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;              <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *desc, <span class="keywordtype">size_t</span> desc_len,</div>
-<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;              <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *result, <span class="keywordtype">size_t</span> result_length);</div>
-<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;</div>
-<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* DTLS_PSK */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;<span class="preprocessor">#ifdef DTLS_ECC</span></div>
-<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;  int (*get_ecdsa_key)(<span class="keyword">struct </span><a class="code" href="structdtls__context__t.html">dtls_context_t</a> *ctx, </div>
-<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;               <span class="keyword">const</span> <a class="code" href="structsession__t.html">session_t</a> *session,</div>
-<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;               <span class="keyword">const</span> <a class="code" href="structdtls__ecdsa__key__t.html">dtls_ecdsa_key_t</a> **result);</div>
-<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;</div>
-<div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;  int (*verify_ecdsa_key)(<span class="keyword">struct </span><a class="code" href="structdtls__context__t.html">dtls_context_t</a> *ctx, </div>
-<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;              <span class="keyword">const</span> <a class="code" href="structsession__t.html">session_t</a> *session,</div>
-<div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;              <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *other_pub_x,</div>
-<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;              <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *other_pub_y,</div>
-<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;              <span class="keywordtype">size_t</span> key_size);</div>
-<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* DTLS_ECC */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;<span class="preprocessor"></span>} <a class="code" href="structdtls__handler__t.html">dtls_handler_t</a>;</div>
-<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;</div>
-<div class="line"><a name="l00223"></a><span class="lineno"><a class="line" href="structdtls__context__t.html">  223</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structdtls__context__t.html">dtls_context_t</a> {</div>
-<div class="line"><a name="l00224"></a><span class="lineno"><a class="line" href="structdtls__context__t.html#adb7dc6a53a7e00f2c4bbf726973e002f">  224</a></span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="structdtls__context__t.html#adb7dc6a53a7e00f2c4bbf726973e002f">cookie_secret</a>[<a class="code" href="dtls_8h.html#a44ec206b1d84aa3d83281a92ed7cc238">DTLS_COOKIE_SECRET_LENGTH</a>];</div>
-<div class="line"><a name="l00225"></a><span class="lineno"><a class="line" href="structdtls__context__t.html#a3f26099dbb3588ae9a86d26f69ec08f8">  225</a></span>&#160;  <a class="code" href="group__clock.html#ga6e6c13e871b82d881a01d1bc8df69d23">clock_time_t</a> <a class="code" href="structdtls__context__t.html#a3f26099dbb3588ae9a86d26f69ec08f8">cookie_secret_age</a>; </div>
-<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="preprocessor">#ifndef WITH_CONTIKI</span></div>
-<div class="line"><a name="l00228"></a><span class="lineno"><a class="line" href="structdtls__context__t.html#a417fa8ac04478292f0539d2da0fec088">  228</a></span>&#160;<span class="preprocessor"></span>  <a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *<a class="code" href="structdtls__context__t.html#a417fa8ac04478292f0539d2da0fec088">peers</a>;       </div>
-<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;<span class="preprocessor">#else </span><span class="comment">/* WITH_CONTIKI */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;<span class="preprocessor"></span>  <a class="code" href="structdtls__context__t.html#adf4e86be64bd4a07936ddbba5f6fa6af">LIST_STRUCT</a>(<a class="code" href="structdtls__context__t.html#a417fa8ac04478292f0539d2da0fec088">peers</a>);</div>
-<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;</div>
-<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;  <span class="keyword">struct </span>etimer retransmit_timer; </div>
-<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* WITH_CONTIKI */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;  <a class="code" href="structdtls__context__t.html#adf4e86be64bd4a07936ddbba5f6fa6af">LIST_STRUCT</a>(sendqueue);   </div>
-<div class="line"><a name="l00237"></a><span class="lineno"><a class="line" href="structdtls__context__t.html#ab37722ec6b82dd3120827812f212a51e">  237</a></span>&#160;  <span class="keywordtype">void</span> *<a class="code" href="structdtls__context__t.html#ab37722ec6b82dd3120827812f212a51e">app</a>;            </div>
-<div class="line"><a name="l00239"></a><span class="lineno"><a class="line" href="structdtls__context__t.html#a460737bda0d200538c00ef7877b339cd">  239</a></span>&#160;  <a class="code" href="structdtls__handler__t.html">dtls_handler_t</a> *<a class="code" href="structdtls__context__t.html#a460737bda0d200538c00ef7877b339cd">h</a>;        </div>
-<div class="line"><a name="l00241"></a><span class="lineno"><a class="line" href="structdtls__context__t.html#ad6facbcd3c19ac8e1c79b1664dcf2434">  241</a></span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="structdtls__context__t.html#ad6facbcd3c19ac8e1c79b1664dcf2434">readbuf</a>[<a class="code" href="global_8h.html#acdbfba15eb1a5692e177d582b4ca1583">DTLS_MAX_BUF</a>];</div>
-<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;} <a class="code" href="dtls_8h.html#a407c66c58bfc87651714de4103bee135">dtls_context_t</a>;</div>
-<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;</div>
-<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;<span class="keywordtype">void</span> <a class="code" href="dtls_8h.html#ac203466e393ac9030d405c8f0496e9cd">dtls_init</a>();</div>
-<div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;</div>
-<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;<a class="code" href="structdtls__context__t.html">dtls_context_t</a> *<a class="code" href="dtls_8h.html#a11f53d301448aa8f1dbcfaf77441bd9c">dtls_new_context</a>(<span class="keywordtype">void</span> *app_data);</div>
-<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;</div>
-<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="keywordtype">void</span> <a class="code" href="dtls_8h.html#a3171c099d25ed29e31326526b8e1de84">dtls_free_context</a>(<a class="code" href="structdtls__context__t.html">dtls_context_t</a> *ctx);</div>
-<div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;</div>
-<div class="line"><a name="l00258"></a><span class="lineno"><a class="line" href="dtls_8h.html#a89611ebcb02bb3bbf56dfb583937586e">  258</a></span>&#160;<span class="preprocessor">#define dtls_set_app_data(CTX,DATA) ((CTX)-&gt;app = (DATA))</span></div>
-<div class="line"><a name="l00259"></a><span class="lineno"><a class="line" href="dtls_8h.html#a95f7eb485bb814aa308e2612681176d9">  259</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define dtls_get_app_data(CTX) ((CTX)-&gt;app)</span></div>
-<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00262"></a><span class="lineno"><a class="line" href="dtls_8h.html#ab0e3223c87b79e4946b19538b24634da">  262</a></span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="dtls_8h.html#ab0e3223c87b79e4946b19538b24634da">dtls_set_handler</a>(<a class="code" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="code" href="structdtls__handler__t.html">dtls_handler_t</a> *h) {</div>
-<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;  ctx-&gt;<a class="code" href="structdtls__context__t.html#a460737bda0d200538c00ef7877b339cd">h</a> = h;</div>
-<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;}</div>
-<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;</div>
-<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;<span class="keywordtype">int</span> <a class="code" href="dtls_8h.html#a187f5e145bb869a732fbed426929a4e9">dtls_connect</a>(<a class="code" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <span class="keyword">const</span> <a class="code" href="structsession__t.html">session_t</a> *dst);</div>
-<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;</div>
-<div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;<span class="keywordtype">int</span> <a class="code" href="dtls_8h.html#ad60bf1197fa1a074f91aed508cfefa62">dtls_connect_peer</a>(<a class="code" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *peer);</div>
-<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;</div>
-<div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;<span class="keywordtype">int</span> <a class="code" href="dtls_8h.html#aa90f5eb6954137d5e098e29143c2586a">dtls_close</a>(<a class="code" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <span class="keyword">const</span> <a class="code" href="structsession__t.html">session_t</a> *remote);</div>
-<div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;</div>
-<div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;<span class="keywordtype">int</span> <a class="code" href="dtls_8h.html#a5676a0ceeeabd1ec38d378212f7af4a1">dtls_renegotiate</a>(<a class="code" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <span class="keyword">const</span> <a class="code" href="structsession__t.html">session_t</a> *dst);</div>
-<div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;</div>
-<div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;<span class="keywordtype">int</span> <a class="code" href="dtls_8h.html#a4743f51c3197d290fc9a88e1f3a64928">dtls_write</a>(<span class="keyword">struct</span> <a class="code" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="code" href="structsession__t.html">session_t</a> *session, </div>
-<div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;           <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *buf, <span class="keywordtype">size_t</span> len);</div>
-<div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;</div>
-<div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;<span class="keywordtype">void</span> <a class="code" href="dtls_8h.html#ab50d1ee589e91d07032d0a65768dee82">dtls_check_retransmit</a>(<a class="code" href="structdtls__context__t.html">dtls_context_t</a> *context, <a class="code" href="group__clock.html#ga6e6c13e871b82d881a01d1bc8df69d23">clock_time_t</a> *next);</div>
-<div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;</div>
-<div class="line"><a name="l00323"></a><span class="lineno"><a class="line" href="dtls_8h.html#a09e4f571633bdb724236ac68459715b6">  323</a></span>&#160;<span class="preprocessor">#define DTLS_COOKIE_LENGTH 16</span></div>
-<div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00325"></a><span class="lineno"><a class="line" href="dtls_8h.html#a3114c327a12e3850e97c4cf8a0cc5c9d">  325</a></span>&#160;<span class="preprocessor">#define DTLS_CT_CHANGE_CIPHER_SPEC 20</span></div>
-<div class="line"><a name="l00326"></a><span class="lineno"><a class="line" href="dtls_8h.html#af8ce2230240b6d3c36b216ef459baff1">  326</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define DTLS_CT_ALERT              21</span></div>
-<div class="line"><a name="l00327"></a><span class="lineno"><a class="line" href="dtls_8h.html#a76965db5ec449b3c8a9a54c24a4d45dc">  327</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define DTLS_CT_HANDSHAKE          22</span></div>
-<div class="line"><a name="l00328"></a><span class="lineno"><a class="line" href="dtls_8h.html#a2e3ff1e96b8b7db8a3648beba35bfd0c">  328</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define DTLS_CT_APPLICATION_DATA   23</span></div>
-<div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00331"></a><span class="lineno"><a class="line" href="dtls_8h.html#ad09246453a4dabd919c7541484046a87">  331</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="dtls_8h.html#ad09246453a4dabd919c7541484046a87">__attribute__</a>((__packed__)) {</div>
-<div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;  <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> content_type;       </div>
-<div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;  <a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a> version;       </div>
-<div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;  <a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a> epoch;             </div>
-<div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;  <a class="code" href="global_8h.html#a0749f1df578b26eccab986b0d8abaa56">uint48</a> sequence_number;       </div>
-<div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;  <a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a> length;        </div>
-<div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;  <span class="comment">/* fragment */</span></div>
-<div class="line"><a name="l00338"></a><span class="lineno"><a class="line" href="dtls_8h.html#a81936df7abb2c16aa897e3018aa24399">  338</a></span>&#160;} <a class="code" href="dtls_8h.html#a81936df7abb2c16aa897e3018aa24399">dtls_record_header_t</a>;</div>
-<div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;</div>
-<div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;<span class="comment">/* Handshake types */</span></div>
-<div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;</div>
-<div class="line"><a name="l00342"></a><span class="lineno"><a class="line" href="dtls_8h.html#a66566dfd30b8ab388c08b4cde6c667cc">  342</a></span>&#160;<span class="preprocessor">#define DTLS_HT_HELLO_REQUEST        0</span></div>
-<div class="line"><a name="l00343"></a><span class="lineno"><a class="line" href="dtls_8h.html#a25f0afef67a1fd8d9e3e61074d11e2f5">  343</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define DTLS_HT_CLIENT_HELLO         1</span></div>
-<div class="line"><a name="l00344"></a><span class="lineno"><a class="line" href="dtls_8h.html#ad5882a5ff4073ffefa266bb2c4a1ee3c">  344</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define DTLS_HT_SERVER_HELLO         2</span></div>
-<div class="line"><a name="l00345"></a><span class="lineno"><a class="line" href="dtls_8h.html#ab04f98f1863c785fabd97925c9746f7d">  345</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define DTLS_HT_HELLO_VERIFY_REQUEST 3</span></div>
-<div class="line"><a name="l00346"></a><span class="lineno"><a class="line" href="dtls_8h.html#a55a0a899d7f151e7f53b76fe8a82c10e">  346</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define DTLS_HT_CERTIFICATE         11</span></div>
-<div class="line"><a name="l00347"></a><span class="lineno"><a class="line" href="dtls_8h.html#aab327e17614cf2902c5fc6169466613f">  347</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define DTLS_HT_SERVER_KEY_EXCHANGE 12</span></div>
-<div class="line"><a name="l00348"></a><span class="lineno"><a class="line" href="dtls_8h.html#a6f49d7b0a6e9190d71d51b1ee9ff3bd5">  348</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define DTLS_HT_CERTIFICATE_REQUEST 13</span></div>
-<div class="line"><a name="l00349"></a><span class="lineno"><a class="line" href="dtls_8h.html#a44399f223a3e1c8a8bf3fc638a06a4d7">  349</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define DTLS_HT_SERVER_HELLO_DONE   14</span></div>
-<div class="line"><a name="l00350"></a><span class="lineno"><a class="line" href="dtls_8h.html#a9abc650dd8339a227ddd165ede9350d0">  350</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define DTLS_HT_CERTIFICATE_VERIFY  15</span></div>
-<div class="line"><a name="l00351"></a><span class="lineno"><a class="line" href="dtls_8h.html#a577885c74492a460729a451f33a894c4">  351</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define DTLS_HT_CLIENT_KEY_EXCHANGE 16</span></div>
-<div class="line"><a name="l00352"></a><span class="lineno"><a class="line" href="dtls_8h.html#a16b49d03e041d43b60e1b7bacf35daad">  352</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define DTLS_HT_FINISHED            20</span></div>
-<div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="dtls_8h.html#ad09246453a4dabd919c7541484046a87">__attribute__</a>((__packed__)) {</div>
-<div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;  <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> msg_type; </div>
-<div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;  <a class="code" href="global_8h.html#aabc56baaf04f922a1ea0dda7691fec0a">uint24</a> length;  </div>
-<div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;  <a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a> message_seq;   </div>
-<div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;  <a class="code" href="global_8h.html#aabc56baaf04f922a1ea0dda7691fec0a">uint24</a> fragment_offset;   </div>
-<div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;  <a class="code" href="global_8h.html#aabc56baaf04f922a1ea0dda7691fec0a">uint24</a> fragment_length;   </div>
-<div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;  <span class="comment">/* body */</span></div>
-<div class="line"><a name="l00362"></a><span class="lineno"><a class="line" href="dtls_8h.html#a5c6625ffcf61189392768253e8919a45">  362</a></span>&#160;} <a class="code" href="dtls_8h.html#a5c6625ffcf61189392768253e8919a45">dtls_handshake_header_t</a>;</div>
-<div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;</div>
-<div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="dtls_8h.html#ad09246453a4dabd919c7541484046a87">__attribute__</a>((__packed__)) {</div>
-<div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;  <a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a> version;     </div>
-<div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;  <a class="code" href="global_8h.html#ab27072920285996a3e16d2e5e3d366be">uint32</a> gmt_random;      </div>
-<div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> random[28]; </div>
-<div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;  <span class="comment">/* session id (up to 32 bytes) */</span></div>
-<div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;  <span class="comment">/* cookie (up to 32 bytes) */</span></div>
-<div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;  <span class="comment">/* cipher suite (2 to 2^16 -1 bytes) */</span></div>
-<div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;  <span class="comment">/* compression method */</span></div>
-<div class="line"><a name="l00373"></a><span class="lineno"><a class="line" href="dtls_8h.html#aa9ebc35a08295c2ae09d4248ba8e6456">  373</a></span>&#160;} <a class="code" href="dtls_8h.html#aa9ebc35a08295c2ae09d4248ba8e6456">dtls_client_hello_t</a>;</div>
-<div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;</div>
-<div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="dtls_8h.html#ad09246453a4dabd919c7541484046a87">__attribute__</a>((__packed__)) {</div>
-<div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;  <a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a> version;       </div>
-<div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;  <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> cookie_length;  </div>
-<div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;  <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> cookie[];       </div>
-<div class="line"><a name="l00380"></a><span class="lineno"><a class="line" href="dtls_8h.html#abd61d526ef995e63a6debfd8ddda9e98">  380</a></span>&#160;} <a class="code" href="dtls_8h.html#abd61d526ef995e63a6debfd8ddda9e98">dtls_hello_verify_t</a>;  </div>
-<div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;</div>
-<div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;<span class="preprocessor">#if 0</span></div>
-<div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;<span class="keywordtype">int</span> dtls_record_read(<a class="code" href="state_8h.html#aea0e57fd5b857535960534b53361aa35">dtls_state_t</a> *state, <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *msg, <span class="keywordtype">int</span> msglen);</div>
-<div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;<span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;<span class="keywordtype">int</span> <a class="code" href="dtls_8h.html#ae272fea7269714fe7a67d6da64961731">dtls_handle_message</a>(<a class="code" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="code" href="structsession__t.html">session_t</a> *session,</div>
-<div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;            <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *msg, <span class="keywordtype">int</span> msglen);</div>
-<div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;</div>
-<div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;<a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *<a class="code" href="dtls_8h.html#a3fd062108e5d0f48627ae644546824a6">dtls_get_peer</a>(<span class="keyword">const</span> <a class="code" href="structdtls__context__t.html">dtls_context_t</a> *context,</div>
-<div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;               <span class="keyword">const</span> <a class="code" href="structsession__t.html">session_t</a> *session);</div>
-<div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;</div>
-<div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;</div>
-<div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* _DTLS_DTLS_H_ */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;<span class="preprocessor"></span></div>
-<div class="ttc" id="structdtls__ecdsa__key__t_html_ad78834cca7158114bd78d3d0acb4a548"><div class="ttname"><a href="structdtls__ecdsa__key__t.html#ad78834cca7158114bd78d3d0acb4a548">dtls_ecdsa_key_t::curve</a></div><div class="ttdeci">dtls_ecdh_curve curve</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8h_source.html#l00064">dtls.h:64</a></div></div>
-<div class="ttc" id="structdtls__context__t_html_adb7dc6a53a7e00f2c4bbf726973e002f"><div class="ttname"><a href="structdtls__context__t.html#adb7dc6a53a7e00f2c4bbf726973e002f">dtls_context_t::cookie_secret</a></div><div class="ttdeci">unsigned char cookie_secret[DTLS_COOKIE_SECRET_LENGTH]</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8h_source.html#l00224">dtls.h:224</a></div></div>
-<div class="ttc" id="dtls_8h_html_a3171c099d25ed29e31326526b8e1de84"><div class="ttname"><a href="dtls_8h.html#a3171c099d25ed29e31326526b8e1de84">dtls_free_context</a></div><div class="ttdeci">void dtls_free_context(dtls_context_t *ctx)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l03802">dtls.c:3802</a></div></div>
-<div class="ttc" id="structdtls__ecdsa__key__t_html_a91769609f44590f193d726187ab366de"><div class="ttname"><a href="structdtls__ecdsa__key__t.html#a91769609f44590f193d726187ab366de">dtls_ecdsa_key_t::priv_key</a></div><div class="ttdeci">const unsigned char * priv_key</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8h_source.html#l00065">dtls.h:65</a></div></div>
-<div class="ttc" id="t__list_8h_html"><div class="ttname"><a href="t__list_8h.html">t_list.h</a></div><div class="ttdoc">Wrappers for list structures and functions. </div></div>
-<div class="ttc" id="structdtls__context__t_html"><div class="ttname"><a href="structdtls__context__t.html">dtls_context_t</a></div><div class="ttdef"><b>Definition:</b> <a href="dtls_8h_source.html#l00223">dtls.h:223</a></div></div>
-<div class="ttc" id="dtls_8h_html_a11f53d301448aa8f1dbcfaf77441bd9c"><div class="ttname"><a href="dtls_8h.html#a11f53d301448aa8f1dbcfaf77441bd9c">dtls_new_context</a></div><div class="ttdeci">dtls_context_t * dtls_new_context(void *app_data)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l03740">dtls.c:3740</a></div></div>
-<div class="ttc" id="structdtls__context__t_html_adf4e86be64bd4a07936ddbba5f6fa6af"><div class="ttname"><a href="structdtls__context__t.html#adf4e86be64bd4a07936ddbba5f6fa6af">dtls_context_t::LIST_STRUCT</a></div><div class="ttdeci">LIST_STRUCT(sendqueue)</div></div>
-<div class="ttc" id="state_8h_html_aea0e57fd5b857535960534b53361aa35"><div class="ttname"><a href="state_8h.html#aea0e57fd5b857535960534b53361aa35">dtls_state_t</a></div><div class="ttdeci">dtls_state_t</div><div class="ttdef"><b>Definition:</b> <a href="state_8h_source.html#l00040">state.h:40</a></div></div>
-<div class="ttc" id="structsession__t_html"><div class="ttname"><a href="structsession__t.html">session_t</a></div><div class="ttdef"><b>Definition:</b> <a href="session_8h_source.html#l00049">session.h:49</a></div></div>
-<div class="ttc" id="crypto_8h_html"><div class="ttname"><a href="crypto_8h.html">crypto.h</a></div></div>
-<div class="ttc" id="dtls_8h_html_a3fd062108e5d0f48627ae644546824a6"><div class="ttname"><a href="dtls_8h.html#a3fd062108e5d0f48627ae644546824a6">dtls_get_peer</a></div><div class="ttdeci">dtls_peer_t * dtls_get_peer(const dtls_context_t *context, const session_t *session)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l00212">dtls.c:212</a></div></div>
-<div class="ttc" id="dtls_8h_html_a81936df7abb2c16aa897e3018aa24399"><div class="ttname"><a href="dtls_8h.html#a81936df7abb2c16aa897e3018aa24399">dtls_record_header_t</a></div><div class="ttdeci">dtls_record_header_t</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8h_source.html#l00338">dtls.h:338</a></div></div>
-<div class="ttc" id="dtls_8h_html_a36eda3add5e2d12a3b5e2b6fe7038e01adb8cac45614b2bc4e66970b64043cfc2"><div class="ttname"><a href="dtls_8h.html#a36eda3add5e2d12a3b5e2b6fe7038e01adb8cac45614b2bc4e66970b64043cfc2">DTLS_PSK_IDENTITY</a></div><div class="ttdef"><b>Definition:</b> <a href="dtls_8h_source.html#l00060">dtls.h:60</a></div></div>
-<div class="ttc" id="alert_8h_html_ab6264d1b950719f1c2e00b122cad871f"><div class="ttname"><a href="alert_8h.html#ab6264d1b950719f1c2e00b122cad871f">dtls_alert_level_t</a></div><div class="ttdeci">dtls_alert_level_t</div><div class="ttdef"><b>Definition:</b> <a href="alert_8h_source.html#l00034">alert.h:34</a></div></div>
-<div class="ttc" id="dtls_8h_html_a36eda3add5e2d12a3b5e2b6fe7038e01a1d64c04f18b370cf742595dc91098db4"><div class="ttname"><a href="dtls_8h.html#a36eda3add5e2d12a3b5e2b6fe7038e01a1d64c04f18b370cf742595dc91098db4">DTLS_PSK_KEY</a></div><div class="ttdef"><b>Definition:</b> <a href="dtls_8h_source.html#l00060">dtls.h:60</a></div></div>
-<div class="ttc" id="structdtls__context__t_html_a3f26099dbb3588ae9a86d26f69ec08f8"><div class="ttname"><a href="structdtls__context__t.html#a3f26099dbb3588ae9a86d26f69ec08f8">dtls_context_t::cookie_secret_age</a></div><div class="ttdeci">clock_time_t cookie_secret_age</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8h_source.html#l00225">dtls.h:225</a></div></div>
-<div class="ttc" id="alert_8h_html"><div class="ttname"><a href="alert_8h.html">alert.h</a></div><div class="ttdoc">DTLS alert protocol. </div></div>
-<div class="ttc" id="global_8h_html"><div class="ttname"><a href="global_8h.html">global.h</a></div></div>
-<div class="ttc" id="dtls_8h_html_a36eda3add5e2d12a3b5e2b6fe7038e01"><div class="ttname"><a href="dtls_8h.html#a36eda3add5e2d12a3b5e2b6fe7038e01">dtls_credentials_type_t</a></div><div class="ttdeci">dtls_credentials_type_t</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8h_source.html#l00059">dtls.h:59</a></div></div>
-<div class="ttc" id="structdtls__context__t_html_a417fa8ac04478292f0539d2da0fec088"><div class="ttname"><a href="structdtls__context__t.html#a417fa8ac04478292f0539d2da0fec088">dtls_context_t::peers</a></div><div class="ttdeci">dtls_peer_t * peers</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8h_source.html#l00228">dtls.h:228</a></div></div>
-<div class="ttc" id="group__clock_html_ga6e6c13e871b82d881a01d1bc8df69d23"><div class="ttname"><a href="group__clock.html#ga6e6c13e871b82d881a01d1bc8df69d23">clock_time_t</a></div><div class="ttdeci">uint32_t clock_time_t</div><div class="ttdef"><b>Definition:</b> <a href="dtls__time_8h_source.html#l00055">dtls_time.h:55</a></div></div>
-<div class="ttc" id="global_8h_html_a0749f1df578b26eccab986b0d8abaa56"><div class="ttname"><a href="global_8h.html#a0749f1df578b26eccab986b0d8abaa56">uint48</a></div><div class="ttdeci">unsigned char uint48[6]</div><div class="ttdef"><b>Definition:</b> <a href="global_8h_source.html#l00051">global.h:51</a></div></div>
-<div class="ttc" id="dtls_8h_html_ab0e3223c87b79e4946b19538b24634da"><div class="ttname"><a href="dtls_8h.html#ab0e3223c87b79e4946b19538b24634da">dtls_set_handler</a></div><div class="ttdeci">static void dtls_set_handler(dtls_context_t *ctx, dtls_handler_t *h)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8h_source.html#l00262">dtls.h:262</a></div></div>
-<div class="ttc" id="peer_8h_html"><div class="ttname"><a href="peer_8h.html">peer.h</a></div><div class="ttdoc">information about peers in a DTLS session </div></div>
-<div class="ttc" id="structdtls__context__t_html_a460737bda0d200538c00ef7877b339cd"><div class="ttname"><a href="structdtls__context__t.html#a460737bda0d200538c00ef7877b339cd">dtls_context_t::h</a></div><div class="ttdeci">dtls_handler_t * h</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8h_source.html#l00239">dtls.h:239</a></div></div>
-<div class="ttc" id="dtls_8h_html_ad09246453a4dabd919c7541484046a87"><div class="ttname"><a href="dtls_8h.html#ad09246453a4dabd919c7541484046a87">__attribute__</a></div><div class="ttdeci">struct __attribute__((__packed__))</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8h_source.html#l00331">dtls.h:331</a></div></div>
-<div class="ttc" id="global_8h_html_aabc56baaf04f922a1ea0dda7691fec0a"><div class="ttname"><a href="global_8h.html#aabc56baaf04f922a1ea0dda7691fec0a">uint24</a></div><div class="ttdeci">unsigned char uint24[3]</div><div class="ttdef"><b>Definition:</b> <a href="global_8h_source.html#l00049">global.h:49</a></div></div>
-<div class="ttc" id="dtls_8h_html_a472601639fcded4630fbd087f986ad10"><div class="ttname"><a href="dtls_8h.html#a472601639fcded4630fbd087f986ad10">dtls_ecdsa_key_t</a></div><div class="ttdeci">struct dtls_ecdsa_key_t dtls_ecdsa_key_t</div></div>
-<div class="ttc" id="dtls__time_8h_html"><div class="ttname"><a href="dtls__time_8h.html">dtls_time.h</a></div><div class="ttdoc">Clock Handling. </div></div>
-<div class="ttc" id="hmac_8h_html"><div class="ttname"><a href="hmac_8h.html">hmac.h</a></div></div>
-<div class="ttc" id="dtls_8h_html_a5c6625ffcf61189392768253e8919a45"><div class="ttname"><a href="dtls_8h.html#a5c6625ffcf61189392768253e8919a45">dtls_handshake_header_t</a></div><div class="ttdeci">dtls_handshake_header_t</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8h_source.html#l00362">dtls.h:362</a></div></div>
-<div class="ttc" id="structdtls__context__t_html_ad6facbcd3c19ac8e1c79b1664dcf2434"><div class="ttname"><a href="structdtls__context__t.html#ad6facbcd3c19ac8e1c79b1664dcf2434">dtls_context_t::readbuf</a></div><div class="ttdeci">unsigned char readbuf[DTLS_MAX_BUF]</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8h_source.html#l00241">dtls.h:241</a></div></div>
-<div class="ttc" id="structdtls__ecdsa__key__t_html_aaceb7ea4b4f9e74fb2ec85c49746132f"><div class="ttname"><a href="structdtls__ecdsa__key__t.html#aaceb7ea4b4f9e74fb2ec85c49746132f">dtls_ecdsa_key_t::pub_key_y</a></div><div class="ttdeci">const unsigned char * pub_key_y</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8h_source.html#l00067">dtls.h:67</a></div></div>
-<div class="ttc" id="crypto_8h_html_a3710d42871d602387a5147c05bf9f1ef"><div class="ttname"><a href="crypto_8h.html#a3710d42871d602387a5147c05bf9f1ef">dtls_ecdh_curve</a></div><div class="ttdeci">dtls_ecdh_curve</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00065">crypto.h:65</a></div></div>
-<div class="ttc" id="dtls_8h_html_a407c66c58bfc87651714de4103bee135"><div class="ttname"><a href="dtls_8h.html#a407c66c58bfc87651714de4103bee135">dtls_context_t</a></div><div class="ttdeci">struct dtls_context_t dtls_context_t</div></div>
-<div class="ttc" id="global_8h_html_adde6aaee8457bee49c2a92621fe22b79"><div class="ttname"><a href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a></div><div class="ttdeci">unsigned char uint8</div><div class="ttdef"><b>Definition:</b> <a href="global_8h_source.html#l00047">global.h:47</a></div></div>
-<div class="ttc" id="structdtls__peer__t_html"><div class="ttname"><a href="structdtls__peer__t.html">dtls_peer_t</a></div><div class="ttdef"><b>Definition:</b> <a href="peer_8h_source.html#l00052">peer.h:52</a></div></div>
-<div class="ttc" id="dtls_8h_html_ac203466e393ac9030d405c8f0496e9cd"><div class="ttname"><a href="dtls_8h.html#ac203466e393ac9030d405c8f0496e9cd">dtls_init</a></div><div class="ttdeci">void dtls_init()</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l00163">dtls.c:163</a></div></div>
-<div class="ttc" id="structdtls__ecdsa__key__t_html_aa54efc762737c1b94eaebae1262d4221"><div class="ttname"><a href="structdtls__ecdsa__key__t.html#aa54efc762737c1b94eaebae1262d4221">dtls_ecdsa_key_t::pub_key_x</a></div><div class="ttdeci">const unsigned char * pub_key_x</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8h_source.html#l00066">dtls.h:66</a></div></div>
-<div class="ttc" id="dtls_8h_html_a187f5e145bb869a732fbed426929a4e9"><div class="ttname"><a href="dtls_8h.html#a187f5e145bb869a732fbed426929a4e9">dtls_connect</a></div><div class="ttdeci">int dtls_connect(dtls_context_t *ctx, const session_t *dst)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l03862">dtls.c:3862</a></div></div>
-<div class="ttc" id="dtls_8h_html_ae272fea7269714fe7a67d6da64961731"><div class="ttname"><a href="dtls_8h.html#ae272fea7269714fe7a67d6da64961731">dtls_handle_message</a></div><div class="ttdeci">int dtls_handle_message(dtls_context_t *ctx, session_t *session, uint8 *msg, int msglen)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l03591">dtls.c:3591</a></div></div>
-<div class="ttc" id="structdtls__ecdsa__key__t_html"><div class="ttname"><a href="structdtls__ecdsa__key__t.html">dtls_ecdsa_key_t</a></div><div class="ttdef"><b>Definition:</b> <a href="dtls_8h_source.html#l00063">dtls.h:63</a></div></div>
-<div class="ttc" id="dtls_8h_html_ab50d1ee589e91d07032d0a65768dee82"><div class="ttname"><a href="dtls_8h.html#ab50d1ee589e91d07032d0a65768dee82">dtls_check_retransmit</a></div><div class="ttdeci">void dtls_check_retransmit(dtls_context_t *context, clock_time_t *next)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l03957">dtls.c:3957</a></div></div>
-<div class="ttc" id="state_8h_html"><div class="ttname"><a href="state_8h.html">state.h</a></div><div class="ttdoc">state information for DTLS FSM </div></div>
-<div class="ttc" id="dtls_8h_html_a36eda3add5e2d12a3b5e2b6fe7038e01a53b5588e3c87ce19b1340baf193d130c"><div class="ttname"><a href="dtls_8h.html#a36eda3add5e2d12a3b5e2b6fe7038e01a53b5588e3c87ce19b1340baf193d130c">DTLS_PSK_HINT</a></div><div class="ttdef"><b>Definition:</b> <a href="dtls_8h_source.html#l00060">dtls.h:60</a></div></div>
-<div class="ttc" id="global_8h_html_acdbfba15eb1a5692e177d582b4ca1583"><div class="ttname"><a href="global_8h.html#acdbfba15eb1a5692e177d582b4ca1583">DTLS_MAX_BUF</a></div><div class="ttdeci">#define DTLS_MAX_BUF</div><div class="ttdef"><b>Definition:</b> <a href="global_8h_source.html#l00064">global.h:64</a></div></div>
-<div class="ttc" id="global_8h_html_ab27072920285996a3e16d2e5e3d366be"><div class="ttname"><a href="global_8h.html#ab27072920285996a3e16d2e5e3d366be">uint32</a></div><div class="ttdeci">unsigned char uint32[4]</div><div class="ttdef"><b>Definition:</b> <a href="global_8h_source.html#l00050">global.h:50</a></div></div>
-<div class="ttc" id="dtls_8h_html_aa9ebc35a08295c2ae09d4248ba8e6456"><div class="ttname"><a href="dtls_8h.html#aa9ebc35a08295c2ae09d4248ba8e6456">dtls_client_hello_t</a></div><div class="ttdeci">dtls_client_hello_t</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8h_source.html#l00373">dtls.h:373</a></div></div>
-<div class="ttc" id="structdtls__handler__t_html"><div class="ttname"><a href="structdtls__handler__t.html">dtls_handler_t</a></div><div class="ttdef"><b>Definition:</b> <a href="dtls_8h_source.html#l00084">dtls.h:84</a></div></div>
-<div class="ttc" id="structdtls__context__t_html_ab37722ec6b82dd3120827812f212a51e"><div class="ttname"><a href="structdtls__context__t.html#ab37722ec6b82dd3120827812f212a51e">dtls_context_t::app</a></div><div class="ttdeci">void * app</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8h_source.html#l00237">dtls.h:237</a></div></div>
-<div class="ttc" id="dtls_8h_html_a5676a0ceeeabd1ec38d378212f7af4a1"><div class="ttname"><a href="dtls_8h.html#a5676a0ceeeabd1ec38d378212f7af4a1">dtls_renegotiate</a></div><div class="ttdeci">int dtls_renegotiate(dtls_context_t *ctx, const session_t *dst)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l02956">dtls.c:2956</a></div></div>
-<div class="ttc" id="dtls_8h_html_abd61d526ef995e63a6debfd8ddda9e98"><div class="ttname"><a href="dtls_8h.html#abd61d526ef995e63a6debfd8ddda9e98">dtls_hello_verify_t</a></div><div class="ttdeci">dtls_hello_verify_t</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8h_source.html#l00380">dtls.h:380</a></div></div>
-<div class="ttc" id="dtls_8h_html_aa90f5eb6954137d5e098e29143c2586a"><div class="ttname"><a href="dtls_8h.html#aa90f5eb6954137d5e098e29143c2586a">dtls_close</a></div><div class="ttdeci">int dtls_close(dtls_context_t *ctx, const session_t *remote)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l01494">dtls.c:1494</a></div></div>
-<div class="ttc" id="dtls_8h_html_a44ec206b1d84aa3d83281a92ed7cc238"><div class="ttname"><a href="dtls_8h.html#a44ec206b1d84aa3d83281a92ed7cc238">DTLS_COOKIE_SECRET_LENGTH</a></div><div class="ttdeci">#define DTLS_COOKIE_SECRET_LENGTH</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8h_source.html#l00071">dtls.h:71</a></div></div>
-<div class="ttc" id="global_8h_html_a5e90b30856b81913af89565b55751da5"><div class="ttname"><a href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a></div><div class="ttdeci">unsigned char uint16[2]</div><div class="ttdef"><b>Definition:</b> <a href="global_8h_source.html#l00048">global.h:48</a></div></div>
-<div class="ttc" id="dtls_8h_html_ad60bf1197fa1a074f91aed508cfefa62"><div class="ttname"><a href="dtls_8h.html#ad60bf1197fa1a074f91aed508cfefa62">dtls_connect_peer</a></div><div class="ttdeci">int dtls_connect_peer(dtls_context_t *ctx, dtls_peer_t *peer)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l03826">dtls.c:3826</a></div></div>
-<div class="ttc" id="uthash_8h_html"><div class="ttname"><a href="uthash_8h.html">uthash.h</a></div></div>
-<div class="ttc" id="dtls_8h_html_a4743f51c3197d290fc9a88e1f3a64928"><div class="ttname"><a href="dtls_8h.html#a4743f51c3197d290fc9a88e1f3a64928">dtls_write</a></div><div class="ttdeci">int dtls_write(struct dtls_context_t *ctx, session_t *session, uint8 *buf, size_t len)</div><div class="ttdef"><b>Definition:</b> <a href="dtls_8c_source.html#l00236">dtls.c:236</a></div></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/dtls__config_8h.html b/external/wakaama/examples/shared/tinydtls/doc/html/dtls__config_8h.html
deleted file mode 100644 (file)
index 310fa0e..0000000
+++ /dev/null
@@ -1,681 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: dtls_config.h File Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#define-members">Macros</a>  </div>
-  <div class="headertitle">
-<div class="title">dtls_config.h File Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p><a href="dtls__config_8h_source.html">Go to the source code of this file.</a></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
-Macros</h2></td></tr>
-<tr class="memitem:a1b77fedd334a66611747922038c930d6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls__config_8h.html#a1b77fedd334a66611747922038c930d6">DTLS_ECC</a>&#160;&#160;&#160;1</td></tr>
-<tr class="separator:a1b77fedd334a66611747922038c930d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5ce72e9d11801559b799b999f50c49cf"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls__config_8h.html#a5ce72e9d11801559b799b999f50c49cf">DTLS_PSK</a>&#160;&#160;&#160;1</td></tr>
-<tr class="separator:a5ce72e9d11801559b799b999f50c49cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7d1a71461e07569d0c9003da24c30a59"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls__config_8h.html#a7d1a71461e07569d0c9003da24c30a59">HAVE_ARPA_INET_H</a>&#160;&#160;&#160;1</td></tr>
-<tr class="separator:a7d1a71461e07569d0c9003da24c30a59"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad0eabe2e5407bc73450eb15b657983cd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls__config_8h.html#ad0eabe2e5407bc73450eb15b657983cd">HAVE_ASSERT_H</a>&#160;&#160;&#160;1</td></tr>
-<tr class="separator:ad0eabe2e5407bc73450eb15b657983cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a765d75020849aa0a9b6becd9a5b7a193"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls__config_8h.html#a765d75020849aa0a9b6becd9a5b7a193">HAVE_FCNTL_H</a>&#160;&#160;&#160;1</td></tr>
-<tr class="separator:a765d75020849aa0a9b6becd9a5b7a193"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab90a030ff2790ebdc176660a6dd2a478"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls__config_8h.html#ab90a030ff2790ebdc176660a6dd2a478">HAVE_INTTYPES_H</a>&#160;&#160;&#160;1</td></tr>
-<tr class="separator:ab90a030ff2790ebdc176660a6dd2a478"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a14503280ca0cb757db915eea09282bfc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls__config_8h.html#a14503280ca0cb757db915eea09282bfc">HAVE_MALLOC</a>&#160;&#160;&#160;1</td></tr>
-<tr class="separator:a14503280ca0cb757db915eea09282bfc"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae93a78f9d076138897af441c9f86f285"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls__config_8h.html#ae93a78f9d076138897af441c9f86f285">HAVE_MEMORY_H</a>&#160;&#160;&#160;1</td></tr>
-<tr class="separator:ae93a78f9d076138897af441c9f86f285"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3df52e9809253860c385be6f3a160607"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls__config_8h.html#a3df52e9809253860c385be6f3a160607">HAVE_MEMSET</a>&#160;&#160;&#160;1</td></tr>
-<tr class="separator:a3df52e9809253860c385be6f3a160607"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9fe2d1d4726a6b846483a2276866dc6e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls__config_8h.html#a9fe2d1d4726a6b846483a2276866dc6e">HAVE_NETDB_H</a>&#160;&#160;&#160;1</td></tr>
-<tr class="separator:a9fe2d1d4726a6b846483a2276866dc6e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0938658b988a082864efcee2d1b2bfd2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls__config_8h.html#a0938658b988a082864efcee2d1b2bfd2">HAVE_NETINET_IN_H</a>&#160;&#160;&#160;1</td></tr>
-<tr class="separator:a0938658b988a082864efcee2d1b2bfd2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aee3a7313d861afa18971031528fd0cd5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls__config_8h.html#aee3a7313d861afa18971031528fd0cd5">HAVE_SELECT</a>&#160;&#160;&#160;1</td></tr>
-<tr class="separator:aee3a7313d861afa18971031528fd0cd5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4cd6234bfe3f7c10968a1151f43ce280"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls__config_8h.html#a4cd6234bfe3f7c10968a1151f43ce280">HAVE_SOCKET</a>&#160;&#160;&#160;1</td></tr>
-<tr class="separator:a4cd6234bfe3f7c10968a1151f43ce280"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0e6b9a04ae66b7846715e51a0a2dccff"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls__config_8h.html#a0e6b9a04ae66b7846715e51a0a2dccff">HAVE_STDDEF_H</a>&#160;&#160;&#160;1</td></tr>
-<tr class="separator:a0e6b9a04ae66b7846715e51a0a2dccff"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab6cd6d1c63c1e26ea2d4537b77148354"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls__config_8h.html#ab6cd6d1c63c1e26ea2d4537b77148354">HAVE_STDINT_H</a>&#160;&#160;&#160;1</td></tr>
-<tr class="separator:ab6cd6d1c63c1e26ea2d4537b77148354"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9e0e434ec1a6ddbd97db12b5a32905e0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls__config_8h.html#a9e0e434ec1a6ddbd97db12b5a32905e0">HAVE_STDLIB_H</a>&#160;&#160;&#160;1</td></tr>
-<tr class="separator:a9e0e434ec1a6ddbd97db12b5a32905e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a41b838eb3b86a0ebbd0981e92a759c0f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls__config_8h.html#a41b838eb3b86a0ebbd0981e92a759c0f">HAVE_STRDUP</a>&#160;&#160;&#160;1</td></tr>
-<tr class="separator:a41b838eb3b86a0ebbd0981e92a759c0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a992653625041edef146772df96f7bca9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls__config_8h.html#a992653625041edef146772df96f7bca9">HAVE_STRERROR</a>&#160;&#160;&#160;1</td></tr>
-<tr class="separator:a992653625041edef146772df96f7bca9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a405d10d46190bcb0320524c54eafc850"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls__config_8h.html#a405d10d46190bcb0320524c54eafc850">HAVE_STRINGS_H</a>&#160;&#160;&#160;1</td></tr>
-<tr class="separator:a405d10d46190bcb0320524c54eafc850"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad4c234dd1625255dc626a15886306e7d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls__config_8h.html#ad4c234dd1625255dc626a15886306e7d">HAVE_STRING_H</a>&#160;&#160;&#160;1</td></tr>
-<tr class="separator:ad4c234dd1625255dc626a15886306e7d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9bee6d8db098b2230690f8e8db9ffb74"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls__config_8h.html#a9bee6d8db098b2230690f8e8db9ffb74">HAVE_STRNLEN</a>&#160;&#160;&#160;1</td></tr>
-<tr class="separator:a9bee6d8db098b2230690f8e8db9ffb74"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a05aa9fc25e1231d8eb347390558e4e22"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls__config_8h.html#a05aa9fc25e1231d8eb347390558e4e22">HAVE_SYS_PARAM_H</a>&#160;&#160;&#160;1</td></tr>
-<tr class="separator:a05aa9fc25e1231d8eb347390558e4e22"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:afb96c2bc08ebf33cca68c714f624a58d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls__config_8h.html#afb96c2bc08ebf33cca68c714f624a58d">HAVE_SYS_SOCKET_H</a>&#160;&#160;&#160;1</td></tr>
-<tr class="separator:afb96c2bc08ebf33cca68c714f624a58d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ace156430ba007d19b4348a950d0c692b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls__config_8h.html#ace156430ba007d19b4348a950d0c692b">HAVE_SYS_STAT_H</a>&#160;&#160;&#160;1</td></tr>
-<tr class="separator:ace156430ba007d19b4348a950d0c692b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2aae46056558e9d6fef6380f9678ffe3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls__config_8h.html#a2aae46056558e9d6fef6380f9678ffe3">HAVE_SYS_TIME_H</a>&#160;&#160;&#160;1</td></tr>
-<tr class="separator:a2aae46056558e9d6fef6380f9678ffe3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a69dc70bea5d1f8bd2be9740e974fa666"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls__config_8h.html#a69dc70bea5d1f8bd2be9740e974fa666">HAVE_SYS_TYPES_H</a>&#160;&#160;&#160;1</td></tr>
-<tr class="separator:a69dc70bea5d1f8bd2be9740e974fa666"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2397007ae170bf57faa808bacaaa2499"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls__config_8h.html#a2397007ae170bf57faa808bacaaa2499">HAVE_TIME_H</a>&#160;&#160;&#160;1</td></tr>
-<tr class="separator:a2397007ae170bf57faa808bacaaa2499"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a219b06937831d0da94d801ab13987639"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls__config_8h.html#a219b06937831d0da94d801ab13987639">HAVE_UNISTD_H</a>&#160;&#160;&#160;1</td></tr>
-<tr class="separator:a219b06937831d0da94d801ab13987639"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a11e8ffa0e0ee1d52812402f2eac05fa7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls__config_8h.html#a11e8ffa0e0ee1d52812402f2eac05fa7">HAVE_VPRINTF</a>&#160;&#160;&#160;1</td></tr>
-<tr class="separator:a11e8ffa0e0ee1d52812402f2eac05fa7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1d1d2d7f8d2f95b376954d649ab03233"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls__config_8h.html#a1d1d2d7f8d2f95b376954d649ab03233">PACKAGE_BUGREPORT</a>&#160;&#160;&#160;&quot;&quot;</td></tr>
-<tr class="separator:a1d1d2d7f8d2f95b376954d649ab03233"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1c0439e4355794c09b64274849eb0279"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls__config_8h.html#a1c0439e4355794c09b64274849eb0279">PACKAGE_NAME</a>&#160;&#160;&#160;&quot;tinydtls&quot;</td></tr>
-<tr class="separator:a1c0439e4355794c09b64274849eb0279"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac73e6f903c16eca7710f92e36e1c6fbf"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls__config_8h.html#ac73e6f903c16eca7710f92e36e1c6fbf">PACKAGE_STRING</a>&#160;&#160;&#160;&quot;tinydtls 0.8.2&quot;</td></tr>
-<tr class="separator:ac73e6f903c16eca7710f92e36e1c6fbf"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af415af6bfede0e8d5453708afe68651c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls__config_8h.html#af415af6bfede0e8d5453708afe68651c">PACKAGE_TARNAME</a>&#160;&#160;&#160;&quot;tinydtls&quot;</td></tr>
-<tr class="separator:af415af6bfede0e8d5453708afe68651c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5c93853116d5a50307b6744f147840aa"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls__config_8h.html#a5c93853116d5a50307b6744f147840aa">PACKAGE_URL</a>&#160;&#160;&#160;&quot;&quot;</td></tr>
-<tr class="separator:a5c93853116d5a50307b6744f147840aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa326a05d5e30f9e9a4bb0b4469d5d0c0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls__config_8h.html#aa326a05d5e30f9e9a4bb0b4469d5d0c0">PACKAGE_VERSION</a>&#160;&#160;&#160;&quot;0.8.2&quot;</td></tr>
-<tr class="separator:aa326a05d5e30f9e9a4bb0b4469d5d0c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a550e5c272cc3cf3814651721167dcd23"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls__config_8h.html#a550e5c272cc3cf3814651721167dcd23">STDC_HEADERS</a>&#160;&#160;&#160;1</td></tr>
-<tr class="separator:a550e5c272cc3cf3814651721167dcd23"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<h2 class="groupheader">Macro Definition Documentation</h2>
-<a class="anchor" id="a1b77fedd334a66611747922038c930d6"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DTLS_ECC&#160;&#160;&#160;1</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls__config_8h_source.html#l00008">8</a> of file <a class="el" href="dtls__config_8h_source.html">dtls_config.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a5ce72e9d11801559b799b999f50c49cf"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DTLS_PSK&#160;&#160;&#160;1</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls__config_8h_source.html#l00011">11</a> of file <a class="el" href="dtls__config_8h_source.html">dtls_config.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a7d1a71461e07569d0c9003da24c30a59"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HAVE_ARPA_INET_H&#160;&#160;&#160;1</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls__config_8h_source.html#l00014">14</a> of file <a class="el" href="dtls__config_8h_source.html">dtls_config.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ad0eabe2e5407bc73450eb15b657983cd"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HAVE_ASSERT_H&#160;&#160;&#160;1</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls__config_8h_source.html#l00017">17</a> of file <a class="el" href="dtls__config_8h_source.html">dtls_config.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a765d75020849aa0a9b6becd9a5b7a193"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HAVE_FCNTL_H&#160;&#160;&#160;1</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls__config_8h_source.html#l00020">20</a> of file <a class="el" href="dtls__config_8h_source.html">dtls_config.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ab90a030ff2790ebdc176660a6dd2a478"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HAVE_INTTYPES_H&#160;&#160;&#160;1</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls__config_8h_source.html#l00026">26</a> of file <a class="el" href="dtls__config_8h_source.html">dtls_config.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a14503280ca0cb757db915eea09282bfc"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HAVE_MALLOC&#160;&#160;&#160;1</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls__config_8h_source.html#l00030">30</a> of file <a class="el" href="dtls__config_8h_source.html">dtls_config.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ae93a78f9d076138897af441c9f86f285"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HAVE_MEMORY_H&#160;&#160;&#160;1</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls__config_8h_source.html#l00033">33</a> of file <a class="el" href="dtls__config_8h_source.html">dtls_config.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a3df52e9809253860c385be6f3a160607"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HAVE_MEMSET&#160;&#160;&#160;1</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls__config_8h_source.html#l00036">36</a> of file <a class="el" href="dtls__config_8h_source.html">dtls_config.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a9fe2d1d4726a6b846483a2276866dc6e"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HAVE_NETDB_H&#160;&#160;&#160;1</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls__config_8h_source.html#l00039">39</a> of file <a class="el" href="dtls__config_8h_source.html">dtls_config.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a0938658b988a082864efcee2d1b2bfd2"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HAVE_NETINET_IN_H&#160;&#160;&#160;1</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls__config_8h_source.html#l00042">42</a> of file <a class="el" href="dtls__config_8h_source.html">dtls_config.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aee3a7313d861afa18971031528fd0cd5"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HAVE_SELECT&#160;&#160;&#160;1</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls__config_8h_source.html#l00045">45</a> of file <a class="el" href="dtls__config_8h_source.html">dtls_config.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a4cd6234bfe3f7c10968a1151f43ce280"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HAVE_SOCKET&#160;&#160;&#160;1</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls__config_8h_source.html#l00051">51</a> of file <a class="el" href="dtls__config_8h_source.html">dtls_config.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a0e6b9a04ae66b7846715e51a0a2dccff"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HAVE_STDDEF_H&#160;&#160;&#160;1</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls__config_8h_source.html#l00054">54</a> of file <a class="el" href="dtls__config_8h_source.html">dtls_config.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ab6cd6d1c63c1e26ea2d4537b77148354"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HAVE_STDINT_H&#160;&#160;&#160;1</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls__config_8h_source.html#l00057">57</a> of file <a class="el" href="dtls__config_8h_source.html">dtls_config.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a9e0e434ec1a6ddbd97db12b5a32905e0"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HAVE_STDLIB_H&#160;&#160;&#160;1</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls__config_8h_source.html#l00060">60</a> of file <a class="el" href="dtls__config_8h_source.html">dtls_config.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a41b838eb3b86a0ebbd0981e92a759c0f"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HAVE_STRDUP&#160;&#160;&#160;1</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls__config_8h_source.html#l00063">63</a> of file <a class="el" href="dtls__config_8h_source.html">dtls_config.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a992653625041edef146772df96f7bca9"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HAVE_STRERROR&#160;&#160;&#160;1</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls__config_8h_source.html#l00066">66</a> of file <a class="el" href="dtls__config_8h_source.html">dtls_config.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ad4c234dd1625255dc626a15886306e7d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HAVE_STRING_H&#160;&#160;&#160;1</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls__config_8h_source.html#l00072">72</a> of file <a class="el" href="dtls__config_8h_source.html">dtls_config.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a405d10d46190bcb0320524c54eafc850"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HAVE_STRINGS_H&#160;&#160;&#160;1</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls__config_8h_source.html#l00069">69</a> of file <a class="el" href="dtls__config_8h_source.html">dtls_config.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a9bee6d8db098b2230690f8e8db9ffb74"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HAVE_STRNLEN&#160;&#160;&#160;1</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls__config_8h_source.html#l00075">75</a> of file <a class="el" href="dtls__config_8h_source.html">dtls_config.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a05aa9fc25e1231d8eb347390558e4e22"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HAVE_SYS_PARAM_H&#160;&#160;&#160;1</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls__config_8h_source.html#l00078">78</a> of file <a class="el" href="dtls__config_8h_source.html">dtls_config.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="afb96c2bc08ebf33cca68c714f624a58d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HAVE_SYS_SOCKET_H&#160;&#160;&#160;1</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls__config_8h_source.html#l00081">81</a> of file <a class="el" href="dtls__config_8h_source.html">dtls_config.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ace156430ba007d19b4348a950d0c692b"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HAVE_SYS_STAT_H&#160;&#160;&#160;1</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls__config_8h_source.html#l00084">84</a> of file <a class="el" href="dtls__config_8h_source.html">dtls_config.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a2aae46056558e9d6fef6380f9678ffe3"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HAVE_SYS_TIME_H&#160;&#160;&#160;1</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls__config_8h_source.html#l00087">87</a> of file <a class="el" href="dtls__config_8h_source.html">dtls_config.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a69dc70bea5d1f8bd2be9740e974fa666"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HAVE_SYS_TYPES_H&#160;&#160;&#160;1</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls__config_8h_source.html#l00090">90</a> of file <a class="el" href="dtls__config_8h_source.html">dtls_config.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a2397007ae170bf57faa808bacaaa2499"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HAVE_TIME_H&#160;&#160;&#160;1</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls__config_8h_source.html#l00093">93</a> of file <a class="el" href="dtls__config_8h_source.html">dtls_config.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a219b06937831d0da94d801ab13987639"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HAVE_UNISTD_H&#160;&#160;&#160;1</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls__config_8h_source.html#l00096">96</a> of file <a class="el" href="dtls__config_8h_source.html">dtls_config.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a11e8ffa0e0ee1d52812402f2eac05fa7"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HAVE_VPRINTF&#160;&#160;&#160;1</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls__config_8h_source.html#l00099">99</a> of file <a class="el" href="dtls__config_8h_source.html">dtls_config.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a1d1d2d7f8d2f95b376954d649ab03233"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PACKAGE_BUGREPORT&#160;&#160;&#160;&quot;&quot;</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls__config_8h_source.html#l00102">102</a> of file <a class="el" href="dtls__config_8h_source.html">dtls_config.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a1c0439e4355794c09b64274849eb0279"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PACKAGE_NAME&#160;&#160;&#160;&quot;tinydtls&quot;</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls__config_8h_source.html#l00105">105</a> of file <a class="el" href="dtls__config_8h_source.html">dtls_config.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ac73e6f903c16eca7710f92e36e1c6fbf"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PACKAGE_STRING&#160;&#160;&#160;&quot;tinydtls 0.8.2&quot;</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls__config_8h_source.html#l00108">108</a> of file <a class="el" href="dtls__config_8h_source.html">dtls_config.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="af415af6bfede0e8d5453708afe68651c"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PACKAGE_TARNAME&#160;&#160;&#160;&quot;tinydtls&quot;</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls__config_8h_source.html#l00111">111</a> of file <a class="el" href="dtls__config_8h_source.html">dtls_config.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a5c93853116d5a50307b6744f147840aa"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PACKAGE_URL&#160;&#160;&#160;&quot;&quot;</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls__config_8h_source.html#l00114">114</a> of file <a class="el" href="dtls__config_8h_source.html">dtls_config.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aa326a05d5e30f9e9a4bb0b4469d5d0c0"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PACKAGE_VERSION&#160;&#160;&#160;&quot;0.8.2&quot;</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls__config_8h_source.html#l00117">117</a> of file <a class="el" href="dtls__config_8h_source.html">dtls_config.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a550e5c272cc3cf3814651721167dcd23"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define STDC_HEADERS&#160;&#160;&#160;1</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls__config_8h_source.html#l00120">120</a> of file <a class="el" href="dtls__config_8h_source.html">dtls_config.h</a>.</p>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/dtls__config_8h_source.html b/external/wakaama/examples/shared/tinydtls/doc/html/dtls__config_8h_source.html
deleted file mode 100644 (file)
index b86b238..0000000
+++ /dev/null
@@ -1,248 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: dtls_config.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="header">
-  <div class="headertitle">
-<div class="title">dtls_config.h</div>  </div>
-</div><!--header-->
-<div class="contents">
-<a href="dtls__config_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/* dtls_config.h.  Generated from dtls_config.h.in by configure.  */</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">/* dtls_config.h.in.  Generated from configure.in by autoheader.  */</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;</div>
-<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">/* Define if building universal (internal helper macro) */</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">/* #undef AC_APPLE_UNIVERSAL_BUILD */</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;</div>
-<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">/* Define to 1 if building with ECC support. */</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"><a class="line" href="dtls__config_8h.html#a1b77fedd334a66611747922038c930d6">    8</a></span>&#160;<span class="preprocessor">#define DTLS_ECC 1</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">/* Define to 1 if building with PSK support */</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"><a class="line" href="dtls__config_8h.html#a5ce72e9d11801559b799b999f50c49cf">   11</a></span>&#160;<span class="preprocessor">#define DTLS_PSK 1</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">/* Define to 1 if you have the &lt;arpa/inet.h&gt; header file. */</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"><a class="line" href="dtls__config_8h.html#a7d1a71461e07569d0c9003da24c30a59">   14</a></span>&#160;<span class="preprocessor">#define HAVE_ARPA_INET_H 1</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">/* Define to 1 if you have the &lt;assert.h&gt; header file. */</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"><a class="line" href="dtls__config_8h.html#ad0eabe2e5407bc73450eb15b657983cd">   17</a></span>&#160;<span class="preprocessor">#define HAVE_ASSERT_H 1</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">/* Define to 1 if you have the &lt;fcntl.h&gt; header file. */</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"><a class="line" href="dtls__config_8h.html#a765d75020849aa0a9b6becd9a5b7a193">   20</a></span>&#160;<span class="preprocessor">#define HAVE_FCNTL_H 1</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">/* Define to 1 if you have the `fls&#39; function. */</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment">/* #undef HAVE_FLS */</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;</div>
-<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment">/* Define to 1 if you have the &lt;inttypes.h&gt; header file. */</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"><a class="line" href="dtls__config_8h.html#ab90a030ff2790ebdc176660a6dd2a478">   26</a></span>&#160;<span class="preprocessor">#define HAVE_INTTYPES_H 1</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment">/* Define to 1 if your system has a GNU libc compatible `malloc&#39; function, and</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment">   to 0 otherwise. */</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"><a class="line" href="dtls__config_8h.html#a14503280ca0cb757db915eea09282bfc">   30</a></span>&#160;<span class="preprocessor">#define HAVE_MALLOC 1</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">/* Define to 1 if you have the &lt;memory.h&gt; header file. */</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="dtls__config_8h.html#ae93a78f9d076138897af441c9f86f285">   33</a></span>&#160;<span class="preprocessor">#define HAVE_MEMORY_H 1</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">/* Define to 1 if you have the `memset&#39; function. */</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="dtls__config_8h.html#a3df52e9809253860c385be6f3a160607">   36</a></span>&#160;<span class="preprocessor">#define HAVE_MEMSET 1</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">/* Define to 1 if you have the &lt;netdb.h&gt; header file. */</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="dtls__config_8h.html#a9fe2d1d4726a6b846483a2276866dc6e">   39</a></span>&#160;<span class="preprocessor">#define HAVE_NETDB_H 1</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">/* Define to 1 if you have the &lt;netinet/in.h&gt; header file. */</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="dtls__config_8h.html#a0938658b988a082864efcee2d1b2bfd2">   42</a></span>&#160;<span class="preprocessor">#define HAVE_NETINET_IN_H 1</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">/* Define to 1 if you have the `select&#39; function. */</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="dtls__config_8h.html#aee3a7313d861afa18971031528fd0cd5">   45</a></span>&#160;<span class="preprocessor">#define HAVE_SELECT 1</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment">/* Define to 1 if struct sockaddr_in6 has a member sin6_len. */</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="comment">/* #undef HAVE_SOCKADDR_IN6_SIN6_LEN */</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;</div>
-<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="comment">/* Define to 1 if you have the `socket&#39; function. */</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="dtls__config_8h.html#a4cd6234bfe3f7c10968a1151f43ce280">   51</a></span>&#160;<span class="preprocessor">#define HAVE_SOCKET 1</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">/* Define to 1 if you have the &lt;stddef.h&gt; header file. */</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="dtls__config_8h.html#a0e6b9a04ae66b7846715e51a0a2dccff">   54</a></span>&#160;<span class="preprocessor">#define HAVE_STDDEF_H 1</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="comment">/* Define to 1 if you have the &lt;stdint.h&gt; header file. */</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="dtls__config_8h.html#ab6cd6d1c63c1e26ea2d4537b77148354">   57</a></span>&#160;<span class="preprocessor">#define HAVE_STDINT_H 1</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="comment">/* Define to 1 if you have the &lt;stdlib.h&gt; header file. */</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="dtls__config_8h.html#a9e0e434ec1a6ddbd97db12b5a32905e0">   60</a></span>&#160;<span class="preprocessor">#define HAVE_STDLIB_H 1</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="comment">/* Define to 1 if you have the `strdup&#39; function. */</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="dtls__config_8h.html#a41b838eb3b86a0ebbd0981e92a759c0f">   63</a></span>&#160;<span class="preprocessor">#define HAVE_STRDUP 1</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="comment">/* Define to 1 if you have the `strerror&#39; function. */</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="dtls__config_8h.html#a992653625041edef146772df96f7bca9">   66</a></span>&#160;<span class="preprocessor">#define HAVE_STRERROR 1</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="comment">/* Define to 1 if you have the &lt;strings.h&gt; header file. */</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="dtls__config_8h.html#a405d10d46190bcb0320524c54eafc850">   69</a></span>&#160;<span class="preprocessor">#define HAVE_STRINGS_H 1</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="comment">/* Define to 1 if you have the &lt;string.h&gt; header file. */</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="dtls__config_8h.html#ad4c234dd1625255dc626a15886306e7d">   72</a></span>&#160;<span class="preprocessor">#define HAVE_STRING_H 1</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="comment">/* Define to 1 if you have the `strnlen&#39; function. */</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="dtls__config_8h.html#a9bee6d8db098b2230690f8e8db9ffb74">   75</a></span>&#160;<span class="preprocessor">#define HAVE_STRNLEN 1</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="comment">/* Define to 1 if you have the &lt;sys/param.h&gt; header file. */</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="dtls__config_8h.html#a05aa9fc25e1231d8eb347390558e4e22">   78</a></span>&#160;<span class="preprocessor">#define HAVE_SYS_PARAM_H 1</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="comment">/* Define to 1 if you have the &lt;sys/socket.h&gt; header file. */</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="dtls__config_8h.html#afb96c2bc08ebf33cca68c714f624a58d">   81</a></span>&#160;<span class="preprocessor">#define HAVE_SYS_SOCKET_H 1</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="comment">/* Define to 1 if you have the &lt;sys/stat.h&gt; header file. */</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="dtls__config_8h.html#ace156430ba007d19b4348a950d0c692b">   84</a></span>&#160;<span class="preprocessor">#define HAVE_SYS_STAT_H 1</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">/* Define to 1 if you have the &lt;sys/time.h&gt; header file. */</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="dtls__config_8h.html#a2aae46056558e9d6fef6380f9678ffe3">   87</a></span>&#160;<span class="preprocessor">#define HAVE_SYS_TIME_H 1</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="comment">/* Define to 1 if you have the &lt;sys/types.h&gt; header file. */</span></div>
-<div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="dtls__config_8h.html#a69dc70bea5d1f8bd2be9740e974fa666">   90</a></span>&#160;<span class="preprocessor">#define HAVE_SYS_TYPES_H 1</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="comment">/* Define to 1 if you have the &lt;time.h&gt; header file. */</span></div>
-<div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="dtls__config_8h.html#a2397007ae170bf57faa808bacaaa2499">   93</a></span>&#160;<span class="preprocessor">#define HAVE_TIME_H 1</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="comment">/* Define to 1 if you have the &lt;unistd.h&gt; header file. */</span></div>
-<div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="dtls__config_8h.html#a219b06937831d0da94d801ab13987639">   96</a></span>&#160;<span class="preprocessor">#define HAVE_UNISTD_H 1</span></div>
-<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="comment">/* Define to 1 if you have the `vprintf&#39; function. */</span></div>
-<div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="dtls__config_8h.html#a11e8ffa0e0ee1d52812402f2eac05fa7">   99</a></span>&#160;<span class="preprocessor">#define HAVE_VPRINTF 1</span></div>
-<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;<span class="comment">/* Define to the address where bug reports for this package should be sent. */</span></div>
-<div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="dtls__config_8h.html#a1d1d2d7f8d2f95b376954d649ab03233">  102</a></span>&#160;<span class="preprocessor">#define PACKAGE_BUGREPORT &quot;&quot;</span></div>
-<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="comment">/* Define to the full name of this package. */</span></div>
-<div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="dtls__config_8h.html#a1c0439e4355794c09b64274849eb0279">  105</a></span>&#160;<span class="preprocessor">#define PACKAGE_NAME &quot;tinydtls&quot;</span></div>
-<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment">/* Define to the full name and version of this package. */</span></div>
-<div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="dtls__config_8h.html#ac73e6f903c16eca7710f92e36e1c6fbf">  108</a></span>&#160;<span class="preprocessor">#define PACKAGE_STRING &quot;tinydtls 0.8.2&quot;</span></div>
-<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="comment">/* Define to the one symbol short name of this package. */</span></div>
-<div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="dtls__config_8h.html#af415af6bfede0e8d5453708afe68651c">  111</a></span>&#160;<span class="preprocessor">#define PACKAGE_TARNAME &quot;tinydtls&quot;</span></div>
-<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;<span class="comment">/* Define to the home page for this package. */</span></div>
-<div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="dtls__config_8h.html#a5c93853116d5a50307b6744f147840aa">  114</a></span>&#160;<span class="preprocessor">#define PACKAGE_URL &quot;&quot;</span></div>
-<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="comment">/* Define to the version of this package. */</span></div>
-<div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="dtls__config_8h.html#aa326a05d5e30f9e9a4bb0b4469d5d0c0">  117</a></span>&#160;<span class="preprocessor">#define PACKAGE_VERSION &quot;0.8.2&quot;</span></div>
-<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;<span class="comment">/* Define to 1 if you have the ANSI C header files. */</span></div>
-<div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="dtls__config_8h.html#a550e5c272cc3cf3814651721167dcd23">  120</a></span>&#160;<span class="preprocessor">#define STDC_HEADERS 1</span></div>
-<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;<span class="comment">/* Define to 1 if building for Contiki. */</span></div>
-<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="comment">/* #undef WITH_CONTIKI */</span></div>
-<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;</div>
-<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="comment">/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most</span></div>
-<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;<span class="comment">   significant byte first (like Motorola and SPARC, unlike Intel). */</span></div>
-<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;<span class="preprocessor">#if defined AC_APPLE_UNIVERSAL_BUILD</span></div>
-<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;<span class="preprocessor"></span><span class="preprocessor"># if defined __BIG_ENDIAN__</span></div>
-<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#  define WORDS_BIGENDIAN 1</span></div>
-<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="preprocessor"></span><span class="preprocessor"># endif</span></div>
-<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="preprocessor"></span><span class="preprocessor"># ifndef WORDS_BIGENDIAN</span></div>
-<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;<span class="preprocessor"></span><span class="comment">/* #  undef WORDS_BIGENDIAN */</span></div>
-<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;<span class="preprocessor"># endif</span></div>
-<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;<span class="comment">/* Define to `__inline__&#39; or `__inline&#39; if that&#39;s what the C compiler</span></div>
-<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;<span class="comment">   calls it, or to nothing if &#39;inline&#39; is not supported under any name.  */</span></div>
-<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="preprocessor">#ifndef __cplusplus</span></div>
-<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;<span class="preprocessor"></span><span class="comment">/* #undef inline */</span></div>
-<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="comment">/* Define to rpl_malloc if the replacement function should be used. */</span></div>
-<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;<span class="comment">/* #undef malloc */</span></div>
-<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;</div>
-<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;<span class="comment">/* Define to `unsigned int&#39; if &lt;sys/types.h&gt; does not define. */</span></div>
-<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;<span class="comment">/* #undef size_t */</span></div>
-<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;</div>
-<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;</div>
-<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;<span class="preprocessor">#ifdef WITH_CONTIKI</span></div>
-<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &quot;platform-specific/platform.h&quot;</span></div>
-<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;<span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/dtls__time_8c.html b/external/wakaama/examples/shared/tinydtls/doc/html/dtls__time_8c.html
deleted file mode 100644 (file)
index 3a79af2..0000000
+++ /dev/null
@@ -1,139 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: dtls_time.c File Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#func-members">Functions</a> &#124;
-<a href="#var-members">Variables</a>  </div>
-  <div class="headertitle">
-<div class="title">dtls_time.c File Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p>Clock Handling.  
-<a href="#details">More...</a></p>
-<div class="textblock"><code>#include &quot;<a class="el" href="tinydtls_8h_source.html">tinydtls.h</a>&quot;</code><br/>
-<code>#include &quot;<a class="el" href="dtls__config_8h_source.html">dtls_config.h</a>&quot;</code><br/>
-<code>#include &quot;<a class="el" href="dtls__time_8h_source.html">dtls_time.h</a>&quot;</code><br/>
-</div>
-<p><a href="dtls__time_8c_source.html">Go to the source code of this file.</a></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga8b340ad858b708dbc7bf40f784935c90"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__clock.html#ga8b340ad858b708dbc7bf40f784935c90">dtls_clock_init</a> (void)</td></tr>
-<tr class="separator:ga8b340ad858b708dbc7bf40f784935c90"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga1834985745ba5d3dd03f7e7498e3a304"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__clock.html#ga1834985745ba5d3dd03f7e7498e3a304">dtls_ticks</a> (<a class="el" href="group__clock.html#gaded617551180951f4841969e396a8012">dtls_tick_t</a> *t)</td></tr>
-<tr class="separator:ga1834985745ba5d3dd03f7e7498e3a304"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
-Variables</h2></td></tr>
-<tr class="memitem:adaab7b20ee4eea0874f480b262c4a2e1"><td class="memItemLeft" align="right" valign="top">time_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dtls__time_8c.html#adaab7b20ee4eea0874f480b262c4a2e1">dtls_clock_offset</a></td></tr>
-<tr class="separator:adaab7b20ee4eea0874f480b262c4a2e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p>Clock Handling. </p>
-
-<p>Definition in file <a class="el" href="dtls__time_8c_source.html">dtls_time.c</a>.</p>
-</div><h2 class="groupheader">Variable Documentation</h2>
-<a class="anchor" id="adaab7b20ee4eea0874f480b262c4a2e1"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">time_t dtls_clock_offset</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls__time_8c_source.html#l00051">51</a> of file <a class="el" href="dtls__time_8c_source.html">dtls_time.c</a>.</p>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/dtls__time_8c_source.html b/external/wakaama/examples/shared/tinydtls/doc/html/dtls__time_8c_source.html
deleted file mode 100644 (file)
index db5deaf..0000000
+++ /dev/null
@@ -1,180 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: dtls_time.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="header">
-  <div class="headertitle">
-<div class="title">dtls_time.c</div>  </div>
-</div><!--header-->
-<div class="contents">
-<a href="dtls__time_8c.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/* dtls -- a very basic DTLS implementation</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> * Copyright (C) 2011--2013 Olaf Bergmann &lt;bergmann@tzi.org&gt;</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> * Permission is hereby granted, free of charge, to any person</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> * obtaining a copy of this software and associated documentation</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> * files (the &quot;Software&quot;), to deal in the Software without</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> * restriction, including without limitation the rights to use, copy,</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> * modify, merge, publish, distribute, sublicense, and/or sell copies</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> * of the Software, and to permit persons to whom the Software is</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * furnished to do so, subject to the following conditions:</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * The above copyright notice and this permission notice shall be</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * included in all copies or substantial portions of the Software.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> * THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND,</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment"> * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment"> * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment"> * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment"> * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment"> * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment"> * SOFTWARE.</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div>
-<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="tinydtls_8h.html">tinydtls.h</a>&quot;</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="dtls__config_8h.html">dtls_config.h</a>&quot;</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="dtls__time_8h.html">dtls_time.h</a>&quot;</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div>
-<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#ifdef WITH_CONTIKI</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor"></span><a class="code" href="group__clock.html#ga6e6c13e871b82d881a01d1bc8df69d23">clock_time_t</a> <a class="code" href="dtls__time_8c.html#adaab7b20ee4eea0874f480b262c4a2e1">dtls_clock_offset</a>;</div>
-<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;</div>
-<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keywordtype">void</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<a class="code" href="group__clock.html#ga8b340ad858b708dbc7bf40f784935c90">dtls_clock_init</a>(<span class="keywordtype">void</span>) {</div>
-<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;  clock_init();</div>
-<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;  <a class="code" href="dtls__time_8c.html#adaab7b20ee4eea0874f480b262c4a2e1">dtls_clock_offset</a> = clock_time();</div>
-<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;}</div>
-<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div>
-<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="keywordtype">void</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<a class="code" href="group__clock.html#ga1834985745ba5d3dd03f7e7498e3a304">dtls_ticks</a>(<a class="code" href="group__clock.html#gaded617551180951f4841969e396a8012">dtls_tick_t</a> *t) {</div>
-<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;  *t = clock_time();</div>
-<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;}</div>
-<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;</div>
-<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">#else </span><span class="comment">/* WITH_CONTIKI */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="dtls__time_8c.html#adaab7b20ee4eea0874f480b262c4a2e1">   51</a></span>&#160;time_t <a class="code" href="dtls__time_8c.html#adaab7b20ee4eea0874f480b262c4a2e1">dtls_clock_offset</a>;</div>
-<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;</div>
-<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="keywordtype">void</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="group__clock.html#ga8b340ad858b708dbc7bf40f784935c90">   54</a></span>&#160;<a class="code" href="group__clock.html#ga8b340ad858b708dbc7bf40f784935c90">dtls_clock_init</a>(<span class="keywordtype">void</span>) {</div>
-<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#ifdef HAVE_TIME_H</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor"></span>  <a class="code" href="dtls__time_8c.html#adaab7b20ee4eea0874f480b262c4a2e1">dtls_clock_offset</a> = time(NULL);</div>
-<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#  ifdef __GNUC__</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor"></span>  <span class="comment">/* Issue a warning when using gcc. Other prepropressors do </span></div>
-<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="comment">   *  not seem to have a similar feature. */</span> </div>
-<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor">#   warning &quot;cannot initialize clock&quot;</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#  endif</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="preprocessor"></span>  <a class="code" href="dtls__time_8c.html#adaab7b20ee4eea0874f480b262c4a2e1">dtls_clock_offset</a> = 0;</div>
-<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="preprocessor"></span>}</div>
-<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div>
-<div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="group__clock.html#ga1834985745ba5d3dd03f7e7498e3a304">   67</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="group__clock.html#ga1834985745ba5d3dd03f7e7498e3a304">dtls_ticks</a>(<a class="code" href="group__clock.html#gaded617551180951f4841969e396a8012">dtls_tick_t</a> *t) {</div>
-<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="preprocessor">#ifdef HAVE_SYS_TIME_H</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="preprocessor"></span>  <span class="keyword">struct </span>timeval tv;</div>
-<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;  gettimeofday(&amp;tv, NULL);</div>
-<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;  *t = (tv.tv_sec - <a class="code" href="dtls__time_8c.html#adaab7b20ee4eea0874f480b262c4a2e1">dtls_clock_offset</a>) * <a class="code" href="group__clock.html#gae8610d63d209a8bf7858afc427db6168">DTLS_TICKS_PER_SECOND</a> </div>
-<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;    + (tv.tv_usec * <a class="code" href="group__clock.html#gae8610d63d209a8bf7858afc427db6168">DTLS_TICKS_PER_SECOND</a> / 1000000);</div>
-<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#error &quot;clock not implemented&quot;</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="preprocessor"></span>}</div>
-<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;</div>
-<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* WITH_CONTIKI */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;</div>
-<div class="ttc" id="tinydtls_8h_html"><div class="ttname"><a href="tinydtls_8h.html">tinydtls.h</a></div><div class="ttdoc">public tinydtls API </div></div>
-<div class="ttc" id="dtls__config_8h_html"><div class="ttname"><a href="dtls__config_8h.html">dtls_config.h</a></div></div>
-<div class="ttc" id="group__clock_html_ga8b340ad858b708dbc7bf40f784935c90"><div class="ttname"><a href="group__clock.html#ga8b340ad858b708dbc7bf40f784935c90">dtls_clock_init</a></div><div class="ttdeci">void dtls_clock_init(void)</div><div class="ttdef"><b>Definition:</b> <a href="dtls__time_8c_source.html#l00054">dtls_time.c:54</a></div></div>
-<div class="ttc" id="group__clock_html_gaded617551180951f4841969e396a8012"><div class="ttname"><a href="group__clock.html#gaded617551180951f4841969e396a8012">dtls_tick_t</a></div><div class="ttdeci">clock_time_t dtls_tick_t</div><div class="ttdef"><b>Definition:</b> <a href="dtls__time_8h_source.html#l00058">dtls_time.h:58</a></div></div>
-<div class="ttc" id="group__clock_html_gae8610d63d209a8bf7858afc427db6168"><div class="ttname"><a href="group__clock.html#gae8610d63d209a8bf7858afc427db6168">DTLS_TICKS_PER_SECOND</a></div><div class="ttdeci">#define DTLS_TICKS_PER_SECOND</div><div class="ttdef"><b>Definition:</b> <a href="dtls__time_8h_source.html#l00061">dtls_time.h:61</a></div></div>
-<div class="ttc" id="group__clock_html_ga6e6c13e871b82d881a01d1bc8df69d23"><div class="ttname"><a href="group__clock.html#ga6e6c13e871b82d881a01d1bc8df69d23">clock_time_t</a></div><div class="ttdeci">uint32_t clock_time_t</div><div class="ttdef"><b>Definition:</b> <a href="dtls__time_8h_source.html#l00055">dtls_time.h:55</a></div></div>
-<div class="ttc" id="dtls__time_8h_html"><div class="ttname"><a href="dtls__time_8h.html">dtls_time.h</a></div><div class="ttdoc">Clock Handling. </div></div>
-<div class="ttc" id="dtls__time_8c_html_adaab7b20ee4eea0874f480b262c4a2e1"><div class="ttname"><a href="dtls__time_8c.html#adaab7b20ee4eea0874f480b262c4a2e1">dtls_clock_offset</a></div><div class="ttdeci">time_t dtls_clock_offset</div><div class="ttdef"><b>Definition:</b> <a href="dtls__time_8c_source.html#l00051">dtls_time.c:51</a></div></div>
-<div class="ttc" id="group__clock_html_ga1834985745ba5d3dd03f7e7498e3a304"><div class="ttname"><a href="group__clock.html#ga1834985745ba5d3dd03f7e7498e3a304">dtls_ticks</a></div><div class="ttdeci">void dtls_ticks(dtls_tick_t *t)</div><div class="ttdef"><b>Definition:</b> <a href="dtls__time_8c_source.html#l00067">dtls_time.c:67</a></div></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/dtls__time_8h.html b/external/wakaama/examples/shared/tinydtls/doc/html/dtls__time_8h.html
deleted file mode 100644 (file)
index ba8d1bb..0000000
+++ /dev/null
@@ -1,135 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: dtls_time.h File Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#define-members">Macros</a> &#124;
-<a href="#typedef-members">Typedefs</a> &#124;
-<a href="#func-members">Functions</a>  </div>
-  <div class="headertitle">
-<div class="title">dtls_time.h File Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p>Clock Handling.  
-<a href="#details">More...</a></p>
-<div class="textblock"><code>#include &lt;stdint.h&gt;</code><br/>
-<code>#include &lt;sys/time.h&gt;</code><br/>
-<code>#include &quot;<a class="el" href="tinydtls_8h_source.html">tinydtls.h</a>&quot;</code><br/>
-<code>#include &lt;time.h&gt;</code><br/>
-</div>
-<p><a href="dtls__time_8h_source.html">Go to the source code of this file.</a></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
-Macros</h2></td></tr>
-<tr class="memitem:gae3ced0551b26c9b99cb45a86f34d100a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__clock.html#gae3ced0551b26c9b99cb45a86f34d100a">CLOCK_SECOND</a>&#160;&#160;&#160;1000</td></tr>
-<tr class="separator:gae3ced0551b26c9b99cb45a86f34d100a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gae8610d63d209a8bf7858afc427db6168"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__clock.html#gae8610d63d209a8bf7858afc427db6168">DTLS_TICKS_PER_SECOND</a>&#160;&#160;&#160;<a class="el" href="group__clock.html#gae3ced0551b26c9b99cb45a86f34d100a">CLOCK_SECOND</a></td></tr>
-<tr class="separator:gae8610d63d209a8bf7858afc427db6168"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
-Typedefs</h2></td></tr>
-<tr class="memitem:ga6e6c13e871b82d881a01d1bc8df69d23"><td class="memItemLeft" align="right" valign="top">typedef uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__clock.html#ga6e6c13e871b82d881a01d1bc8df69d23">clock_time_t</a></td></tr>
-<tr class="separator:ga6e6c13e871b82d881a01d1bc8df69d23"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaded617551180951f4841969e396a8012"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="group__clock.html#ga6e6c13e871b82d881a01d1bc8df69d23">clock_time_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__clock.html#gaded617551180951f4841969e396a8012">dtls_tick_t</a></td></tr>
-<tr class="separator:gaded617551180951f4841969e396a8012"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga8b340ad858b708dbc7bf40f784935c90"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__clock.html#ga8b340ad858b708dbc7bf40f784935c90">dtls_clock_init</a> (void)</td></tr>
-<tr class="separator:ga8b340ad858b708dbc7bf40f784935c90"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga1834985745ba5d3dd03f7e7498e3a304"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__clock.html#ga1834985745ba5d3dd03f7e7498e3a304">dtls_ticks</a> (<a class="el" href="group__clock.html#gaded617551180951f4841969e396a8012">dtls_tick_t</a> *t)</td></tr>
-<tr class="separator:ga1834985745ba5d3dd03f7e7498e3a304"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p>Clock Handling. </p>
-
-<p>Definition in file <a class="el" href="dtls__time_8h_source.html">dtls_time.h</a>.</p>
-</div></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/dtls__time_8h_source.html b/external/wakaama/examples/shared/tinydtls/doc/html/dtls__time_8h_source.html
deleted file mode 100644 (file)
index 9e4126f..0000000
+++ /dev/null
@@ -1,156 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: dtls_time.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="header">
-  <div class="headertitle">
-<div class="title">dtls_time.h</div>  </div>
-</div><!--header-->
-<div class="contents">
-<a href="dtls__time_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/* dtls -- a very basic DTLS implementation</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> * Copyright (C) 2011--2013 Olaf Bergmann &lt;bergmann@tzi.org&gt;</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> * Permission is hereby granted, free of charge, to any person</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> * obtaining a copy of this software and associated documentation</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> * files (the &quot;Software&quot;), to deal in the Software without</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> * restriction, including without limitation the rights to use, copy,</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> * modify, merge, publish, distribute, sublicense, and/or sell copies</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> * of the Software, and to permit persons to whom the Software is</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * furnished to do so, subject to the following conditions:</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * The above copyright notice and this permission notice shall be</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * included in all copies or substantial portions of the Software.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> * THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND,</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment"> * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment"> * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment"> * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment"> * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment"> * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment"> * SOFTWARE.</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div>
-<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#ifndef _DTLS_DTLS_TIME_H_</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define _DTLS_DTLS_TIME_H_</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#include &lt;stdint.h&gt;</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#include &lt;sys/time.h&gt;</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;</div>
-<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="tinydtls_8h.html">tinydtls.h</a>&quot;</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;</div>
-<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor">#ifdef WITH_CONTIKI</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &quot;clock.h&quot;</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="preprocessor">#else </span><span class="comment">/* WITH_CONTIKI */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &lt;time.h&gt;</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;</div>
-<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">#ifndef CLOCK_SECOND</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="group__clock.html#gae3ced0551b26c9b99cb45a86f34d100a">   52</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor"># define CLOCK_SECOND 1000</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="group__clock.html#ga6e6c13e871b82d881a01d1bc8df69d23">   55</a></span>&#160;<span class="keyword">typedef</span> uint32_t <a class="code" href="group__clock.html#ga6e6c13e871b82d881a01d1bc8df69d23">clock_time_t</a>;</div>
-<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* WITH_CONTIKI */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="group__clock.html#gaded617551180951f4841969e396a8012">   58</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="group__clock.html#ga6e6c13e871b82d881a01d1bc8df69d23">clock_time_t</a> <a class="code" href="group__clock.html#gaded617551180951f4841969e396a8012">dtls_tick_t</a>;</div>
-<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;</div>
-<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor">#ifndef DTLS_TICKS_PER_SECOND</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="group__clock.html#gae8610d63d209a8bf7858afc427db6168">   61</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define DTLS_TICKS_PER_SECOND CLOCK_SECOND</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif </span><span class="comment">/* DTLS_TICKS_PER_SECOND */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="keywordtype">void</span> <a class="code" href="group__clock.html#ga8b340ad858b708dbc7bf40f784935c90">dtls_clock_init</a>(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keywordtype">void</span> <a class="code" href="group__clock.html#ga1834985745ba5d3dd03f7e7498e3a304">dtls_ticks</a>(<a class="code" href="group__clock.html#gaded617551180951f4841969e396a8012">dtls_tick_t</a> *t);</div>
-<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div>
-<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* _DTLS_DTLS_TIME_H_ */</span><span class="preprocessor"></span></div>
-<div class="ttc" id="tinydtls_8h_html"><div class="ttname"><a href="tinydtls_8h.html">tinydtls.h</a></div><div class="ttdoc">public tinydtls API </div></div>
-<div class="ttc" id="group__clock_html_ga8b340ad858b708dbc7bf40f784935c90"><div class="ttname"><a href="group__clock.html#ga8b340ad858b708dbc7bf40f784935c90">dtls_clock_init</a></div><div class="ttdeci">void dtls_clock_init(void)</div><div class="ttdef"><b>Definition:</b> <a href="dtls__time_8c_source.html#l00054">dtls_time.c:54</a></div></div>
-<div class="ttc" id="group__clock_html_gaded617551180951f4841969e396a8012"><div class="ttname"><a href="group__clock.html#gaded617551180951f4841969e396a8012">dtls_tick_t</a></div><div class="ttdeci">clock_time_t dtls_tick_t</div><div class="ttdef"><b>Definition:</b> <a href="dtls__time_8h_source.html#l00058">dtls_time.h:58</a></div></div>
-<div class="ttc" id="group__clock_html_ga6e6c13e871b82d881a01d1bc8df69d23"><div class="ttname"><a href="group__clock.html#ga6e6c13e871b82d881a01d1bc8df69d23">clock_time_t</a></div><div class="ttdeci">uint32_t clock_time_t</div><div class="ttdef"><b>Definition:</b> <a href="dtls__time_8h_source.html#l00055">dtls_time.h:55</a></div></div>
-<div class="ttc" id="group__clock_html_ga1834985745ba5d3dd03f7e7498e3a304"><div class="ttname"><a href="group__clock.html#ga1834985745ba5d3dd03f7e7498e3a304">dtls_ticks</a></div><div class="ttdeci">void dtls_ticks(dtls_tick_t *t)</div><div class="ttdef"><b>Definition:</b> <a href="dtls__time_8c_source.html#l00067">dtls_time.c:67</a></div></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/dynsections.js b/external/wakaama/examples/shared/tinydtls/doc/html/dynsections.js
deleted file mode 100644 (file)
index 2f15470..0000000
+++ /dev/null
@@ -1,104 +0,0 @@
-function toggleVisibility(linkObj)
-{
- var base = $(linkObj).attr('id');
- var summary = $('#'+base+'-summary');
- var content = $('#'+base+'-content');
- var trigger = $('#'+base+'-trigger');
- var src=$(trigger).attr('src');
- if (content.is(':visible')===true) {
-   content.hide();
-   summary.show();
-   $(linkObj).addClass('closed').removeClass('opened');
-   $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png');
- } else {
-   content.show();
-   summary.hide();
-   $(linkObj).removeClass('closed').addClass('opened');
-   $(trigger).attr('src',src.substring(0,src.length-10)+'open.png');
- } 
- return false;
-}
-
-function updateStripes()
-{
-  $('table.directory tr').
-       removeClass('even').filter(':visible:even').addClass('even');
-}
-function toggleLevel(level)
-{
-  $('table.directory tr').each(function(){ 
-    var l = this.id.split('_').length-1;
-    var i = $('#img'+this.id.substring(3));
-    var a = $('#arr'+this.id.substring(3));
-    if (l<level+1) {
-      i.attr('src','ftv2folderopen.png');
-      a.attr('src','ftv2mnode.png');
-      $(this).show();
-    } else if (l==level+1) {
-      i.attr('src','ftv2folderclosed.png');
-      a.attr('src','ftv2pnode.png');
-      $(this).show();
-    } else {
-      $(this).hide();
-    }
-  });
-  updateStripes();
-}
-
-function toggleFolder(id)
-{
-  //The clicked row
-  var currentRow = $('#row_'+id);
-  var currentRowImages = currentRow.find("img");
-
-  //All rows after the clicked row
-  var rows = currentRow.nextAll("tr");
-
-  //Only match elements AFTER this one (can't hide elements before)
-  var childRows = rows.filter(function() {
-    var re = new RegExp('^row_'+id+'\\d+_$', "i"); //only one sub
-    return this.id.match(re);
-  });
-
-  //First row is visible we are HIDING
-  if (childRows.filter(':first').is(':visible')===true) {
-    currentRowImages.filter("[id^=arr]").attr('src', 'ftv2pnode.png');
-    currentRowImages.filter("[id^=img]").attr('src', 'ftv2folderclosed.png');
-    rows.filter("[id^=row_"+id+"]").hide();
-  } else { //We are SHOWING
-    //All sub images
-    var childImages = childRows.find("img");
-    var childImg = childImages.filter("[id^=img]");
-    var childArr = childImages.filter("[id^=arr]");
-
-    currentRow.find("[id^=arr]").attr('src', 'ftv2mnode.png'); //open row
-    currentRow.find("[id^=img]").attr('src', 'ftv2folderopen.png'); //open row
-    childImg.attr('src','ftv2folderclosed.png'); //children closed
-    childArr.attr('src','ftv2pnode.png'); //children closed
-    childRows.show(); //show all children
-  }
-  updateStripes();
-}
-
-
-function toggleInherit(id)
-{
-  var rows = $('tr.inherit.'+id);
-  var img = $('tr.inherit_header.'+id+' img');
-  var src = $(img).attr('src');
-  if (rows.filter(':first').is(':visible')===true) {
-    rows.css('display','none');
-    $(img).attr('src',src.substring(0,src.length-8)+'closed.png');
-  } else {
-    rows.css('display','table-row'); // using show() causes jump in firefox
-    $(img).attr('src',src.substring(0,src.length-10)+'open.png');
-  }
-}
-
-
-$(document).ready(function() {
-  $('.code,.codeRef').each(function() {
-    $(this).data('powertip',$('#'+$(this).attr('href').replace(/.*\//,'').replace(/[^a-z_A-Z0-9]/g,'_')).html());
-    $(this).powerTip({ placement: 's', smartPlacement: true, mouseOnToPopup: true });
-  });
-});
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/files.html b/external/wakaama/examples/shared/tinydtls/doc/html/files.html
deleted file mode 100644 (file)
index cb2ab99..0000000
+++ /dev/null
@@ -1,130 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: File List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li class="current"><a href="files.html"><span>File&#160;List</span></a></li>
-      <li><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="header">
-  <div class="headertitle">
-<div class="title">File List</div>  </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock">Here is a list of all files with brief descriptions:</div><div class="directory">
-<table class="directory">
-<tr id="row_0_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="alert_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="alert_8h.html" target="_self">alert.h</a></td><td class="desc">DTLS alert protocol </td></tr>
-<tr id="row_1_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="ccm_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="ccm_8c.html" target="_self">ccm.c</a></td><td class="desc"></td></tr>
-<tr id="row_2_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="ccm_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="ccm_8h.html" target="_self">ccm.h</a></td><td class="desc"></td></tr>
-<tr id="row_3_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="config_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="config_8h.html" target="_self">config.h</a></td><td class="desc"></td></tr>
-<tr id="row_4_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="contiki-config_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="contiki-config_8h.html" target="_self">contiki-config.h</a></td><td class="desc"></td></tr>
-<tr id="row_5_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="crypto_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="crypto_8c.html" target="_self">crypto.c</a></td><td class="desc"></td></tr>
-<tr id="row_6_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="crypto_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="crypto_8h.html" target="_self">crypto.h</a></td><td class="desc"></td></tr>
-<tr id="row_7_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="debug_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="debug_8c.html" target="_self">debug.c</a></td><td class="desc"></td></tr>
-<tr id="row_8_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="debug_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="debug_8h.html" target="_self">debug.h</a></td><td class="desc"></td></tr>
-<tr id="row_9_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="dtls_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="dtls_8c.html" target="_self">dtls.c</a></td><td class="desc"></td></tr>
-<tr id="row_10_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="dtls_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="dtls_8h.html" target="_self">dtls.h</a></td><td class="desc">High level DTLS API and visible structures </td></tr>
-<tr id="row_11_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="dtls__config_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="dtls__config_8h.html" target="_self">dtls_config.h</a></td><td class="desc"></td></tr>
-<tr id="row_12_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="dtls__time_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="dtls__time_8c.html" target="_self">dtls_time.c</a></td><td class="desc">Clock Handling </td></tr>
-<tr id="row_13_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="dtls__time_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="dtls__time_8h.html" target="_self">dtls_time.h</a></td><td class="desc">Clock Handling </td></tr>
-<tr id="row_14_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="global_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="global_8h.html" target="_self">global.h</a></td><td class="desc"></td></tr>
-<tr id="row_15_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="hmac_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="hmac_8c.html" target="_self">hmac.c</a></td><td class="desc"></td></tr>
-<tr id="row_16_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="hmac_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="hmac_8h.html" target="_self">hmac.h</a></td><td class="desc"></td></tr>
-<tr id="row_17_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="netq_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="netq_8c.html" target="_self">netq.c</a></td><td class="desc"></td></tr>
-<tr id="row_18_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="netq_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="netq_8h.html" target="_self">netq.h</a></td><td class="desc"></td></tr>
-<tr id="row_19_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="numeric_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="numeric_8h.html" target="_self">numeric.h</a></td><td class="desc"></td></tr>
-<tr id="row_20_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="peer_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="peer_8c.html" target="_self">peer.c</a></td><td class="desc"></td></tr>
-<tr id="row_21_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="peer_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="peer_8h.html" target="_self">peer.h</a></td><td class="desc">Information about peers in a DTLS session </td></tr>
-<tr id="row_22_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="prng_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="prng_8h.html" target="_self">prng.h</a></td><td class="desc">Pseudo Random Numbers </td></tr>
-<tr id="row_23_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="session_8c_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="session_8c.html" target="_self">session.c</a></td><td class="desc"></td></tr>
-<tr id="row_24_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="session_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="session_8h.html" target="_self">session.h</a></td><td class="desc"></td></tr>
-<tr id="row_25_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="state_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="state_8h.html" target="_self">state.h</a></td><td class="desc">State information for DTLS FSM </td></tr>
-<tr id="row_26_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="t__list_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="t__list_8h.html" target="_self">t_list.h</a></td><td class="desc">Wrappers for list structures and functions </td></tr>
-<tr id="row_27_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="tinydtls_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="tinydtls_8h.html" target="_self">tinydtls.h</a></td><td class="desc">Public tinydtls API </td></tr>
-<tr id="row_28_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="uthash_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="uthash_8h.html" target="_self">uthash.h</a></td><td class="desc"></td></tr>
-<tr id="row_29_"><td class="entry"><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><a href="utlist_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="utlist_8h.html" target="_self">utlist.h</a></td><td class="desc"></td></tr>
-</table>
-</div><!-- directory -->
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/ftv2blank.png b/external/wakaama/examples/shared/tinydtls/doc/html/ftv2blank.png
deleted file mode 100644 (file)
index 63c605b..0000000
Binary files a/external/wakaama/examples/shared/tinydtls/doc/html/ftv2blank.png and /dev/null differ
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/ftv2cl.png b/external/wakaama/examples/shared/tinydtls/doc/html/ftv2cl.png
deleted file mode 100644 (file)
index 132f657..0000000
Binary files a/external/wakaama/examples/shared/tinydtls/doc/html/ftv2cl.png and /dev/null differ
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/ftv2doc.png b/external/wakaama/examples/shared/tinydtls/doc/html/ftv2doc.png
deleted file mode 100644 (file)
index 17edabf..0000000
Binary files a/external/wakaama/examples/shared/tinydtls/doc/html/ftv2doc.png and /dev/null differ
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/ftv2folderclosed.png b/external/wakaama/examples/shared/tinydtls/doc/html/ftv2folderclosed.png
deleted file mode 100644 (file)
index bb8ab35..0000000
Binary files a/external/wakaama/examples/shared/tinydtls/doc/html/ftv2folderclosed.png and /dev/null differ
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/ftv2folderopen.png b/external/wakaama/examples/shared/tinydtls/doc/html/ftv2folderopen.png
deleted file mode 100644 (file)
index d6c7f67..0000000
Binary files a/external/wakaama/examples/shared/tinydtls/doc/html/ftv2folderopen.png and /dev/null differ
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/ftv2lastnode.png b/external/wakaama/examples/shared/tinydtls/doc/html/ftv2lastnode.png
deleted file mode 100644 (file)
index 63c605b..0000000
Binary files a/external/wakaama/examples/shared/tinydtls/doc/html/ftv2lastnode.png and /dev/null differ
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/ftv2link.png b/external/wakaama/examples/shared/tinydtls/doc/html/ftv2link.png
deleted file mode 100644 (file)
index 17edabf..0000000
Binary files a/external/wakaama/examples/shared/tinydtls/doc/html/ftv2link.png and /dev/null differ
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/ftv2mlastnode.png b/external/wakaama/examples/shared/tinydtls/doc/html/ftv2mlastnode.png
deleted file mode 100644 (file)
index 0b63f6d..0000000
Binary files a/external/wakaama/examples/shared/tinydtls/doc/html/ftv2mlastnode.png and /dev/null differ
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/ftv2mnode.png b/external/wakaama/examples/shared/tinydtls/doc/html/ftv2mnode.png
deleted file mode 100644 (file)
index 0b63f6d..0000000
Binary files a/external/wakaama/examples/shared/tinydtls/doc/html/ftv2mnode.png and /dev/null differ
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/ftv2mo.png b/external/wakaama/examples/shared/tinydtls/doc/html/ftv2mo.png
deleted file mode 100644 (file)
index 4bfb80f..0000000
Binary files a/external/wakaama/examples/shared/tinydtls/doc/html/ftv2mo.png and /dev/null differ
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/ftv2node.png b/external/wakaama/examples/shared/tinydtls/doc/html/ftv2node.png
deleted file mode 100644 (file)
index 63c605b..0000000
Binary files a/external/wakaama/examples/shared/tinydtls/doc/html/ftv2node.png and /dev/null differ
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/ftv2ns.png b/external/wakaama/examples/shared/tinydtls/doc/html/ftv2ns.png
deleted file mode 100644 (file)
index 72e3d71..0000000
Binary files a/external/wakaama/examples/shared/tinydtls/doc/html/ftv2ns.png and /dev/null differ
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/ftv2plastnode.png b/external/wakaama/examples/shared/tinydtls/doc/html/ftv2plastnode.png
deleted file mode 100644 (file)
index c6ee22f..0000000
Binary files a/external/wakaama/examples/shared/tinydtls/doc/html/ftv2plastnode.png and /dev/null differ
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/ftv2pnode.png b/external/wakaama/examples/shared/tinydtls/doc/html/ftv2pnode.png
deleted file mode 100644 (file)
index c6ee22f..0000000
Binary files a/external/wakaama/examples/shared/tinydtls/doc/html/ftv2pnode.png and /dev/null differ
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/ftv2splitbar.png b/external/wakaama/examples/shared/tinydtls/doc/html/ftv2splitbar.png
deleted file mode 100644 (file)
index fe895f2..0000000
Binary files a/external/wakaama/examples/shared/tinydtls/doc/html/ftv2splitbar.png and /dev/null differ
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/ftv2vertline.png b/external/wakaama/examples/shared/tinydtls/doc/html/ftv2vertline.png
deleted file mode 100644 (file)
index 63c605b..0000000
Binary files a/external/wakaama/examples/shared/tinydtls/doc/html/ftv2vertline.png and /dev/null differ
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/functions.html b/external/wakaama/examples/shared/tinydtls/doc/html/functions.html
deleted file mode 100644 (file)
index 8045377..0000000
+++ /dev/null
@@ -1,439 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: Data Fields</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="functions.html"><span>Data&#160;Fields</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow3" class="tabs2">
-    <ul class="tablist">
-      <li class="current"><a href="functions.html"><span>All</span></a></li>
-      <li><a href="functions_func.html"><span>Functions</span></a></li>
-      <li><a href="functions_vars.html"><span>Variables</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow4" class="tabs3">
-    <ul class="tablist">
-      <li><a href="#index_a"><span>a</span></a></li>
-      <li><a href="#index_b"><span>b</span></a></li>
-      <li><a href="#index_c"><span>c</span></a></li>
-      <li><a href="#index_d"><span>d</span></a></li>
-      <li><a href="#index_e"><span>e</span></a></li>
-      <li><a href="#index_h"><span>h</span></a></li>
-      <li><a href="#index_i"><span>i</span></a></li>
-      <li><a href="#index_k"><span>k</span></a></li>
-      <li><a href="#index_l"><span>l</span></a></li>
-      <li><a href="#index_m"><span>m</span></a></li>
-      <li><a href="#index_n"><span>n</span></a></li>
-      <li><a href="#index_o"><span>o</span></a></li>
-      <li><a href="#index_p"><span>p</span></a></li>
-      <li><a href="#index_r"><span>r</span></a></li>
-      <li><a href="#index_s"><span>s</span></a></li>
-      <li><a href="#index_t"><span>t</span></a></li>
-      <li class="current"><a href="#index_w"><span>w</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="contents">
-<div class="textblock">Here is a list of all struct and union fields with links to the structures/unions they belong to:</div>
-
-<h3><a class="anchor" id="index_a"></a>- a -</h3><ul>
-<li>addr
-: <a class="el" href="structsession__t.html#a0bb4423cd29b415a4cf6c32d5d9a43e4">session_t</a>
-</li>
-<li>app
-: <a class="el" href="structdtls__context__t.html#ab37722ec6b82dd3120827812f212a51e">dtls_context_t</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_b"></a>- b -</h3><ul>
-<li>buckets
-: <a class="el" href="structUT__hash__table.html#a04556bbef9c9a1c40b1bc0d17a2a6e0b">UT_hash_table</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_c"></a>- c -</h3><ul>
-<li>cipher
-: <a class="el" href="structdtls__handshake__parameters__t.html#a5cc61a98763800b5b4e7617307649933">dtls_handshake_parameters_t</a>
-, <a class="el" href="structdtls__security__parameters__t.html#a21d9fac709d739535b0cbecce4c18830">dtls_security_parameters_t</a>
-</li>
-<li>client
-: <a class="el" href="structdtls__handshake__parameters__t.html#af37f38ce7c5f5e4ab62f16aacc2035f9">dtls_handshake_parameters_t</a>
-</li>
-<li>compression
-: <a class="el" href="structdtls__handshake__parameters__t.html#a67f85371953c8ae07ec110cb39c13125">dtls_handshake_parameters_t</a>
-, <a class="el" href="structdtls__security__parameters__t.html#a6a72df7ab1151f81e49d464175fcaf2a">dtls_security_parameters_t</a>
-</li>
-<li>cookie_secret
-: <a class="el" href="structdtls__context__t.html#adb7dc6a53a7e00f2c4bbf726973e002f">dtls_context_t</a>
-</li>
-<li>cookie_secret_age
-: <a class="el" href="structdtls__context__t.html#a3f26099dbb3588ae9a86d26f69ec08f8">dtls_context_t</a>
-</li>
-<li>count
-: <a class="el" href="structUT__hash__bucket.html#a5d20cc12bdcbde360398910eefb45634">UT_hash_bucket</a>
-</li>
-<li>ctx
-: <a class="el" href="structaes128__ccm__t.html#a5bdf410f025e4177ced456059bc8a371">aes128_ccm_t</a>
-</li>
-<li>curve
-: <a class="el" href="structdtls__ecdsa__key__t.html#ad78834cca7158114bd78d3d0acb4a548">dtls_ecdsa_key_t</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_d"></a>- d -</h3><ul>
-<li>data
-: <a class="el" href="structdtls__cipher__context__t.html#a02da63201e2ac7bc508e3bb54c5761dc">dtls_cipher_context_t</a>
-, <a class="el" href="structdtls__hmac__context__t.html#a84c35513fa655d8456be215f4509bb40">dtls_hmac_context_t</a>
-, <a class="el" href="structnetq__t.html#a5b4d387623df43fe25a3b11e9d4fb02c">netq_t</a>
-</li>
-<li>do_client_auth
-: <a class="el" href="structdtls__handshake__parameters__t.html#ab17efe8550600d945ced029e43ca86d6">dtls_handshake_parameters_t</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_e"></a>- e -</h3><ul>
-<li>epoch
-: <a class="el" href="structdtls__security__parameters__t.html#a2bce1fa0bf77eeab8fadca824de602da">dtls_security_parameters_t</a>
-, <a class="el" href="structnetq__t.html#a9998944e43a39a2e5700156876a312e0">netq_t</a>
-</li>
-<li>event
-: <a class="el" href="structdtls__handler__t.html#aae2db3733c5f0a0eea9a635490bdfe59">dtls_handler_t</a>
-</li>
-<li>expand_mult
-: <a class="el" href="structUT__hash__bucket.html#a9b739c1b69c141e8198c0c64af643b2b">UT_hash_bucket</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_h"></a>- h -</h3><ul>
-<li>h
-: <a class="el" href="structdtls__context__t.html#a460737bda0d200538c00ef7877b339cd">dtls_context_t</a>
-</li>
-<li>handshake_params
-: <a class="el" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">dtls_peer_t</a>
-</li>
-<li>hashv
-: <a class="el" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">UT_hash_handle</a>
-</li>
-<li>hh
-: <a class="el" href="structdtls__peer__t.html#a4241666f9097d15a486840bce28c3fd5">dtls_peer_t</a>
-</li>
-<li>hh_head
-: <a class="el" href="structUT__hash__bucket.html#a785a785132212378bb28fb4341cfecaf">UT_hash_bucket</a>
-</li>
-<li>hh_next
-: <a class="el" href="structUT__hash__handle.html#a4f6989385499ba6f594b0f0facd28325">UT_hash_handle</a>
-</li>
-<li>hh_prev
-: <a class="el" href="structUT__hash__handle.html#a3ec03e34d7975d5c1981c44b324619b2">UT_hash_handle</a>
-</li>
-<li>hho
-: <a class="el" href="structUT__hash__table.html#afd05f4d9e45354fb010367ae9e1bddb6">UT_hash_table</a>
-</li>
-<li>hs_hash
-: <a class="el" href="structdtls__hs__state__t.html#a991b95919538531d730f74045e4fe3b1">dtls_hs_state_t</a>
-</li>
-<li>hs_state
-: <a class="el" href="structdtls__handshake__parameters__t.html#a56e7392a649731166fc82a523b0eb027">dtls_handshake_parameters_t</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_i"></a>- i -</h3><ul>
-<li>id_length
-: <a class="el" href="structdtls__handshake__parameters__psk__t.html#a39ae0d1ead76e8bd5a3631ae8677be1b">dtls_handshake_parameters_psk_t</a>
-</li>
-<li>ideal_chain_maxlen
-: <a class="el" href="structUT__hash__table.html#a5f1cec93d5d753ba02097c797e4d67ad">UT_hash_table</a>
-</li>
-<li>identity
-: <a class="el" href="structdtls__handshake__parameters__psk__t.html#a6cce0754e4b9cf5469ddfec595be3084">dtls_handshake_parameters_psk_t</a>
-</li>
-<li>ifindex
-: <a class="el" href="structsession__t.html#aafc69fe43548bd69c0e15aa82e73f3ff">session_t</a>
-</li>
-<li>ineff_expands
-: <a class="el" href="structUT__hash__table.html#a216c7d98cf40a0064bee94aa8a5bf1b7">UT_hash_table</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_k"></a>- k -</h3><ul>
-<li>key
-: <a class="el" href="structUT__hash__handle.html#a40690fc15aeaeba8f25385f05f84dd4d">UT_hash_handle</a>
-</li>
-<li>key_block
-: <a class="el" href="structdtls__security__parameters__t.html#a1c3a56ea4af8ff71e1ffe77221541f4d">dtls_security_parameters_t</a>
-</li>
-<li>keylen
-: <a class="el" href="structUT__hash__handle.html#af2abdc405972a6bbdee2ade2c0f346c4">UT_hash_handle</a>
-</li>
-<li>keyx
-: <a class="el" href="structdtls__handshake__parameters__t.html#a483b158f8fc86e45e7c0fc603a66925f">dtls_handshake_parameters_t</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_l"></a>- l -</h3><ul>
-<li>length
-: <a class="el" href="structnetq__t.html#ac72c9378282becab5a273f612f58c124">netq_t</a>
-</li>
-<li>LIST_STRUCT()
-: <a class="el" href="structdtls__context__t.html#adf4e86be64bd4a07936ddbba5f6fa6af">dtls_context_t</a>
-, <a class="el" href="structdtls__handshake__parameters__t.html#a44c54027bff617597d51f4fc862a1dc4">dtls_handshake_parameters_t</a>
-</li>
-<li>log2_num_buckets
-: <a class="el" href="structUT__hash__table.html#ae376a7f3fac525f3a9d03b6beec8d12f">UT_hash_table</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_m"></a>- m -</h3><ul>
-<li>master_secret
-: <a class="el" href="structdtls__handshake__parameters__t.html#a21ba88c7b062772beb75c5570d257898">dtls_handshake_parameters_t</a>
-</li>
-<li>mseq_r
-: <a class="el" href="structdtls__hs__state__t.html#a4e2184c917d1ad46d308e8770193f542">dtls_hs_state_t</a>
-</li>
-<li>mseq_s
-: <a class="el" href="structdtls__hs__state__t.html#a694ce15382e7504a750a1b102ad8ec32">dtls_hs_state_t</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_n"></a>- n -</h3><ul>
-<li>next
-: <a class="el" href="structlist.html#a1900fe79e875e2838625b2eb60837f8f">list</a>
-, <a class="el" href="structnetq__t.html#a89ecfe2e9b464039d390e8746da546cb">netq_t</a>
-, <a class="el" href="structUT__hash__handle.html#a93bc88ffe97f85ea0d9e0056b7118942">UT_hash_handle</a>
-</li>
-<li>noexpand
-: <a class="el" href="structUT__hash__table.html#a635661789933752e7b83dac84430eae1">UT_hash_table</a>
-</li>
-<li>nonideal_items
-: <a class="el" href="structUT__hash__table.html#a8cb66cfb259a204cda59a815e4db664f">UT_hash_table</a>
-</li>
-<li>num_buckets
-: <a class="el" href="structUT__hash__table.html#a3ed04b6233facaedf910672578d86339">UT_hash_table</a>
-</li>
-<li>num_items
-: <a class="el" href="structUT__hash__table.html#a74534cc14f080c96f94d8f5da83d9d76">UT_hash_table</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_o"></a>- o -</h3><ul>
-<li>other_eph_pub_x
-: <a class="el" href="structdtls__handshake__parameters__ecdsa__t.html#aa941f98cb3a6dd1dd3c52fb68c37921f">dtls_handshake_parameters_ecdsa_t</a>
-</li>
-<li>other_eph_pub_y
-: <a class="el" href="structdtls__handshake__parameters__ecdsa__t.html#a56047d51afb4a38924db2000af74e83a">dtls_handshake_parameters_ecdsa_t</a>
-</li>
-<li>other_pub_x
-: <a class="el" href="structdtls__handshake__parameters__ecdsa__t.html#a0d0470e6d450f955ef574f22cb74c5bf">dtls_handshake_parameters_ecdsa_t</a>
-</li>
-<li>other_pub_y
-: <a class="el" href="structdtls__handshake__parameters__ecdsa__t.html#af1fde768658a37d6e3a469842e0854b0">dtls_handshake_parameters_ecdsa_t</a>
-</li>
-<li>own_eph_priv
-: <a class="el" href="structdtls__handshake__parameters__ecdsa__t.html#aaa5b9eb0a00a615f7910294ed0739b5b">dtls_handshake_parameters_ecdsa_t</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_p"></a>- p -</h3><ul>
-<li>pad
-: <a class="el" href="structdtls__hmac__context__t.html#aba13422e176f7d16f3f251634ca7f868">dtls_hmac_context_t</a>
-</li>
-<li>peer
-: <a class="el" href="structnetq__t.html#aaca5f6407bd7b3162d9ee7e7e7b8f0ff">netq_t</a>
-</li>
-<li>peers
-: <a class="el" href="structdtls__context__t.html#a417fa8ac04478292f0539d2da0fec088">dtls_context_t</a>
-</li>
-<li>prev
-: <a class="el" href="structUT__hash__handle.html#abaf54a69367933df2d45575f48ca6a58">UT_hash_handle</a>
-</li>
-<li>priv_key
-: <a class="el" href="structdtls__ecdsa__key__t.html#a91769609f44590f193d726187ab366de">dtls_ecdsa_key_t</a>
-</li>
-<li>pub_key_x
-: <a class="el" href="structdtls__ecdsa__key__t.html#aa54efc762737c1b94eaebae1262d4221">dtls_ecdsa_key_t</a>
-</li>
-<li>pub_key_y
-: <a class="el" href="structdtls__ecdsa__key__t.html#aaceb7ea4b4f9e74fb2ec85c49746132f">dtls_ecdsa_key_t</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_r"></a>- r -</h3><ul>
-<li>random
-: <a class="el" href="structdtls__handshake__parameters__t.html#a5c4e7bb5d4d890200a176cfe13c6fb9a">dtls_handshake_parameters_t</a>
-</li>
-<li>read
-: <a class="el" href="structdtls__handler__t.html#a48f28d381286b493fe6dd8eab5cbaa88">dtls_handler_t</a>
-</li>
-<li>readbuf
-: <a class="el" href="structdtls__context__t.html#ad6facbcd3c19ac8e1c79b1664dcf2434">dtls_context_t</a>
-</li>
-<li>retransmit_cnt
-: <a class="el" href="structnetq__t.html#aacd03017f40248c2f48c2b7b9cd92dc8">netq_t</a>
-</li>
-<li>role
-: <a class="el" href="structdtls__peer__t.html#aeca80f1bcbcfdba89a2ab08e4bc48120">dtls_peer_t</a>
-</li>
-<li>rseq
-: <a class="el" href="structdtls__security__parameters__t.html#a100dc82ee41004df1d9f211873332f87">dtls_security_parameters_t</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_s"></a>- s -</h3><ul>
-<li>sa
-: <a class="el" href="structsession__t.html#a8d0a30ccc98425675a1b0e92e96eaa6a">session_t</a>
-</li>
-<li>security_params
-: <a class="el" href="structdtls__peer__t.html#a6c85e48495ae7de8ddfc4c4fb2a350af">dtls_peer_t</a>
-</li>
-<li>server
-: <a class="el" href="structdtls__handshake__parameters__t.html#a17344d2dab22a9c2c7f8bc9ef9137036">dtls_handshake_parameters_t</a>
-</li>
-<li>session
-: <a class="el" href="structdtls__peer__t.html#a44ebb2ba643269c7e6943f3a9040febe">dtls_peer_t</a>
-</li>
-<li>signature
-: <a class="el" href="structUT__hash__table.html#a87d1ab3f3ede1809c6a485972d20b25f">UT_hash_table</a>
-</li>
-<li>sin
-: <a class="el" href="structsession__t.html#a86093095c1ab36b12180f9215fa2375e">session_t</a>
-</li>
-<li>sin6
-: <a class="el" href="structsession__t.html#a2f337ce1989f3a9b5afeef1a95506bde">session_t</a>
-</li>
-<li>size
-: <a class="el" href="structsession__t.html#aed21682e9f971221d9f35f1266dea125">session_t</a>
-</li>
-<li>st
-: <a class="el" href="structsession__t.html#ac45985b6941c1fd25dbf4e48ff44fb8d">session_t</a>
-</li>
-<li>state
-: <a class="el" href="structdtls__peer__t.html#a4e23cc3b273813744524c3db1fda9c83">dtls_peer_t</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_t"></a>- t -</h3><ul>
-<li>t
-: <a class="el" href="structnetq__t.html#afe91256ff5267fc680b96efd3bd8635a">netq_t</a>
-</li>
-<li>tail
-: <a class="el" href="structUT__hash__table.html#a00a889a5e1ebaeec0a83ec2701df1992">UT_hash_table</a>
-</li>
-<li>tbl
-: <a class="el" href="structUT__hash__handle.html#ad2035ee3b2aa55b22e352341372a5e73">UT_hash_handle</a>
-</li>
-<li>timeout
-: <a class="el" href="structnetq__t.html#ae0c2648acf87d1e6f2566bc3600771b6">netq_t</a>
-</li>
-<li>tmp
-: <a class="el" href="structdtls__handshake__parameters__t.html#ac27a2063a8136615971f8d591afdd01f">dtls_handshake_parameters_t</a>
-</li>
-<li>type
-: <a class="el" href="structnetq__t.html#a13d74bc65c8879b894698935fbbe2246">netq_t</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_w"></a>- w -</h3><ul>
-<li>write
-: <a class="el" href="structdtls__handler__t.html#a161ad99d77bd3b963bcd473eb3cbefe2">dtls_handler_t</a>
-</li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/functions_func.html b/external/wakaama/examples/shared/tinydtls/doc/html/functions_func.html
deleted file mode 100644 (file)
index f1114cb..0000000
+++ /dev/null
@@ -1,105 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: Data Fields - Functions</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="functions.html"><span>Data&#160;Fields</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow3" class="tabs2">
-    <ul class="tablist">
-      <li><a href="functions.html"><span>All</span></a></li>
-      <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
-      <li><a href="functions_vars.html"><span>Variables</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="contents">
-&#160;<ul>
-<li>LIST_STRUCT()
-: <a class="el" href="structdtls__context__t.html#adf4e86be64bd4a07936ddbba5f6fa6af">dtls_context_t</a>
-, <a class="el" href="structdtls__handshake__parameters__t.html#a44c54027bff617597d51f4fc862a1dc4">dtls_handshake_parameters_t</a>
-</li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/functions_vars.html b/external/wakaama/examples/shared/tinydtls/doc/html/functions_vars.html
deleted file mode 100644 (file)
index ca15880..0000000
+++ /dev/null
@@ -1,435 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: Data Fields - Variables</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="functions.html"><span>Data&#160;Fields</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow3" class="tabs2">
-    <ul class="tablist">
-      <li><a href="functions.html"><span>All</span></a></li>
-      <li><a href="functions_func.html"><span>Functions</span></a></li>
-      <li class="current"><a href="functions_vars.html"><span>Variables</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow4" class="tabs3">
-    <ul class="tablist">
-      <li><a href="#index_a"><span>a</span></a></li>
-      <li><a href="#index_b"><span>b</span></a></li>
-      <li><a href="#index_c"><span>c</span></a></li>
-      <li><a href="#index_d"><span>d</span></a></li>
-      <li><a href="#index_e"><span>e</span></a></li>
-      <li><a href="#index_h"><span>h</span></a></li>
-      <li><a href="#index_i"><span>i</span></a></li>
-      <li><a href="#index_k"><span>k</span></a></li>
-      <li><a href="#index_l"><span>l</span></a></li>
-      <li><a href="#index_m"><span>m</span></a></li>
-      <li><a href="#index_n"><span>n</span></a></li>
-      <li><a href="#index_o"><span>o</span></a></li>
-      <li><a href="#index_p"><span>p</span></a></li>
-      <li><a href="#index_r"><span>r</span></a></li>
-      <li><a href="#index_s"><span>s</span></a></li>
-      <li><a href="#index_t"><span>t</span></a></li>
-      <li class="current"><a href="#index_w"><span>w</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="contents">
-&#160;
-
-<h3><a class="anchor" id="index_a"></a>- a -</h3><ul>
-<li>addr
-: <a class="el" href="structsession__t.html#a0bb4423cd29b415a4cf6c32d5d9a43e4">session_t</a>
-</li>
-<li>app
-: <a class="el" href="structdtls__context__t.html#ab37722ec6b82dd3120827812f212a51e">dtls_context_t</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_b"></a>- b -</h3><ul>
-<li>buckets
-: <a class="el" href="structUT__hash__table.html#a04556bbef9c9a1c40b1bc0d17a2a6e0b">UT_hash_table</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_c"></a>- c -</h3><ul>
-<li>cipher
-: <a class="el" href="structdtls__handshake__parameters__t.html#a5cc61a98763800b5b4e7617307649933">dtls_handshake_parameters_t</a>
-, <a class="el" href="structdtls__security__parameters__t.html#a21d9fac709d739535b0cbecce4c18830">dtls_security_parameters_t</a>
-</li>
-<li>client
-: <a class="el" href="structdtls__handshake__parameters__t.html#af37f38ce7c5f5e4ab62f16aacc2035f9">dtls_handshake_parameters_t</a>
-</li>
-<li>compression
-: <a class="el" href="structdtls__handshake__parameters__t.html#a67f85371953c8ae07ec110cb39c13125">dtls_handshake_parameters_t</a>
-, <a class="el" href="structdtls__security__parameters__t.html#a6a72df7ab1151f81e49d464175fcaf2a">dtls_security_parameters_t</a>
-</li>
-<li>cookie_secret
-: <a class="el" href="structdtls__context__t.html#adb7dc6a53a7e00f2c4bbf726973e002f">dtls_context_t</a>
-</li>
-<li>cookie_secret_age
-: <a class="el" href="structdtls__context__t.html#a3f26099dbb3588ae9a86d26f69ec08f8">dtls_context_t</a>
-</li>
-<li>count
-: <a class="el" href="structUT__hash__bucket.html#a5d20cc12bdcbde360398910eefb45634">UT_hash_bucket</a>
-</li>
-<li>ctx
-: <a class="el" href="structaes128__ccm__t.html#a5bdf410f025e4177ced456059bc8a371">aes128_ccm_t</a>
-</li>
-<li>curve
-: <a class="el" href="structdtls__ecdsa__key__t.html#ad78834cca7158114bd78d3d0acb4a548">dtls_ecdsa_key_t</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_d"></a>- d -</h3><ul>
-<li>data
-: <a class="el" href="structdtls__cipher__context__t.html#a02da63201e2ac7bc508e3bb54c5761dc">dtls_cipher_context_t</a>
-, <a class="el" href="structdtls__hmac__context__t.html#a84c35513fa655d8456be215f4509bb40">dtls_hmac_context_t</a>
-, <a class="el" href="structnetq__t.html#a5b4d387623df43fe25a3b11e9d4fb02c">netq_t</a>
-</li>
-<li>do_client_auth
-: <a class="el" href="structdtls__handshake__parameters__t.html#ab17efe8550600d945ced029e43ca86d6">dtls_handshake_parameters_t</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_e"></a>- e -</h3><ul>
-<li>epoch
-: <a class="el" href="structdtls__security__parameters__t.html#a2bce1fa0bf77eeab8fadca824de602da">dtls_security_parameters_t</a>
-, <a class="el" href="structnetq__t.html#a9998944e43a39a2e5700156876a312e0">netq_t</a>
-</li>
-<li>event
-: <a class="el" href="structdtls__handler__t.html#aae2db3733c5f0a0eea9a635490bdfe59">dtls_handler_t</a>
-</li>
-<li>expand_mult
-: <a class="el" href="structUT__hash__bucket.html#a9b739c1b69c141e8198c0c64af643b2b">UT_hash_bucket</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_h"></a>- h -</h3><ul>
-<li>h
-: <a class="el" href="structdtls__context__t.html#a460737bda0d200538c00ef7877b339cd">dtls_context_t</a>
-</li>
-<li>handshake_params
-: <a class="el" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">dtls_peer_t</a>
-</li>
-<li>hashv
-: <a class="el" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">UT_hash_handle</a>
-</li>
-<li>hh
-: <a class="el" href="structdtls__peer__t.html#a4241666f9097d15a486840bce28c3fd5">dtls_peer_t</a>
-</li>
-<li>hh_head
-: <a class="el" href="structUT__hash__bucket.html#a785a785132212378bb28fb4341cfecaf">UT_hash_bucket</a>
-</li>
-<li>hh_next
-: <a class="el" href="structUT__hash__handle.html#a4f6989385499ba6f594b0f0facd28325">UT_hash_handle</a>
-</li>
-<li>hh_prev
-: <a class="el" href="structUT__hash__handle.html#a3ec03e34d7975d5c1981c44b324619b2">UT_hash_handle</a>
-</li>
-<li>hho
-: <a class="el" href="structUT__hash__table.html#afd05f4d9e45354fb010367ae9e1bddb6">UT_hash_table</a>
-</li>
-<li>hs_hash
-: <a class="el" href="structdtls__hs__state__t.html#a991b95919538531d730f74045e4fe3b1">dtls_hs_state_t</a>
-</li>
-<li>hs_state
-: <a class="el" href="structdtls__handshake__parameters__t.html#a56e7392a649731166fc82a523b0eb027">dtls_handshake_parameters_t</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_i"></a>- i -</h3><ul>
-<li>id_length
-: <a class="el" href="structdtls__handshake__parameters__psk__t.html#a39ae0d1ead76e8bd5a3631ae8677be1b">dtls_handshake_parameters_psk_t</a>
-</li>
-<li>ideal_chain_maxlen
-: <a class="el" href="structUT__hash__table.html#a5f1cec93d5d753ba02097c797e4d67ad">UT_hash_table</a>
-</li>
-<li>identity
-: <a class="el" href="structdtls__handshake__parameters__psk__t.html#a6cce0754e4b9cf5469ddfec595be3084">dtls_handshake_parameters_psk_t</a>
-</li>
-<li>ifindex
-: <a class="el" href="structsession__t.html#aafc69fe43548bd69c0e15aa82e73f3ff">session_t</a>
-</li>
-<li>ineff_expands
-: <a class="el" href="structUT__hash__table.html#a216c7d98cf40a0064bee94aa8a5bf1b7">UT_hash_table</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_k"></a>- k -</h3><ul>
-<li>key
-: <a class="el" href="structUT__hash__handle.html#a40690fc15aeaeba8f25385f05f84dd4d">UT_hash_handle</a>
-</li>
-<li>key_block
-: <a class="el" href="structdtls__security__parameters__t.html#a1c3a56ea4af8ff71e1ffe77221541f4d">dtls_security_parameters_t</a>
-</li>
-<li>keylen
-: <a class="el" href="structUT__hash__handle.html#af2abdc405972a6bbdee2ade2c0f346c4">UT_hash_handle</a>
-</li>
-<li>keyx
-: <a class="el" href="structdtls__handshake__parameters__t.html#a483b158f8fc86e45e7c0fc603a66925f">dtls_handshake_parameters_t</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_l"></a>- l -</h3><ul>
-<li>length
-: <a class="el" href="structnetq__t.html#ac72c9378282becab5a273f612f58c124">netq_t</a>
-</li>
-<li>log2_num_buckets
-: <a class="el" href="structUT__hash__table.html#ae376a7f3fac525f3a9d03b6beec8d12f">UT_hash_table</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_m"></a>- m -</h3><ul>
-<li>master_secret
-: <a class="el" href="structdtls__handshake__parameters__t.html#a21ba88c7b062772beb75c5570d257898">dtls_handshake_parameters_t</a>
-</li>
-<li>mseq_r
-: <a class="el" href="structdtls__hs__state__t.html#a4e2184c917d1ad46d308e8770193f542">dtls_hs_state_t</a>
-</li>
-<li>mseq_s
-: <a class="el" href="structdtls__hs__state__t.html#a694ce15382e7504a750a1b102ad8ec32">dtls_hs_state_t</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_n"></a>- n -</h3><ul>
-<li>next
-: <a class="el" href="structlist.html#a1900fe79e875e2838625b2eb60837f8f">list</a>
-, <a class="el" href="structnetq__t.html#a89ecfe2e9b464039d390e8746da546cb">netq_t</a>
-, <a class="el" href="structUT__hash__handle.html#a93bc88ffe97f85ea0d9e0056b7118942">UT_hash_handle</a>
-</li>
-<li>noexpand
-: <a class="el" href="structUT__hash__table.html#a635661789933752e7b83dac84430eae1">UT_hash_table</a>
-</li>
-<li>nonideal_items
-: <a class="el" href="structUT__hash__table.html#a8cb66cfb259a204cda59a815e4db664f">UT_hash_table</a>
-</li>
-<li>num_buckets
-: <a class="el" href="structUT__hash__table.html#a3ed04b6233facaedf910672578d86339">UT_hash_table</a>
-</li>
-<li>num_items
-: <a class="el" href="structUT__hash__table.html#a74534cc14f080c96f94d8f5da83d9d76">UT_hash_table</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_o"></a>- o -</h3><ul>
-<li>other_eph_pub_x
-: <a class="el" href="structdtls__handshake__parameters__ecdsa__t.html#aa941f98cb3a6dd1dd3c52fb68c37921f">dtls_handshake_parameters_ecdsa_t</a>
-</li>
-<li>other_eph_pub_y
-: <a class="el" href="structdtls__handshake__parameters__ecdsa__t.html#a56047d51afb4a38924db2000af74e83a">dtls_handshake_parameters_ecdsa_t</a>
-</li>
-<li>other_pub_x
-: <a class="el" href="structdtls__handshake__parameters__ecdsa__t.html#a0d0470e6d450f955ef574f22cb74c5bf">dtls_handshake_parameters_ecdsa_t</a>
-</li>
-<li>other_pub_y
-: <a class="el" href="structdtls__handshake__parameters__ecdsa__t.html#af1fde768658a37d6e3a469842e0854b0">dtls_handshake_parameters_ecdsa_t</a>
-</li>
-<li>own_eph_priv
-: <a class="el" href="structdtls__handshake__parameters__ecdsa__t.html#aaa5b9eb0a00a615f7910294ed0739b5b">dtls_handshake_parameters_ecdsa_t</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_p"></a>- p -</h3><ul>
-<li>pad
-: <a class="el" href="structdtls__hmac__context__t.html#aba13422e176f7d16f3f251634ca7f868">dtls_hmac_context_t</a>
-</li>
-<li>peer
-: <a class="el" href="structnetq__t.html#aaca5f6407bd7b3162d9ee7e7e7b8f0ff">netq_t</a>
-</li>
-<li>peers
-: <a class="el" href="structdtls__context__t.html#a417fa8ac04478292f0539d2da0fec088">dtls_context_t</a>
-</li>
-<li>prev
-: <a class="el" href="structUT__hash__handle.html#abaf54a69367933df2d45575f48ca6a58">UT_hash_handle</a>
-</li>
-<li>priv_key
-: <a class="el" href="structdtls__ecdsa__key__t.html#a91769609f44590f193d726187ab366de">dtls_ecdsa_key_t</a>
-</li>
-<li>pub_key_x
-: <a class="el" href="structdtls__ecdsa__key__t.html#aa54efc762737c1b94eaebae1262d4221">dtls_ecdsa_key_t</a>
-</li>
-<li>pub_key_y
-: <a class="el" href="structdtls__ecdsa__key__t.html#aaceb7ea4b4f9e74fb2ec85c49746132f">dtls_ecdsa_key_t</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_r"></a>- r -</h3><ul>
-<li>random
-: <a class="el" href="structdtls__handshake__parameters__t.html#a5c4e7bb5d4d890200a176cfe13c6fb9a">dtls_handshake_parameters_t</a>
-</li>
-<li>read
-: <a class="el" href="structdtls__handler__t.html#a48f28d381286b493fe6dd8eab5cbaa88">dtls_handler_t</a>
-</li>
-<li>readbuf
-: <a class="el" href="structdtls__context__t.html#ad6facbcd3c19ac8e1c79b1664dcf2434">dtls_context_t</a>
-</li>
-<li>retransmit_cnt
-: <a class="el" href="structnetq__t.html#aacd03017f40248c2f48c2b7b9cd92dc8">netq_t</a>
-</li>
-<li>role
-: <a class="el" href="structdtls__peer__t.html#aeca80f1bcbcfdba89a2ab08e4bc48120">dtls_peer_t</a>
-</li>
-<li>rseq
-: <a class="el" href="structdtls__security__parameters__t.html#a100dc82ee41004df1d9f211873332f87">dtls_security_parameters_t</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_s"></a>- s -</h3><ul>
-<li>sa
-: <a class="el" href="structsession__t.html#a8d0a30ccc98425675a1b0e92e96eaa6a">session_t</a>
-</li>
-<li>security_params
-: <a class="el" href="structdtls__peer__t.html#a6c85e48495ae7de8ddfc4c4fb2a350af">dtls_peer_t</a>
-</li>
-<li>server
-: <a class="el" href="structdtls__handshake__parameters__t.html#a17344d2dab22a9c2c7f8bc9ef9137036">dtls_handshake_parameters_t</a>
-</li>
-<li>session
-: <a class="el" href="structdtls__peer__t.html#a44ebb2ba643269c7e6943f3a9040febe">dtls_peer_t</a>
-</li>
-<li>signature
-: <a class="el" href="structUT__hash__table.html#a87d1ab3f3ede1809c6a485972d20b25f">UT_hash_table</a>
-</li>
-<li>sin
-: <a class="el" href="structsession__t.html#a86093095c1ab36b12180f9215fa2375e">session_t</a>
-</li>
-<li>sin6
-: <a class="el" href="structsession__t.html#a2f337ce1989f3a9b5afeef1a95506bde">session_t</a>
-</li>
-<li>size
-: <a class="el" href="structsession__t.html#aed21682e9f971221d9f35f1266dea125">session_t</a>
-</li>
-<li>st
-: <a class="el" href="structsession__t.html#ac45985b6941c1fd25dbf4e48ff44fb8d">session_t</a>
-</li>
-<li>state
-: <a class="el" href="structdtls__peer__t.html#a4e23cc3b273813744524c3db1fda9c83">dtls_peer_t</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_t"></a>- t -</h3><ul>
-<li>t
-: <a class="el" href="structnetq__t.html#afe91256ff5267fc680b96efd3bd8635a">netq_t</a>
-</li>
-<li>tail
-: <a class="el" href="structUT__hash__table.html#a00a889a5e1ebaeec0a83ec2701df1992">UT_hash_table</a>
-</li>
-<li>tbl
-: <a class="el" href="structUT__hash__handle.html#ad2035ee3b2aa55b22e352341372a5e73">UT_hash_handle</a>
-</li>
-<li>timeout
-: <a class="el" href="structnetq__t.html#ae0c2648acf87d1e6f2566bc3600771b6">netq_t</a>
-</li>
-<li>tmp
-: <a class="el" href="structdtls__handshake__parameters__t.html#ac27a2063a8136615971f8d591afdd01f">dtls_handshake_parameters_t</a>
-</li>
-<li>type
-: <a class="el" href="structnetq__t.html#a13d74bc65c8879b894698935fbbe2246">netq_t</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_w"></a>- w -</h3><ul>
-<li>write
-: <a class="el" href="structdtls__handler__t.html#a161ad99d77bd3b963bcd473eb3cbefe2">dtls_handler_t</a>
-</li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/global_8h.html b/external/wakaama/examples/shared/tinydtls/doc/html/global_8h.html
deleted file mode 100644 (file)
index 62d3a8d..0000000
+++ /dev/null
@@ -1,657 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: global.h File Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#define-members">Macros</a> &#124;
-<a href="#typedef-members">Typedefs</a> &#124;
-<a href="#enum-members">Enumerations</a> &#124;
-<a href="#func-members">Functions</a>  </div>
-  <div class="headertitle">
-<div class="title">global.h File Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock"><code>#include &lt;stdlib.h&gt;</code><br/>
-<code>#include &lt;sys/types.h&gt;</code><br/>
-<code>#include &quot;<a class="el" href="tinydtls_8h_source.html">tinydtls.h</a>&quot;</code><br/>
-</div>
-<p><a href="global_8h_source.html">Go to the source code of this file.</a></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
-Macros</h2></td></tr>
-<tr class="memitem:a6b9b983a346a3e94eff205f8eab2bce0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="global_8h.html#a6b9b983a346a3e94eff205f8eab2bce0">DTLSv12</a>&#160;&#160;&#160;1</td></tr>
-<tr class="separator:a6b9b983a346a3e94eff205f8eab2bce0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4da6212f220f78c713aa5e91f989e7d7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="global_8h.html#a4da6212f220f78c713aa5e91f989e7d7">WITH_SHA256</a>&#160;&#160;&#160;1</td></tr>
-<tr class="separator:a4da6212f220f78c713aa5e91f989e7d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:acdbfba15eb1a5692e177d582b4ca1583"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="global_8h.html#acdbfba15eb1a5692e177d582b4ca1583">DTLS_MAX_BUF</a>&#160;&#160;&#160;1400</td></tr>
-<tr class="separator:acdbfba15eb1a5692e177d582b4ca1583"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9fc59fb51c2e3cb4da6fb19bc8cad080"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="global_8h.html#a9fc59fb51c2e3cb4da6fb19bc8cad080">DTLS_DEFAULT_MAX_RETRANSMIT</a>&#160;&#160;&#160;7</td></tr>
-<tr class="separator:a9fc59fb51c2e3cb4da6fb19bc8cad080"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7e080d630a40510f655bf6982c555063"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="global_8h.html#a7e080d630a40510f655bf6982c555063">TLS_EXT_ELLIPTIC_CURVES</a>&#160;&#160;&#160;10 /* see RFC 4492 */</td></tr>
-<tr class="separator:a7e080d630a40510f655bf6982c555063"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5d17863db920927ef8160547541b58e3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="global_8h.html#a5d17863db920927ef8160547541b58e3">TLS_EXT_EC_POINT_FORMATS</a>&#160;&#160;&#160;11 /* see RFC 4492 */</td></tr>
-<tr class="separator:a5d17863db920927ef8160547541b58e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0249393d6894a15ac56962b2335add24"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="global_8h.html#a0249393d6894a15ac56962b2335add24">TLS_EXT_SIG_HASH_ALGO</a>&#160;&#160;&#160;13 /* see RFC 5246 */</td></tr>
-<tr class="separator:a0249393d6894a15ac56962b2335add24"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0074adc0b2543a913a597e510caf27b0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="global_8h.html#a0074adc0b2543a913a597e510caf27b0">TLS_EXT_CLIENT_CERTIFICATE_TYPE</a>&#160;&#160;&#160;19 /* see RFC 7250 */</td></tr>
-<tr class="separator:a0074adc0b2543a913a597e510caf27b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad465b86d1841ddd6c2209ff304895a95"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="global_8h.html#ad465b86d1841ddd6c2209ff304895a95">TLS_EXT_SERVER_CERTIFICATE_TYPE</a>&#160;&#160;&#160;20 /* see RFC 7250 */</td></tr>
-<tr class="separator:ad465b86d1841ddd6c2209ff304895a95"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae136afe82bd9031a4c1c604de0cb0118"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="global_8h.html#ae136afe82bd9031a4c1c604de0cb0118">TLS_EXT_ENCRYPT_THEN_MAC</a>&#160;&#160;&#160;22 /* see RFC 7366 */</td></tr>
-<tr class="separator:ae136afe82bd9031a4c1c604de0cb0118"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af36d51830256b7d1bf4dbaa8590c19e4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="global_8h.html#af36d51830256b7d1bf4dbaa8590c19e4">TLS_CERT_TYPE_RAW_PUBLIC_KEY</a>&#160;&#160;&#160;2 /* see RFC 7250 */</td></tr>
-<tr class="separator:af36d51830256b7d1bf4dbaa8590c19e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8095691f33c0ce6b22d205640ccc9417"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="global_8h.html#a8095691f33c0ce6b22d205640ccc9417">TLS_EXT_ELLIPTIC_CURVES_SECP256R1</a>&#160;&#160;&#160;23 /* see RFC 4492 */</td></tr>
-<tr class="separator:a8095691f33c0ce6b22d205640ccc9417"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af086ed2d0aea096be56bf7e46f8f72a6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="global_8h.html#af086ed2d0aea096be56bf7e46f8f72a6">TLS_EXT_EC_POINT_FORMATS_UNCOMPRESSED</a>&#160;&#160;&#160;0 /* see RFC 4492 */</td></tr>
-<tr class="separator:af086ed2d0aea096be56bf7e46f8f72a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac97469cc46ceeb148ee92f47a26ebcf6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="global_8h.html#ac97469cc46ceeb148ee92f47a26ebcf6">TLS_EC_CURVE_TYPE_NAMED_CURVE</a>&#160;&#160;&#160;3 /* see RFC 4492 */</td></tr>
-<tr class="separator:ac97469cc46ceeb148ee92f47a26ebcf6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aaace8dce4341d910140609a96bb300db"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="global_8h.html#aaace8dce4341d910140609a96bb300db">TLS_CLIENT_CERTIFICATE_TYPE_ECDSA_SIGN</a>&#160;&#160;&#160;64 /* see RFC 4492 */</td></tr>
-<tr class="separator:aaace8dce4341d910140609a96bb300db"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa347771eab2eabd24c4b9311fa61c4c9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="global_8h.html#aa347771eab2eabd24c4b9311fa61c4c9">TLS_EXT_SIG_HASH_ALGO_SHA256</a>&#160;&#160;&#160;4 /* see RFC 5246 */</td></tr>
-<tr class="separator:aa347771eab2eabd24c4b9311fa61c4c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af126227a026a7af436a4323db6d02ecc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="global_8h.html#af126227a026a7af436a4323db6d02ecc">TLS_EXT_SIG_HASH_ALGO_ECDSA</a>&#160;&#160;&#160;3 /* see RFC 5246 */</td></tr>
-<tr class="separator:af126227a026a7af436a4323db6d02ecc"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
-Typedefs</h2></td></tr>
-<tr class="memitem:adde6aaee8457bee49c2a92621fe22b79"><td class="memItemLeft" align="right" valign="top">typedef unsigned char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a></td></tr>
-<tr class="separator:adde6aaee8457bee49c2a92621fe22b79"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5e90b30856b81913af89565b55751da5"><td class="memItemLeft" align="right" valign="top">typedef unsigned char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a> [2]</td></tr>
-<tr class="separator:a5e90b30856b81913af89565b55751da5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aabc56baaf04f922a1ea0dda7691fec0a"><td class="memItemLeft" align="right" valign="top">typedef unsigned char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="global_8h.html#aabc56baaf04f922a1ea0dda7691fec0a">uint24</a> [3]</td></tr>
-<tr class="separator:aabc56baaf04f922a1ea0dda7691fec0a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab27072920285996a3e16d2e5e3d366be"><td class="memItemLeft" align="right" valign="top">typedef unsigned char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="global_8h.html#ab27072920285996a3e16d2e5e3d366be">uint32</a> [4]</td></tr>
-<tr class="separator:ab27072920285996a3e16d2e5e3d366be"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0749f1df578b26eccab986b0d8abaa56"><td class="memItemLeft" align="right" valign="top">typedef unsigned char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="global_8h.html#a0749f1df578b26eccab986b0d8abaa56">uint48</a> [6]</td></tr>
-<tr class="separator:a0749f1df578b26eccab986b0d8abaa56"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
-Enumerations</h2></td></tr>
-<tr class="memitem:ada7e71454d685b693df45b2c1ea0c59b"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="global_8h.html#ada7e71454d685b693df45b2c1ea0c59b">dtls_cipher_t</a> { <a class="el" href="global_8h.html#ada7e71454d685b693df45b2c1ea0c59bacf33de998fd00f096eebbb0742d80abd">TLS_NULL_WITH_NULL_NULL</a> = 0x0000, 
-<a class="el" href="global_8h.html#ada7e71454d685b693df45b2c1ea0c59ba39a3062f136db88f648ce514a591fac8">TLS_PSK_WITH_AES_128_CCM_8</a> = 0xC0A8, 
-<a class="el" href="global_8h.html#ada7e71454d685b693df45b2c1ea0c59ba197892e216f63ddbc91c2b006a2d4c1e">TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8</a> = 0xC0AE
- }</td></tr>
-<tr class="separator:ada7e71454d685b693df45b2c1ea0c59b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1ff555e0b1443c4cb4d17ac2161d89b2"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="global_8h.html#a1ff555e0b1443c4cb4d17ac2161d89b2">dtls_compression_t</a> { <a class="el" href="global_8h.html#a1ff555e0b1443c4cb4d17ac2161d89b2ac5b79ee16e8c0e46873fa63fdb1ab9ca">TLS_COMPRESSION_NULL</a> = 0x0000
- }</td></tr>
-<tr class="separator:a1ff555e0b1443c4cb4d17ac2161d89b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:a6c31c5d8a0fe09547a192100d2a00dc5"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="global_8h.html#a6c31c5d8a0fe09547a192100d2a00dc5">memxor</a> (unsigned char *x, const unsigned char *y, size_t n)</td></tr>
-<tr class="separator:a6c31c5d8a0fe09547a192100d2a00dc5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8277c276ecd5cd2f998f08fd344d90ef"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="global_8h.html#a8277c276ecd5cd2f998f08fd344d90ef">equals</a> (unsigned char *a, unsigned char *b, size_t len)</td></tr>
-<tr class="separator:a8277c276ecd5cd2f998f08fd344d90ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae10dcc6b71efe025c990ac2f3d8a48b8"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="global_8h.html#ae10dcc6b71efe025c990ac2f3d8a48b8">dtls_fls</a> (unsigned int i)</td></tr>
-<tr class="separator:ae10dcc6b71efe025c990ac2f3d8a48b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<h2 class="groupheader">Macro Definition Documentation</h2>
-<a class="anchor" id="a9fc59fb51c2e3cb4da6fb19bc8cad080"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DTLS_DEFAULT_MAX_RETRANSMIT&#160;&#160;&#160;7</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Number of message retransmissions. </p>
-
-<p>Definition at line <a class="el" href="global_8h_source.html#l00070">70</a> of file <a class="el" href="global_8h_source.html">global.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="acdbfba15eb1a5692e177d582b4ca1583"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DTLS_MAX_BUF&#160;&#160;&#160;1400</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Maximum size of DTLS message. When Peers are sending bigger messages this causes problems. Californium with ECDSA needs at least 220 </p>
-
-<p>Definition at line <a class="el" href="global_8h_source.html#l00064">64</a> of file <a class="el" href="global_8h_source.html">global.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a6b9b983a346a3e94eff205f8eab2bce0"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DTLSv12&#160;&#160;&#160;1</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="global_8h_source.html#l00036">36</a> of file <a class="el" href="global_8h_source.html">global.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="af36d51830256b7d1bf4dbaa8590c19e4"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define TLS_CERT_TYPE_RAW_PUBLIC_KEY&#160;&#160;&#160;2 /* see RFC 7250 */</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="global_8h_source.html#l00092">92</a> of file <a class="el" href="global_8h_source.html">global.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aaace8dce4341d910140609a96bb300db"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define TLS_CLIENT_CERTIFICATE_TYPE_ECDSA_SIGN&#160;&#160;&#160;64 /* see RFC 4492 */</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="global_8h_source.html#l00100">100</a> of file <a class="el" href="global_8h_source.html">global.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ac97469cc46ceeb148ee92f47a26ebcf6"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define TLS_EC_CURVE_TYPE_NAMED_CURVE&#160;&#160;&#160;3 /* see RFC 4492 */</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="global_8h_source.html#l00098">98</a> of file <a class="el" href="global_8h_source.html">global.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a0074adc0b2543a913a597e510caf27b0"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define TLS_EXT_CLIENT_CERTIFICATE_TYPE&#160;&#160;&#160;19 /* see RFC 7250 */</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="global_8h_source.html#l00088">88</a> of file <a class="el" href="global_8h_source.html">global.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a5d17863db920927ef8160547541b58e3"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define TLS_EXT_EC_POINT_FORMATS&#160;&#160;&#160;11 /* see RFC 4492 */</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="global_8h_source.html#l00086">86</a> of file <a class="el" href="global_8h_source.html">global.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="af086ed2d0aea096be56bf7e46f8f72a6"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define TLS_EXT_EC_POINT_FORMATS_UNCOMPRESSED&#160;&#160;&#160;0 /* see RFC 4492 */</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="global_8h_source.html#l00096">96</a> of file <a class="el" href="global_8h_source.html">global.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a7e080d630a40510f655bf6982c555063"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define TLS_EXT_ELLIPTIC_CURVES&#160;&#160;&#160;10 /* see RFC 4492 */</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="global_8h_source.html#l00085">85</a> of file <a class="el" href="global_8h_source.html">global.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a8095691f33c0ce6b22d205640ccc9417"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define TLS_EXT_ELLIPTIC_CURVES_SECP256R1&#160;&#160;&#160;23 /* see RFC 4492 */</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="global_8h_source.html#l00094">94</a> of file <a class="el" href="global_8h_source.html">global.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ae136afe82bd9031a4c1c604de0cb0118"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define TLS_EXT_ENCRYPT_THEN_MAC&#160;&#160;&#160;22 /* see RFC 7366 */</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="global_8h_source.html#l00090">90</a> of file <a class="el" href="global_8h_source.html">global.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ad465b86d1841ddd6c2209ff304895a95"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define TLS_EXT_SERVER_CERTIFICATE_TYPE&#160;&#160;&#160;20 /* see RFC 7250 */</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="global_8h_source.html#l00089">89</a> of file <a class="el" href="global_8h_source.html">global.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a0249393d6894a15ac56962b2335add24"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define TLS_EXT_SIG_HASH_ALGO&#160;&#160;&#160;13 /* see RFC 5246 */</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="global_8h_source.html#l00087">87</a> of file <a class="el" href="global_8h_source.html">global.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="af126227a026a7af436a4323db6d02ecc"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define TLS_EXT_SIG_HASH_ALGO_ECDSA&#160;&#160;&#160;3 /* see RFC 5246 */</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="global_8h_source.html#l00103">103</a> of file <a class="el" href="global_8h_source.html">global.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aa347771eab2eabd24c4b9311fa61c4c9"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define TLS_EXT_SIG_HASH_ALGO_SHA256&#160;&#160;&#160;4 /* see RFC 5246 */</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="global_8h_source.html#l00102">102</a> of file <a class="el" href="global_8h_source.html">global.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a4da6212f220f78c713aa5e91f989e7d7"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define WITH_SHA256&#160;&#160;&#160;1</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="global_8h_source.html#l00042">42</a> of file <a class="el" href="global_8h_source.html">global.h</a>.</p>
-
-</div>
-</div>
-<h2 class="groupheader">Typedef Documentation</h2>
-<a class="anchor" id="a5e90b30856b81913af89565b55751da5"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef unsigned char uint16[2]</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="global_8h_source.html#l00048">48</a> of file <a class="el" href="global_8h_source.html">global.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aabc56baaf04f922a1ea0dda7691fec0a"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef unsigned char uint24[3]</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="global_8h_source.html#l00049">49</a> of file <a class="el" href="global_8h_source.html">global.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ab27072920285996a3e16d2e5e3d366be"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef unsigned char uint32[4]</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="global_8h_source.html#l00050">50</a> of file <a class="el" href="global_8h_source.html">global.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a0749f1df578b26eccab986b0d8abaa56"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef unsigned char uint48[6]</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="global_8h_source.html#l00051">51</a> of file <a class="el" href="global_8h_source.html">global.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="adde6aaee8457bee49c2a92621fe22b79"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef unsigned char <a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="global_8h_source.html#l00047">47</a> of file <a class="el" href="global_8h_source.html">global.h</a>.</p>
-
-</div>
-</div>
-<h2 class="groupheader">Enumeration Type Documentation</h2>
-<a class="anchor" id="ada7e71454d685b693df45b2c1ea0c59b"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">enum <a class="el" href="global_8h.html#ada7e71454d685b693df45b2c1ea0c59b">dtls_cipher_t</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Known cipher suites. </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ada7e71454d685b693df45b2c1ea0c59bacf33de998fd00f096eebbb0742d80abd"></a>TLS_NULL_WITH_NULL_NULL</em>&#160;</td><td class="fielddoc">
-<p>NULL cipher </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ada7e71454d685b693df45b2c1ea0c59ba39a3062f136db88f648ce514a591fac8"></a>TLS_PSK_WITH_AES_128_CCM_8</em>&#160;</td><td class="fielddoc">
-<p>see RFC 6655 </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ada7e71454d685b693df45b2c1ea0c59ba197892e216f63ddbc91c2b006a2d4c1e"></a>TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8</em>&#160;</td><td class="fielddoc">
-<p>see RFC 7251 </p>
-</td></tr>
-</table>
-
-<p>Definition at line <a class="el" href="global_8h_source.html#l00074">74</a> of file <a class="el" href="global_8h_source.html">global.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a1ff555e0b1443c4cb4d17ac2161d89b2"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">enum <a class="el" href="global_8h.html#a1ff555e0b1443c4cb4d17ac2161d89b2">dtls_compression_t</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Known compression suites. </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a1ff555e0b1443c4cb4d17ac2161d89b2ac5b79ee16e8c0e46873fa63fdb1ab9ca"></a>TLS_COMPRESSION_NULL</em>&#160;</td><td class="fielddoc">
-</td></tr>
-</table>
-
-<p>Definition at line <a class="el" href="global_8h_source.html#l00081">81</a> of file <a class="el" href="global_8h_source.html">global.h</a>.</p>
-
-</div>
-</div>
-<h2 class="groupheader">Function Documentation</h2>
-<a class="anchor" id="ae10dcc6b71efe025c990ac2f3d8a48b8"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int dtls_fls </td>
-          <td>(</td>
-          <td class="paramtype">unsigned int&#160;</td>
-          <td class="paramname"><em>i</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="global_8h_source.html#l00139">139</a> of file <a class="el" href="global_8h_source.html">global.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a8277c276ecd5cd2f998f08fd344d90ef"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int equals </td>
-          <td>(</td>
-          <td class="paramtype">unsigned char *&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">unsigned char *&#160;</td>
-          <td class="paramname"><em>b</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>len</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-<p>Compares <code>len</code> bytes from <code>a</code> with <code>b</code> in constant time. This functions always traverses the entire length to prevent timing attacks.</p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">a</td><td>Byte sequence to compare </td></tr>
-    <tr><td class="paramname">b</td><td>Byte sequence to compare </td></tr>
-    <tr><td class="paramname">len</td><td>Number of bytes to compare. </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd><code>1</code> if <code>a</code> and <code>b</code> are equal, <code>0</code> otherwise. </dd></dl>
-
-<p>Definition at line <a class="el" href="global_8h_source.html#l00127">127</a> of file <a class="el" href="global_8h_source.html">global.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a6c31c5d8a0fe09547a192100d2a00dc5"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static void memxor </td>
-          <td>(</td>
-          <td class="paramtype">unsigned char *&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>n</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-<p>XORs <code>n</code> bytes byte-by-byte starting at <code>y</code> to the memory area starting at <code>x</code>. </p>
-
-<p>Definition at line <a class="el" href="global_8h_source.html#l00109">109</a> of file <a class="el" href="global_8h_source.html">global.h</a>.</p>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/global_8h_source.html b/external/wakaama/examples/shared/tinydtls/doc/html/global_8h_source.html
deleted file mode 100644 (file)
index 960cd5d..0000000
+++ /dev/null
@@ -1,241 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: global.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="header">
-  <div class="headertitle">
-<div class="title">global.h</div>  </div>
-</div><!--header-->
-<div class="contents">
-<a href="global_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/* dtls -- a very basic DTLS implementation</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> * Copyright (C) 2011--2014 Olaf Bergmann &lt;bergmann@tzi.org&gt;</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> * Permission is hereby granted, free of charge, to any person</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> * obtaining a copy of this software and associated documentation</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> * files (the &quot;Software&quot;), to deal in the Software without</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> * restriction, including without limitation the rights to use, copy,</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> * modify, merge, publish, distribute, sublicense, and/or sell copies</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> * of the Software, and to permit persons to whom the Software is</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * furnished to do so, subject to the following conditions:</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * The above copyright notice and this permission notice shall be</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * included in all copies or substantial portions of the Software.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> * THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND,</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment"> * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment"> * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment"> * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment"> * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment"> * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment"> * SOFTWARE.</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div>
-<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#ifndef _DTLS_GLOBAL_H_</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define _DTLS_GLOBAL_H_</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &lt;stdlib.h&gt;</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &lt;sys/types.h&gt;</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div>
-<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="tinydtls_8h.html">tinydtls.h</a>&quot;</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div>
-<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#ifndef DTLSv12</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor"></span><span class="comment">/* The current version of tinyDTLS supports DTLSv1.2 only. */</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="global_8h.html#a6b9b983a346a3e94eff205f8eab2bce0">   36</a></span>&#160;<span class="preprocessor">#define DTLSv12 1</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#ifndef WITH_SHA256</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor"></span><span class="comment">/* The current version of tinyDTLS supports DTLSv1.2 with SHA256 PRF</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">   only. */</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="global_8h.html#a4da6212f220f78c713aa5e91f989e7d7">   42</a></span>&#160;<span class="preprocessor">#define WITH_SHA256 1</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">/* Define our own types as at least uint32_t does not work on my amd64. */</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;</div>
-<div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">   47</a></span>&#160;<span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>;</div>
-<div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="global_8h.html#a5e90b30856b81913af89565b55751da5">   48</a></span>&#160;<span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a>[2];</div>
-<div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="global_8h.html#aabc56baaf04f922a1ea0dda7691fec0a">   49</a></span>&#160;<span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="global_8h.html#aabc56baaf04f922a1ea0dda7691fec0a">uint24</a>[3];</div>
-<div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="global_8h.html#ab27072920285996a3e16d2e5e3d366be">   50</a></span>&#160;<span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="global_8h.html#ab27072920285996a3e16d2e5e3d366be">uint32</a>[4];</div>
-<div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="global_8h.html#a0749f1df578b26eccab986b0d8abaa56">   51</a></span>&#160;<span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="global_8h.html#a0749f1df578b26eccab986b0d8abaa56">uint48</a>[6];</div>
-<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;</div>
-<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="preprocessor">#ifndef DTLS_MAX_BUF</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">#ifdef WITH_CONTIKI</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#ifdef DTLS_ECC</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define DTLS_MAX_BUF 200</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#else </span><span class="comment">/* DTLS_ECC */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define DTLS_MAX_BUF 100</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif </span><span class="comment">/* DTLS_ECC */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#else </span><span class="comment">/* WITH_CONTIKI */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="global_8h.html#acdbfba15eb1a5692e177d582b4ca1583">   64</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define DTLS_MAX_BUF 1400</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif </span><span class="comment">/* WITH_CONTIKI */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="preprocessor">#ifndef DTLS_DEFAULT_MAX_RETRANSMIT</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="global_8h.html#a9fc59fb51c2e3cb4da6fb19bc8cad080">   70</a></span>&#160;<span class="preprocessor">#define DTLS_DEFAULT_MAX_RETRANSMIT 7</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="global_8h.html#ada7e71454d685b693df45b2c1ea0c59b">   74</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> { </div>
-<div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="global_8h.html#ada7e71454d685b693df45b2c1ea0c59bacf33de998fd00f096eebbb0742d80abd">   75</a></span>&#160;  <a class="code" href="global_8h.html#ada7e71454d685b693df45b2c1ea0c59bacf33de998fd00f096eebbb0742d80abd">TLS_NULL_WITH_NULL_NULL</a> = 0x0000,   </div>
-<div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="global_8h.html#ada7e71454d685b693df45b2c1ea0c59ba39a3062f136db88f648ce514a591fac8">   76</a></span>&#160;  <a class="code" href="global_8h.html#ada7e71454d685b693df45b2c1ea0c59ba39a3062f136db88f648ce514a591fac8">TLS_PSK_WITH_AES_128_CCM_8</a> = 0xC0A8, </div>
-<div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="global_8h.html#ada7e71454d685b693df45b2c1ea0c59ba197892e216f63ddbc91c2b006a2d4c1e">   77</a></span>&#160;  <a class="code" href="global_8h.html#ada7e71454d685b693df45b2c1ea0c59ba197892e216f63ddbc91c2b006a2d4c1e">TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8</a> = 0xC0AE </div>
-<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;} <a class="code" href="global_8h.html#ada7e71454d685b693df45b2c1ea0c59b">dtls_cipher_t</a>;</div>
-<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;</div>
-<div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="global_8h.html#a1ff555e0b1443c4cb4d17ac2161d89b2">   81</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
-<div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="global_8h.html#a1ff555e0b1443c4cb4d17ac2161d89b2ac5b79ee16e8c0e46873fa63fdb1ab9ca">   82</a></span>&#160;  <a class="code" href="global_8h.html#a1ff555e0b1443c4cb4d17ac2161d89b2ac5b79ee16e8c0e46873fa63fdb1ab9ca">TLS_COMPRESSION_NULL</a> = 0x0000     <span class="comment">/* NULL compression */</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;} <a class="code" href="global_8h.html#a1ff555e0b1443c4cb4d17ac2161d89b2">dtls_compression_t</a>;</div>
-<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</div>
-<div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="global_8h.html#a7e080d630a40510f655bf6982c555063">   85</a></span>&#160;<span class="preprocessor">#define TLS_EXT_ELLIPTIC_CURVES     10 </span><span class="comment">/* see RFC 4492 */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="global_8h.html#a5d17863db920927ef8160547541b58e3">   86</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define TLS_EXT_EC_POINT_FORMATS    11 </span><span class="comment">/* see RFC 4492 */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="global_8h.html#a0249393d6894a15ac56962b2335add24">   87</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define TLS_EXT_SIG_HASH_ALGO       13 </span><span class="comment">/* see RFC 5246 */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="global_8h.html#a0074adc0b2543a913a597e510caf27b0">   88</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define TLS_EXT_CLIENT_CERTIFICATE_TYPE 19 </span><span class="comment">/* see RFC 7250 */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="global_8h.html#ad465b86d1841ddd6c2209ff304895a95">   89</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define TLS_EXT_SERVER_CERTIFICATE_TYPE 20 </span><span class="comment">/* see RFC 7250 */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="global_8h.html#ae136afe82bd9031a4c1c604de0cb0118">   90</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define TLS_EXT_ENCRYPT_THEN_MAC    22 </span><span class="comment">/* see RFC 7366 */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="global_8h.html#af36d51830256b7d1bf4dbaa8590c19e4">   92</a></span>&#160;<span class="preprocessor">#define TLS_CERT_TYPE_RAW_PUBLIC_KEY    2 </span><span class="comment">/* see RFC 7250 */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="global_8h.html#a8095691f33c0ce6b22d205640ccc9417">   94</a></span>&#160;<span class="preprocessor">#define TLS_EXT_ELLIPTIC_CURVES_SECP256R1   23 </span><span class="comment">/* see RFC 4492 */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="global_8h.html#af086ed2d0aea096be56bf7e46f8f72a6">   96</a></span>&#160;<span class="preprocessor">#define TLS_EXT_EC_POINT_FORMATS_UNCOMPRESSED   0 </span><span class="comment">/* see RFC 4492 */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="global_8h.html#ac97469cc46ceeb148ee92f47a26ebcf6">   98</a></span>&#160;<span class="preprocessor">#define TLS_EC_CURVE_TYPE_NAMED_CURVE       3 </span><span class="comment">/* see RFC 4492 */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="global_8h.html#aaace8dce4341d910140609a96bb300db">  100</a></span>&#160;<span class="preprocessor">#define TLS_CLIENT_CERTIFICATE_TYPE_ECDSA_SIGN  64 </span><span class="comment">/* see RFC 4492 */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="global_8h.html#aa347771eab2eabd24c4b9311fa61c4c9">  102</a></span>&#160;<span class="preprocessor">#define TLS_EXT_SIG_HASH_ALGO_SHA256        4 </span><span class="comment">/* see RFC 5246 */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="global_8h.html#af126227a026a7af436a4323db6d02ecc">  103</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define TLS_EXT_SIG_HASH_ALGO_ECDSA     3 </span><span class="comment">/* see RFC 5246 */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="global_8h.html#a6c31c5d8a0fe09547a192100d2a00dc5">  109</a></span>&#160;<a class="code" href="global_8h.html#a6c31c5d8a0fe09547a192100d2a00dc5">memxor</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *x, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *y, <span class="keywordtype">size_t</span> n) {</div>
-<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;  <span class="keywordflow">while</span>(n--) {</div>
-<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;    *x ^= *y;</div>
-<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;    x++; y++;</div>
-<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;  }</div>
-<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;}</div>
-<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;</div>
-<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="global_8h.html#a8277c276ecd5cd2f998f08fd344d90ef">  127</a></span>&#160;<a class="code" href="global_8h.html#a8277c276ecd5cd2f998f08fd344d90ef">equals</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *a, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *b, <span class="keywordtype">size_t</span> len) {</div>
-<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;  <span class="keywordtype">int</span> result = 1;</div>
-<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;  <span class="keywordflow">while</span> (len--) {</div>
-<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;    result &amp;= (*a++ == *b++);</div>
-<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;  }</div>
-<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;  <span class="keywordflow">return</span> result;</div>
-<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;}</div>
-<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;</div>
-<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;<span class="preprocessor">#ifdef HAVE_FLS</span></div>
-<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define dtls_fls(i) fls(i)</span></div>
-<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;<span class="preprocessor"></span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00139"></a><span class="lineno"><a class="line" href="global_8h.html#ae10dcc6b71efe025c990ac2f3d8a48b8">  139</a></span>&#160;<a class="code" href="global_8h.html#ae10dcc6b71efe025c990ac2f3d8a48b8">dtls_fls</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i) {</div>
-<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;  <span class="keywordtype">int</span> n;</div>
-<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;  <span class="keywordflow">for</span> (n = 0; i; n++)</div>
-<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;    i &gt;&gt;= 1;</div>
-<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;  <span class="keywordflow">return</span> n;</div>
-<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;}</div>
-<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* HAVE_FLS */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* _DTLS_GLOBAL_H_ */</span><span class="preprocessor"></span></div>
-<div class="ttc" id="global_8h_html_a1ff555e0b1443c4cb4d17ac2161d89b2ac5b79ee16e8c0e46873fa63fdb1ab9ca"><div class="ttname"><a href="global_8h.html#a1ff555e0b1443c4cb4d17ac2161d89b2ac5b79ee16e8c0e46873fa63fdb1ab9ca">TLS_COMPRESSION_NULL</a></div><div class="ttdef"><b>Definition:</b> <a href="global_8h_source.html#l00082">global.h:82</a></div></div>
-<div class="ttc" id="tinydtls_8h_html"><div class="ttname"><a href="tinydtls_8h.html">tinydtls.h</a></div><div class="ttdoc">public tinydtls API </div></div>
-<div class="ttc" id="global_8h_html_a1ff555e0b1443c4cb4d17ac2161d89b2"><div class="ttname"><a href="global_8h.html#a1ff555e0b1443c4cb4d17ac2161d89b2">dtls_compression_t</a></div><div class="ttdeci">dtls_compression_t</div><div class="ttdef"><b>Definition:</b> <a href="global_8h_source.html#l00081">global.h:81</a></div></div>
-<div class="ttc" id="global_8h_html_a6c31c5d8a0fe09547a192100d2a00dc5"><div class="ttname"><a href="global_8h.html#a6c31c5d8a0fe09547a192100d2a00dc5">memxor</a></div><div class="ttdeci">static void memxor(unsigned char *x, const unsigned char *y, size_t n)</div><div class="ttdef"><b>Definition:</b> <a href="global_8h_source.html#l00109">global.h:109</a></div></div>
-<div class="ttc" id="global_8h_html_ada7e71454d685b693df45b2c1ea0c59ba39a3062f136db88f648ce514a591fac8"><div class="ttname"><a href="global_8h.html#ada7e71454d685b693df45b2c1ea0c59ba39a3062f136db88f648ce514a591fac8">TLS_PSK_WITH_AES_128_CCM_8</a></div><div class="ttdef"><b>Definition:</b> <a href="global_8h_source.html#l00076">global.h:76</a></div></div>
-<div class="ttc" id="global_8h_html_a0749f1df578b26eccab986b0d8abaa56"><div class="ttname"><a href="global_8h.html#a0749f1df578b26eccab986b0d8abaa56">uint48</a></div><div class="ttdeci">unsigned char uint48[6]</div><div class="ttdef"><b>Definition:</b> <a href="global_8h_source.html#l00051">global.h:51</a></div></div>
-<div class="ttc" id="global_8h_html_aabc56baaf04f922a1ea0dda7691fec0a"><div class="ttname"><a href="global_8h.html#aabc56baaf04f922a1ea0dda7691fec0a">uint24</a></div><div class="ttdeci">unsigned char uint24[3]</div><div class="ttdef"><b>Definition:</b> <a href="global_8h_source.html#l00049">global.h:49</a></div></div>
-<div class="ttc" id="global_8h_html_adde6aaee8457bee49c2a92621fe22b79"><div class="ttname"><a href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a></div><div class="ttdeci">unsigned char uint8</div><div class="ttdef"><b>Definition:</b> <a href="global_8h_source.html#l00047">global.h:47</a></div></div>
-<div class="ttc" id="global_8h_html_ada7e71454d685b693df45b2c1ea0c59ba197892e216f63ddbc91c2b006a2d4c1e"><div class="ttname"><a href="global_8h.html#ada7e71454d685b693df45b2c1ea0c59ba197892e216f63ddbc91c2b006a2d4c1e">TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8</a></div><div class="ttdef"><b>Definition:</b> <a href="global_8h_source.html#l00077">global.h:77</a></div></div>
-<div class="ttc" id="global_8h_html_ada7e71454d685b693df45b2c1ea0c59bacf33de998fd00f096eebbb0742d80abd"><div class="ttname"><a href="global_8h.html#ada7e71454d685b693df45b2c1ea0c59bacf33de998fd00f096eebbb0742d80abd">TLS_NULL_WITH_NULL_NULL</a></div><div class="ttdef"><b>Definition:</b> <a href="global_8h_source.html#l00075">global.h:75</a></div></div>
-<div class="ttc" id="global_8h_html_ada7e71454d685b693df45b2c1ea0c59b"><div class="ttname"><a href="global_8h.html#ada7e71454d685b693df45b2c1ea0c59b">dtls_cipher_t</a></div><div class="ttdeci">dtls_cipher_t</div><div class="ttdef"><b>Definition:</b> <a href="global_8h_source.html#l00074">global.h:74</a></div></div>
-<div class="ttc" id="global_8h_html_a8277c276ecd5cd2f998f08fd344d90ef"><div class="ttname"><a href="global_8h.html#a8277c276ecd5cd2f998f08fd344d90ef">equals</a></div><div class="ttdeci">static int equals(unsigned char *a, unsigned char *b, size_t len)</div><div class="ttdef"><b>Definition:</b> <a href="global_8h_source.html#l00127">global.h:127</a></div></div>
-<div class="ttc" id="global_8h_html_ab27072920285996a3e16d2e5e3d366be"><div class="ttname"><a href="global_8h.html#ab27072920285996a3e16d2e5e3d366be">uint32</a></div><div class="ttdeci">unsigned char uint32[4]</div><div class="ttdef"><b>Definition:</b> <a href="global_8h_source.html#l00050">global.h:50</a></div></div>
-<div class="ttc" id="global_8h_html_ae10dcc6b71efe025c990ac2f3d8a48b8"><div class="ttname"><a href="global_8h.html#ae10dcc6b71efe025c990ac2f3d8a48b8">dtls_fls</a></div><div class="ttdeci">static int dtls_fls(unsigned int i)</div><div class="ttdef"><b>Definition:</b> <a href="global_8h_source.html#l00139">global.h:139</a></div></div>
-<div class="ttc" id="global_8h_html_a5e90b30856b81913af89565b55751da5"><div class="ttname"><a href="global_8h.html#a5e90b30856b81913af89565b55751da5">uint16</a></div><div class="ttdeci">unsigned char uint16[2]</div><div class="ttdef"><b>Definition:</b> <a href="global_8h_source.html#l00048">global.h:48</a></div></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/globals.html b/external/wakaama/examples/shared/tinydtls/doc/html/globals.html
deleted file mode 100644 (file)
index 406e584..0000000
+++ /dev/null
@@ -1,159 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: Globals</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li class="current"><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow3" class="tabs2">
-    <ul class="tablist">
-      <li class="current"><a href="globals.html"><span>All</span></a></li>
-      <li><a href="globals_func.html"><span>Functions</span></a></li>
-      <li><a href="globals_vars.html"><span>Variables</span></a></li>
-      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
-      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
-      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
-      <li><a href="globals_defs.html"><span>Macros</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow4" class="tabs3">
-    <ul class="tablist">
-      <li class="current"><a href="globals.html#index__"><span>_</span></a></li>
-      <li><a href="globals_a.html#index_a"><span>a</span></a></li>
-      <li><a href="globals_b.html#index_b"><span>b</span></a></li>
-      <li><a href="globals_c.html#index_c"><span>c</span></a></li>
-      <li><a href="globals_d.html#index_d"><span>d</span></a></li>
-      <li><a href="globals_e.html#index_e"><span>e</span></a></li>
-      <li><a href="globals_f.html#index_f"><span>f</span></a></li>
-      <li><a href="globals_g.html#index_g"><span>g</span></a></li>
-      <li><a href="globals_h.html#index_h"><span>h</span></a></li>
-      <li><a href="globals_i.html#index_i"><span>i</span></a></li>
-      <li><a href="globals_k.html#index_k"><span>k</span></a></li>
-      <li><a href="globals_l.html#index_l"><span>l</span></a></li>
-      <li><a href="globals_m.html#index_m"><span>m</span></a></li>
-      <li><a href="globals_n.html#index_n"><span>n</span></a></li>
-      <li><a href="globals_p.html#index_p"><span>p</span></a></li>
-      <li><a href="globals_r.html#index_r"><span>r</span></a></li>
-      <li><a href="globals_s.html#index_s"><span>s</span></a></li>
-      <li><a href="globals_t.html#index_t"><span>t</span></a></li>
-      <li><a href="globals_u.html#index_u"><span>u</span></a></li>
-      <li><a href="globals_v.html#index_v"><span>v</span></a></li>
-      <li><a href="globals_w.html#index_w"><span>w</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="contents">
-<div class="textblock">Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:</div>
-
-<h3><a class="anchor" id="index__"></a>- _ -</h3><ul>
-<li>__attribute__()
-: <a class="el" href="dtls_8h.html#ad09246453a4dabd919c7541484046a87">dtls.h</a>
-</li>
-<li>_CASTASGN
-: <a class="el" href="utlist_8h.html#a1eb4a3192390405087ef1bb6c57241e3">utlist.h</a>
-</li>
-<li>_dtls_address_equals_impl()
-: <a class="el" href="session_8c.html#af9b9333222aabb1440f5c7846f7be85f">session.c</a>
-</li>
-<li>_NEXT
-: <a class="el" href="utlist_8h.html#aec696573e92f2ebd0a1641d77bb5b0fe">utlist.h</a>
-</li>
-<li>_NEXTASGN
-: <a class="el" href="utlist_8h.html#a93e2d161c8ad8350100a4fad092ef058">utlist.h</a>
-</li>
-<li>_PREV
-: <a class="el" href="utlist_8h.html#ade8452ec59d6bf7ef23770ee4d96f8d5">utlist.h</a>
-</li>
-<li>_PREVASGN
-: <a class="el" href="utlist_8h.html#a6f6acf0ac7f07dcb26cef2110fef496a">utlist.h</a>
-</li>
-<li>_RS
-: <a class="el" href="utlist_8h.html#a9916f2c26fd7f6f7edb1f6baf400f315">utlist.h</a>
-</li>
-<li>_SV
-: <a class="el" href="utlist_8h.html#a9eded80a8b98df631e889eb72b77c7a4">utlist.h</a>
-</li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/globals_a.html b/external/wakaama/examples/shared/tinydtls/doc/html/globals_a.html
deleted file mode 100644 (file)
index da03b3f..0000000
+++ /dev/null
@@ -1,141 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: Globals</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li class="current"><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow3" class="tabs2">
-    <ul class="tablist">
-      <li class="current"><a href="globals.html"><span>All</span></a></li>
-      <li><a href="globals_func.html"><span>Functions</span></a></li>
-      <li><a href="globals_vars.html"><span>Variables</span></a></li>
-      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
-      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
-      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
-      <li><a href="globals_defs.html"><span>Macros</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow4" class="tabs3">
-    <ul class="tablist">
-      <li><a href="globals.html#index__"><span>_</span></a></li>
-      <li class="current"><a href="globals_a.html#index_a"><span>a</span></a></li>
-      <li><a href="globals_b.html#index_b"><span>b</span></a></li>
-      <li><a href="globals_c.html#index_c"><span>c</span></a></li>
-      <li><a href="globals_d.html#index_d"><span>d</span></a></li>
-      <li><a href="globals_e.html#index_e"><span>e</span></a></li>
-      <li><a href="globals_f.html#index_f"><span>f</span></a></li>
-      <li><a href="globals_g.html#index_g"><span>g</span></a></li>
-      <li><a href="globals_h.html#index_h"><span>h</span></a></li>
-      <li><a href="globals_i.html#index_i"><span>i</span></a></li>
-      <li><a href="globals_k.html#index_k"><span>k</span></a></li>
-      <li><a href="globals_l.html#index_l"><span>l</span></a></li>
-      <li><a href="globals_m.html#index_m"><span>m</span></a></li>
-      <li><a href="globals_n.html#index_n"><span>n</span></a></li>
-      <li><a href="globals_p.html#index_p"><span>p</span></a></li>
-      <li><a href="globals_r.html#index_r"><span>r</span></a></li>
-      <li><a href="globals_s.html#index_s"><span>s</span></a></li>
-      <li><a href="globals_t.html#index_t"><span>t</span></a></li>
-      <li><a href="globals_u.html#index_u"><span>u</span></a></li>
-      <li><a href="globals_v.html#index_v"><span>v</span></a></li>
-      <li><a href="globals_w.html#index_w"><span>w</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="contents">
-<div class="textblock">Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:</div>
-
-<h3><a class="anchor" id="index_a"></a>- a -</h3><ul>
-<li>A_DATA_LEN
-: <a class="el" href="dtls_8c.html#aee0f4f3d8541ea6ab9c204761cc6082e">dtls.c</a>
-</li>
-<li>add_auth_data()
-: <a class="el" href="ccm_8c.html#a59faf5a2a638dc03c01605d4bebe0bcc">ccm.c</a>
-</li>
-<li>AES128
-: <a class="el" href="crypto_8h.html#a41f1aa1e1380c5f51d9af32c0a53f7b1a1832208b0a725185016b59150ff74fc4">crypto.h</a>
-</li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/globals_b.html b/external/wakaama/examples/shared/tinydtls/doc/html/globals_b.html
deleted file mode 100644 (file)
index 34be501..0000000
+++ /dev/null
@@ -1,135 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: Globals</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li class="current"><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow3" class="tabs2">
-    <ul class="tablist">
-      <li class="current"><a href="globals.html"><span>All</span></a></li>
-      <li><a href="globals_func.html"><span>Functions</span></a></li>
-      <li><a href="globals_vars.html"><span>Variables</span></a></li>
-      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
-      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
-      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
-      <li><a href="globals_defs.html"><span>Macros</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow4" class="tabs3">
-    <ul class="tablist">
-      <li><a href="globals.html#index__"><span>_</span></a></li>
-      <li><a href="globals_a.html#index_a"><span>a</span></a></li>
-      <li class="current"><a href="globals_b.html#index_b"><span>b</span></a></li>
-      <li><a href="globals_c.html#index_c"><span>c</span></a></li>
-      <li><a href="globals_d.html#index_d"><span>d</span></a></li>
-      <li><a href="globals_e.html#index_e"><span>e</span></a></li>
-      <li><a href="globals_f.html#index_f"><span>f</span></a></li>
-      <li><a href="globals_g.html#index_g"><span>g</span></a></li>
-      <li><a href="globals_h.html#index_h"><span>h</span></a></li>
-      <li><a href="globals_i.html#index_i"><span>i</span></a></li>
-      <li><a href="globals_k.html#index_k"><span>k</span></a></li>
-      <li><a href="globals_l.html#index_l"><span>l</span></a></li>
-      <li><a href="globals_m.html#index_m"><span>m</span></a></li>
-      <li><a href="globals_n.html#index_n"><span>n</span></a></li>
-      <li><a href="globals_p.html#index_p"><span>p</span></a></li>
-      <li><a href="globals_r.html#index_r"><span>r</span></a></li>
-      <li><a href="globals_s.html#index_s"><span>s</span></a></li>
-      <li><a href="globals_t.html#index_t"><span>t</span></a></li>
-      <li><a href="globals_u.html#index_u"><span>u</span></a></li>
-      <li><a href="globals_v.html#index_v"><span>v</span></a></li>
-      <li><a href="globals_w.html#index_w"><span>w</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="contents">
-<div class="textblock">Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:</div>
-
-<h3><a class="anchor" id="index_b"></a>- b -</h3><ul>
-<li>block0()
-: <a class="el" href="ccm_8c.html#a1dfe92428f63772e3907a26435e54354">ccm.c</a>
-</li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/globals_c.html b/external/wakaama/examples/shared/tinydtls/doc/html/globals_c.html
deleted file mode 100644 (file)
index 0740dd0..0000000
+++ /dev/null
@@ -1,226 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: Globals</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li class="current"><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow3" class="tabs2">
-    <ul class="tablist">
-      <li class="current"><a href="globals.html"><span>All</span></a></li>
-      <li><a href="globals_func.html"><span>Functions</span></a></li>
-      <li><a href="globals_vars.html"><span>Variables</span></a></li>
-      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
-      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
-      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
-      <li><a href="globals_defs.html"><span>Macros</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow4" class="tabs3">
-    <ul class="tablist">
-      <li><a href="globals.html#index__"><span>_</span></a></li>
-      <li><a href="globals_a.html#index_a"><span>a</span></a></li>
-      <li><a href="globals_b.html#index_b"><span>b</span></a></li>
-      <li class="current"><a href="globals_c.html#index_c"><span>c</span></a></li>
-      <li><a href="globals_d.html#index_d"><span>d</span></a></li>
-      <li><a href="globals_e.html#index_e"><span>e</span></a></li>
-      <li><a href="globals_f.html#index_f"><span>f</span></a></li>
-      <li><a href="globals_g.html#index_g"><span>g</span></a></li>
-      <li><a href="globals_h.html#index_h"><span>h</span></a></li>
-      <li><a href="globals_i.html#index_i"><span>i</span></a></li>
-      <li><a href="globals_k.html#index_k"><span>k</span></a></li>
-      <li><a href="globals_l.html#index_l"><span>l</span></a></li>
-      <li><a href="globals_m.html#index_m"><span>m</span></a></li>
-      <li><a href="globals_n.html#index_n"><span>n</span></a></li>
-      <li><a href="globals_p.html#index_p"><span>p</span></a></li>
-      <li><a href="globals_r.html#index_r"><span>r</span></a></li>
-      <li><a href="globals_s.html#index_s"><span>s</span></a></li>
-      <li><a href="globals_t.html#index_t"><span>t</span></a></li>
-      <li><a href="globals_u.html#index_u"><span>u</span></a></li>
-      <li><a href="globals_v.html#index_v"><span>v</span></a></li>
-      <li><a href="globals_w.html#index_w"><span>w</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="contents">
-<div class="textblock">Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:</div>
-
-<h3><a class="anchor" id="index_c"></a>- c -</h3><ul>
-<li>calculate_key_block()
-: <a class="el" href="dtls_8c.html#a94199c9fa65db19e0f761e3ff973eb4b">dtls.c</a>
-</li>
-<li>CALL
-: <a class="el" href="dtls_8c.html#a3e132aba78de736930255d40ef3f2d34">dtls.c</a>
-</li>
-<li>CCM_FLAGS
-: <a class="el" href="ccm_8c.html#a18f6fffa08314e79c95e2de10e7409cb">ccm.c</a>
-</li>
-<li>CDL_DELETE
-: <a class="el" href="utlist_8h.html#a60fd7696c4d0865f53a07579a7b08235">utlist.h</a>
-</li>
-<li>CDL_FOREACH
-: <a class="el" href="utlist_8h.html#a795df7857792d7e811709a060c911a36">utlist.h</a>
-</li>
-<li>CDL_FOREACH_SAFE
-: <a class="el" href="utlist_8h.html#abdb80106f7733e37fbe4f62e9d97ccfd">utlist.h</a>
-</li>
-<li>CDL_PREPEND
-: <a class="el" href="utlist_8h.html#a6c6a7232d281eab4b18563b92e5653bd">utlist.h</a>
-</li>
-<li>CDL_SEARCH
-: <a class="el" href="utlist_8h.html#afb329a0bdf1fa0b644317e9d84082e1e">utlist.h</a>
-</li>
-<li>CDL_SEARCH_SCALAR
-: <a class="el" href="utlist_8h.html#ad064cddb894b478b3c3cd23719f58651">utlist.h</a>
-</li>
-<li>CDL_SORT
-: <a class="el" href="utlist_8h.html#a13add78e5524efe1ae6bfb1631b2dc17">utlist.h</a>
-</li>
-<li>cert_asn1_header
-: <a class="el" href="dtls_8c.html#aecdb18ea2b899994542ec46b23528738">dtls.c</a>
-</li>
-<li>check_certificate_request()
-: <a class="el" href="dtls_8c.html#a61ddc44bfdb8a92b72911a402aa0164e">dtls.c</a>
-</li>
-<li>check_client_certificate_verify()
-: <a class="el" href="dtls_8c.html#a017195b30506fbdf32fff55af9276a02">dtls.c</a>
-</li>
-<li>check_client_keyexchange()
-: <a class="el" href="dtls_8c.html#ab9251eac8015afc7985ff4398657ea3f">dtls.c</a>
-</li>
-<li>check_finished()
-: <a class="el" href="dtls_8c.html#a91b2653747ca1e4058ae3b350019188b">dtls.c</a>
-</li>
-<li>check_server_certificate()
-: <a class="el" href="dtls_8c.html#a88db0e7ffa0836761bef7b62ac3d2fb7">dtls.c</a>
-</li>
-<li>check_server_hello()
-: <a class="el" href="dtls_8c.html#afcc64c0abfd9b157b71a47e5a5a78b26">dtls.c</a>
-</li>
-<li>check_server_hello_verify_request()
-: <a class="el" href="dtls_8c.html#a2b598b29d3148bfc02e826d94bbc0642">dtls.c</a>
-</li>
-<li>check_server_hellodone()
-: <a class="el" href="dtls_8c.html#aca393c29148080d4dfa343c8ec283928">dtls.c</a>
-</li>
-<li>check_server_key_exchange_ecdsa()
-: <a class="el" href="dtls_8c.html#a3de5b3956733293d3e19d83d3cc8d9bb">dtls.c</a>
-</li>
-<li>check_server_key_exchange_psk()
-: <a class="el" href="dtls_8c.html#a915dccbe7e71d52d2650378f3aaad054">dtls.c</a>
-</li>
-<li>check_stack()
-: <a class="el" href="debug_8h.html#a4a3c60a1e54594e78cd207c57ddb1378">debug.h</a>
-</li>
-<li>cipher_context
-: <a class="el" href="crypto_8c.html#a9fd792e4bb85e55082e4bf32de0d4bdb">crypto.c</a>
-</li>
-<li>cipher_context_mutex
-: <a class="el" href="crypto_8c.html#ad4a90eac1ed6a277c837d7f9dc0a923c">crypto.c</a>
-</li>
-<li>clear_hs_hash()
-: <a class="el" href="dtls_8c.html#a82181208ec1e9f42896f0606e0036c1d">dtls.c</a>
-</li>
-<li>CLIENTHELLO
-: <a class="el" href="dtls_8c.html#a0800e26c09602d197e929fcc8ba783d5">dtls.c</a>
-</li>
-<li>CLOCK_SECOND
-: <a class="el" href="group__clock.html#gae3ced0551b26c9b99cb45a86f34d100a">dtls_time.h</a>
-</li>
-<li>clock_time_t
-: <a class="el" href="group__clock.html#ga6e6c13e871b82d881a01d1bc8df69d23">dtls_time.h</a>
-</li>
-<li>compression_methods
-: <a class="el" href="dtls_8c.html#ae35671d94ccea5f335546ce409aed601">dtls.c</a>
-</li>
-<li>copy_hs_hash()
-: <a class="el" href="dtls_8c.html#a22ab7a79391c2204337237949d69dad8">dtls.c</a>
-</li>
-<li>crypto_init()
-: <a class="el" href="crypto_8h.html#a86e6ce9d4b4afcef355836955697f52c">crypto.h</a>
-, <a class="el" href="crypto_8c.html#a86e6ce9d4b4afcef355836955697f52c">crypto.c</a>
-</li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/globals_d.html b/external/wakaama/examples/shared/tinydtls/doc/html/globals_d.html
deleted file mode 100644 (file)
index b3f66cc..0000000
+++ /dev/null
@@ -1,1113 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: Globals</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li class="current"><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow3" class="tabs2">
-    <ul class="tablist">
-      <li class="current"><a href="globals.html"><span>All</span></a></li>
-      <li><a href="globals_func.html"><span>Functions</span></a></li>
-      <li><a href="globals_vars.html"><span>Variables</span></a></li>
-      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
-      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
-      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
-      <li><a href="globals_defs.html"><span>Macros</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow4" class="tabs3">
-    <ul class="tablist">
-      <li><a href="globals.html#index__"><span>_</span></a></li>
-      <li><a href="globals_a.html#index_a"><span>a</span></a></li>
-      <li><a href="globals_b.html#index_b"><span>b</span></a></li>
-      <li><a href="globals_c.html#index_c"><span>c</span></a></li>
-      <li class="current"><a href="globals_d.html#index_d"><span>d</span></a></li>
-      <li><a href="globals_e.html#index_e"><span>e</span></a></li>
-      <li><a href="globals_f.html#index_f"><span>f</span></a></li>
-      <li><a href="globals_g.html#index_g"><span>g</span></a></li>
-      <li><a href="globals_h.html#index_h"><span>h</span></a></li>
-      <li><a href="globals_i.html#index_i"><span>i</span></a></li>
-      <li><a href="globals_k.html#index_k"><span>k</span></a></li>
-      <li><a href="globals_l.html#index_l"><span>l</span></a></li>
-      <li><a href="globals_m.html#index_m"><span>m</span></a></li>
-      <li><a href="globals_n.html#index_n"><span>n</span></a></li>
-      <li><a href="globals_p.html#index_p"><span>p</span></a></li>
-      <li><a href="globals_r.html#index_r"><span>r</span></a></li>
-      <li><a href="globals_s.html#index_s"><span>s</span></a></li>
-      <li><a href="globals_t.html#index_t"><span>t</span></a></li>
-      <li><a href="globals_u.html#index_u"><span>u</span></a></li>
-      <li><a href="globals_v.html#index_v"><span>v</span></a></li>
-      <li><a href="globals_w.html#index_w"><span>w</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="contents">
-<div class="textblock">Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:</div>
-
-<h3><a class="anchor" id="index_d"></a>- d -</h3><ul>
-<li>DECLTYPE
-: <a class="el" href="uthash_8h.html#a716ba290563c2d955cb0c90d85874073">uthash.h</a>
-</li>
-<li>DECLTYPE_ASSIGN
-: <a class="el" href="uthash_8h.html#a3c736f2f2dd643f2987b2bc323e269ba">uthash.h</a>
-</li>
-<li>decrypt_verify()
-: <a class="el" href="dtls_8c.html#adc4e7aa5066240a362341bbdb998bc71">dtls.c</a>
-</li>
-<li>DL_APPEND
-: <a class="el" href="utlist_8h.html#a17d40c945e1dc55490feb2fe160670c8">utlist.h</a>
-</li>
-<li>DL_DELETE
-: <a class="el" href="utlist_8h.html#aad429903354ffe8cdf4ca2e9d0ae89cc">utlist.h</a>
-</li>
-<li>DL_FOREACH
-: <a class="el" href="utlist_8h.html#abb0c2851c5f0567be7b8827ce5168ef7">utlist.h</a>
-</li>
-<li>DL_FOREACH_SAFE
-: <a class="el" href="utlist_8h.html#a3bb0c84a69846d2f019a97ea0b4709aa">utlist.h</a>
-</li>
-<li>DL_PREPEND
-: <a class="el" href="utlist_8h.html#a78be4dea3344ba1b1c7fe1b893c0fdfa">utlist.h</a>
-</li>
-<li>DL_SEARCH
-: <a class="el" href="utlist_8h.html#a819373d14278b52c313b743acc292ba0">utlist.h</a>
-</li>
-<li>DL_SEARCH_SCALAR
-: <a class="el" href="utlist_8h.html#a172fce2d647fdedadf0f8080e0441c5b">utlist.h</a>
-</li>
-<li>DL_SORT
-: <a class="el" href="utlist_8h.html#ad966f284f615a2ced4028258fa08f8f3">utlist.h</a>
-</li>
-<li>dsrv_log()
-: <a class="el" href="debug_8c.html#ace8ca7929ecfc486c3ef40828c79bfe5">debug.c</a>
-, <a class="el" href="debug_8h.html#ace8ca7929ecfc486c3ef40828c79bfe5">debug.h</a>
-</li>
-<li>dsrv_print_addr()
-: <a class="el" href="debug_8c.html#aa6c8e3e1a02e7cb1567391d3a5ca8bf2">debug.c</a>
-</li>
-<li>dtls_add_ecdsa_signature_elem()
-: <a class="el" href="dtls_8c.html#a7d7af4d19c7abef4583c1667ec449a5d">dtls.c</a>
-</li>
-<li>dtls_add_peer()
-: <a class="el" href="dtls_8c.html#ae4a2961a027959f907145f82ca9107c3">dtls.c</a>
-</li>
-<li>dtls_alert
-: <a class="el" href="debug_8h.html#ab22e3494f6186183820142ba279fe9ae">debug.h</a>
-</li>
-<li>DTLS_ALERT_ACCESS_DENIED
-: <a class="el" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdad86305f8c32e7600fcafc0abcedd0a11">alert.h</a>
-</li>
-<li>DTLS_ALERT_BAD_CERTIFICATE
-: <a class="el" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdaaf5d5f80170bcf70000c18876e7bdb5c">alert.h</a>
-</li>
-<li>DTLS_ALERT_BAD_RECORD_MAC
-: <a class="el" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda4005b89a3396b23037f8033b29268eca">alert.h</a>
-</li>
-<li>DTLS_ALERT_CERTIFICATE_EXPIRED
-: <a class="el" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda845dc73ad17d0fb919489cc110633782">alert.h</a>
-</li>
-<li>DTLS_ALERT_CERTIFICATE_REVOKED
-: <a class="el" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda2e000f966c0ff01cf198ea862aa5cfe1">alert.h</a>
-</li>
-<li>DTLS_ALERT_CERTIFICATE_UNKNOWN
-: <a class="el" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda450355820da8d9eff4dd6d17eb52585d">alert.h</a>
-</li>
-<li>DTLS_ALERT_CLOSE_NOTIFY
-: <a class="el" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda6bbae4f2f3747af4cdbe80c4a1061800">alert.h</a>
-</li>
-<li>dtls_alert_create()
-: <a class="el" href="alert_8h.html#a4242f419ffdd4b83bfaa2a0935ed2b6d">alert.h</a>
-</li>
-<li>DTLS_ALERT_DECODE_ERROR
-: <a class="el" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdae3249841cb226881ce6dadffb9f22649">alert.h</a>
-</li>
-<li>DTLS_ALERT_DECOMPRESSION_FAILURE
-: <a class="el" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdaaf4ca9003cf380ae80a46b925b482888">alert.h</a>
-</li>
-<li>DTLS_ALERT_DECRYPT_ERROR
-: <a class="el" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda56a136f4d20b3ce9fb967eedb37371e0">alert.h</a>
-</li>
-<li>dtls_alert_fatal_create()
-: <a class="el" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">alert.h</a>
-</li>
-<li>DTLS_ALERT_HANDSHAKE_FAILURE
-: <a class="el" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdaea5ed33e912421eb48afb73ce0a6014d">alert.h</a>
-</li>
-<li>DTLS_ALERT_ILLEGAL_PARAMETER
-: <a class="el" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda880948aace26b2da8acde4c29ababcfc">alert.h</a>
-</li>
-<li>DTLS_ALERT_INSUFFICIENT_SECURITY
-: <a class="el" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda2cc56008c097883058c0e2e8ecc6751e">alert.h</a>
-</li>
-<li>DTLS_ALERT_INTERNAL_ERROR
-: <a class="el" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda22948f7c825b68cc18c79bd3634c8f58">alert.h</a>
-</li>
-<li>DTLS_ALERT_LEVEL_FATAL
-: <a class="el" href="alert_8h.html#ab6264d1b950719f1c2e00b122cad871fabd07bcf63c24aa5f1b9706a4197ceaf4">alert.h</a>
-</li>
-<li>dtls_alert_level_t
-: <a class="el" href="alert_8h.html#ab6264d1b950719f1c2e00b122cad871f">alert.h</a>
-</li>
-<li>DTLS_ALERT_LEVEL_WARNING
-: <a class="el" href="alert_8h.html#ab6264d1b950719f1c2e00b122cad871fa0f670b55dcb4ab291b869827d3c62ee7">alert.h</a>
-</li>
-<li>DTLS_ALERT_NO_RENEGOTIATION
-: <a class="el" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda8939a5d1777bf0dbdd8fa44e335137ab">alert.h</a>
-</li>
-<li>DTLS_ALERT_PROTOCOL_VERSION
-: <a class="el" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdaa392c9a6bb02b01386a1c34dc1947652">alert.h</a>
-</li>
-<li>DTLS_ALERT_RECORD_OVERFLOW
-: <a class="el" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdad4d94666f310fb6982c26c70eddd6d12">alert.h</a>
-</li>
-<li>dtls_alert_send_from_err()
-: <a class="el" href="dtls_8c.html#a4c7a26bc520ac2ac88b4758e0fb84f1e">dtls.c</a>
-</li>
-<li>dtls_alert_t
-: <a class="el" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbd">alert.h</a>
-</li>
-<li>DTLS_ALERT_UNEXPECTED_MESSAGE
-: <a class="el" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda7b9032725373912bd7fda54af8704d8a">alert.h</a>
-</li>
-<li>DTLS_ALERT_UNKNOWN_CA
-: <a class="el" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdaf8b7bd9f8a6c02080f4b1af566bc1a2f">alert.h</a>
-</li>
-<li>DTLS_ALERT_UNSUPPORTED_CERTIFICATE
-: <a class="el" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda0de27a30ca57e1a93a066e8dc6b6beab">alert.h</a>
-</li>
-<li>DTLS_ALERT_UNSUPPORTED_EXTENSION
-: <a class="el" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda8512357ac6a83788ea76feb2ed9e2efc">alert.h</a>
-</li>
-<li>DTLS_ALERT_USER_CANCELED
-: <a class="el" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda98631510b0a19a786fb4bc896ed37638">alert.h</a>
-</li>
-<li>DTLS_BLK_LENGTH
-: <a class="el" href="crypto_8h.html#ae86031f934f3f5f3af42dad5ff8e8757">crypto.h</a>
-</li>
-<li>DTLS_CCM_BLOCKSIZE
-: <a class="el" href="ccm_8h.html#a5c46c97c6c3ef5d4e5bd616dbd064859">ccm.h</a>
-</li>
-<li>dtls_ccm_decrypt()
-: <a class="el" href="crypto_8c.html#a64f692530b9bb934f8852ca27c9ca2a1">crypto.c</a>
-</li>
-<li>dtls_ccm_decrypt_message()
-: <a class="el" href="ccm_8c.html#aa3e92bdeca1d0730d48b8a85181d5b6d">ccm.c</a>
-, <a class="el" href="ccm_8h.html#aa3e92bdeca1d0730d48b8a85181d5b6d">ccm.h</a>
-</li>
-<li>dtls_ccm_encrypt()
-: <a class="el" href="crypto_8c.html#a8b75c06a8e364132816aaddb81db0f2c">crypto.c</a>
-</li>
-<li>dtls_ccm_encrypt_message()
-: <a class="el" href="ccm_8c.html#a40f4f23b5687e18dc1bce1c19101da42">ccm.c</a>
-, <a class="el" href="ccm_8h.html#a40f4f23b5687e18dc1bce1c19101da42">ccm.h</a>
-</li>
-<li>DTLS_CCM_MAX
-: <a class="el" href="ccm_8h.html#a84305b079fda12bfa1323b41b3c50849">ccm.h</a>
-</li>
-<li>DTLS_CCM_NONCE_SIZE
-: <a class="el" href="ccm_8h.html#a2d0e7515c26737872fe840958ed140ac">ccm.h</a>
-</li>
-<li>DTLS_CE_LENGTH
-: <a class="el" href="dtls_8c.html#a6570b93f9f19e6abceef85c566fe3696">dtls.c</a>
-</li>
-<li>DTLS_CH_LENGTH
-: <a class="el" href="dtls_8c.html#affe47ee08ad0e6a54d4f0c2a7f412675">dtls.c</a>
-</li>
-<li>DTLS_CH_LENGTH_MAX
-: <a class="el" href="dtls_8c.html#aa5a4609da11d9496490853de9c2bf6fa">dtls.c</a>
-</li>
-<li>dtls_check_ecdsa_signature_elem()
-: <a class="el" href="dtls_8c.html#af8409ba213cb87dbf9ed16ef87995c54">dtls.c</a>
-</li>
-<li>dtls_check_retransmit()
-: <a class="el" href="dtls_8c.html#ab50d1ee589e91d07032d0a65768dee82">dtls.c</a>
-, <a class="el" href="dtls_8h.html#ab50d1ee589e91d07032d0a65768dee82">dtls.h</a>
-</li>
-<li>dtls_check_tls_extension()
-: <a class="el" href="dtls_8c.html#ad8c8390d0a1592207c4ea6dd0a623a9a">dtls.c</a>
-</li>
-<li>dtls_cipher_context_get()
-: <a class="el" href="crypto_8c.html#a5e6fa88c169e5d7289052600fc445c29">crypto.c</a>
-</li>
-<li>dtls_cipher_context_release()
-: <a class="el" href="crypto_8c.html#af65bc79ab89b4e162a0d30938d13109e">crypto.c</a>
-</li>
-<li>dtls_cipher_context_t
-: <a class="el" href="crypto_8h.html#a99482a87021e817524d15c33e89e309c">crypto.h</a>
-</li>
-<li>dtls_cipher_t
-: <a class="el" href="global_8h.html#ada7e71454d685b693df45b2c1ea0c59b">global.h</a>
-</li>
-<li>DTLS_CKXEC_LENGTH
-: <a class="el" href="dtls_8c.html#a5ddccf12706c8d18d80b7759454ca164">dtls.c</a>
-</li>
-<li>DTLS_CKXPSK_LENGTH_MIN
-: <a class="el" href="dtls_8c.html#a674da4ca826bf1206ec8053f4c9eb336">dtls.c</a>
-</li>
-<li>DTLS_CLIENT
-: <a class="el" href="peer_8h.html#ae30cd4bcffed73f79f17c09e5a1452c8afd8391395303e28ee9b375232cb68a1e">peer.h</a>
-</li>
-<li>dtls_client_hello_t
-: <a class="el" href="dtls_8h.html#aa9ebc35a08295c2ae09d4248ba8e6456">dtls.h</a>
-</li>
-<li>dtls_clock_init()
-: <a class="el" href="group__clock.html#ga8b340ad858b708dbc7bf40f784935c90">dtls_time.c</a>
-, <a class="el" href="group__clock.html#ga8b340ad858b708dbc7bf40f784935c90">dtls_time.h</a>
-</li>
-<li>dtls_clock_offset
-: <a class="el" href="dtls__time_8c.html#adaab7b20ee4eea0874f480b262c4a2e1">dtls_time.c</a>
-</li>
-<li>dtls_close()
-: <a class="el" href="dtls_8c.html#aa90f5eb6954137d5e098e29143c2586a">dtls.c</a>
-, <a class="el" href="dtls_8h.html#aa90f5eb6954137d5e098e29143c2586a">dtls.h</a>
-</li>
-<li>dtls_compression_t
-: <a class="el" href="global_8h.html#a1ff555e0b1443c4cb4d17ac2161d89b2">global.h</a>
-</li>
-<li>dtls_connect()
-: <a class="el" href="dtls_8c.html#a187f5e145bb869a732fbed426929a4e9">dtls.c</a>
-, <a class="el" href="dtls_8h.html#a187f5e145bb869a732fbed426929a4e9">dtls.h</a>
-</li>
-<li>dtls_connect_peer()
-: <a class="el" href="dtls_8c.html#ad60bf1197fa1a074f91aed508cfefa62">dtls.c</a>
-, <a class="el" href="dtls_8h.html#ad60bf1197fa1a074f91aed508cfefa62">dtls.h</a>
-</li>
-<li>dtls_context_t
-: <a class="el" href="dtls_8h.html#a407c66c58bfc87651714de4103bee135">dtls.h</a>
-</li>
-<li>DTLS_COOKIE_LENGTH
-: <a class="el" href="dtls_8h.html#a09e4f571633bdb724236ac68459715b6">dtls.h</a>
-</li>
-<li>DTLS_COOKIE_LENGTH_MAX
-: <a class="el" href="dtls_8c.html#abd652cf0e4512727591d3ec8ca066ace">dtls.c</a>
-</li>
-<li>DTLS_COOKIE_SECRET_LENGTH
-: <a class="el" href="dtls_8h.html#a44ec206b1d84aa3d83281a92ed7cc238">dtls.h</a>
-</li>
-<li>dtls_create_cookie()
-: <a class="el" href="dtls_8c.html#a45841106ebcb5b1373c0312842b90943">dtls.c</a>
-</li>
-<li>dtls_credentials_type_t
-: <a class="el" href="dtls_8h.html#a36eda3add5e2d12a3b5e2b6fe7038e01">dtls.h</a>
-</li>
-<li>dtls_crit
-: <a class="el" href="debug_8h.html#ad4c9c94c054579b73789fead587c8514">debug.h</a>
-</li>
-<li>dtls_crypto_alg
-: <a class="el" href="crypto_8h.html#a41f1aa1e1380c5f51d9af32c0a53f7b1">crypto.h</a>
-</li>
-<li>DTLS_CT_ALERT
-: <a class="el" href="dtls_8h.html#af8ce2230240b6d3c36b216ef459baff1">dtls.h</a>
-</li>
-<li>DTLS_CT_APPLICATION_DATA
-: <a class="el" href="dtls_8h.html#a2e3ff1e96b8b7db8a3648beba35bfd0c">dtls.h</a>
-</li>
-<li>DTLS_CT_CHANGE_CIPHER_SPEC
-: <a class="el" href="dtls_8h.html#a3114c327a12e3850e97c4cf8a0cc5c9d">dtls.h</a>
-</li>
-<li>DTLS_CT_HANDSHAKE
-: <a class="el" href="dtls_8h.html#a76965db5ec449b3c8a9a54c24a4d45dc">dtls.h</a>
-</li>
-<li>DTLS_CV_LENGTH
-: <a class="el" href="dtls_8c.html#a0bcce8fa79dc3187eb5f1655798ac816">dtls.c</a>
-</li>
-<li>dtls_debug
-: <a class="el" href="debug_8h.html#a0f158325426415d9efb5a36bebf45844">debug.h</a>
-</li>
-<li>dtls_debug_dump
-: <a class="el" href="debug_8h.html#ab27d2c7cae1e8022e93562ecda9140b6">debug.h</a>
-</li>
-<li>dtls_debug_hexdump
-: <a class="el" href="debug_8h.html#a24b1e8ecaa65f684d879ed9d5c37119d">debug.h</a>
-</li>
-<li>dtls_debug_keyblock()
-: <a class="el" href="dtls_8c.html#a4b3eda5556d76e045b42b93055944ddd">dtls.c</a>
-</li>
-<li>dtls_decrypt()
-: <a class="el" href="crypto_8c.html#aac32554190e3970917a31ff01eed4080">crypto.c</a>
-, <a class="el" href="crypto_8h.html#a3a99a8753c2eb9baf1e03fe0ffbb813b">crypto.h</a>
-</li>
-<li>DTLS_DEFAULT_MAX_RETRANSMIT
-: <a class="el" href="global_8h.html#a9fc59fb51c2e3cb4da6fb19bc8cad080">global.h</a>
-</li>
-<li>dtls_destroy_peer()
-: <a class="el" href="dtls_8c.html#a81061928e291b6a3e7701f6a7f51b6f3">dtls.c</a>
-</li>
-<li>dtls_dsrv_hexdump_log()
-: <a class="el" href="debug_8c.html#a8badc2780b90e28c6c4e1a3b410b31cc">debug.c</a>
-, <a class="el" href="debug_8h.html#a8badc2780b90e28c6c4e1a3b410b31cc">debug.h</a>
-</li>
-<li>dtls_dsrv_log_addr()
-: <a class="el" href="debug_8c.html#a66cb8756d40a3326315d9b5f003a5a76">debug.c</a>
-, <a class="el" href="debug_8h.html#a66cb8756d40a3326315d9b5f003a5a76">debug.h</a>
-</li>
-<li>dtls_ec_key_from_uint32()
-: <a class="el" href="crypto_8c.html#a8cefde2bc97452f889600c6b17ff04a6">crypto.c</a>
-</li>
-<li>dtls_ec_key_from_uint32_asn1()
-: <a class="el" href="crypto_8c.html#a5ae24f3621f545752732e318840d7e2b">crypto.c</a>
-, <a class="el" href="crypto_8h.html#a5ae24f3621f545752732e318840d7e2b">crypto.h</a>
-</li>
-<li>DTLS_EC_KEY_SIZE
-: <a class="el" href="crypto_8h.html#a9b039263057e157e1427c5d316133c3d">crypto.h</a>
-</li>
-<li>dtls_ec_key_to_uint32()
-: <a class="el" href="crypto_8c.html#aaa510b41aa69dc5f93a1bf5bdde4a9c4">crypto.c</a>
-</li>
-<li>DTLS_ECC
-: <a class="el" href="dtls__config_8h.html#a1b77fedd334a66611747922038c930d6">dtls_config.h</a>
-, <a class="el" href="tinydtls_8h.html#a1b77fedd334a66611747922038c930d6">tinydtls.h</a>
-</li>
-<li>dtls_ecdh_curve
-: <a class="el" href="crypto_8h.html#a3710d42871d602387a5147c05bf9f1ef">crypto.h</a>
-</li>
-<li>DTLS_ECDH_CURVE_SECP256R1
-: <a class="el" href="crypto_8h.html#a3710d42871d602387a5147c05bf9f1efa517a66bf6725327c3240add3537f34ff">crypto.h</a>
-</li>
-<li>dtls_ecdh_pre_master_secret()
-: <a class="el" href="crypto_8c.html#a5f9937088ea2e1d19e7d472fecae9aaa">crypto.c</a>
-, <a class="el" href="crypto_8h.html#a5f9937088ea2e1d19e7d472fecae9aaa">crypto.h</a>
-</li>
-<li>dtls_ecdsa_create_sig()
-: <a class="el" href="crypto_8c.html#afa2d9b2a195a1d8e8c56b1af8cb7bc82">crypto.c</a>
-, <a class="el" href="crypto_8h.html#afa2d9b2a195a1d8e8c56b1af8cb7bc82">crypto.h</a>
-</li>
-<li>dtls_ecdsa_create_sig_hash()
-: <a class="el" href="crypto_8c.html#a49f03039780664684d110d83a228b163">crypto.c</a>
-, <a class="el" href="crypto_8h.html#a49f03039780664684d110d83a228b163">crypto.h</a>
-</li>
-<li>dtls_ecdsa_generate_key()
-: <a class="el" href="crypto_8c.html#a982fc9e78cd10d9323756b15b72c7970">crypto.c</a>
-, <a class="el" href="crypto_8h.html#a982fc9e78cd10d9323756b15b72c7970">crypto.h</a>
-</li>
-<li>dtls_ecdsa_key_t
-: <a class="el" href="dtls_8h.html#a472601639fcded4630fbd087f986ad10">dtls.h</a>
-</li>
-<li>dtls_ecdsa_verify_sig()
-: <a class="el" href="crypto_8c.html#a035860da45ba2586a95c8ef7f539a3c9">crypto.c</a>
-, <a class="el" href="crypto_8h.html#a035860da45ba2586a95c8ef7f539a3c9">crypto.h</a>
-</li>
-<li>dtls_ecdsa_verify_sig_hash()
-: <a class="el" href="crypto_8c.html#a802b3a2b267747a76d4557c6c9a899d7">crypto.c</a>
-, <a class="el" href="crypto_8h.html#a802b3a2b267747a76d4557c6c9a899d7">crypto.h</a>
-</li>
-<li>dtls_emerg
-: <a class="el" href="debug_8h.html#a94fa8dba0861075ba507ea0417fd83c8">debug.h</a>
-</li>
-<li>dtls_encrypt()
-: <a class="el" href="crypto_8c.html#ad58098f0e821f81b4f1a6672ead17ac5">crypto.c</a>
-, <a class="el" href="crypto_8h.html#a288c4ec1a5110ab3f44ab3cb7c289e69">crypto.h</a>
-</li>
-<li>DTLS_EVENT_CONNECT
-: <a class="el" href="alert_8h.html#aec2aa0683b1a39b4b1abba357b06f844">alert.h</a>
-</li>
-<li>DTLS_EVENT_CONNECTED
-: <a class="el" href="alert_8h.html#a5bed06f27f571d7c7d9b9f212c3a0b22">alert.h</a>
-</li>
-<li>DTLS_EVENT_RENEGOTIATE
-: <a class="el" href="alert_8h.html#a06e52ce3a2909c8f5a3d47d2c0346124">alert.h</a>
-</li>
-<li>DTLS_FIN_LENGTH
-: <a class="el" href="dtls_8c.html#a21644ea2de742395df1e3b3281ba4f63">dtls.c</a>
-</li>
-<li>dtls_fls()
-: <a class="el" href="global_8h.html#ae10dcc6b71efe025c990ac2f3d8a48b8">global.h</a>
-</li>
-<li>dtls_free_context()
-: <a class="el" href="dtls_8c.html#a3171c099d25ed29e31326526b8e1de84">dtls.c</a>
-, <a class="el" href="dtls_8h.html#a3171c099d25ed29e31326526b8e1de84">dtls.h</a>
-</li>
-<li>dtls_free_peer()
-: <a class="el" href="peer_8c.html#a037178c201b2e6b7361570ff700f059d">peer.c</a>
-, <a class="el" href="peer_8h.html#a037178c201b2e6b7361570ff700f059d">peer.h</a>
-</li>
-<li>dtls_get_app_data
-: <a class="el" href="dtls_8h.html#a95f7eb485bb814aa308e2612681176d9">dtls.h</a>
-</li>
-<li>dtls_get_content_type
-: <a class="el" href="dtls_8c.html#aa02d6b65a8864468c2b8cfbe79084467">dtls.c</a>
-</li>
-<li>dtls_get_cookie()
-: <a class="el" href="dtls_8c.html#a8546683053c19be38b23aa9042139f4b">dtls.c</a>
-</li>
-<li>dtls_get_epoch
-: <a class="el" href="dtls_8c.html#a175d8e65080497463d13caf20e961500">dtls.c</a>
-</li>
-<li>dtls_get_fragment_length
-: <a class="el" href="dtls_8c.html#aad633ed0a80e25b3884d119a8d8aeaff">dtls.c</a>
-</li>
-<li>dtls_get_log_level()
-: <a class="el" href="debug_8c.html#a0af8abc8cf3864ea04954b3537c7e07f">debug.c</a>
-, <a class="el" href="debug_8h.html#a0af8abc8cf3864ea04954b3537c7e07f">debug.h</a>
-</li>
-<li>dtls_get_peer()
-: <a class="el" href="dtls_8c.html#a70333bea2db35153177347b5c7700cab">dtls.c</a>
-, <a class="el" href="dtls_8h.html#a3fd062108e5d0f48627ae644546824a6">dtls.h</a>
-</li>
-<li>dtls_get_sequence_number
-: <a class="el" href="dtls_8c.html#a41f28f63e60a1a0b45a77d62bb5380e7">dtls.c</a>
-</li>
-<li>dtls_get_version
-: <a class="el" href="dtls_8c.html#a22d6bcdee257de4be562aee0be9c87fb">dtls.c</a>
-</li>
-<li>dtls_handle_message()
-: <a class="el" href="dtls_8c.html#ae272fea7269714fe7a67d6da64961731">dtls.c</a>
-, <a class="el" href="dtls_8h.html#ae272fea7269714fe7a67d6da64961731">dtls.h</a>
-</li>
-<li>dtls_handshake_dealloc()
-: <a class="el" href="crypto_8c.html#a120f7f398e1a71a5f16e5447842bcfb3">crypto.c</a>
-</li>
-<li>dtls_handshake_free()
-: <a class="el" href="crypto_8c.html#aa17bcdc666796e52788f82ee003bb172">crypto.c</a>
-, <a class="el" href="crypto_8h.html#aa17bcdc666796e52788f82ee003bb172">crypto.h</a>
-</li>
-<li>DTLS_HANDSHAKE_HEADER
-: <a class="el" href="dtls_8c.html#a2cc930733d35ea870c7a0a131bee0d7a">dtls.c</a>
-</li>
-<li>dtls_handshake_header_t
-: <a class="el" href="dtls_8h.html#a5c6625ffcf61189392768253e8919a45">dtls.h</a>
-</li>
-<li>dtls_handshake_malloc()
-: <a class="el" href="crypto_8c.html#aa1b91000e339073fd2a9344957c22cbe">crypto.c</a>
-</li>
-<li>dtls_handshake_new()
-: <a class="el" href="crypto_8c.html#a25930cdb27a6ffcf05e2c2a9c95a6af8">crypto.c</a>
-, <a class="el" href="crypto_8h.html#a25930cdb27a6ffcf05e2c2a9c95a6af8">crypto.h</a>
-</li>
-<li>dtls_handshake_type_to_name()
-: <a class="el" href="dtls_8c.html#a00707f0f82235a2432338e77dae0911d">dtls.c</a>
-</li>
-<li>dtls_hash_ctx
-: <a class="el" href="hmac_8h.html#abb19650a510c73117da0e9b88d68f159">hmac.h</a>
-</li>
-<li>DTLS_HASH_CTX_SIZE
-: <a class="el" href="hmac_8h.html#a7fb242dc4ddd717e5eb67d4bf89618d5">hmac.h</a>
-</li>
-<li>dtls_hash_finalize()
-: <a class="el" href="hmac_8h.html#a96801bbb62f4c9c872b22cd8e438e51e">hmac.h</a>
-</li>
-<li>dtls_hash_init()
-: <a class="el" href="hmac_8h.html#afe0af64930ac5d6a51289df6d1eb4f52">hmac.h</a>
-</li>
-<li>dtls_hash_t
-: <a class="el" href="hmac_8h.html#afa00f0cbe1b7783992467c1c204320b5">hmac.h</a>
-</li>
-<li>dtls_hash_update()
-: <a class="el" href="hmac_8h.html#adb5ad07ab9a1adcdfdc20e13aa37bee6">hmac.h</a>
-</li>
-<li>dtls_hashfunc_t
-: <a class="el" href="group__HMAC.html#ga698cfa036e69361a93dcdd9b19579b23">hmac.h</a>
-</li>
-<li>dtls_hello_verify_t
-: <a class="el" href="dtls_8h.html#abd61d526ef995e63a6debfd8ddda9e98">dtls.h</a>
-</li>
-<li>DTLS_HMAC_BLOCKSIZE
-: <a class="el" href="group__HMAC.html#gab1f8617a558ef0f758439c96d3a4650e">hmac.h</a>
-</li>
-<li>dtls_hmac_context_free()
-: <a class="el" href="hmac_8c.html#a8613e734d3fafa81035f8f30000325a7">hmac.c</a>
-</li>
-<li>dtls_hmac_context_new()
-: <a class="el" href="hmac_8c.html#affb72973a7bb7b389a4b7382d435fcef">hmac.c</a>
-</li>
-<li>DTLS_HMAC_DIGEST_SIZE
-: <a class="el" href="group__HMAC.html#ga060019cf2dab9903d58118fe1abe7018">hmac.h</a>
-</li>
-<li>dtls_hmac_finalize()
-: <a class="el" href="group__HMAC.html#gab98c992f3f9cc3c2d75077ddd46049bf">hmac.c</a>
-, <a class="el" href="group__HMAC.html#gab98c992f3f9cc3c2d75077ddd46049bf">hmac.h</a>
-</li>
-<li>dtls_hmac_free()
-: <a class="el" href="group__HMAC.html#ga5b1a3c1dcb5461bda44dd70f7bd33181">hmac.c</a>
-, <a class="el" href="group__HMAC.html#ga5b1a3c1dcb5461bda44dd70f7bd33181">hmac.h</a>
-</li>
-<li>dtls_hmac_init()
-: <a class="el" href="group__HMAC.html#gaa1eb35fcb2c2eb69eebaefa8eb4a790d">hmac.c</a>
-, <a class="el" href="group__HMAC.html#gaa1eb35fcb2c2eb69eebaefa8eb4a790d">hmac.h</a>
-</li>
-<li>DTLS_HMAC_MAX
-: <a class="el" href="group__HMAC.html#ga3e84ddbef6bf0084252e16e6c547e332">hmac.h</a>
-</li>
-<li>dtls_hmac_new()
-: <a class="el" href="group__HMAC.html#gac3e9ef037800963783e618eafd046702">hmac.c</a>
-, <a class="el" href="group__HMAC.html#gac3e9ef037800963783e618eafd046702">hmac.h</a>
-</li>
-<li>dtls_hmac_storage_init()
-: <a class="el" href="hmac_8h.html#a51d5982243691c9e7fa56142c3a8d5d8">hmac.h</a>
-</li>
-<li>dtls_hmac_update()
-: <a class="el" href="group__HMAC.html#ga1ef9c88a0a2053b442413a9cea3deb73">hmac.h</a>
-, <a class="el" href="group__HMAC.html#ga1ef9c88a0a2053b442413a9cea3deb73">hmac.c</a>
-</li>
-<li>DTLS_HS_LENGTH
-: <a class="el" href="dtls_8c.html#a520419d1976b301c508721faed549b4f">dtls.c</a>
-</li>
-<li>DTLS_HT_CERTIFICATE
-: <a class="el" href="dtls_8h.html#a55a0a899d7f151e7f53b76fe8a82c10e">dtls.h</a>
-</li>
-<li>DTLS_HT_CERTIFICATE_REQUEST
-: <a class="el" href="dtls_8h.html#a6f49d7b0a6e9190d71d51b1ee9ff3bd5">dtls.h</a>
-</li>
-<li>DTLS_HT_CERTIFICATE_VERIFY
-: <a class="el" href="dtls_8h.html#a9abc650dd8339a227ddd165ede9350d0">dtls.h</a>
-</li>
-<li>DTLS_HT_CLIENT_HELLO
-: <a class="el" href="dtls_8h.html#a25f0afef67a1fd8d9e3e61074d11e2f5">dtls.h</a>
-</li>
-<li>DTLS_HT_CLIENT_KEY_EXCHANGE
-: <a class="el" href="dtls_8h.html#a577885c74492a460729a451f33a894c4">dtls.h</a>
-</li>
-<li>DTLS_HT_FINISHED
-: <a class="el" href="dtls_8h.html#a16b49d03e041d43b60e1b7bacf35daad">dtls.h</a>
-</li>
-<li>DTLS_HT_HELLO_REQUEST
-: <a class="el" href="dtls_8h.html#a66566dfd30b8ab388c08b4cde6c667cc">dtls.h</a>
-</li>
-<li>DTLS_HT_HELLO_VERIFY_REQUEST
-: <a class="el" href="dtls_8h.html#ab04f98f1863c785fabd97925c9746f7d">dtls.h</a>
-</li>
-<li>DTLS_HT_SERVER_HELLO
-: <a class="el" href="dtls_8h.html#ad5882a5ff4073ffefa266bb2c4a1ee3c">dtls.h</a>
-</li>
-<li>DTLS_HT_SERVER_HELLO_DONE
-: <a class="el" href="dtls_8h.html#a44399f223a3e1c8a8bf3fc638a06a4d7">dtls.h</a>
-</li>
-<li>DTLS_HT_SERVER_KEY_EXCHANGE
-: <a class="el" href="dtls_8h.html#aab327e17614cf2902c5fc6169466613f">dtls.h</a>
-</li>
-<li>DTLS_HV_LENGTH
-: <a class="el" href="dtls_8c.html#a85d3d5311baabdaa06b7824528eef4e5">dtls.c</a>
-</li>
-<li>dtls_info
-: <a class="el" href="debug_8h.html#afde5692e7a590b0dd016d5753284c175">debug.h</a>
-</li>
-<li>dtls_init()
-: <a class="el" href="dtls_8h.html#ac203466e393ac9030d405c8f0496e9cd">dtls.h</a>
-, <a class="el" href="dtls_8c.html#ac203466e393ac9030d405c8f0496e9cd">dtls.c</a>
-</li>
-<li>dtls_int_to_uint16()
-: <a class="el" href="numeric_8h.html#a074d352855e1ffde4c2ddb6a6fea01b9">numeric.h</a>
-</li>
-<li>dtls_int_to_uint24()
-: <a class="el" href="numeric_8h.html#aff276cdd846cd194a21e9c61549292f6">numeric.h</a>
-</li>
-<li>dtls_int_to_uint32()
-: <a class="el" href="numeric_8h.html#a6914ee523b27539f4e441bede8c072b4">numeric.h</a>
-</li>
-<li>dtls_int_to_uint48()
-: <a class="el" href="numeric_8h.html#abe324cc4e62d03bdecf457382ba213c8">numeric.h</a>
-</li>
-<li>dtls_int_to_uint64()
-: <a class="el" href="numeric_8h.html#ab4d80395fb7f4118dfcb101ae94a5e93">numeric.h</a>
-</li>
-<li>dtls_int_to_uint8()
-: <a class="el" href="numeric_8h.html#a7b602967e2fc28b0be02bd4585e255d0">numeric.h</a>
-</li>
-<li>DTLS_IV_LENGTH
-: <a class="el" href="crypto_8h.html#a8106002d0d69d8da810321c65ac71385">crypto.h</a>
-</li>
-<li>dtls_kb_client_iv
-: <a class="el" href="crypto_8h.html#a1d3c04e5d39477a525b5255ab3240094">crypto.h</a>
-</li>
-<li>dtls_kb_client_mac_secret
-: <a class="el" href="crypto_8h.html#a72899232c09d09b86326c6f234addc02">crypto.h</a>
-</li>
-<li>dtls_kb_client_write_key
-: <a class="el" href="crypto_8h.html#ab5659b0737d72a2fa1b1335952f9c305">crypto.h</a>
-</li>
-<li>dtls_kb_digest_size
-: <a class="el" href="crypto_8h.html#a5c3cbd4d9e514757deda211e97c9c758">crypto.h</a>
-</li>
-<li>dtls_kb_iv_size
-: <a class="el" href="crypto_8h.html#adcdadf1870e2acb2993b1a8726d26997">crypto.h</a>
-</li>
-<li>dtls_kb_key_size
-: <a class="el" href="crypto_8h.html#a726ef8efa2e072c3c5e1ea1019e716aa">crypto.h</a>
-</li>
-<li>dtls_kb_local_iv
-: <a class="el" href="crypto_8h.html#ae23208578ac21350cb5915d11da0a2e3">crypto.h</a>
-</li>
-<li>dtls_kb_local_mac_secret
-: <a class="el" href="crypto_8h.html#aa60519b0e9b775ccb0bdb46762f43418">crypto.h</a>
-</li>
-<li>dtls_kb_local_write_key
-: <a class="el" href="crypto_8h.html#a7c9e39188a2e50eb942ce8c7cd8add36">crypto.h</a>
-</li>
-<li>dtls_kb_mac_secret_size
-: <a class="el" href="crypto_8h.html#a1f320854c9f4e9b2105649b3624976b0">crypto.h</a>
-</li>
-<li>dtls_kb_remote_iv
-: <a class="el" href="crypto_8h.html#a7119d3239c34d7e7f219200792339541">crypto.h</a>
-</li>
-<li>dtls_kb_remote_mac_secret
-: <a class="el" href="crypto_8h.html#acf318c989f5bb90b863154abbc408b66">crypto.h</a>
-</li>
-<li>dtls_kb_remote_write_key
-: <a class="el" href="crypto_8h.html#addc8fcbbdd80ba924d0ded2a6bae97f4">crypto.h</a>
-</li>
-<li>dtls_kb_server_iv
-: <a class="el" href="crypto_8h.html#acdd95c24ec6aebf14dac6ee4386a79be">crypto.h</a>
-</li>
-<li>dtls_kb_server_mac_secret
-: <a class="el" href="crypto_8h.html#ac8fdf3770dcd956ca10d1044a57a7a3a">crypto.h</a>
-</li>
-<li>dtls_kb_server_write_key
-: <a class="el" href="crypto_8h.html#aea906786dcfa12acb320df731c8db7f6">crypto.h</a>
-</li>
-<li>dtls_kb_size
-: <a class="el" href="crypto_8h.html#a147bfdc558c2ec69ffdf388ae19ae01c">crypto.h</a>
-</li>
-<li>DTLS_KEY_LENGTH
-: <a class="el" href="crypto_8h.html#a829b5d5e4d693fdb3de335a0e2017076">crypto.h</a>
-</li>
-<li>DTLS_LOG_ALERT
-: <a class="el" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9da5d02ea1ea67cb762b8821f35d7cccd9e">debug.h</a>
-</li>
-<li>DTLS_LOG_CRIT
-: <a class="el" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9dae376c811a8735fe72f67131ba1a1428d">debug.h</a>
-</li>
-<li>DTLS_LOG_DEBUG
-: <a class="el" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9da87f82ea2bdc3f03d9f6d3355a5f8a020">debug.h</a>
-</li>
-<li>DTLS_LOG_EMERG
-: <a class="el" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9daaa080e6de827addce6dc6af232ecba3e">debug.h</a>
-</li>
-<li>DTLS_LOG_INFO
-: <a class="el" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9da9b79f1b32df348f97ce4366d0f0454c7">debug.h</a>
-</li>
-<li>DTLS_LOG_NOTICE
-: <a class="el" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9da5f9ff4e9574b821a0c43261c9a9dca09">debug.h</a>
-</li>
-<li>DTLS_LOG_WARN
-: <a class="el" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9dafd78dbf760d741729305d83727c14c70">debug.h</a>
-</li>
-<li>dtls_mac()
-: <a class="el" href="crypto_8c.html#a1423f8111df1533241178461c10b50e3">crypto.c</a>
-, <a class="el" href="crypto_8h.html#a1423f8111df1533241178461c10b50e3">crypto.h</a>
-</li>
-<li>DTLS_MAC_KEY_LENGTH
-: <a class="el" href="crypto_8h.html#a5962b0d908f9b15406ca53d27a33e08a">crypto.h</a>
-</li>
-<li>DTLS_MAC_LENGTH
-: <a class="el" href="crypto_8h.html#a4fa04874a476a8cc5048372b6d584dbe">crypto.h</a>
-</li>
-<li>dtls_malloc_peer()
-: <a class="el" href="peer_8c.html#a89738cd2081b322562b9893c524fb0e1">peer.c</a>
-</li>
-<li>DTLS_MASTER_SECRET_LENGTH
-: <a class="el" href="crypto_8h.html#a2648582ddf4c82abc01d8388bd3f15db">crypto.h</a>
-</li>
-<li>DTLS_MAX_BUF
-: <a class="el" href="global_8h.html#acdbfba15eb1a5692e177d582b4ca1583">global.h</a>
-</li>
-<li>dtls_new_context()
-: <a class="el" href="dtls_8h.html#a11f53d301448aa8f1dbcfaf77441bd9c">dtls.h</a>
-, <a class="el" href="dtls_8c.html#a11f53d301448aa8f1dbcfaf77441bd9c">dtls.c</a>
-</li>
-<li>dtls_new_peer()
-: <a class="el" href="peer_8c.html#a209e22be64be13e116711829d21d864c">peer.c</a>
-, <a class="el" href="peer_8h.html#a209e22be64be13e116711829d21d864c">peer.h</a>
-</li>
-<li>dtls_notice
-: <a class="el" href="debug_8h.html#add9bf011215b9fc36abc5c80722c876e">debug.h</a>
-</li>
-<li>dtls_p_hash()
-: <a class="el" href="crypto_8h.html#aea7bd0a10cf289c033216a97c0ee701e">crypto.h</a>
-, <a class="el" href="crypto_8c.html#aea7bd0a10cf289c033216a97c0ee701e">crypto.c</a>
-</li>
-<li>dtls_package_name()
-: <a class="el" href="debug_8h.html#a6ae22adf81d9aaf0a2ed74f7f7437971">debug.h</a>
-, <a class="el" href="debug_8c.html#a6ae22adf81d9aaf0a2ed74f7f7437971">debug.c</a>
-</li>
-<li>dtls_package_version()
-: <a class="el" href="debug_8h.html#aab7b9dac4484be50856ab8b8a827d235">debug.h</a>
-, <a class="el" href="debug_8c.html#aab7b9dac4484be50856ab8b8a827d235">debug.c</a>
-</li>
-<li>dtls_peer_is_connected()
-: <a class="el" href="peer_8h.html#aaad8608f29d9a70bf09b7de310185c48">peer.h</a>
-</li>
-<li>dtls_peer_state()
-: <a class="el" href="peer_8h.html#a64d83f0fe464f0eeb905b913345d0614">peer.h</a>
-</li>
-<li>dtls_peer_t
-: <a class="el" href="peer_8h.html#a6038bb7f08c62ea6f0fd2a0075860055">peer.h</a>
-</li>
-<li>dtls_peer_type
-: <a class="el" href="peer_8h.html#ae30cd4bcffed73f79f17c09e5a1452c8">peer.h</a>
-</li>
-<li>dtls_prepare_record()
-: <a class="el" href="dtls_8c.html#ab9733484b9a23775b1bc8b3d723282e5">dtls.c</a>
-</li>
-<li>dtls_prf()
-: <a class="el" href="crypto_8h.html#a5e47576e502b5a6255f1b489a4915512">crypto.h</a>
-, <a class="el" href="crypto_8c.html#a5e47576e502b5a6255f1b489a4915512">crypto.c</a>
-</li>
-<li>dtls_prng()
-: <a class="el" href="group__prng.html#ga3f4036a1abfcec552ab583a2dc37be6c">prng.h</a>
-</li>
-<li>dtls_prng_init()
-: <a class="el" href="group__prng.html#gac68680277206146d06c9e5468f260ee0">prng.h</a>
-</li>
-<li>DTLS_PSK
-: <a class="el" href="tinydtls_8h.html#a5ce72e9d11801559b799b999f50c49cf">tinydtls.h</a>
-, <a class="el" href="dtls__config_8h.html#a5ce72e9d11801559b799b999f50c49cf">dtls_config.h</a>
-</li>
-<li>DTLS_PSK_HINT
-: <a class="el" href="dtls_8h.html#a36eda3add5e2d12a3b5e2b6fe7038e01a53b5588e3c87ce19b1340baf193d130c">dtls.h</a>
-</li>
-<li>DTLS_PSK_IDENTITY
-: <a class="el" href="dtls_8h.html#a36eda3add5e2d12a3b5e2b6fe7038e01adb8cac45614b2bc4e66970b64043cfc2">dtls.h</a>
-</li>
-<li>DTLS_PSK_KEY
-: <a class="el" href="dtls_8h.html#a36eda3add5e2d12a3b5e2b6fe7038e01a1d64c04f18b370cf742595dc91098db4">dtls.h</a>
-</li>
-<li>DTLS_PSK_MAX_CLIENT_IDENTITY_LEN
-: <a class="el" href="crypto_8h.html#ab96c8e0773a14d1ce1621eed1a78e2bd">crypto.h</a>
-</li>
-<li>DTLS_PSK_MAX_KEY_LEN
-: <a class="el" href="crypto_8h.html#a59cd7c0b8724e1f9b910611623396080">crypto.h</a>
-</li>
-<li>dtls_psk_pre_master_secret()
-: <a class="el" href="crypto_8c.html#aa53dfed4868e257d2485024b5c170bae">crypto.c</a>
-, <a class="el" href="crypto_8h.html#aa53dfed4868e257d2485024b5c170bae">crypto.h</a>
-</li>
-<li>DTLS_RANDOM_LENGTH
-: <a class="el" href="crypto_8h.html#a5a0bdff7c0889f35601b4935098508a0">crypto.h</a>
-</li>
-<li>DTLS_RECORD_HEADER
-: <a class="el" href="dtls_8c.html#a35d050593196252c1826ac2e82cbac0b">dtls.c</a>
-</li>
-<li>dtls_record_header_t
-: <a class="el" href="dtls_8h.html#a81936df7abb2c16aa897e3018aa24399">dtls.h</a>
-</li>
-<li>dtls_renegotiate()
-: <a class="el" href="dtls_8h.html#a5676a0ceeeabd1ec38d378212f7af4a1">dtls.h</a>
-, <a class="el" href="dtls_8c.html#a5676a0ceeeabd1ec38d378212f7af4a1">dtls.c</a>
-</li>
-<li>dtls_retransmit()
-: <a class="el" href="dtls_8c.html#aa57a9ccb1344c5baf8bd3adf35f3beeb">dtls.c</a>
-</li>
-<li>DTLS_RH_LENGTH
-: <a class="el" href="dtls_8c.html#ae97c368900c13dc7074c09e8848afa8f">dtls.c</a>
-</li>
-<li>dtls_security_dealloc()
-: <a class="el" href="crypto_8c.html#a444e2410b15ce27c6201204476d20497">crypto.c</a>
-</li>
-<li>dtls_security_free()
-: <a class="el" href="crypto_8c.html#ad54069f2880b3c07185ebba736d02d17">crypto.c</a>
-, <a class="el" href="crypto_8h.html#ad54069f2880b3c07185ebba736d02d17">crypto.h</a>
-</li>
-<li>dtls_security_malloc()
-: <a class="el" href="crypto_8c.html#aa58fc0b3953c6048834855a364432d8c">crypto.c</a>
-</li>
-<li>dtls_security_new()
-: <a class="el" href="crypto_8h.html#a1d568085636a04b4706b7e50df802a7b">crypto.h</a>
-, <a class="el" href="crypto_8c.html#a1d568085636a04b4706b7e50df802a7b">crypto.c</a>
-</li>
-<li>dtls_security_params()
-: <a class="el" href="peer_8h.html#a48abcad7383e1db957af9b4fed030d52">peer.h</a>
-</li>
-<li>dtls_security_params_epoch()
-: <a class="el" href="peer_8h.html#af5de0315efd7e8c6b1aecf60078b2dd7">peer.h</a>
-</li>
-<li>dtls_security_params_free_other()
-: <a class="el" href="peer_8h.html#a9d0ec25ba319a38b17f30cf156e85c51">peer.h</a>
-</li>
-<li>dtls_security_params_next()
-: <a class="el" href="peer_8h.html#ab6e209f206f570eed246530ec7960943">peer.h</a>
-</li>
-<li>dtls_security_params_switch()
-: <a class="el" href="peer_8h.html#a9c37ce3fd7539154289dd17215179e2d">peer.h</a>
-</li>
-<li>dtls_send()
-: <a class="el" href="dtls_8c.html#afdd0d094bfd136f65455e23fda087cd6">dtls.c</a>
-</li>
-<li>dtls_send_alert()
-: <a class="el" href="dtls_8c.html#a4aac4fa55afe2d19342136acaaaf9641">dtls.c</a>
-</li>
-<li>dtls_send_ccs()
-: <a class="el" href="dtls_8c.html#a9cfb3c9e63f378d0d8e3d3d0c60537a5">dtls.c</a>
-</li>
-<li>dtls_send_certificate_ecdsa()
-: <a class="el" href="dtls_8c.html#a6b92c487825aa888acc0b55f5adc0220">dtls.c</a>
-</li>
-<li>dtls_send_certificate_verify_ecdh()
-: <a class="el" href="dtls_8c.html#adfe6fc0d0d66e9ffaef25c2c126b1c34">dtls.c</a>
-</li>
-<li>dtls_send_client_hello()
-: <a class="el" href="dtls_8c.html#aecd3ffe8bf8a3970d3e091ce8e7c6476">dtls.c</a>
-</li>
-<li>dtls_send_client_key_exchange()
-: <a class="el" href="dtls_8c.html#a12e4cab07baba9eae2a0182f4e0bf72d">dtls.c</a>
-</li>
-<li>dtls_send_finished()
-: <a class="el" href="dtls_8c.html#a112e0d83a0e576b5d22df60241900a67">dtls.c</a>
-</li>
-<li>dtls_send_handshake_msg()
-: <a class="el" href="dtls_8c.html#a872c53139e76cab7ec387cc54ae1a11b">dtls.c</a>
-</li>
-<li>dtls_send_handshake_msg_hash()
-: <a class="el" href="dtls_8c.html#a4f06884f659f6a5120be7e0b86d29880">dtls.c</a>
-</li>
-<li>dtls_send_hello_request()
-: <a class="el" href="dtls_8c.html#ab3af0ee4375c0da833aacec49c6fd8ad">dtls.c</a>
-</li>
-<li>dtls_send_multi()
-: <a class="el" href="dtls_8c.html#aa89745c0af073102c9c350d28a84214d">dtls.c</a>
-</li>
-<li>dtls_send_server_certificate_request()
-: <a class="el" href="dtls_8c.html#a51ab17e2a5ac1566ba4249b787bb98a3">dtls.c</a>
-</li>
-<li>dtls_send_server_hello()
-: <a class="el" href="dtls_8c.html#a7730a402edfca00c35bc1c7c09eb2fb9">dtls.c</a>
-</li>
-<li>dtls_send_server_hello_done()
-: <a class="el" href="dtls_8c.html#ad6ebff8518bb1d53ba888baf6898ee21">dtls.c</a>
-</li>
-<li>dtls_send_server_hello_msgs()
-: <a class="el" href="dtls_8c.html#afc54bc2ed42b4b65ad8f01abca9a8772">dtls.c</a>
-</li>
-<li>dtls_send_server_key_exchange_ecdh()
-: <a class="el" href="dtls_8c.html#a80275f06c14cbbc18095bc2f61022d15">dtls.c</a>
-</li>
-<li>dtls_send_server_key_exchange_psk()
-: <a class="el" href="dtls_8c.html#a00f6591bce49f6122dab9827c8774ba3">dtls.c</a>
-</li>
-<li>DTLS_SERVER
-: <a class="el" href="peer_8h.html#ae30cd4bcffed73f79f17c09e5a1452c8a7c2a694fc87273c445ad661575b28255">peer.h</a>
-</li>
-<li>dtls_session_equals()
-: <a class="el" href="session_8h.html#a96f4d60f388d56d37b3e69261bea2417">session.h</a>
-, <a class="el" href="session_8c.html#a96f4d60f388d56d37b3e69261bea2417">session.c</a>
-</li>
-<li>dtls_session_init()
-: <a class="el" href="session_8h.html#af5aad44a94929b1ebfbb3c6334e9e501">session.h</a>
-, <a class="el" href="session_8c.html#af5aad44a94929b1ebfbb3c6334e9e501">session.c</a>
-</li>
-<li>dtls_set_app_data
-: <a class="el" href="dtls_8h.html#a89611ebcb02bb3bbf56dfb583937586e">dtls.h</a>
-</li>
-<li>dtls_set_content_type
-: <a class="el" href="dtls_8c.html#a8e0ab8b3ce70468c29820cafe96cd365">dtls.c</a>
-</li>
-<li>dtls_set_handler()
-: <a class="el" href="dtls_8h.html#ab0e3223c87b79e4946b19538b24634da">dtls.h</a>
-</li>
-<li>dtls_set_handshake_header()
-: <a class="el" href="dtls_8c.html#ab43d3a34ddaf0f5bfaa2b0b3e76e25d1">dtls.c</a>
-</li>
-<li>dtls_set_length
-: <a class="el" href="dtls_8c.html#a9f723101896941fa44ea701c4dfd3591">dtls.c</a>
-</li>
-<li>dtls_set_log_level()
-: <a class="el" href="debug_8h.html#ae081a7241940f0195295cc37f39c1d02">debug.h</a>
-, <a class="el" href="debug_8c.html#ae081a7241940f0195295cc37f39c1d02">debug.c</a>
-</li>
-<li>dtls_set_record_header()
-: <a class="el" href="dtls_8c.html#a734cf32b1c8b99e21d57006da24fd808">dtls.c</a>
-</li>
-<li>dtls_set_version
-: <a class="el" href="dtls_8c.html#aebefc949b2298e7de7b95b715874d407">dtls.c</a>
-</li>
-<li>DTLS_SH_LENGTH
-: <a class="el" href="dtls_8c.html#afcca5dc5ebcc9eb8141ca0b49b647676">dtls.c</a>
-</li>
-<li>DTLS_SKEXEC_LENGTH
-: <a class="el" href="dtls_8c.html#ad9481c39cd66eac3059df28aef1e9843">dtls.c</a>
-</li>
-<li>DTLS_SKEXECPSK_LENGTH_MAX
-: <a class="el" href="dtls_8c.html#a8a4dc9af457241380a01c8e38fdc4e2d">dtls.c</a>
-</li>
-<li>DTLS_SKEXECPSK_LENGTH_MIN
-: <a class="el" href="dtls_8c.html#a4c0c656efcfd0e33595914171e51ae6d">dtls.c</a>
-</li>
-<li>DTLS_STATE_CLIENTHELLO
-: <a class="el" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a1a76f1e49c80d22df9673f8471d1ec53">state.h</a>
-</li>
-<li>DTLS_STATE_CLOSED
-: <a class="el" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a88bc0f5ff63003f57a59700dc4b55553">state.h</a>
-</li>
-<li>DTLS_STATE_CLOSING
-: <a class="el" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a4aa3fcce37191fc2a915aa330efd381b">state.h</a>
-</li>
-<li>DTLS_STATE_CONNECTED
-: <a class="el" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a953a6aabd0aff0492df164e79815b122">state.h</a>
-</li>
-<li>DTLS_STATE_FINISHED
-: <a class="el" href="state_8h.html#aea0e57fd5b857535960534b53361aa35afe3ae5ff9df44c8101223efec2916c0b">state.h</a>
-</li>
-<li>DTLS_STATE_INIT
-: <a class="el" href="state_8h.html#aea0e57fd5b857535960534b53361aa35afa23f2a7b1313abfb472a55a17cc26b8">state.h</a>
-</li>
-<li>dtls_state_t
-: <a class="el" href="state_8h.html#aea0e57fd5b857535960534b53361aa35">state.h</a>
-</li>
-<li>DTLS_STATE_WAIT_CERTIFICATEVERIFY
-: <a class="el" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a1bb7cd2cdb77a9cdc5a5df541e8d99c4">state.h</a>
-</li>
-<li>DTLS_STATE_WAIT_CHANGECIPHERSPEC
-: <a class="el" href="state_8h.html#aea0e57fd5b857535960534b53361aa35ab3436ceaa0f47131771c288b8b5f1840">state.h</a>
-</li>
-<li>DTLS_STATE_WAIT_CLIENTCERTIFICATE
-: <a class="el" href="state_8h.html#aea0e57fd5b857535960534b53361aa35abdb6292772d18296f76c90fdc2533ab9">state.h</a>
-</li>
-<li>DTLS_STATE_WAIT_CLIENTHELLO
-: <a class="el" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a84b76c7a571c4b1d659e26d4e540c151">state.h</a>
-</li>
-<li>DTLS_STATE_WAIT_CLIENTKEYEXCHANGE
-: <a class="el" href="state_8h.html#aea0e57fd5b857535960534b53361aa35aa013ec95c846eaebd37acecc1a2f8a05">state.h</a>
-</li>
-<li>DTLS_STATE_WAIT_FINISHED
-: <a class="el" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a8c1ffc1652e7c5ba25239fe1f3a430ba">state.h</a>
-</li>
-<li>DTLS_STATE_WAIT_SERVERCERTIFICATE
-: <a class="el" href="state_8h.html#aea0e57fd5b857535960534b53361aa35aa58cb54cde33e338814177a41ca2df6b">state.h</a>
-</li>
-<li>DTLS_STATE_WAIT_SERVERHELLODONE
-: <a class="el" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a5c55da9c6de8eb986de811cf2135a1a0">state.h</a>
-</li>
-<li>DTLS_STATE_WAIT_SERVERKEYEXCHANGE
-: <a class="el" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a97f1fd8aadc13e8d721d5e40d42a0330">state.h</a>
-</li>
-<li>dtls_stop_retransmission()
-: <a class="el" href="dtls_8c.html#a3742f5067d1b0693d6a41e70d4ecd5b5">dtls.c</a>
-</li>
-<li>dtls_strnlen()
-: <a class="el" href="debug_8c.html#a2ff663644d9ffbc6ac64b2da6cde5bfa">debug.c</a>
-</li>
-<li>dtls_tick_t
-: <a class="el" href="group__clock.html#gaded617551180951f4841969e396a8012">dtls_time.h</a>
-</li>
-<li>dtls_ticks()
-: <a class="el" href="group__clock.html#ga1834985745ba5d3dd03f7e7498e3a304">dtls_time.c</a>
-, <a class="el" href="group__clock.html#ga1834985745ba5d3dd03f7e7498e3a304">dtls_time.h</a>
-</li>
-<li>DTLS_TICKS_PER_SECOND
-: <a class="el" href="group__clock.html#gae8610d63d209a8bf7858afc427db6168">dtls_time.h</a>
-</li>
-<li>dtls_uint16_to_int()
-: <a class="el" href="numeric_8h.html#ae32dd0743658f1aa5a723d5a8357521f">numeric.h</a>
-</li>
-<li>dtls_uint24_to_int()
-: <a class="el" href="numeric_8h.html#a238931e9197ce422acfba569deb2af71">numeric.h</a>
-</li>
-<li>dtls_uint32_to_int()
-: <a class="el" href="numeric_8h.html#a91f840f763f90c6d88a267011edf86d0">numeric.h</a>
-</li>
-<li>dtls_uint48_to_int()
-: <a class="el" href="numeric_8h.html#ae25d1d32eab6fe59318506984ebc23af">numeric.h</a>
-</li>
-<li>dtls_uint64_to_int()
-: <a class="el" href="numeric_8h.html#aa7dcbb31a4c4319903f41008f1f311ae">numeric.h</a>
-</li>
-<li>dtls_uint8_to_int()
-: <a class="el" href="numeric_8h.html#a7293cc28604d896cfef802b53b0ad99f">numeric.h</a>
-</li>
-<li>dtls_update_parameters()
-: <a class="el" href="dtls_8c.html#a63f2c7e75b86bb2839b8fedf3fa9c93d">dtls.c</a>
-</li>
-<li>dtls_verify_peer()
-: <a class="el" href="dtls_8c.html#a604f68a801e55b884f7f7f1d2f1b9c9f">dtls.c</a>
-</li>
-<li>DTLS_VERSION
-: <a class="el" href="dtls_8h.html#af0c44db3bf3a6a52e9ed271218daeaa6">dtls.h</a>
-</li>
-<li>dtls_warn
-: <a class="el" href="debug_8h.html#ae1c22127c92fab70da7bf9cae8536e5c">debug.h</a>
-</li>
-<li>dtls_write()
-: <a class="el" href="dtls_8h.html#a4743f51c3197d290fc9a88e1f3a64928">dtls.h</a>
-, <a class="el" href="dtls_8c.html#a1e338587fb19c794c8d19bc2801f2eb2">dtls.c</a>
-</li>
-<li>DTLSv12
-: <a class="el" href="global_8h.html#a6b9b983a346a3e94eff205f8eab2bce0">global.h</a>
-</li>
-<li>dump()
-: <a class="el" href="debug_8h.html#a7ee74b9f3941b0ec63f35da6b83fa240">debug.h</a>
-, <a class="el" href="debug_8c.html#a7ee74b9f3941b0ec63f35da6b83fa240">debug.c</a>
-</li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/globals_defs.html b/external/wakaama/examples/shared/tinydtls/doc/html/globals_defs.html
deleted file mode 100644 (file)
index ba0928f..0000000
+++ /dev/null
@@ -1,147 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: Globals</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li class="current"><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow3" class="tabs2">
-    <ul class="tablist">
-      <li><a href="globals.html"><span>All</span></a></li>
-      <li><a href="globals_func.html"><span>Functions</span></a></li>
-      <li><a href="globals_vars.html"><span>Variables</span></a></li>
-      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
-      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
-      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
-      <li class="current"><a href="globals_defs.html"><span>Macros</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow4" class="tabs3">
-    <ul class="tablist">
-      <li class="current"><a href="globals_defs.html#index__"><span>_</span></a></li>
-      <li><a href="globals_defs_a.html#index_a"><span>a</span></a></li>
-      <li><a href="globals_defs_c.html#index_c"><span>c</span></a></li>
-      <li><a href="globals_defs_d.html#index_d"><span>d</span></a></li>
-      <li><a href="globals_defs_e.html#index_e"><span>e</span></a></li>
-      <li><a href="globals_defs_g.html#index_g"><span>g</span></a></li>
-      <li><a href="globals_defs_h.html#index_h"><span>h</span></a></li>
-      <li><a href="globals_defs_l.html#index_l"><span>l</span></a></li>
-      <li><a href="globals_defs_m.html#index_m"><span>m</span></a></li>
-      <li><a href="globals_defs_p.html#index_p"><span>p</span></a></li>
-      <li><a href="globals_defs_r.html#index_r"><span>r</span></a></li>
-      <li><a href="globals_defs_s.html#index_s"><span>s</span></a></li>
-      <li><a href="globals_defs_t.html#index_t"><span>t</span></a></li>
-      <li><a href="globals_defs_u.html#index_u"><span>u</span></a></li>
-      <li><a href="globals_defs_w.html#index_w"><span>w</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="contents">
-&#160;
-
-<h3><a class="anchor" id="index__"></a>- _ -</h3><ul>
-<li>_CASTASGN
-: <a class="el" href="utlist_8h.html#a1eb4a3192390405087ef1bb6c57241e3">utlist.h</a>
-</li>
-<li>_NEXT
-: <a class="el" href="utlist_8h.html#aec696573e92f2ebd0a1641d77bb5b0fe">utlist.h</a>
-</li>
-<li>_NEXTASGN
-: <a class="el" href="utlist_8h.html#a93e2d161c8ad8350100a4fad092ef058">utlist.h</a>
-</li>
-<li>_PREV
-: <a class="el" href="utlist_8h.html#ade8452ec59d6bf7ef23770ee4d96f8d5">utlist.h</a>
-</li>
-<li>_PREVASGN
-: <a class="el" href="utlist_8h.html#a6f6acf0ac7f07dcb26cef2110fef496a">utlist.h</a>
-</li>
-<li>_RS
-: <a class="el" href="utlist_8h.html#a9916f2c26fd7f6f7edb1f6baf400f315">utlist.h</a>
-</li>
-<li>_SV
-: <a class="el" href="utlist_8h.html#a9eded80a8b98df631e889eb72b77c7a4">utlist.h</a>
-</li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/globals_defs_a.html b/external/wakaama/examples/shared/tinydtls/doc/html/globals_defs_a.html
deleted file mode 100644 (file)
index 07af7a9..0000000
+++ /dev/null
@@ -1,129 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: Globals</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li class="current"><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow3" class="tabs2">
-    <ul class="tablist">
-      <li><a href="globals.html"><span>All</span></a></li>
-      <li><a href="globals_func.html"><span>Functions</span></a></li>
-      <li><a href="globals_vars.html"><span>Variables</span></a></li>
-      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
-      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
-      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
-      <li class="current"><a href="globals_defs.html"><span>Macros</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow4" class="tabs3">
-    <ul class="tablist">
-      <li><a href="globals_defs.html#index__"><span>_</span></a></li>
-      <li class="current"><a href="globals_defs_a.html#index_a"><span>a</span></a></li>
-      <li><a href="globals_defs_c.html#index_c"><span>c</span></a></li>
-      <li><a href="globals_defs_d.html#index_d"><span>d</span></a></li>
-      <li><a href="globals_defs_e.html#index_e"><span>e</span></a></li>
-      <li><a href="globals_defs_g.html#index_g"><span>g</span></a></li>
-      <li><a href="globals_defs_h.html#index_h"><span>h</span></a></li>
-      <li><a href="globals_defs_l.html#index_l"><span>l</span></a></li>
-      <li><a href="globals_defs_m.html#index_m"><span>m</span></a></li>
-      <li><a href="globals_defs_p.html#index_p"><span>p</span></a></li>
-      <li><a href="globals_defs_r.html#index_r"><span>r</span></a></li>
-      <li><a href="globals_defs_s.html#index_s"><span>s</span></a></li>
-      <li><a href="globals_defs_t.html#index_t"><span>t</span></a></li>
-      <li><a href="globals_defs_u.html#index_u"><span>u</span></a></li>
-      <li><a href="globals_defs_w.html#index_w"><span>w</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="contents">
-&#160;
-
-<h3><a class="anchor" id="index_a"></a>- a -</h3><ul>
-<li>A_DATA_LEN
-: <a class="el" href="dtls_8c.html#aee0f4f3d8541ea6ab9c204761cc6082e">dtls.c</a>
-</li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/globals_defs_c.html b/external/wakaama/examples/shared/tinydtls/doc/html/globals_defs_c.html
deleted file mode 100644 (file)
index 3c9c739..0000000
+++ /dev/null
@@ -1,159 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: Globals</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li class="current"><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow3" class="tabs2">
-    <ul class="tablist">
-      <li><a href="globals.html"><span>All</span></a></li>
-      <li><a href="globals_func.html"><span>Functions</span></a></li>
-      <li><a href="globals_vars.html"><span>Variables</span></a></li>
-      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
-      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
-      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
-      <li class="current"><a href="globals_defs.html"><span>Macros</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow4" class="tabs3">
-    <ul class="tablist">
-      <li><a href="globals_defs.html#index__"><span>_</span></a></li>
-      <li><a href="globals_defs_a.html#index_a"><span>a</span></a></li>
-      <li class="current"><a href="globals_defs_c.html#index_c"><span>c</span></a></li>
-      <li><a href="globals_defs_d.html#index_d"><span>d</span></a></li>
-      <li><a href="globals_defs_e.html#index_e"><span>e</span></a></li>
-      <li><a href="globals_defs_g.html#index_g"><span>g</span></a></li>
-      <li><a href="globals_defs_h.html#index_h"><span>h</span></a></li>
-      <li><a href="globals_defs_l.html#index_l"><span>l</span></a></li>
-      <li><a href="globals_defs_m.html#index_m"><span>m</span></a></li>
-      <li><a href="globals_defs_p.html#index_p"><span>p</span></a></li>
-      <li><a href="globals_defs_r.html#index_r"><span>r</span></a></li>
-      <li><a href="globals_defs_s.html#index_s"><span>s</span></a></li>
-      <li><a href="globals_defs_t.html#index_t"><span>t</span></a></li>
-      <li><a href="globals_defs_u.html#index_u"><span>u</span></a></li>
-      <li><a href="globals_defs_w.html#index_w"><span>w</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="contents">
-&#160;
-
-<h3><a class="anchor" id="index_c"></a>- c -</h3><ul>
-<li>CALL
-: <a class="el" href="dtls_8c.html#a3e132aba78de736930255d40ef3f2d34">dtls.c</a>
-</li>
-<li>CCM_FLAGS
-: <a class="el" href="ccm_8c.html#a18f6fffa08314e79c95e2de10e7409cb">ccm.c</a>
-</li>
-<li>CDL_DELETE
-: <a class="el" href="utlist_8h.html#a60fd7696c4d0865f53a07579a7b08235">utlist.h</a>
-</li>
-<li>CDL_FOREACH
-: <a class="el" href="utlist_8h.html#a795df7857792d7e811709a060c911a36">utlist.h</a>
-</li>
-<li>CDL_FOREACH_SAFE
-: <a class="el" href="utlist_8h.html#abdb80106f7733e37fbe4f62e9d97ccfd">utlist.h</a>
-</li>
-<li>CDL_PREPEND
-: <a class="el" href="utlist_8h.html#a6c6a7232d281eab4b18563b92e5653bd">utlist.h</a>
-</li>
-<li>CDL_SEARCH
-: <a class="el" href="utlist_8h.html#afb329a0bdf1fa0b644317e9d84082e1e">utlist.h</a>
-</li>
-<li>CDL_SEARCH_SCALAR
-: <a class="el" href="utlist_8h.html#ad064cddb894b478b3c3cd23719f58651">utlist.h</a>
-</li>
-<li>CDL_SORT
-: <a class="el" href="utlist_8h.html#a13add78e5524efe1ae6bfb1631b2dc17">utlist.h</a>
-</li>
-<li>CLIENTHELLO
-: <a class="el" href="dtls_8c.html#a0800e26c09602d197e929fcc8ba783d5">dtls.c</a>
-</li>
-<li>CLOCK_SECOND
-: <a class="el" href="group__clock.html#gae3ced0551b26c9b99cb45a86f34d100a">dtls_time.h</a>
-</li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/globals_defs_d.html b/external/wakaama/examples/shared/tinydtls/doc/html/globals_defs_d.html
deleted file mode 100644 (file)
index c6803d7..0000000
+++ /dev/null
@@ -1,449 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: Globals</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li class="current"><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow3" class="tabs2">
-    <ul class="tablist">
-      <li><a href="globals.html"><span>All</span></a></li>
-      <li><a href="globals_func.html"><span>Functions</span></a></li>
-      <li><a href="globals_vars.html"><span>Variables</span></a></li>
-      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
-      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
-      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
-      <li class="current"><a href="globals_defs.html"><span>Macros</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow4" class="tabs3">
-    <ul class="tablist">
-      <li><a href="globals_defs.html#index__"><span>_</span></a></li>
-      <li><a href="globals_defs_a.html#index_a"><span>a</span></a></li>
-      <li><a href="globals_defs_c.html#index_c"><span>c</span></a></li>
-      <li class="current"><a href="globals_defs_d.html#index_d"><span>d</span></a></li>
-      <li><a href="globals_defs_e.html#index_e"><span>e</span></a></li>
-      <li><a href="globals_defs_g.html#index_g"><span>g</span></a></li>
-      <li><a href="globals_defs_h.html#index_h"><span>h</span></a></li>
-      <li><a href="globals_defs_l.html#index_l"><span>l</span></a></li>
-      <li><a href="globals_defs_m.html#index_m"><span>m</span></a></li>
-      <li><a href="globals_defs_p.html#index_p"><span>p</span></a></li>
-      <li><a href="globals_defs_r.html#index_r"><span>r</span></a></li>
-      <li><a href="globals_defs_s.html#index_s"><span>s</span></a></li>
-      <li><a href="globals_defs_t.html#index_t"><span>t</span></a></li>
-      <li><a href="globals_defs_u.html#index_u"><span>u</span></a></li>
-      <li><a href="globals_defs_w.html#index_w"><span>w</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="contents">
-&#160;
-
-<h3><a class="anchor" id="index_d"></a>- d -</h3><ul>
-<li>DECLTYPE
-: <a class="el" href="uthash_8h.html#a716ba290563c2d955cb0c90d85874073">uthash.h</a>
-</li>
-<li>DECLTYPE_ASSIGN
-: <a class="el" href="uthash_8h.html#a3c736f2f2dd643f2987b2bc323e269ba">uthash.h</a>
-</li>
-<li>DL_APPEND
-: <a class="el" href="utlist_8h.html#a17d40c945e1dc55490feb2fe160670c8">utlist.h</a>
-</li>
-<li>DL_DELETE
-: <a class="el" href="utlist_8h.html#aad429903354ffe8cdf4ca2e9d0ae89cc">utlist.h</a>
-</li>
-<li>DL_FOREACH
-: <a class="el" href="utlist_8h.html#abb0c2851c5f0567be7b8827ce5168ef7">utlist.h</a>
-</li>
-<li>DL_FOREACH_SAFE
-: <a class="el" href="utlist_8h.html#a3bb0c84a69846d2f019a97ea0b4709aa">utlist.h</a>
-</li>
-<li>DL_PREPEND
-: <a class="el" href="utlist_8h.html#a78be4dea3344ba1b1c7fe1b893c0fdfa">utlist.h</a>
-</li>
-<li>DL_SEARCH
-: <a class="el" href="utlist_8h.html#a819373d14278b52c313b743acc292ba0">utlist.h</a>
-</li>
-<li>DL_SEARCH_SCALAR
-: <a class="el" href="utlist_8h.html#a172fce2d647fdedadf0f8080e0441c5b">utlist.h</a>
-</li>
-<li>DL_SORT
-: <a class="el" href="utlist_8h.html#ad966f284f615a2ced4028258fa08f8f3">utlist.h</a>
-</li>
-<li>dtls_alert
-: <a class="el" href="debug_8h.html#ab22e3494f6186183820142ba279fe9ae">debug.h</a>
-</li>
-<li>DTLS_BLK_LENGTH
-: <a class="el" href="crypto_8h.html#ae86031f934f3f5f3af42dad5ff8e8757">crypto.h</a>
-</li>
-<li>DTLS_CCM_BLOCKSIZE
-: <a class="el" href="ccm_8h.html#a5c46c97c6c3ef5d4e5bd616dbd064859">ccm.h</a>
-</li>
-<li>DTLS_CCM_MAX
-: <a class="el" href="ccm_8h.html#a84305b079fda12bfa1323b41b3c50849">ccm.h</a>
-</li>
-<li>DTLS_CCM_NONCE_SIZE
-: <a class="el" href="ccm_8h.html#a2d0e7515c26737872fe840958ed140ac">ccm.h</a>
-</li>
-<li>DTLS_CE_LENGTH
-: <a class="el" href="dtls_8c.html#a6570b93f9f19e6abceef85c566fe3696">dtls.c</a>
-</li>
-<li>DTLS_CH_LENGTH
-: <a class="el" href="dtls_8c.html#affe47ee08ad0e6a54d4f0c2a7f412675">dtls.c</a>
-</li>
-<li>DTLS_CH_LENGTH_MAX
-: <a class="el" href="dtls_8c.html#aa5a4609da11d9496490853de9c2bf6fa">dtls.c</a>
-</li>
-<li>DTLS_CKXEC_LENGTH
-: <a class="el" href="dtls_8c.html#a5ddccf12706c8d18d80b7759454ca164">dtls.c</a>
-</li>
-<li>DTLS_CKXPSK_LENGTH_MIN
-: <a class="el" href="dtls_8c.html#a674da4ca826bf1206ec8053f4c9eb336">dtls.c</a>
-</li>
-<li>DTLS_COOKIE_LENGTH
-: <a class="el" href="dtls_8h.html#a09e4f571633bdb724236ac68459715b6">dtls.h</a>
-</li>
-<li>DTLS_COOKIE_LENGTH_MAX
-: <a class="el" href="dtls_8c.html#abd652cf0e4512727591d3ec8ca066ace">dtls.c</a>
-</li>
-<li>DTLS_COOKIE_SECRET_LENGTH
-: <a class="el" href="dtls_8h.html#a44ec206b1d84aa3d83281a92ed7cc238">dtls.h</a>
-</li>
-<li>dtls_crit
-: <a class="el" href="debug_8h.html#ad4c9c94c054579b73789fead587c8514">debug.h</a>
-</li>
-<li>DTLS_CT_ALERT
-: <a class="el" href="dtls_8h.html#af8ce2230240b6d3c36b216ef459baff1">dtls.h</a>
-</li>
-<li>DTLS_CT_APPLICATION_DATA
-: <a class="el" href="dtls_8h.html#a2e3ff1e96b8b7db8a3648beba35bfd0c">dtls.h</a>
-</li>
-<li>DTLS_CT_CHANGE_CIPHER_SPEC
-: <a class="el" href="dtls_8h.html#a3114c327a12e3850e97c4cf8a0cc5c9d">dtls.h</a>
-</li>
-<li>DTLS_CT_HANDSHAKE
-: <a class="el" href="dtls_8h.html#a76965db5ec449b3c8a9a54c24a4d45dc">dtls.h</a>
-</li>
-<li>DTLS_CV_LENGTH
-: <a class="el" href="dtls_8c.html#a0bcce8fa79dc3187eb5f1655798ac816">dtls.c</a>
-</li>
-<li>dtls_debug
-: <a class="el" href="debug_8h.html#a0f158325426415d9efb5a36bebf45844">debug.h</a>
-</li>
-<li>dtls_debug_dump
-: <a class="el" href="debug_8h.html#ab27d2c7cae1e8022e93562ecda9140b6">debug.h</a>
-</li>
-<li>dtls_debug_hexdump
-: <a class="el" href="debug_8h.html#a24b1e8ecaa65f684d879ed9d5c37119d">debug.h</a>
-</li>
-<li>DTLS_DEFAULT_MAX_RETRANSMIT
-: <a class="el" href="global_8h.html#a9fc59fb51c2e3cb4da6fb19bc8cad080">global.h</a>
-</li>
-<li>DTLS_EC_KEY_SIZE
-: <a class="el" href="crypto_8h.html#a9b039263057e157e1427c5d316133c3d">crypto.h</a>
-</li>
-<li>DTLS_ECC
-: <a class="el" href="dtls__config_8h.html#a1b77fedd334a66611747922038c930d6">dtls_config.h</a>
-, <a class="el" href="tinydtls_8h.html#a1b77fedd334a66611747922038c930d6">tinydtls.h</a>
-</li>
-<li>dtls_emerg
-: <a class="el" href="debug_8h.html#a94fa8dba0861075ba507ea0417fd83c8">debug.h</a>
-</li>
-<li>DTLS_EVENT_CONNECT
-: <a class="el" href="alert_8h.html#aec2aa0683b1a39b4b1abba357b06f844">alert.h</a>
-</li>
-<li>DTLS_EVENT_CONNECTED
-: <a class="el" href="alert_8h.html#a5bed06f27f571d7c7d9b9f212c3a0b22">alert.h</a>
-</li>
-<li>DTLS_EVENT_RENEGOTIATE
-: <a class="el" href="alert_8h.html#a06e52ce3a2909c8f5a3d47d2c0346124">alert.h</a>
-</li>
-<li>DTLS_FIN_LENGTH
-: <a class="el" href="dtls_8c.html#a21644ea2de742395df1e3b3281ba4f63">dtls.c</a>
-</li>
-<li>dtls_get_app_data
-: <a class="el" href="dtls_8h.html#a95f7eb485bb814aa308e2612681176d9">dtls.h</a>
-</li>
-<li>dtls_get_content_type
-: <a class="el" href="dtls_8c.html#aa02d6b65a8864468c2b8cfbe79084467">dtls.c</a>
-</li>
-<li>dtls_get_epoch
-: <a class="el" href="dtls_8c.html#a175d8e65080497463d13caf20e961500">dtls.c</a>
-</li>
-<li>dtls_get_fragment_length
-: <a class="el" href="dtls_8c.html#aad633ed0a80e25b3884d119a8d8aeaff">dtls.c</a>
-</li>
-<li>dtls_get_sequence_number
-: <a class="el" href="dtls_8c.html#a41f28f63e60a1a0b45a77d62bb5380e7">dtls.c</a>
-</li>
-<li>dtls_get_version
-: <a class="el" href="dtls_8c.html#a22d6bcdee257de4be562aee0be9c87fb">dtls.c</a>
-</li>
-<li>DTLS_HANDSHAKE_HEADER
-: <a class="el" href="dtls_8c.html#a2cc930733d35ea870c7a0a131bee0d7a">dtls.c</a>
-</li>
-<li>DTLS_HASH_CTX_SIZE
-: <a class="el" href="hmac_8h.html#a7fb242dc4ddd717e5eb67d4bf89618d5">hmac.h</a>
-</li>
-<li>DTLS_HMAC_BLOCKSIZE
-: <a class="el" href="group__HMAC.html#gab1f8617a558ef0f758439c96d3a4650e">hmac.h</a>
-</li>
-<li>DTLS_HMAC_DIGEST_SIZE
-: <a class="el" href="group__HMAC.html#ga060019cf2dab9903d58118fe1abe7018">hmac.h</a>
-</li>
-<li>DTLS_HMAC_MAX
-: <a class="el" href="group__HMAC.html#ga3e84ddbef6bf0084252e16e6c547e332">hmac.h</a>
-</li>
-<li>DTLS_HS_LENGTH
-: <a class="el" href="dtls_8c.html#a520419d1976b301c508721faed549b4f">dtls.c</a>
-</li>
-<li>DTLS_HT_CERTIFICATE
-: <a class="el" href="dtls_8h.html#a55a0a899d7f151e7f53b76fe8a82c10e">dtls.h</a>
-</li>
-<li>DTLS_HT_CERTIFICATE_REQUEST
-: <a class="el" href="dtls_8h.html#a6f49d7b0a6e9190d71d51b1ee9ff3bd5">dtls.h</a>
-</li>
-<li>DTLS_HT_CERTIFICATE_VERIFY
-: <a class="el" href="dtls_8h.html#a9abc650dd8339a227ddd165ede9350d0">dtls.h</a>
-</li>
-<li>DTLS_HT_CLIENT_HELLO
-: <a class="el" href="dtls_8h.html#a25f0afef67a1fd8d9e3e61074d11e2f5">dtls.h</a>
-</li>
-<li>DTLS_HT_CLIENT_KEY_EXCHANGE
-: <a class="el" href="dtls_8h.html#a577885c74492a460729a451f33a894c4">dtls.h</a>
-</li>
-<li>DTLS_HT_FINISHED
-: <a class="el" href="dtls_8h.html#a16b49d03e041d43b60e1b7bacf35daad">dtls.h</a>
-</li>
-<li>DTLS_HT_HELLO_REQUEST
-: <a class="el" href="dtls_8h.html#a66566dfd30b8ab388c08b4cde6c667cc">dtls.h</a>
-</li>
-<li>DTLS_HT_HELLO_VERIFY_REQUEST
-: <a class="el" href="dtls_8h.html#ab04f98f1863c785fabd97925c9746f7d">dtls.h</a>
-</li>
-<li>DTLS_HT_SERVER_HELLO
-: <a class="el" href="dtls_8h.html#ad5882a5ff4073ffefa266bb2c4a1ee3c">dtls.h</a>
-</li>
-<li>DTLS_HT_SERVER_HELLO_DONE
-: <a class="el" href="dtls_8h.html#a44399f223a3e1c8a8bf3fc638a06a4d7">dtls.h</a>
-</li>
-<li>DTLS_HT_SERVER_KEY_EXCHANGE
-: <a class="el" href="dtls_8h.html#aab327e17614cf2902c5fc6169466613f">dtls.h</a>
-</li>
-<li>DTLS_HV_LENGTH
-: <a class="el" href="dtls_8c.html#a85d3d5311baabdaa06b7824528eef4e5">dtls.c</a>
-</li>
-<li>dtls_info
-: <a class="el" href="debug_8h.html#afde5692e7a590b0dd016d5753284c175">debug.h</a>
-</li>
-<li>DTLS_IV_LENGTH
-: <a class="el" href="crypto_8h.html#a8106002d0d69d8da810321c65ac71385">crypto.h</a>
-</li>
-<li>dtls_kb_client_iv
-: <a class="el" href="crypto_8h.html#a1d3c04e5d39477a525b5255ab3240094">crypto.h</a>
-</li>
-<li>dtls_kb_client_mac_secret
-: <a class="el" href="crypto_8h.html#a72899232c09d09b86326c6f234addc02">crypto.h</a>
-</li>
-<li>dtls_kb_client_write_key
-: <a class="el" href="crypto_8h.html#ab5659b0737d72a2fa1b1335952f9c305">crypto.h</a>
-</li>
-<li>dtls_kb_digest_size
-: <a class="el" href="crypto_8h.html#a5c3cbd4d9e514757deda211e97c9c758">crypto.h</a>
-</li>
-<li>dtls_kb_iv_size
-: <a class="el" href="crypto_8h.html#adcdadf1870e2acb2993b1a8726d26997">crypto.h</a>
-</li>
-<li>dtls_kb_key_size
-: <a class="el" href="crypto_8h.html#a726ef8efa2e072c3c5e1ea1019e716aa">crypto.h</a>
-</li>
-<li>dtls_kb_local_iv
-: <a class="el" href="crypto_8h.html#ae23208578ac21350cb5915d11da0a2e3">crypto.h</a>
-</li>
-<li>dtls_kb_local_mac_secret
-: <a class="el" href="crypto_8h.html#aa60519b0e9b775ccb0bdb46762f43418">crypto.h</a>
-</li>
-<li>dtls_kb_local_write_key
-: <a class="el" href="crypto_8h.html#a7c9e39188a2e50eb942ce8c7cd8add36">crypto.h</a>
-</li>
-<li>dtls_kb_mac_secret_size
-: <a class="el" href="crypto_8h.html#a1f320854c9f4e9b2105649b3624976b0">crypto.h</a>
-</li>
-<li>dtls_kb_remote_iv
-: <a class="el" href="crypto_8h.html#a7119d3239c34d7e7f219200792339541">crypto.h</a>
-</li>
-<li>dtls_kb_remote_mac_secret
-: <a class="el" href="crypto_8h.html#acf318c989f5bb90b863154abbc408b66">crypto.h</a>
-</li>
-<li>dtls_kb_remote_write_key
-: <a class="el" href="crypto_8h.html#addc8fcbbdd80ba924d0ded2a6bae97f4">crypto.h</a>
-</li>
-<li>dtls_kb_server_iv
-: <a class="el" href="crypto_8h.html#acdd95c24ec6aebf14dac6ee4386a79be">crypto.h</a>
-</li>
-<li>dtls_kb_server_mac_secret
-: <a class="el" href="crypto_8h.html#ac8fdf3770dcd956ca10d1044a57a7a3a">crypto.h</a>
-</li>
-<li>dtls_kb_server_write_key
-: <a class="el" href="crypto_8h.html#aea906786dcfa12acb320df731c8db7f6">crypto.h</a>
-</li>
-<li>dtls_kb_size
-: <a class="el" href="crypto_8h.html#a147bfdc558c2ec69ffdf388ae19ae01c">crypto.h</a>
-</li>
-<li>DTLS_KEY_LENGTH
-: <a class="el" href="crypto_8h.html#a829b5d5e4d693fdb3de335a0e2017076">crypto.h</a>
-</li>
-<li>DTLS_MAC_KEY_LENGTH
-: <a class="el" href="crypto_8h.html#a5962b0d908f9b15406ca53d27a33e08a">crypto.h</a>
-</li>
-<li>DTLS_MAC_LENGTH
-: <a class="el" href="crypto_8h.html#a4fa04874a476a8cc5048372b6d584dbe">crypto.h</a>
-</li>
-<li>DTLS_MASTER_SECRET_LENGTH
-: <a class="el" href="crypto_8h.html#a2648582ddf4c82abc01d8388bd3f15db">crypto.h</a>
-</li>
-<li>DTLS_MAX_BUF
-: <a class="el" href="global_8h.html#acdbfba15eb1a5692e177d582b4ca1583">global.h</a>
-</li>
-<li>dtls_notice
-: <a class="el" href="debug_8h.html#add9bf011215b9fc36abc5c80722c876e">debug.h</a>
-</li>
-<li>DTLS_PSK
-: <a class="el" href="dtls__config_8h.html#a5ce72e9d11801559b799b999f50c49cf">dtls_config.h</a>
-, <a class="el" href="tinydtls_8h.html#a5ce72e9d11801559b799b999f50c49cf">tinydtls.h</a>
-</li>
-<li>DTLS_PSK_MAX_CLIENT_IDENTITY_LEN
-: <a class="el" href="crypto_8h.html#ab96c8e0773a14d1ce1621eed1a78e2bd">crypto.h</a>
-</li>
-<li>DTLS_PSK_MAX_KEY_LEN
-: <a class="el" href="crypto_8h.html#a59cd7c0b8724e1f9b910611623396080">crypto.h</a>
-</li>
-<li>DTLS_RANDOM_LENGTH
-: <a class="el" href="crypto_8h.html#a5a0bdff7c0889f35601b4935098508a0">crypto.h</a>
-</li>
-<li>DTLS_RECORD_HEADER
-: <a class="el" href="dtls_8c.html#a35d050593196252c1826ac2e82cbac0b">dtls.c</a>
-</li>
-<li>DTLS_RH_LENGTH
-: <a class="el" href="dtls_8c.html#ae97c368900c13dc7074c09e8848afa8f">dtls.c</a>
-</li>
-<li>dtls_set_app_data
-: <a class="el" href="dtls_8h.html#a89611ebcb02bb3bbf56dfb583937586e">dtls.h</a>
-</li>
-<li>dtls_set_content_type
-: <a class="el" href="dtls_8c.html#a8e0ab8b3ce70468c29820cafe96cd365">dtls.c</a>
-</li>
-<li>dtls_set_length
-: <a class="el" href="dtls_8c.html#a9f723101896941fa44ea701c4dfd3591">dtls.c</a>
-</li>
-<li>dtls_set_version
-: <a class="el" href="dtls_8c.html#aebefc949b2298e7de7b95b715874d407">dtls.c</a>
-</li>
-<li>DTLS_SH_LENGTH
-: <a class="el" href="dtls_8c.html#afcca5dc5ebcc9eb8141ca0b49b647676">dtls.c</a>
-</li>
-<li>DTLS_SKEXEC_LENGTH
-: <a class="el" href="dtls_8c.html#ad9481c39cd66eac3059df28aef1e9843">dtls.c</a>
-</li>
-<li>DTLS_SKEXECPSK_LENGTH_MAX
-: <a class="el" href="dtls_8c.html#a8a4dc9af457241380a01c8e38fdc4e2d">dtls.c</a>
-</li>
-<li>DTLS_SKEXECPSK_LENGTH_MIN
-: <a class="el" href="dtls_8c.html#a4c0c656efcfd0e33595914171e51ae6d">dtls.c</a>
-</li>
-<li>DTLS_TICKS_PER_SECOND
-: <a class="el" href="group__clock.html#gae8610d63d209a8bf7858afc427db6168">dtls_time.h</a>
-</li>
-<li>DTLS_VERSION
-: <a class="el" href="dtls_8h.html#af0c44db3bf3a6a52e9ed271218daeaa6">dtls.h</a>
-</li>
-<li>dtls_warn
-: <a class="el" href="debug_8h.html#ae1c22127c92fab70da7bf9cae8536e5c">debug.h</a>
-</li>
-<li>DTLSv12
-: <a class="el" href="global_8h.html#a6b9b983a346a3e94eff205f8eab2bce0">global.h</a>
-</li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/globals_defs_e.html b/external/wakaama/examples/shared/tinydtls/doc/html/globals_defs_e.html
deleted file mode 100644 (file)
index 68a9092..0000000
+++ /dev/null
@@ -1,129 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: Globals</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li class="current"><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow3" class="tabs2">
-    <ul class="tablist">
-      <li><a href="globals.html"><span>All</span></a></li>
-      <li><a href="globals_func.html"><span>Functions</span></a></li>
-      <li><a href="globals_vars.html"><span>Variables</span></a></li>
-      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
-      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
-      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
-      <li class="current"><a href="globals_defs.html"><span>Macros</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow4" class="tabs3">
-    <ul class="tablist">
-      <li><a href="globals_defs.html#index__"><span>_</span></a></li>
-      <li><a href="globals_defs_a.html#index_a"><span>a</span></a></li>
-      <li><a href="globals_defs_c.html#index_c"><span>c</span></a></li>
-      <li><a href="globals_defs_d.html#index_d"><span>d</span></a></li>
-      <li class="current"><a href="globals_defs_e.html#index_e"><span>e</span></a></li>
-      <li><a href="globals_defs_g.html#index_g"><span>g</span></a></li>
-      <li><a href="globals_defs_h.html#index_h"><span>h</span></a></li>
-      <li><a href="globals_defs_l.html#index_l"><span>l</span></a></li>
-      <li><a href="globals_defs_m.html#index_m"><span>m</span></a></li>
-      <li><a href="globals_defs_p.html#index_p"><span>p</span></a></li>
-      <li><a href="globals_defs_r.html#index_r"><span>r</span></a></li>
-      <li><a href="globals_defs_s.html#index_s"><span>s</span></a></li>
-      <li><a href="globals_defs_t.html#index_t"><span>t</span></a></li>
-      <li><a href="globals_defs_u.html#index_u"><span>u</span></a></li>
-      <li><a href="globals_defs_w.html#index_w"><span>w</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="contents">
-&#160;
-
-<h3><a class="anchor" id="index_e"></a>- e -</h3><ul>
-<li>ELMT_FROM_HH
-: <a class="el" href="uthash_8h.html#a568e95048979b8b3e4ea1567fd91c186">uthash.h</a>
-</li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/globals_defs_g.html b/external/wakaama/examples/shared/tinydtls/doc/html/globals_defs_g.html
deleted file mode 100644 (file)
index 714ef1b..0000000
+++ /dev/null
@@ -1,129 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: Globals</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li class="current"><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow3" class="tabs2">
-    <ul class="tablist">
-      <li><a href="globals.html"><span>All</span></a></li>
-      <li><a href="globals_func.html"><span>Functions</span></a></li>
-      <li><a href="globals_vars.html"><span>Variables</span></a></li>
-      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
-      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
-      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
-      <li class="current"><a href="globals_defs.html"><span>Macros</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow4" class="tabs3">
-    <ul class="tablist">
-      <li><a href="globals_defs.html#index__"><span>_</span></a></li>
-      <li><a href="globals_defs_a.html#index_a"><span>a</span></a></li>
-      <li><a href="globals_defs_c.html#index_c"><span>c</span></a></li>
-      <li><a href="globals_defs_d.html#index_d"><span>d</span></a></li>
-      <li><a href="globals_defs_e.html#index_e"><span>e</span></a></li>
-      <li class="current"><a href="globals_defs_g.html#index_g"><span>g</span></a></li>
-      <li><a href="globals_defs_h.html#index_h"><span>h</span></a></li>
-      <li><a href="globals_defs_l.html#index_l"><span>l</span></a></li>
-      <li><a href="globals_defs_m.html#index_m"><span>m</span></a></li>
-      <li><a href="globals_defs_p.html#index_p"><span>p</span></a></li>
-      <li><a href="globals_defs_r.html#index_r"><span>r</span></a></li>
-      <li><a href="globals_defs_s.html#index_s"><span>s</span></a></li>
-      <li><a href="globals_defs_t.html#index_t"><span>t</span></a></li>
-      <li><a href="globals_defs_u.html#index_u"><span>u</span></a></li>
-      <li><a href="globals_defs_w.html#index_w"><span>w</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="contents">
-&#160;
-
-<h3><a class="anchor" id="index_g"></a>- g -</h3><ul>
-<li>get16bits
-: <a class="el" href="uthash_8h.html#abc7d71657be8975a51684e41029b7964">uthash.h</a>
-</li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/globals_defs_h.html b/external/wakaama/examples/shared/tinydtls/doc/html/globals_defs_h.html
deleted file mode 100644 (file)
index a4aa978..0000000
+++ /dev/null
@@ -1,390 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: Globals</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li class="current"><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow3" class="tabs2">
-    <ul class="tablist">
-      <li><a href="globals.html"><span>All</span></a></li>
-      <li><a href="globals_func.html"><span>Functions</span></a></li>
-      <li><a href="globals_vars.html"><span>Variables</span></a></li>
-      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
-      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
-      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
-      <li class="current"><a href="globals_defs.html"><span>Macros</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow4" class="tabs3">
-    <ul class="tablist">
-      <li><a href="globals_defs.html#index__"><span>_</span></a></li>
-      <li><a href="globals_defs_a.html#index_a"><span>a</span></a></li>
-      <li><a href="globals_defs_c.html#index_c"><span>c</span></a></li>
-      <li><a href="globals_defs_d.html#index_d"><span>d</span></a></li>
-      <li><a href="globals_defs_e.html#index_e"><span>e</span></a></li>
-      <li><a href="globals_defs_g.html#index_g"><span>g</span></a></li>
-      <li class="current"><a href="globals_defs_h.html#index_h"><span>h</span></a></li>
-      <li><a href="globals_defs_l.html#index_l"><span>l</span></a></li>
-      <li><a href="globals_defs_m.html#index_m"><span>m</span></a></li>
-      <li><a href="globals_defs_p.html#index_p"><span>p</span></a></li>
-      <li><a href="globals_defs_r.html#index_r"><span>r</span></a></li>
-      <li><a href="globals_defs_s.html#index_s"><span>s</span></a></li>
-      <li><a href="globals_defs_t.html#index_t"><span>t</span></a></li>
-      <li><a href="globals_defs_u.html#index_u"><span>u</span></a></li>
-      <li><a href="globals_defs_w.html#index_w"><span>w</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="contents">
-&#160;
-
-<h3><a class="anchor" id="index_h"></a>- h -</h3><ul>
-<li>HANDSHAKE
-: <a class="el" href="dtls_8c.html#a354c84e6c783c5d0cdbf905c27e77dc4">dtls.c</a>
-</li>
-<li>HASH_ADD
-: <a class="el" href="uthash_8h.html#aaf01358e257c8d838eb5e4b189f0c399">uthash.h</a>
-</li>
-<li>HASH_ADD_INT
-: <a class="el" href="uthash_8h.html#acf85835471af894e354efb7e346698f3">uthash.h</a>
-</li>
-<li>HASH_ADD_KEYPTR
-: <a class="el" href="uthash_8h.html#a0b7468360b5c788762cdb2ccf9cd4d26">uthash.h</a>
-</li>
-<li>HASH_ADD_PEER
-: <a class="el" href="dtls_8c.html#acf0d50c9f224c0677988f13e947e9523">dtls.c</a>
-</li>
-<li>HASH_ADD_PTR
-: <a class="el" href="uthash_8h.html#a2ad1f84ef1ba9df99fa2ada38cb61823">uthash.h</a>
-</li>
-<li>HASH_ADD_STR
-: <a class="el" href="uthash_8h.html#a9724951736f3985f74df17638c8a7885">uthash.h</a>
-</li>
-<li>HASH_ADD_TO_BKT
-: <a class="el" href="uthash_8h.html#a78e11adee321f45c5cb31ff2d6eb0348">uthash.h</a>
-</li>
-<li>HASH_BER
-: <a class="el" href="uthash_8h.html#a7271bf51d7fe2cf2c183578aee73601e">uthash.h</a>
-</li>
-<li>HASH_BKT_CAPACITY_THRESH
-: <a class="el" href="uthash_8h.html#a8ae3e6473261f6c4b78c030c94f5d68f">uthash.h</a>
-</li>
-<li>HASH_BLOOM_ADD
-: <a class="el" href="uthash_8h.html#acaad947212056cd8bfe3d660265fb2db">uthash.h</a>
-</li>
-<li>HASH_BLOOM_FREE
-: <a class="el" href="uthash_8h.html#ad6847ad938fc26bfd0726d7f159efd0a">uthash.h</a>
-</li>
-<li>HASH_BLOOM_MAKE
-: <a class="el" href="uthash_8h.html#a254f427772a1fe7a2480a8302af8f8b8">uthash.h</a>
-</li>
-<li>HASH_BLOOM_SIGNATURE
-: <a class="el" href="uthash_8h.html#a18a33f4269f05c1e81ce54edbc0ffca6">uthash.h</a>
-</li>
-<li>HASH_BLOOM_TEST
-: <a class="el" href="uthash_8h.html#a06bfbf880899d54da35487d0d39c1009">uthash.h</a>
-</li>
-<li>HASH_CLEAR
-: <a class="el" href="uthash_8h.html#a0512b3f7a824275579ec82643ef2cc23">uthash.h</a>
-</li>
-<li>HASH_CNT
-: <a class="el" href="uthash_8h.html#a6ea9e661cd8c35eff1fdcd5731127edd">uthash.h</a>
-</li>
-<li>HASH_COUNT
-: <a class="el" href="uthash_8h.html#a7d3edf55a3ee4da1a0e1b477c314342f">uthash.h</a>
-</li>
-<li>HASH_DEL
-: <a class="el" href="uthash_8h.html#a48b7ed374602dcb236501aa23a971f05">uthash.h</a>
-</li>
-<li>HASH_DEL_IN_BKT
-: <a class="el" href="uthash_8h.html#a1b2d6f694f98cf6350cdd18225cb3f78">uthash.h</a>
-</li>
-<li>HASH_DEL_PEER
-: <a class="el" href="dtls_8c.html#a0844494b0b76acb7bcf832ae74fb25c0">dtls.c</a>
-</li>
-<li>HASH_DELETE
-: <a class="el" href="uthash_8h.html#a3f83117e1108d63844a58d2d79c3b980">uthash.h</a>
-</li>
-<li>HASH_EMIT_KEY
-: <a class="el" href="uthash_8h.html#a44f9d46e2cc79652492e5dd3e6c40a15">uthash.h</a>
-</li>
-<li>HASH_EXPAND_BUCKETS
-: <a class="el" href="uthash_8h.html#a6439fd6271474e61b1840fbf83132f03">uthash.h</a>
-</li>
-<li>HASH_FCN
-: <a class="el" href="uthash_8h.html#abd3356419b386c379116393700a751d3">uthash.h</a>
-</li>
-<li>HASH_FIND
-: <a class="el" href="uthash_8h.html#ad4a1cd39c3044936c0e49d3f372c9dbf">uthash.h</a>
-</li>
-<li>HASH_FIND_IN_BKT
-: <a class="el" href="uthash_8h.html#a42ae87cc63106a82601808f19329502c">uthash.h</a>
-</li>
-<li>HASH_FIND_INT
-: <a class="el" href="uthash_8h.html#aadcb19b940348f3141bd51505ede0142">uthash.h</a>
-</li>
-<li>HASH_FIND_PEER
-: <a class="el" href="dtls_8c.html#a0ce6e5416f5479558116b881d3eb1ad6">dtls.c</a>
-</li>
-<li>HASH_FIND_PTR
-: <a class="el" href="uthash_8h.html#a26a887f8e31952034becac0cf446f6c3">uthash.h</a>
-</li>
-<li>HASH_FIND_STR
-: <a class="el" href="uthash_8h.html#a214529083adfab2fa8cd402d2eeb0a84">uthash.h</a>
-</li>
-<li>HASH_FNV
-: <a class="el" href="uthash_8h.html#ac99f9a353421537527a80b392089dd9d">uthash.h</a>
-</li>
-<li>HASH_FSCK
-: <a class="el" href="uthash_8h.html#a7d882fadb26a4e6c13c134d8be4d0759">uthash.h</a>
-</li>
-<li>HASH_INITIAL_NUM_BUCKETS
-: <a class="el" href="uthash_8h.html#a361cdc5e8d6d8fe5fae6912588ae15d0">uthash.h</a>
-</li>
-<li>HASH_INITIAL_NUM_BUCKETS_LOG2
-: <a class="el" href="uthash_8h.html#a0b39a5cf1d6c05c43bd8530db2ec908c">uthash.h</a>
-</li>
-<li>HASH_ITER
-: <a class="el" href="uthash_8h.html#a4d524042f1fcb976d8bccae9e4cc63d6">uthash.h</a>
-</li>
-<li>HASH_JEN
-: <a class="el" href="uthash_8h.html#aa16e3ae6125d7f10d3deb4695e0ee51e">uthash.h</a>
-</li>
-<li>HASH_JEN_MIX
-: <a class="el" href="uthash_8h.html#a6d37144e54d2bd49eb88fbfd04c59dc5">uthash.h</a>
-</li>
-<li>HASH_KEYCMP
-: <a class="el" href="uthash_8h.html#a35c9b682ebb7a8cbf284b9f0a9594095">uthash.h</a>
-</li>
-<li>HASH_MAKE_TABLE
-: <a class="el" href="uthash_8h.html#aeba971430f623b6334f565d9c7ec9de5">uthash.h</a>
-</li>
-<li>HASH_OAT
-: <a class="el" href="uthash_8h.html#abc7040b698211c1993441fb4165fa0b4">uthash.h</a>
-</li>
-<li>HASH_SAX
-: <a class="el" href="uthash_8h.html#aa4cb140b45415e7bf57237525388af79">uthash.h</a>
-</li>
-<li>HASH_SELECT
-: <a class="el" href="uthash_8h.html#ad190366f7a476ece79bd628240a5fc93">uthash.h</a>
-</li>
-<li>HASH_SFH
-: <a class="el" href="uthash_8h.html#ab595698a74642684dace0dfa47dab445">uthash.h</a>
-</li>
-<li>HASH_SIGNATURE
-: <a class="el" href="uthash_8h.html#a4a7a46b9b92a9c73e4f9321e8e6b6bb2">uthash.h</a>
-</li>
-<li>HASH_SORT
-: <a class="el" href="uthash_8h.html#a88d2ab40956878caacd02c214f7e8f15">uthash.h</a>
-</li>
-<li>HASH_SRT
-: <a class="el" href="uthash_8h.html#a388b4071dcff005154f431d3d3025fbd">uthash.h</a>
-</li>
-<li>HASH_TO_BKT
-: <a class="el" href="uthash_8h.html#a4d7691544128a6ef265f3e4fa5ed3113">uthash.h</a>
-</li>
-<li>HAVE_ARPA_INET_H
-: <a class="el" href="config_8h.html#a7d1a71461e07569d0c9003da24c30a59">config.h</a>
-, <a class="el" href="dtls__config_8h.html#a7d1a71461e07569d0c9003da24c30a59">dtls_config.h</a>
-</li>
-<li>HAVE_ASSERT_H
-: <a class="el" href="config_8h.html#ad0eabe2e5407bc73450eb15b657983cd">config.h</a>
-, <a class="el" href="dtls__config_8h.html#ad0eabe2e5407bc73450eb15b657983cd">dtls_config.h</a>
-</li>
-<li>HAVE_FCNTL_H
-: <a class="el" href="config_8h.html#a765d75020849aa0a9b6becd9a5b7a193">config.h</a>
-, <a class="el" href="dtls__config_8h.html#a765d75020849aa0a9b6becd9a5b7a193">dtls_config.h</a>
-</li>
-<li>HAVE_INTTYPES_H
-: <a class="el" href="config_8h.html#ab90a030ff2790ebdc176660a6dd2a478">config.h</a>
-, <a class="el" href="dtls__config_8h.html#ab90a030ff2790ebdc176660a6dd2a478">dtls_config.h</a>
-</li>
-<li>HAVE_MALLOC
-: <a class="el" href="config_8h.html#a14503280ca0cb757db915eea09282bfc">config.h</a>
-, <a class="el" href="dtls__config_8h.html#a14503280ca0cb757db915eea09282bfc">dtls_config.h</a>
-</li>
-<li>HAVE_MEMORY_H
-: <a class="el" href="config_8h.html#ae93a78f9d076138897af441c9f86f285">config.h</a>
-, <a class="el" href="dtls__config_8h.html#ae93a78f9d076138897af441c9f86f285">dtls_config.h</a>
-</li>
-<li>HAVE_MEMSET
-: <a class="el" href="config_8h.html#a3df52e9809253860c385be6f3a160607">config.h</a>
-, <a class="el" href="dtls__config_8h.html#a3df52e9809253860c385be6f3a160607">dtls_config.h</a>
-</li>
-<li>HAVE_NETDB_H
-: <a class="el" href="dtls__config_8h.html#a9fe2d1d4726a6b846483a2276866dc6e">dtls_config.h</a>
-, <a class="el" href="config_8h.html#a9fe2d1d4726a6b846483a2276866dc6e">config.h</a>
-</li>
-<li>HAVE_NETINET_IN_H
-: <a class="el" href="config_8h.html#a0938658b988a082864efcee2d1b2bfd2">config.h</a>
-, <a class="el" href="dtls__config_8h.html#a0938658b988a082864efcee2d1b2bfd2">dtls_config.h</a>
-</li>
-<li>HAVE_SELECT
-: <a class="el" href="config_8h.html#aee3a7313d861afa18971031528fd0cd5">config.h</a>
-, <a class="el" href="dtls__config_8h.html#aee3a7313d861afa18971031528fd0cd5">dtls_config.h</a>
-</li>
-<li>HAVE_SOCKET
-: <a class="el" href="config_8h.html#a4cd6234bfe3f7c10968a1151f43ce280">config.h</a>
-, <a class="el" href="dtls__config_8h.html#a4cd6234bfe3f7c10968a1151f43ce280">dtls_config.h</a>
-</li>
-<li>HAVE_STDDEF_H
-: <a class="el" href="config_8h.html#a0e6b9a04ae66b7846715e51a0a2dccff">config.h</a>
-, <a class="el" href="dtls__config_8h.html#a0e6b9a04ae66b7846715e51a0a2dccff">dtls_config.h</a>
-</li>
-<li>HAVE_STDINT_H
-: <a class="el" href="config_8h.html#ab6cd6d1c63c1e26ea2d4537b77148354">config.h</a>
-, <a class="el" href="dtls__config_8h.html#ab6cd6d1c63c1e26ea2d4537b77148354">dtls_config.h</a>
-</li>
-<li>HAVE_STDLIB_H
-: <a class="el" href="config_8h.html#a9e0e434ec1a6ddbd97db12b5a32905e0">config.h</a>
-, <a class="el" href="dtls__config_8h.html#a9e0e434ec1a6ddbd97db12b5a32905e0">dtls_config.h</a>
-</li>
-<li>HAVE_STRDUP
-: <a class="el" href="config_8h.html#a41b838eb3b86a0ebbd0981e92a759c0f">config.h</a>
-, <a class="el" href="dtls__config_8h.html#a41b838eb3b86a0ebbd0981e92a759c0f">dtls_config.h</a>
-</li>
-<li>HAVE_STRERROR
-: <a class="el" href="config_8h.html#a992653625041edef146772df96f7bca9">config.h</a>
-, <a class="el" href="dtls__config_8h.html#a992653625041edef146772df96f7bca9">dtls_config.h</a>
-</li>
-<li>HAVE_STRING_H
-: <a class="el" href="config_8h.html#ad4c234dd1625255dc626a15886306e7d">config.h</a>
-, <a class="el" href="dtls__config_8h.html#ad4c234dd1625255dc626a15886306e7d">dtls_config.h</a>
-</li>
-<li>HAVE_STRINGS_H
-: <a class="el" href="dtls__config_8h.html#a405d10d46190bcb0320524c54eafc850">dtls_config.h</a>
-, <a class="el" href="config_8h.html#a405d10d46190bcb0320524c54eafc850">config.h</a>
-</li>
-<li>HAVE_STRNLEN
-: <a class="el" href="config_8h.html#a9bee6d8db098b2230690f8e8db9ffb74">config.h</a>
-, <a class="el" href="dtls__config_8h.html#a9bee6d8db098b2230690f8e8db9ffb74">dtls_config.h</a>
-</li>
-<li>HAVE_SYS_PARAM_H
-: <a class="el" href="dtls__config_8h.html#a05aa9fc25e1231d8eb347390558e4e22">dtls_config.h</a>
-, <a class="el" href="config_8h.html#a05aa9fc25e1231d8eb347390558e4e22">config.h</a>
-</li>
-<li>HAVE_SYS_SOCKET_H
-: <a class="el" href="dtls__config_8h.html#afb96c2bc08ebf33cca68c714f624a58d">dtls_config.h</a>
-, <a class="el" href="config_8h.html#afb96c2bc08ebf33cca68c714f624a58d">config.h</a>
-</li>
-<li>HAVE_SYS_STAT_H
-: <a class="el" href="dtls__config_8h.html#ace156430ba007d19b4348a950d0c692b">dtls_config.h</a>
-, <a class="el" href="config_8h.html#ace156430ba007d19b4348a950d0c692b">config.h</a>
-</li>
-<li>HAVE_SYS_TIME_H
-: <a class="el" href="config_8h.html#a2aae46056558e9d6fef6380f9678ffe3">config.h</a>
-, <a class="el" href="dtls__config_8h.html#a2aae46056558e9d6fef6380f9678ffe3">dtls_config.h</a>
-</li>
-<li>HAVE_SYS_TYPES_H
-: <a class="el" href="config_8h.html#a69dc70bea5d1f8bd2be9740e974fa666">config.h</a>
-, <a class="el" href="dtls__config_8h.html#a69dc70bea5d1f8bd2be9740e974fa666">dtls_config.h</a>
-</li>
-<li>HAVE_TIME_H
-: <a class="el" href="config_8h.html#a2397007ae170bf57faa808bacaaa2499">config.h</a>
-, <a class="el" href="dtls__config_8h.html#a2397007ae170bf57faa808bacaaa2499">dtls_config.h</a>
-</li>
-<li>HAVE_UNISTD_H
-: <a class="el" href="dtls__config_8h.html#a219b06937831d0da94d801ab13987639">dtls_config.h</a>
-, <a class="el" href="config_8h.html#a219b06937831d0da94d801ab13987639">config.h</a>
-</li>
-<li>HAVE_VPRINTF
-: <a class="el" href="config_8h.html#a11e8ffa0e0ee1d52812402f2eac05fa7">config.h</a>
-, <a class="el" href="dtls__config_8h.html#a11e8ffa0e0ee1d52812402f2eac05fa7">dtls_config.h</a>
-</li>
-<li>HIGH
-: <a class="el" href="dtls_8c.html#aa5a8f0d3793bb3b194ca364b596ab01d">dtls.c</a>
-</li>
-<li>HMAC_UPDATE_SEED
-: <a class="el" href="crypto_8c.html#ab7ea6d487f3c6e67106df7f4d281804a">crypto.c</a>
-</li>
-<li>HS_HDR_LENGTH
-: <a class="el" href="dtls_8c.html#a76388c15f1b77d3c5b9d8068e8c0a087">dtls.c</a>
-</li>
-<li>HV_HDR_LENGTH
-: <a class="el" href="dtls_8c.html#a07a808dc78df3141fe5caba2a3e2226b">dtls.c</a>
-</li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/globals_defs_l.html b/external/wakaama/examples/shared/tinydtls/doc/html/globals_defs_l.html
deleted file mode 100644 (file)
index 5c42838..0000000
+++ /dev/null
@@ -1,171 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: Globals</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li class="current"><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow3" class="tabs2">
-    <ul class="tablist">
-      <li><a href="globals.html"><span>All</span></a></li>
-      <li><a href="globals_func.html"><span>Functions</span></a></li>
-      <li><a href="globals_vars.html"><span>Variables</span></a></li>
-      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
-      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
-      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
-      <li class="current"><a href="globals_defs.html"><span>Macros</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow4" class="tabs3">
-    <ul class="tablist">
-      <li><a href="globals_defs.html#index__"><span>_</span></a></li>
-      <li><a href="globals_defs_a.html#index_a"><span>a</span></a></li>
-      <li><a href="globals_defs_c.html#index_c"><span>c</span></a></li>
-      <li><a href="globals_defs_d.html#index_d"><span>d</span></a></li>
-      <li><a href="globals_defs_e.html#index_e"><span>e</span></a></li>
-      <li><a href="globals_defs_g.html#index_g"><span>g</span></a></li>
-      <li><a href="globals_defs_h.html#index_h"><span>h</span></a></li>
-      <li class="current"><a href="globals_defs_l.html#index_l"><span>l</span></a></li>
-      <li><a href="globals_defs_m.html#index_m"><span>m</span></a></li>
-      <li><a href="globals_defs_p.html#index_p"><span>p</span></a></li>
-      <li><a href="globals_defs_r.html#index_r"><span>r</span></a></li>
-      <li><a href="globals_defs_s.html#index_s"><span>s</span></a></li>
-      <li><a href="globals_defs_t.html#index_t"><span>t</span></a></li>
-      <li><a href="globals_defs_u.html#index_u"><span>u</span></a></li>
-      <li><a href="globals_defs_w.html#index_w"><span>w</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="contents">
-&#160;
-
-<h3><a class="anchor" id="index_l"></a>- l -</h3><ul>
-<li>LDECLTYPE
-: <a class="el" href="utlist_8h.html#ae8c9864192170d02fd996abaa1589611">utlist.h</a>
-</li>
-<li>LIST_CONCAT
-: <a class="el" href="t__list_8h.html#ad8951367826c57390a9f9892e0fc2659">t_list.h</a>
-</li>
-<li>LIST_STRUCT
-: <a class="el" href="t__list_8h.html#ab5acb500a887e1957292f3dddc5c9b79">t_list.h</a>
-</li>
-<li>LIST_STRUCT_INIT
-: <a class="el" href="t__list_8h.html#adcb86fe4485a0f8ea79541117641f730">t_list.h</a>
-</li>
-<li>LL_APPEND
-: <a class="el" href="utlist_8h.html#ace33c571c3df78e721a99a4494983855">utlist.h</a>
-</li>
-<li>LL_APPEND_VS2008
-: <a class="el" href="utlist_8h.html#a3c301ddde2cfd8c32df4137c902b66f3">utlist.h</a>
-</li>
-<li>LL_DELETE
-: <a class="el" href="utlist_8h.html#a34a4e54d488753465f6e87bb63b93c0e">utlist.h</a>
-</li>
-<li>LL_DELETE_VS2008
-: <a class="el" href="utlist_8h.html#a832d4d46464fb2dada9e198ad4f70cdf">utlist.h</a>
-</li>
-<li>LL_FOREACH
-: <a class="el" href="utlist_8h.html#a487c0ce49f397e1743caae16a797e4bb">utlist.h</a>
-</li>
-<li>LL_FOREACH_SAFE
-: <a class="el" href="utlist_8h.html#ad0a695664d31f0b929fd50b39ebcf0ef">utlist.h</a>
-</li>
-<li>LL_PREPEND
-: <a class="el" href="utlist_8h.html#a851fb4b583b0dc000097eeee6dd551d4">utlist.h</a>
-</li>
-<li>LL_SEARCH
-: <a class="el" href="utlist_8h.html#af7a5ae66c9386c4b89403d9ca038adcb">utlist.h</a>
-</li>
-<li>LL_SEARCH_SCALAR
-: <a class="el" href="utlist_8h.html#a8c5c97079c5b259e4c0ff7c563b0f8ed">utlist.h</a>
-</li>
-<li>LL_SORT
-: <a class="el" href="utlist_8h.html#a0b2137d4a0c157cb7a1a30d9340ece31">utlist.h</a>
-</li>
-<li>LOW
-: <a class="el" href="dtls_8c.html#a69edf0296cf64026686d4ff4424d4e8f">dtls.c</a>
-</li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/globals_defs_m.html b/external/wakaama/examples/shared/tinydtls/doc/html/globals_defs_m.html
deleted file mode 100644 (file)
index 814f16e..0000000
+++ /dev/null
@@ -1,145 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: Globals</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li class="current"><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow3" class="tabs2">
-    <ul class="tablist">
-      <li><a href="globals.html"><span>All</span></a></li>
-      <li><a href="globals_func.html"><span>Functions</span></a></li>
-      <li><a href="globals_vars.html"><span>Variables</span></a></li>
-      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
-      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
-      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
-      <li class="current"><a href="globals_defs.html"><span>Macros</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow4" class="tabs3">
-    <ul class="tablist">
-      <li><a href="globals_defs.html#index__"><span>_</span></a></li>
-      <li><a href="globals_defs_a.html#index_a"><span>a</span></a></li>
-      <li><a href="globals_defs_c.html#index_c"><span>c</span></a></li>
-      <li><a href="globals_defs_d.html#index_d"><span>d</span></a></li>
-      <li><a href="globals_defs_e.html#index_e"><span>e</span></a></li>
-      <li><a href="globals_defs_g.html#index_g"><span>g</span></a></li>
-      <li><a href="globals_defs_h.html#index_h"><span>h</span></a></li>
-      <li><a href="globals_defs_l.html#index_l"><span>l</span></a></li>
-      <li class="current"><a href="globals_defs_m.html#index_m"><span>m</span></a></li>
-      <li><a href="globals_defs_p.html#index_p"><span>p</span></a></li>
-      <li><a href="globals_defs_r.html#index_r"><span>r</span></a></li>
-      <li><a href="globals_defs_s.html#index_s"><span>s</span></a></li>
-      <li><a href="globals_defs_t.html#index_t"><span>t</span></a></li>
-      <li><a href="globals_defs_u.html#index_u"><span>u</span></a></li>
-      <li><a href="globals_defs_w.html#index_w"><span>w</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="contents">
-&#160;
-
-<h3><a class="anchor" id="index_m"></a>- m -</h3><ul>
-<li>MASK_L
-: <a class="el" href="ccm_8c.html#a46e95fc2cb115ab9c342707ec443265f">ccm.c</a>
-</li>
-<li>max
-: <a class="el" href="numeric_8h.html#a24e753bacac6be5f30e18f8a2bdefda4">numeric.h</a>
-</li>
-<li>MAX_KEYBLOCK_LENGTH
-: <a class="el" href="crypto_8h.html#a0df6db4f8c29f2b0aa5a1363b4f9127f">crypto.h</a>
-</li>
-<li>min
-: <a class="el" href="numeric_8h.html#a2d017cd3beb218080a7988e2deed2a11">numeric.h</a>
-, <a class="el" href="debug_8c.html#ac6afabdc09a49a433ee19d8a9486056d">debug.c</a>
-</li>
-<li>MUST_HASH
-: <a class="el" href="dtls_8c.html#a9279d8f0e7c7b30f968ed085b5a3136f">dtls.c</a>
-</li>
-<li>mycookie
-: <a class="el" href="dtls_8c.html#a97496e1be0f2fe54873b35ee8bf0d462">dtls.c</a>
-</li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/globals_defs_p.html b/external/wakaama/examples/shared/tinydtls/doc/html/globals_defs_p.html
deleted file mode 100644 (file)
index bce8c51..0000000
+++ /dev/null
@@ -1,159 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: Globals</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li class="current"><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow3" class="tabs2">
-    <ul class="tablist">
-      <li><a href="globals.html"><span>All</span></a></li>
-      <li><a href="globals_func.html"><span>Functions</span></a></li>
-      <li><a href="globals_vars.html"><span>Variables</span></a></li>
-      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
-      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
-      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
-      <li class="current"><a href="globals_defs.html"><span>Macros</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow4" class="tabs3">
-    <ul class="tablist">
-      <li><a href="globals_defs.html#index__"><span>_</span></a></li>
-      <li><a href="globals_defs_a.html#index_a"><span>a</span></a></li>
-      <li><a href="globals_defs_c.html#index_c"><span>c</span></a></li>
-      <li><a href="globals_defs_d.html#index_d"><span>d</span></a></li>
-      <li><a href="globals_defs_e.html#index_e"><span>e</span></a></li>
-      <li><a href="globals_defs_g.html#index_g"><span>g</span></a></li>
-      <li><a href="globals_defs_h.html#index_h"><span>h</span></a></li>
-      <li><a href="globals_defs_l.html#index_l"><span>l</span></a></li>
-      <li><a href="globals_defs_m.html#index_m"><span>m</span></a></li>
-      <li class="current"><a href="globals_defs_p.html#index_p"><span>p</span></a></li>
-      <li><a href="globals_defs_r.html#index_r"><span>r</span></a></li>
-      <li><a href="globals_defs_s.html#index_s"><span>s</span></a></li>
-      <li><a href="globals_defs_t.html#index_t"><span>t</span></a></li>
-      <li><a href="globals_defs_u.html#index_u"><span>u</span></a></li>
-      <li><a href="globals_defs_w.html#index_w"><span>w</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="contents">
-&#160;
-
-<h3><a class="anchor" id="index_p"></a>- p -</h3><ul>
-<li>PACKAGE_BUGREPORT
-: <a class="el" href="config_8h.html#a1d1d2d7f8d2f95b376954d649ab03233">config.h</a>
-, <a class="el" href="dtls__config_8h.html#a1d1d2d7f8d2f95b376954d649ab03233">dtls_config.h</a>
-</li>
-<li>PACKAGE_NAME
-: <a class="el" href="dtls__config_8h.html#a1c0439e4355794c09b64274849eb0279">dtls_config.h</a>
-, <a class="el" href="config_8h.html#a1c0439e4355794c09b64274849eb0279">config.h</a>
-</li>
-<li>PACKAGE_STRING
-: <a class="el" href="config_8h.html#ac73e6f903c16eca7710f92e36e1c6fbf">config.h</a>
-, <a class="el" href="dtls__config_8h.html#ac73e6f903c16eca7710f92e36e1c6fbf">dtls_config.h</a>
-</li>
-<li>PACKAGE_TARNAME
-: <a class="el" href="dtls__config_8h.html#af415af6bfede0e8d5453708afe68651c">dtls_config.h</a>
-, <a class="el" href="config_8h.html#af415af6bfede0e8d5453708afe68651c">config.h</a>
-</li>
-<li>PACKAGE_URL
-: <a class="el" href="config_8h.html#a5c93853116d5a50307b6744f147840aa">config.h</a>
-, <a class="el" href="dtls__config_8h.html#a5c93853116d5a50307b6744f147840aa">dtls_config.h</a>
-</li>
-<li>PACKAGE_VERSION
-: <a class="el" href="config_8h.html#aa326a05d5e30f9e9a4bb0b4469d5d0c0">config.h</a>
-, <a class="el" href="dtls__config_8h.html#aa326a05d5e30f9e9a4bb0b4469d5d0c0">dtls_config.h</a>
-</li>
-<li>PRF_LABEL
-: <a class="el" href="dtls_8c.html#abac8adda40bcb694e059e38f6ac115f9">dtls.c</a>
-</li>
-<li>PRF_LABEL_SIZE
-: <a class="el" href="dtls_8c.html#a83b260e812e69f1dae18497d167770a9">dtls.c</a>
-</li>
-<li>PRINTF
-: <a class="el" href="debug_8h.html#a1f464e950a4fa11e8821b5c725921a15">debug.h</a>
-</li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/globals_defs_r.html b/external/wakaama/examples/shared/tinydtls/doc/html/globals_defs_r.html
deleted file mode 100644 (file)
index bad308c..0000000
+++ /dev/null
@@ -1,129 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: Globals</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li class="current"><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow3" class="tabs2">
-    <ul class="tablist">
-      <li><a href="globals.html"><span>All</span></a></li>
-      <li><a href="globals_func.html"><span>Functions</span></a></li>
-      <li><a href="globals_vars.html"><span>Variables</span></a></li>
-      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
-      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
-      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
-      <li class="current"><a href="globals_defs.html"><span>Macros</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow4" class="tabs3">
-    <ul class="tablist">
-      <li><a href="globals_defs.html#index__"><span>_</span></a></li>
-      <li><a href="globals_defs_a.html#index_a"><span>a</span></a></li>
-      <li><a href="globals_defs_c.html#index_c"><span>c</span></a></li>
-      <li><a href="globals_defs_d.html#index_d"><span>d</span></a></li>
-      <li><a href="globals_defs_e.html#index_e"><span>e</span></a></li>
-      <li><a href="globals_defs_g.html#index_g"><span>g</span></a></li>
-      <li><a href="globals_defs_h.html#index_h"><span>h</span></a></li>
-      <li><a href="globals_defs_l.html#index_l"><span>l</span></a></li>
-      <li><a href="globals_defs_m.html#index_m"><span>m</span></a></li>
-      <li><a href="globals_defs_p.html#index_p"><span>p</span></a></li>
-      <li class="current"><a href="globals_defs_r.html#index_r"><span>r</span></a></li>
-      <li><a href="globals_defs_s.html#index_s"><span>s</span></a></li>
-      <li><a href="globals_defs_t.html#index_t"><span>t</span></a></li>
-      <li><a href="globals_defs_u.html#index_u"><span>u</span></a></li>
-      <li><a href="globals_defs_w.html#index_w"><span>w</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="contents">
-&#160;
-
-<h3><a class="anchor" id="index_r"></a>- r -</h3><ul>
-<li>R_KEY_OFFSET
-: <a class="el" href="dtls_8c.html#ab7a17e13b17da97cbef046b20cd7280f">dtls.c</a>
-</li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/globals_defs_s.html b/external/wakaama/examples/shared/tinydtls/doc/html/globals_defs_s.html
deleted file mode 100644 (file)
index f61cf73..0000000
+++ /dev/null
@@ -1,139 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: Globals</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li class="current"><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow3" class="tabs2">
-    <ul class="tablist">
-      <li><a href="globals.html"><span>All</span></a></li>
-      <li><a href="globals_func.html"><span>Functions</span></a></li>
-      <li><a href="globals_vars.html"><span>Variables</span></a></li>
-      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
-      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
-      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
-      <li class="current"><a href="globals_defs.html"><span>Macros</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow4" class="tabs3">
-    <ul class="tablist">
-      <li><a href="globals_defs.html#index__"><span>_</span></a></li>
-      <li><a href="globals_defs_a.html#index_a"><span>a</span></a></li>
-      <li><a href="globals_defs_c.html#index_c"><span>c</span></a></li>
-      <li><a href="globals_defs_d.html#index_d"><span>d</span></a></li>
-      <li><a href="globals_defs_e.html#index_e"><span>e</span></a></li>
-      <li><a href="globals_defs_g.html#index_g"><span>g</span></a></li>
-      <li><a href="globals_defs_h.html#index_h"><span>h</span></a></li>
-      <li><a href="globals_defs_l.html#index_l"><span>l</span></a></li>
-      <li><a href="globals_defs_m.html#index_m"><span>m</span></a></li>
-      <li><a href="globals_defs_p.html#index_p"><span>p</span></a></li>
-      <li><a href="globals_defs_r.html#index_r"><span>r</span></a></li>
-      <li class="current"><a href="globals_defs_s.html#index_s"><span>s</span></a></li>
-      <li><a href="globals_defs_t.html#index_t"><span>t</span></a></li>
-      <li><a href="globals_defs_u.html#index_u"><span>u</span></a></li>
-      <li><a href="globals_defs_w.html#index_w"><span>w</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="contents">
-&#160;
-
-<h3><a class="anchor" id="index_s"></a>- s -</h3><ul>
-<li>S_KEY_OFFSET
-: <a class="el" href="dtls_8c.html#a2cf5795397ac5779f281543fc0f44ae9">dtls.c</a>
-</li>
-<li>SET_COUNTER
-: <a class="el" href="ccm_8c.html#a13d9e1fa611f50a7176fd6da7b1b4994">ccm.c</a>
-</li>
-<li>SKIP_VAR_FIELD
-: <a class="el" href="dtls_8c.html#a09a0896d586ff27855ced6930cc17023">dtls.c</a>
-</li>
-<li>STDC_HEADERS
-: <a class="el" href="config_8h.html#a550e5c272cc3cf3814651721167dcd23">config.h</a>
-, <a class="el" href="dtls__config_8h.html#a550e5c272cc3cf3814651721167dcd23">dtls_config.h</a>
-</li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/globals_defs_t.html b/external/wakaama/examples/shared/tinydtls/doc/html/globals_defs_t.html
deleted file mode 100644 (file)
index 50e2957..0000000
+++ /dev/null
@@ -1,165 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: Globals</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li class="current"><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow3" class="tabs2">
-    <ul class="tablist">
-      <li><a href="globals.html"><span>All</span></a></li>
-      <li><a href="globals_func.html"><span>Functions</span></a></li>
-      <li><a href="globals_vars.html"><span>Variables</span></a></li>
-      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
-      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
-      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
-      <li class="current"><a href="globals_defs.html"><span>Macros</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow4" class="tabs3">
-    <ul class="tablist">
-      <li><a href="globals_defs.html#index__"><span>_</span></a></li>
-      <li><a href="globals_defs_a.html#index_a"><span>a</span></a></li>
-      <li><a href="globals_defs_c.html#index_c"><span>c</span></a></li>
-      <li><a href="globals_defs_d.html#index_d"><span>d</span></a></li>
-      <li><a href="globals_defs_e.html#index_e"><span>e</span></a></li>
-      <li><a href="globals_defs_g.html#index_g"><span>g</span></a></li>
-      <li><a href="globals_defs_h.html#index_h"><span>h</span></a></li>
-      <li><a href="globals_defs_l.html#index_l"><span>l</span></a></li>
-      <li><a href="globals_defs_m.html#index_m"><span>m</span></a></li>
-      <li><a href="globals_defs_p.html#index_p"><span>p</span></a></li>
-      <li><a href="globals_defs_r.html#index_r"><span>r</span></a></li>
-      <li><a href="globals_defs_s.html#index_s"><span>s</span></a></li>
-      <li class="current"><a href="globals_defs_t.html#index_t"><span>t</span></a></li>
-      <li><a href="globals_defs_u.html#index_u"><span>u</span></a></li>
-      <li><a href="globals_defs_w.html#index_w"><span>w</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="contents">
-&#160;
-
-<h3><a class="anchor" id="index_t"></a>- t -</h3><ul>
-<li>TLS_CERT_TYPE_RAW_PUBLIC_KEY
-: <a class="el" href="global_8h.html#af36d51830256b7d1bf4dbaa8590c19e4">global.h</a>
-</li>
-<li>TLS_CLIENT_CERTIFICATE_TYPE_ECDSA_SIGN
-: <a class="el" href="global_8h.html#aaace8dce4341d910140609a96bb300db">global.h</a>
-</li>
-<li>TLS_EC_CURVE_TYPE_NAMED_CURVE
-: <a class="el" href="global_8h.html#ac97469cc46ceeb148ee92f47a26ebcf6">global.h</a>
-</li>
-<li>TLS_EXT_CLIENT_CERTIFICATE_TYPE
-: <a class="el" href="global_8h.html#a0074adc0b2543a913a597e510caf27b0">global.h</a>
-</li>
-<li>TLS_EXT_EC_POINT_FORMATS
-: <a class="el" href="global_8h.html#a5d17863db920927ef8160547541b58e3">global.h</a>
-</li>
-<li>TLS_EXT_EC_POINT_FORMATS_UNCOMPRESSED
-: <a class="el" href="global_8h.html#af086ed2d0aea096be56bf7e46f8f72a6">global.h</a>
-</li>
-<li>TLS_EXT_ELLIPTIC_CURVES
-: <a class="el" href="global_8h.html#a7e080d630a40510f655bf6982c555063">global.h</a>
-</li>
-<li>TLS_EXT_ELLIPTIC_CURVES_SECP256R1
-: <a class="el" href="global_8h.html#a8095691f33c0ce6b22d205640ccc9417">global.h</a>
-</li>
-<li>TLS_EXT_ENCRYPT_THEN_MAC
-: <a class="el" href="global_8h.html#ae136afe82bd9031a4c1c604de0cb0118">global.h</a>
-</li>
-<li>TLS_EXT_SERVER_CERTIFICATE_TYPE
-: <a class="el" href="global_8h.html#ad465b86d1841ddd6c2209ff304895a95">global.h</a>
-</li>
-<li>TLS_EXT_SIG_HASH_ALGO
-: <a class="el" href="global_8h.html#a0249393d6894a15ac56962b2335add24">global.h</a>
-</li>
-<li>TLS_EXT_SIG_HASH_ALGO_ECDSA
-: <a class="el" href="global_8h.html#af126227a026a7af436a4323db6d02ecc">global.h</a>
-</li>
-<li>TLS_EXT_SIG_HASH_ALGO_SHA256
-: <a class="el" href="global_8h.html#aa347771eab2eabd24c4b9311fa61c4c9">global.h</a>
-</li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/globals_defs_u.html b/external/wakaama/examples/shared/tinydtls/doc/html/globals_defs_u.html
deleted file mode 100644 (file)
index 9c2c636..0000000
+++ /dev/null
@@ -1,147 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: Globals</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li class="current"><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow3" class="tabs2">
-    <ul class="tablist">
-      <li><a href="globals.html"><span>All</span></a></li>
-      <li><a href="globals_func.html"><span>Functions</span></a></li>
-      <li><a href="globals_vars.html"><span>Variables</span></a></li>
-      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
-      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
-      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
-      <li class="current"><a href="globals_defs.html"><span>Macros</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow4" class="tabs3">
-    <ul class="tablist">
-      <li><a href="globals_defs.html#index__"><span>_</span></a></li>
-      <li><a href="globals_defs_a.html#index_a"><span>a</span></a></li>
-      <li><a href="globals_defs_c.html#index_c"><span>c</span></a></li>
-      <li><a href="globals_defs_d.html#index_d"><span>d</span></a></li>
-      <li><a href="globals_defs_e.html#index_e"><span>e</span></a></li>
-      <li><a href="globals_defs_g.html#index_g"><span>g</span></a></li>
-      <li><a href="globals_defs_h.html#index_h"><span>h</span></a></li>
-      <li><a href="globals_defs_l.html#index_l"><span>l</span></a></li>
-      <li><a href="globals_defs_m.html#index_m"><span>m</span></a></li>
-      <li><a href="globals_defs_p.html#index_p"><span>p</span></a></li>
-      <li><a href="globals_defs_r.html#index_r"><span>r</span></a></li>
-      <li><a href="globals_defs_s.html#index_s"><span>s</span></a></li>
-      <li><a href="globals_defs_t.html#index_t"><span>t</span></a></li>
-      <li class="current"><a href="globals_defs_u.html#index_u"><span>u</span></a></li>
-      <li><a href="globals_defs_w.html#index_w"><span>w</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="contents">
-&#160;
-
-<h3><a class="anchor" id="index_u"></a>- u -</h3><ul>
-<li>uthash_expand_fyi
-: <a class="el" href="uthash_8h.html#a86ea78714da520989a6f7a764b4d71b4">uthash.h</a>
-</li>
-<li>uthash_fatal
-: <a class="el" href="uthash_8h.html#a03b52301b0ed976b6981ef33613320c1">uthash.h</a>
-</li>
-<li>uthash_free
-: <a class="el" href="uthash_8h.html#a56cdf8c254fc700332c8e6a7263b4657">uthash.h</a>
-</li>
-<li>uthash_malloc
-: <a class="el" href="uthash_8h.html#a861013aff36c0448f1888a2b0b5836d8">uthash.h</a>
-</li>
-<li>uthash_noexpand_fyi
-: <a class="el" href="uthash_8h.html#a7cc237d8f87de3836b5390856cfc5c86">uthash.h</a>
-</li>
-<li>UTHASH_VERSION
-: <a class="el" href="uthash_8h.html#aa56cef9cb86dc1f4b5d27ee3a691077e">uthash.h</a>
-</li>
-<li>UTLIST_VERSION
-: <a class="el" href="utlist_8h.html#a9f3779f3c49ddf609c97f1c3d1f29730">utlist.h</a>
-</li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/globals_defs_w.html b/external/wakaama/examples/shared/tinydtls/doc/html/globals_defs_w.html
deleted file mode 100644 (file)
index b110f9a..0000000
+++ /dev/null
@@ -1,129 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: Globals</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li class="current"><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow3" class="tabs2">
-    <ul class="tablist">
-      <li><a href="globals.html"><span>All</span></a></li>
-      <li><a href="globals_func.html"><span>Functions</span></a></li>
-      <li><a href="globals_vars.html"><span>Variables</span></a></li>
-      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
-      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
-      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
-      <li class="current"><a href="globals_defs.html"><span>Macros</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow4" class="tabs3">
-    <ul class="tablist">
-      <li><a href="globals_defs.html#index__"><span>_</span></a></li>
-      <li><a href="globals_defs_a.html#index_a"><span>a</span></a></li>
-      <li><a href="globals_defs_c.html#index_c"><span>c</span></a></li>
-      <li><a href="globals_defs_d.html#index_d"><span>d</span></a></li>
-      <li><a href="globals_defs_e.html#index_e"><span>e</span></a></li>
-      <li><a href="globals_defs_g.html#index_g"><span>g</span></a></li>
-      <li><a href="globals_defs_h.html#index_h"><span>h</span></a></li>
-      <li><a href="globals_defs_l.html#index_l"><span>l</span></a></li>
-      <li><a href="globals_defs_m.html#index_m"><span>m</span></a></li>
-      <li><a href="globals_defs_p.html#index_p"><span>p</span></a></li>
-      <li><a href="globals_defs_r.html#index_r"><span>r</span></a></li>
-      <li><a href="globals_defs_s.html#index_s"><span>s</span></a></li>
-      <li><a href="globals_defs_t.html#index_t"><span>t</span></a></li>
-      <li><a href="globals_defs_u.html#index_u"><span>u</span></a></li>
-      <li class="current"><a href="globals_defs_w.html#index_w"><span>w</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="contents">
-&#160;
-
-<h3><a class="anchor" id="index_w"></a>- w -</h3><ul>
-<li>WITH_SHA256
-: <a class="el" href="global_8h.html#a4da6212f220f78c713aa5e91f989e7d7">global.h</a>
-</li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/globals_e.html b/external/wakaama/examples/shared/tinydtls/doc/html/globals_e.html
deleted file mode 100644 (file)
index 35f8268..0000000
+++ /dev/null
@@ -1,141 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: Globals</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li class="current"><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow3" class="tabs2">
-    <ul class="tablist">
-      <li class="current"><a href="globals.html"><span>All</span></a></li>
-      <li><a href="globals_func.html"><span>Functions</span></a></li>
-      <li><a href="globals_vars.html"><span>Variables</span></a></li>
-      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
-      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
-      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
-      <li><a href="globals_defs.html"><span>Macros</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow4" class="tabs3">
-    <ul class="tablist">
-      <li><a href="globals.html#index__"><span>_</span></a></li>
-      <li><a href="globals_a.html#index_a"><span>a</span></a></li>
-      <li><a href="globals_b.html#index_b"><span>b</span></a></li>
-      <li><a href="globals_c.html#index_c"><span>c</span></a></li>
-      <li><a href="globals_d.html#index_d"><span>d</span></a></li>
-      <li class="current"><a href="globals_e.html#index_e"><span>e</span></a></li>
-      <li><a href="globals_f.html#index_f"><span>f</span></a></li>
-      <li><a href="globals_g.html#index_g"><span>g</span></a></li>
-      <li><a href="globals_h.html#index_h"><span>h</span></a></li>
-      <li><a href="globals_i.html#index_i"><span>i</span></a></li>
-      <li><a href="globals_k.html#index_k"><span>k</span></a></li>
-      <li><a href="globals_l.html#index_l"><span>l</span></a></li>
-      <li><a href="globals_m.html#index_m"><span>m</span></a></li>
-      <li><a href="globals_n.html#index_n"><span>n</span></a></li>
-      <li><a href="globals_p.html#index_p"><span>p</span></a></li>
-      <li><a href="globals_r.html#index_r"><span>r</span></a></li>
-      <li><a href="globals_s.html#index_s"><span>s</span></a></li>
-      <li><a href="globals_t.html#index_t"><span>t</span></a></li>
-      <li><a href="globals_u.html#index_u"><span>u</span></a></li>
-      <li><a href="globals_v.html#index_v"><span>v</span></a></li>
-      <li><a href="globals_w.html#index_w"><span>w</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="contents">
-<div class="textblock">Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:</div>
-
-<h3><a class="anchor" id="index_e"></a>- e -</h3><ul>
-<li>ELMT_FROM_HH
-: <a class="el" href="uthash_8h.html#a568e95048979b8b3e4ea1567fd91c186">uthash.h</a>
-</li>
-<li>encrypt()
-: <a class="el" href="ccm_8c.html#a983462ca57ee8fe54249c77281f6559e">ccm.c</a>
-</li>
-<li>equals()
-: <a class="el" href="global_8h.html#a8277c276ecd5cd2f998f08fd344d90ef">global.h</a>
-</li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/globals_enum.html b/external/wakaama/examples/shared/tinydtls/doc/html/globals_enum.html
deleted file mode 100644 (file)
index c80b03c..0000000
+++ /dev/null
@@ -1,138 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: Globals</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li class="current"><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow3" class="tabs2">
-    <ul class="tablist">
-      <li><a href="globals.html"><span>All</span></a></li>
-      <li><a href="globals_func.html"><span>Functions</span></a></li>
-      <li><a href="globals_vars.html"><span>Variables</span></a></li>
-      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
-      <li class="current"><a href="globals_enum.html"><span>Enumerations</span></a></li>
-      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
-      <li><a href="globals_defs.html"><span>Macros</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="contents">
-&#160;<ul>
-<li>dtls_alert_level_t
-: <a class="el" href="alert_8h.html#ab6264d1b950719f1c2e00b122cad871f">alert.h</a>
-</li>
-<li>dtls_alert_t
-: <a class="el" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbd">alert.h</a>
-</li>
-<li>dtls_cipher_t
-: <a class="el" href="global_8h.html#ada7e71454d685b693df45b2c1ea0c59b">global.h</a>
-</li>
-<li>dtls_compression_t
-: <a class="el" href="global_8h.html#a1ff555e0b1443c4cb4d17ac2161d89b2">global.h</a>
-</li>
-<li>dtls_credentials_type_t
-: <a class="el" href="dtls_8h.html#a36eda3add5e2d12a3b5e2b6fe7038e01">dtls.h</a>
-</li>
-<li>dtls_crypto_alg
-: <a class="el" href="crypto_8h.html#a41f1aa1e1380c5f51d9af32c0a53f7b1">crypto.h</a>
-</li>
-<li>dtls_ecdh_curve
-: <a class="el" href="crypto_8h.html#a3710d42871d602387a5147c05bf9f1ef">crypto.h</a>
-</li>
-<li>dtls_hashfunc_t
-: <a class="el" href="group__HMAC.html#ga698cfa036e69361a93dcdd9b19579b23">hmac.h</a>
-</li>
-<li>dtls_peer_type
-: <a class="el" href="peer_8h.html#ae30cd4bcffed73f79f17c09e5a1452c8">peer.h</a>
-</li>
-<li>dtls_state_t
-: <a class="el" href="state_8h.html#aea0e57fd5b857535960534b53361aa35">state.h</a>
-</li>
-<li>log_t
-: <a class="el" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9d">debug.h</a>
-</li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/globals_eval.html b/external/wakaama/examples/shared/tinydtls/doc/html/globals_eval.html
deleted file mode 100644 (file)
index de2b845..0000000
+++ /dev/null
@@ -1,319 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: Globals</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li class="current"><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow3" class="tabs2">
-    <ul class="tablist">
-      <li><a href="globals.html"><span>All</span></a></li>
-      <li><a href="globals_func.html"><span>Functions</span></a></li>
-      <li><a href="globals_vars.html"><span>Variables</span></a></li>
-      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
-      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
-      <li class="current"><a href="globals_eval.html"><span>Enumerator</span></a></li>
-      <li><a href="globals_defs.html"><span>Macros</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow4" class="tabs3">
-    <ul class="tablist">
-      <li><a href="#index_a"><span>a</span></a></li>
-      <li><a href="#index_d"><span>d</span></a></li>
-      <li><a href="#index_h"><span>h</span></a></li>
-      <li class="current"><a href="#index_t"><span>t</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="contents">
-&#160;
-
-<h3><a class="anchor" id="index_a"></a>- a -</h3><ul>
-<li>AES128
-: <a class="el" href="crypto_8h.html#a41f1aa1e1380c5f51d9af32c0a53f7b1a1832208b0a725185016b59150ff74fc4">crypto.h</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_d"></a>- d -</h3><ul>
-<li>DTLS_ALERT_ACCESS_DENIED
-: <a class="el" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdad86305f8c32e7600fcafc0abcedd0a11">alert.h</a>
-</li>
-<li>DTLS_ALERT_BAD_CERTIFICATE
-: <a class="el" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdaaf5d5f80170bcf70000c18876e7bdb5c">alert.h</a>
-</li>
-<li>DTLS_ALERT_BAD_RECORD_MAC
-: <a class="el" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda4005b89a3396b23037f8033b29268eca">alert.h</a>
-</li>
-<li>DTLS_ALERT_CERTIFICATE_EXPIRED
-: <a class="el" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda845dc73ad17d0fb919489cc110633782">alert.h</a>
-</li>
-<li>DTLS_ALERT_CERTIFICATE_REVOKED
-: <a class="el" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda2e000f966c0ff01cf198ea862aa5cfe1">alert.h</a>
-</li>
-<li>DTLS_ALERT_CERTIFICATE_UNKNOWN
-: <a class="el" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda450355820da8d9eff4dd6d17eb52585d">alert.h</a>
-</li>
-<li>DTLS_ALERT_CLOSE_NOTIFY
-: <a class="el" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda6bbae4f2f3747af4cdbe80c4a1061800">alert.h</a>
-</li>
-<li>DTLS_ALERT_DECODE_ERROR
-: <a class="el" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdae3249841cb226881ce6dadffb9f22649">alert.h</a>
-</li>
-<li>DTLS_ALERT_DECOMPRESSION_FAILURE
-: <a class="el" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdaaf4ca9003cf380ae80a46b925b482888">alert.h</a>
-</li>
-<li>DTLS_ALERT_DECRYPT_ERROR
-: <a class="el" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda56a136f4d20b3ce9fb967eedb37371e0">alert.h</a>
-</li>
-<li>DTLS_ALERT_HANDSHAKE_FAILURE
-: <a class="el" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdaea5ed33e912421eb48afb73ce0a6014d">alert.h</a>
-</li>
-<li>DTLS_ALERT_ILLEGAL_PARAMETER
-: <a class="el" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda880948aace26b2da8acde4c29ababcfc">alert.h</a>
-</li>
-<li>DTLS_ALERT_INSUFFICIENT_SECURITY
-: <a class="el" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda2cc56008c097883058c0e2e8ecc6751e">alert.h</a>
-</li>
-<li>DTLS_ALERT_INTERNAL_ERROR
-: <a class="el" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda22948f7c825b68cc18c79bd3634c8f58">alert.h</a>
-</li>
-<li>DTLS_ALERT_LEVEL_FATAL
-: <a class="el" href="alert_8h.html#ab6264d1b950719f1c2e00b122cad871fabd07bcf63c24aa5f1b9706a4197ceaf4">alert.h</a>
-</li>
-<li>DTLS_ALERT_LEVEL_WARNING
-: <a class="el" href="alert_8h.html#ab6264d1b950719f1c2e00b122cad871fa0f670b55dcb4ab291b869827d3c62ee7">alert.h</a>
-</li>
-<li>DTLS_ALERT_NO_RENEGOTIATION
-: <a class="el" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda8939a5d1777bf0dbdd8fa44e335137ab">alert.h</a>
-</li>
-<li>DTLS_ALERT_PROTOCOL_VERSION
-: <a class="el" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdaa392c9a6bb02b01386a1c34dc1947652">alert.h</a>
-</li>
-<li>DTLS_ALERT_RECORD_OVERFLOW
-: <a class="el" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdad4d94666f310fb6982c26c70eddd6d12">alert.h</a>
-</li>
-<li>DTLS_ALERT_UNEXPECTED_MESSAGE
-: <a class="el" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda7b9032725373912bd7fda54af8704d8a">alert.h</a>
-</li>
-<li>DTLS_ALERT_UNKNOWN_CA
-: <a class="el" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdaf8b7bd9f8a6c02080f4b1af566bc1a2f">alert.h</a>
-</li>
-<li>DTLS_ALERT_UNSUPPORTED_CERTIFICATE
-: <a class="el" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda0de27a30ca57e1a93a066e8dc6b6beab">alert.h</a>
-</li>
-<li>DTLS_ALERT_UNSUPPORTED_EXTENSION
-: <a class="el" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda8512357ac6a83788ea76feb2ed9e2efc">alert.h</a>
-</li>
-<li>DTLS_ALERT_USER_CANCELED
-: <a class="el" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda98631510b0a19a786fb4bc896ed37638">alert.h</a>
-</li>
-<li>DTLS_CLIENT
-: <a class="el" href="peer_8h.html#ae30cd4bcffed73f79f17c09e5a1452c8afd8391395303e28ee9b375232cb68a1e">peer.h</a>
-</li>
-<li>DTLS_ECDH_CURVE_SECP256R1
-: <a class="el" href="crypto_8h.html#a3710d42871d602387a5147c05bf9f1efa517a66bf6725327c3240add3537f34ff">crypto.h</a>
-</li>
-<li>DTLS_LOG_ALERT
-: <a class="el" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9da5d02ea1ea67cb762b8821f35d7cccd9e">debug.h</a>
-</li>
-<li>DTLS_LOG_CRIT
-: <a class="el" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9dae376c811a8735fe72f67131ba1a1428d">debug.h</a>
-</li>
-<li>DTLS_LOG_DEBUG
-: <a class="el" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9da87f82ea2bdc3f03d9f6d3355a5f8a020">debug.h</a>
-</li>
-<li>DTLS_LOG_EMERG
-: <a class="el" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9daaa080e6de827addce6dc6af232ecba3e">debug.h</a>
-</li>
-<li>DTLS_LOG_INFO
-: <a class="el" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9da9b79f1b32df348f97ce4366d0f0454c7">debug.h</a>
-</li>
-<li>DTLS_LOG_NOTICE
-: <a class="el" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9da5f9ff4e9574b821a0c43261c9a9dca09">debug.h</a>
-</li>
-<li>DTLS_LOG_WARN
-: <a class="el" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9dafd78dbf760d741729305d83727c14c70">debug.h</a>
-</li>
-<li>DTLS_PSK_HINT
-: <a class="el" href="dtls_8h.html#a36eda3add5e2d12a3b5e2b6fe7038e01a53b5588e3c87ce19b1340baf193d130c">dtls.h</a>
-</li>
-<li>DTLS_PSK_IDENTITY
-: <a class="el" href="dtls_8h.html#a36eda3add5e2d12a3b5e2b6fe7038e01adb8cac45614b2bc4e66970b64043cfc2">dtls.h</a>
-</li>
-<li>DTLS_PSK_KEY
-: <a class="el" href="dtls_8h.html#a36eda3add5e2d12a3b5e2b6fe7038e01a1d64c04f18b370cf742595dc91098db4">dtls.h</a>
-</li>
-<li>DTLS_SERVER
-: <a class="el" href="peer_8h.html#ae30cd4bcffed73f79f17c09e5a1452c8a7c2a694fc87273c445ad661575b28255">peer.h</a>
-</li>
-<li>DTLS_STATE_CLIENTHELLO
-: <a class="el" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a1a76f1e49c80d22df9673f8471d1ec53">state.h</a>
-</li>
-<li>DTLS_STATE_CLOSED
-: <a class="el" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a88bc0f5ff63003f57a59700dc4b55553">state.h</a>
-</li>
-<li>DTLS_STATE_CLOSING
-: <a class="el" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a4aa3fcce37191fc2a915aa330efd381b">state.h</a>
-</li>
-<li>DTLS_STATE_CONNECTED
-: <a class="el" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a953a6aabd0aff0492df164e79815b122">state.h</a>
-</li>
-<li>DTLS_STATE_FINISHED
-: <a class="el" href="state_8h.html#aea0e57fd5b857535960534b53361aa35afe3ae5ff9df44c8101223efec2916c0b">state.h</a>
-</li>
-<li>DTLS_STATE_INIT
-: <a class="el" href="state_8h.html#aea0e57fd5b857535960534b53361aa35afa23f2a7b1313abfb472a55a17cc26b8">state.h</a>
-</li>
-<li>DTLS_STATE_WAIT_CERTIFICATEVERIFY
-: <a class="el" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a1bb7cd2cdb77a9cdc5a5df541e8d99c4">state.h</a>
-</li>
-<li>DTLS_STATE_WAIT_CHANGECIPHERSPEC
-: <a class="el" href="state_8h.html#aea0e57fd5b857535960534b53361aa35ab3436ceaa0f47131771c288b8b5f1840">state.h</a>
-</li>
-<li>DTLS_STATE_WAIT_CLIENTCERTIFICATE
-: <a class="el" href="state_8h.html#aea0e57fd5b857535960534b53361aa35abdb6292772d18296f76c90fdc2533ab9">state.h</a>
-</li>
-<li>DTLS_STATE_WAIT_CLIENTHELLO
-: <a class="el" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a84b76c7a571c4b1d659e26d4e540c151">state.h</a>
-</li>
-<li>DTLS_STATE_WAIT_CLIENTKEYEXCHANGE
-: <a class="el" href="state_8h.html#aea0e57fd5b857535960534b53361aa35aa013ec95c846eaebd37acecc1a2f8a05">state.h</a>
-</li>
-<li>DTLS_STATE_WAIT_FINISHED
-: <a class="el" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a8c1ffc1652e7c5ba25239fe1f3a430ba">state.h</a>
-</li>
-<li>DTLS_STATE_WAIT_SERVERCERTIFICATE
-: <a class="el" href="state_8h.html#aea0e57fd5b857535960534b53361aa35aa58cb54cde33e338814177a41ca2df6b">state.h</a>
-</li>
-<li>DTLS_STATE_WAIT_SERVERHELLODONE
-: <a class="el" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a5c55da9c6de8eb986de811cf2135a1a0">state.h</a>
-</li>
-<li>DTLS_STATE_WAIT_SERVERKEYEXCHANGE
-: <a class="el" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a97f1fd8aadc13e8d721d5e40d42a0330">state.h</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_h"></a>- h -</h3><ul>
-<li>HASH_MD5
-: <a class="el" href="group__HMAC.html#gga698cfa036e69361a93dcdd9b19579b23a45c78681038e51d5f54554130b0b79ab">hmac.h</a>
-</li>
-<li>HASH_NONE
-: <a class="el" href="group__HMAC.html#gga698cfa036e69361a93dcdd9b19579b23a065bed423473d8a44394cd4415de3018">hmac.h</a>
-</li>
-<li>HASH_SHA1
-: <a class="el" href="group__HMAC.html#gga698cfa036e69361a93dcdd9b19579b23a25c481ea5e9f16f9b40fe773528aef03">hmac.h</a>
-</li>
-<li>HASH_SHA224
-: <a class="el" href="group__HMAC.html#gga698cfa036e69361a93dcdd9b19579b23a0a7940bf3dbc032d803b1b688e5570e5">hmac.h</a>
-</li>
-<li>HASH_SHA256
-: <a class="el" href="group__HMAC.html#gga698cfa036e69361a93dcdd9b19579b23a3690b7a5bf11282bcdaa199c11408dd3">hmac.h</a>
-</li>
-<li>HASH_SHA384
-: <a class="el" href="group__HMAC.html#gga698cfa036e69361a93dcdd9b19579b23abb45ce56a912f1175c413afcb3e1f970">hmac.h</a>
-</li>
-<li>HASH_SHA512
-: <a class="el" href="group__HMAC.html#gga698cfa036e69361a93dcdd9b19579b23a6d06d1ec4dbf3aa876fda6ca1c5b0f66">hmac.h</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_t"></a>- t -</h3><ul>
-<li>TLS_COMPRESSION_NULL
-: <a class="el" href="global_8h.html#a1ff555e0b1443c4cb4d17ac2161d89b2ac5b79ee16e8c0e46873fa63fdb1ab9ca">global.h</a>
-</li>
-<li>TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8
-: <a class="el" href="global_8h.html#ada7e71454d685b693df45b2c1ea0c59ba197892e216f63ddbc91c2b006a2d4c1e">global.h</a>
-</li>
-<li>TLS_NULL_WITH_NULL_NULL
-: <a class="el" href="global_8h.html#ada7e71454d685b693df45b2c1ea0c59bacf33de998fd00f096eebbb0742d80abd">global.h</a>
-</li>
-<li>TLS_PSK_WITH_AES_128_CCM_8
-: <a class="el" href="global_8h.html#ada7e71454d685b693df45b2c1ea0c59ba39a3062f136db88f648ce514a591fac8">global.h</a>
-</li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/globals_f.html b/external/wakaama/examples/shared/tinydtls/doc/html/globals_f.html
deleted file mode 100644 (file)
index 27f9038..0000000
+++ /dev/null
@@ -1,138 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: Globals</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li class="current"><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow3" class="tabs2">
-    <ul class="tablist">
-      <li class="current"><a href="globals.html"><span>All</span></a></li>
-      <li><a href="globals_func.html"><span>Functions</span></a></li>
-      <li><a href="globals_vars.html"><span>Variables</span></a></li>
-      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
-      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
-      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
-      <li><a href="globals_defs.html"><span>Macros</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow4" class="tabs3">
-    <ul class="tablist">
-      <li><a href="globals.html#index__"><span>_</span></a></li>
-      <li><a href="globals_a.html#index_a"><span>a</span></a></li>
-      <li><a href="globals_b.html#index_b"><span>b</span></a></li>
-      <li><a href="globals_c.html#index_c"><span>c</span></a></li>
-      <li><a href="globals_d.html#index_d"><span>d</span></a></li>
-      <li><a href="globals_e.html#index_e"><span>e</span></a></li>
-      <li class="current"><a href="globals_f.html#index_f"><span>f</span></a></li>
-      <li><a href="globals_g.html#index_g"><span>g</span></a></li>
-      <li><a href="globals_h.html#index_h"><span>h</span></a></li>
-      <li><a href="globals_i.html#index_i"><span>i</span></a></li>
-      <li><a href="globals_k.html#index_k"><span>k</span></a></li>
-      <li><a href="globals_l.html#index_l"><span>l</span></a></li>
-      <li><a href="globals_m.html#index_m"><span>m</span></a></li>
-      <li><a href="globals_n.html#index_n"><span>n</span></a></li>
-      <li><a href="globals_p.html#index_p"><span>p</span></a></li>
-      <li><a href="globals_r.html#index_r"><span>r</span></a></li>
-      <li><a href="globals_s.html#index_s"><span>s</span></a></li>
-      <li><a href="globals_t.html#index_t"><span>t</span></a></li>
-      <li><a href="globals_u.html#index_u"><span>u</span></a></li>
-      <li><a href="globals_v.html#index_v"><span>v</span></a></li>
-      <li><a href="globals_w.html#index_w"><span>w</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="contents">
-<div class="textblock">Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:</div>
-
-<h3><a class="anchor" id="index_f"></a>- f -</h3><ul>
-<li>finalize_hs_hash()
-: <a class="el" href="dtls_8c.html#adb41bf916dc34af5cd79003a9243b727">dtls.c</a>
-</li>
-<li>free_context()
-: <a class="el" href="dtls_8c.html#aa2f1fb16f297640b319ff0d864139ea5">dtls.c</a>
-</li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/globals_func.html b/external/wakaama/examples/shared/tinydtls/doc/html/globals_func.html
deleted file mode 100644 (file)
index 21e53d2..0000000
+++ /dev/null
@@ -1,133 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: Globals</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li class="current"><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow3" class="tabs2">
-    <ul class="tablist">
-      <li><a href="globals.html"><span>All</span></a></li>
-      <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
-      <li><a href="globals_vars.html"><span>Variables</span></a></li>
-      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
-      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
-      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
-      <li><a href="globals_defs.html"><span>Macros</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow4" class="tabs3">
-    <ul class="tablist">
-      <li class="current"><a href="globals_func.html#index__"><span>_</span></a></li>
-      <li><a href="globals_func_a.html#index_a"><span>a</span></a></li>
-      <li><a href="globals_func_b.html#index_b"><span>b</span></a></li>
-      <li><a href="globals_func_c.html#index_c"><span>c</span></a></li>
-      <li><a href="globals_func_d.html#index_d"><span>d</span></a></li>
-      <li><a href="globals_func_e.html#index_e"><span>e</span></a></li>
-      <li><a href="globals_func_f.html#index_f"><span>f</span></a></li>
-      <li><a href="globals_func_h.html#index_h"><span>h</span></a></li>
-      <li><a href="globals_func_i.html#index_i"><span>i</span></a></li>
-      <li><a href="globals_func_k.html#index_k"><span>k</span></a></li>
-      <li><a href="globals_func_l.html#index_l"><span>l</span></a></li>
-      <li><a href="globals_func_m.html#index_m"><span>m</span></a></li>
-      <li><a href="globals_func_n.html#index_n"><span>n</span></a></li>
-      <li><a href="globals_func_p.html#index_p"><span>p</span></a></li>
-      <li><a href="globals_func_u.html#index_u"><span>u</span></a></li>
-      <li><a href="globals_func_v.html#index_v"><span>v</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="contents">
-&#160;
-
-<h3><a class="anchor" id="index__"></a>- _ -</h3><ul>
-<li>__attribute__()
-: <a class="el" href="dtls_8h.html#ad09246453a4dabd919c7541484046a87">dtls.h</a>
-</li>
-<li>_dtls_address_equals_impl()
-: <a class="el" href="session_8c.html#af9b9333222aabb1440f5c7846f7be85f">session.c</a>
-</li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/globals_func_a.html b/external/wakaama/examples/shared/tinydtls/doc/html/globals_func_a.html
deleted file mode 100644 (file)
index 5f6db3d..0000000
+++ /dev/null
@@ -1,130 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: Globals</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li class="current"><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow3" class="tabs2">
-    <ul class="tablist">
-      <li><a href="globals.html"><span>All</span></a></li>
-      <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
-      <li><a href="globals_vars.html"><span>Variables</span></a></li>
-      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
-      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
-      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
-      <li><a href="globals_defs.html"><span>Macros</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow4" class="tabs3">
-    <ul class="tablist">
-      <li><a href="globals_func.html#index__"><span>_</span></a></li>
-      <li class="current"><a href="globals_func_a.html#index_a"><span>a</span></a></li>
-      <li><a href="globals_func_b.html#index_b"><span>b</span></a></li>
-      <li><a href="globals_func_c.html#index_c"><span>c</span></a></li>
-      <li><a href="globals_func_d.html#index_d"><span>d</span></a></li>
-      <li><a href="globals_func_e.html#index_e"><span>e</span></a></li>
-      <li><a href="globals_func_f.html#index_f"><span>f</span></a></li>
-      <li><a href="globals_func_h.html#index_h"><span>h</span></a></li>
-      <li><a href="globals_func_i.html#index_i"><span>i</span></a></li>
-      <li><a href="globals_func_k.html#index_k"><span>k</span></a></li>
-      <li><a href="globals_func_l.html#index_l"><span>l</span></a></li>
-      <li><a href="globals_func_m.html#index_m"><span>m</span></a></li>
-      <li><a href="globals_func_n.html#index_n"><span>n</span></a></li>
-      <li><a href="globals_func_p.html#index_p"><span>p</span></a></li>
-      <li><a href="globals_func_u.html#index_u"><span>u</span></a></li>
-      <li><a href="globals_func_v.html#index_v"><span>v</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="contents">
-&#160;
-
-<h3><a class="anchor" id="index_a"></a>- a -</h3><ul>
-<li>add_auth_data()
-: <a class="el" href="ccm_8c.html#a59faf5a2a638dc03c01605d4bebe0bcc">ccm.c</a>
-</li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/globals_func_b.html b/external/wakaama/examples/shared/tinydtls/doc/html/globals_func_b.html
deleted file mode 100644 (file)
index 2d69621..0000000
+++ /dev/null
@@ -1,130 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: Globals</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li class="current"><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow3" class="tabs2">
-    <ul class="tablist">
-      <li><a href="globals.html"><span>All</span></a></li>
-      <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
-      <li><a href="globals_vars.html"><span>Variables</span></a></li>
-      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
-      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
-      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
-      <li><a href="globals_defs.html"><span>Macros</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow4" class="tabs3">
-    <ul class="tablist">
-      <li><a href="globals_func.html#index__"><span>_</span></a></li>
-      <li><a href="globals_func_a.html#index_a"><span>a</span></a></li>
-      <li class="current"><a href="globals_func_b.html#index_b"><span>b</span></a></li>
-      <li><a href="globals_func_c.html#index_c"><span>c</span></a></li>
-      <li><a href="globals_func_d.html#index_d"><span>d</span></a></li>
-      <li><a href="globals_func_e.html#index_e"><span>e</span></a></li>
-      <li><a href="globals_func_f.html#index_f"><span>f</span></a></li>
-      <li><a href="globals_func_h.html#index_h"><span>h</span></a></li>
-      <li><a href="globals_func_i.html#index_i"><span>i</span></a></li>
-      <li><a href="globals_func_k.html#index_k"><span>k</span></a></li>
-      <li><a href="globals_func_l.html#index_l"><span>l</span></a></li>
-      <li><a href="globals_func_m.html#index_m"><span>m</span></a></li>
-      <li><a href="globals_func_n.html#index_n"><span>n</span></a></li>
-      <li><a href="globals_func_p.html#index_p"><span>p</span></a></li>
-      <li><a href="globals_func_u.html#index_u"><span>u</span></a></li>
-      <li><a href="globals_func_v.html#index_v"><span>v</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="contents">
-&#160;
-
-<h3><a class="anchor" id="index_b"></a>- b -</h3><ul>
-<li>block0()
-: <a class="el" href="ccm_8c.html#a1dfe92428f63772e3907a26435e54354">ccm.c</a>
-</li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/globals_func_c.html b/external/wakaama/examples/shared/tinydtls/doc/html/globals_func_c.html
deleted file mode 100644 (file)
index eecacf1..0000000
+++ /dev/null
@@ -1,173 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: Globals</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li class="current"><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow3" class="tabs2">
-    <ul class="tablist">
-      <li><a href="globals.html"><span>All</span></a></li>
-      <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
-      <li><a href="globals_vars.html"><span>Variables</span></a></li>
-      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
-      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
-      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
-      <li><a href="globals_defs.html"><span>Macros</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow4" class="tabs3">
-    <ul class="tablist">
-      <li><a href="globals_func.html#index__"><span>_</span></a></li>
-      <li><a href="globals_func_a.html#index_a"><span>a</span></a></li>
-      <li><a href="globals_func_b.html#index_b"><span>b</span></a></li>
-      <li class="current"><a href="globals_func_c.html#index_c"><span>c</span></a></li>
-      <li><a href="globals_func_d.html#index_d"><span>d</span></a></li>
-      <li><a href="globals_func_e.html#index_e"><span>e</span></a></li>
-      <li><a href="globals_func_f.html#index_f"><span>f</span></a></li>
-      <li><a href="globals_func_h.html#index_h"><span>h</span></a></li>
-      <li><a href="globals_func_i.html#index_i"><span>i</span></a></li>
-      <li><a href="globals_func_k.html#index_k"><span>k</span></a></li>
-      <li><a href="globals_func_l.html#index_l"><span>l</span></a></li>
-      <li><a href="globals_func_m.html#index_m"><span>m</span></a></li>
-      <li><a href="globals_func_n.html#index_n"><span>n</span></a></li>
-      <li><a href="globals_func_p.html#index_p"><span>p</span></a></li>
-      <li><a href="globals_func_u.html#index_u"><span>u</span></a></li>
-      <li><a href="globals_func_v.html#index_v"><span>v</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="contents">
-&#160;
-
-<h3><a class="anchor" id="index_c"></a>- c -</h3><ul>
-<li>calculate_key_block()
-: <a class="el" href="dtls_8c.html#a94199c9fa65db19e0f761e3ff973eb4b">dtls.c</a>
-</li>
-<li>check_certificate_request()
-: <a class="el" href="dtls_8c.html#a61ddc44bfdb8a92b72911a402aa0164e">dtls.c</a>
-</li>
-<li>check_client_certificate_verify()
-: <a class="el" href="dtls_8c.html#a017195b30506fbdf32fff55af9276a02">dtls.c</a>
-</li>
-<li>check_client_keyexchange()
-: <a class="el" href="dtls_8c.html#ab9251eac8015afc7985ff4398657ea3f">dtls.c</a>
-</li>
-<li>check_finished()
-: <a class="el" href="dtls_8c.html#a91b2653747ca1e4058ae3b350019188b">dtls.c</a>
-</li>
-<li>check_server_certificate()
-: <a class="el" href="dtls_8c.html#a88db0e7ffa0836761bef7b62ac3d2fb7">dtls.c</a>
-</li>
-<li>check_server_hello()
-: <a class="el" href="dtls_8c.html#afcc64c0abfd9b157b71a47e5a5a78b26">dtls.c</a>
-</li>
-<li>check_server_hello_verify_request()
-: <a class="el" href="dtls_8c.html#a2b598b29d3148bfc02e826d94bbc0642">dtls.c</a>
-</li>
-<li>check_server_hellodone()
-: <a class="el" href="dtls_8c.html#aca393c29148080d4dfa343c8ec283928">dtls.c</a>
-</li>
-<li>check_server_key_exchange_ecdsa()
-: <a class="el" href="dtls_8c.html#a3de5b3956733293d3e19d83d3cc8d9bb">dtls.c</a>
-</li>
-<li>check_server_key_exchange_psk()
-: <a class="el" href="dtls_8c.html#a915dccbe7e71d52d2650378f3aaad054">dtls.c</a>
-</li>
-<li>check_stack()
-: <a class="el" href="debug_8h.html#a4a3c60a1e54594e78cd207c57ddb1378">debug.h</a>
-</li>
-<li>clear_hs_hash()
-: <a class="el" href="dtls_8c.html#a82181208ec1e9f42896f0606e0036c1d">dtls.c</a>
-</li>
-<li>copy_hs_hash()
-: <a class="el" href="dtls_8c.html#a22ab7a79391c2204337237949d69dad8">dtls.c</a>
-</li>
-<li>crypto_init()
-: <a class="el" href="crypto_8c.html#a86e6ce9d4b4afcef355836955697f52c">crypto.c</a>
-, <a class="el" href="crypto_8h.html#a86e6ce9d4b4afcef355836955697f52c">crypto.h</a>
-</li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/globals_func_d.html b/external/wakaama/examples/shared/tinydtls/doc/html/globals_func_d.html
deleted file mode 100644 (file)
index fea3aa7..0000000
+++ /dev/null
@@ -1,563 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: Globals</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li class="current"><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow3" class="tabs2">
-    <ul class="tablist">
-      <li><a href="globals.html"><span>All</span></a></li>
-      <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
-      <li><a href="globals_vars.html"><span>Variables</span></a></li>
-      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
-      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
-      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
-      <li><a href="globals_defs.html"><span>Macros</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow4" class="tabs3">
-    <ul class="tablist">
-      <li><a href="globals_func.html#index__"><span>_</span></a></li>
-      <li><a href="globals_func_a.html#index_a"><span>a</span></a></li>
-      <li><a href="globals_func_b.html#index_b"><span>b</span></a></li>
-      <li><a href="globals_func_c.html#index_c"><span>c</span></a></li>
-      <li class="current"><a href="globals_func_d.html#index_d"><span>d</span></a></li>
-      <li><a href="globals_func_e.html#index_e"><span>e</span></a></li>
-      <li><a href="globals_func_f.html#index_f"><span>f</span></a></li>
-      <li><a href="globals_func_h.html#index_h"><span>h</span></a></li>
-      <li><a href="globals_func_i.html#index_i"><span>i</span></a></li>
-      <li><a href="globals_func_k.html#index_k"><span>k</span></a></li>
-      <li><a href="globals_func_l.html#index_l"><span>l</span></a></li>
-      <li><a href="globals_func_m.html#index_m"><span>m</span></a></li>
-      <li><a href="globals_func_n.html#index_n"><span>n</span></a></li>
-      <li><a href="globals_func_p.html#index_p"><span>p</span></a></li>
-      <li><a href="globals_func_u.html#index_u"><span>u</span></a></li>
-      <li><a href="globals_func_v.html#index_v"><span>v</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="contents">
-&#160;
-
-<h3><a class="anchor" id="index_d"></a>- d -</h3><ul>
-<li>decrypt_verify()
-: <a class="el" href="dtls_8c.html#adc4e7aa5066240a362341bbdb998bc71">dtls.c</a>
-</li>
-<li>dsrv_log()
-: <a class="el" href="debug_8c.html#ace8ca7929ecfc486c3ef40828c79bfe5">debug.c</a>
-, <a class="el" href="debug_8h.html#ace8ca7929ecfc486c3ef40828c79bfe5">debug.h</a>
-</li>
-<li>dsrv_print_addr()
-: <a class="el" href="debug_8c.html#aa6c8e3e1a02e7cb1567391d3a5ca8bf2">debug.c</a>
-</li>
-<li>dtls_add_ecdsa_signature_elem()
-: <a class="el" href="dtls_8c.html#a7d7af4d19c7abef4583c1667ec449a5d">dtls.c</a>
-</li>
-<li>dtls_add_peer()
-: <a class="el" href="dtls_8c.html#ae4a2961a027959f907145f82ca9107c3">dtls.c</a>
-</li>
-<li>dtls_alert_create()
-: <a class="el" href="alert_8h.html#a4242f419ffdd4b83bfaa2a0935ed2b6d">alert.h</a>
-</li>
-<li>dtls_alert_fatal_create()
-: <a class="el" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">alert.h</a>
-</li>
-<li>dtls_alert_send_from_err()
-: <a class="el" href="dtls_8c.html#a4c7a26bc520ac2ac88b4758e0fb84f1e">dtls.c</a>
-</li>
-<li>dtls_ccm_decrypt()
-: <a class="el" href="crypto_8c.html#a64f692530b9bb934f8852ca27c9ca2a1">crypto.c</a>
-</li>
-<li>dtls_ccm_decrypt_message()
-: <a class="el" href="ccm_8c.html#aa3e92bdeca1d0730d48b8a85181d5b6d">ccm.c</a>
-, <a class="el" href="ccm_8h.html#aa3e92bdeca1d0730d48b8a85181d5b6d">ccm.h</a>
-</li>
-<li>dtls_ccm_encrypt()
-: <a class="el" href="crypto_8c.html#a8b75c06a8e364132816aaddb81db0f2c">crypto.c</a>
-</li>
-<li>dtls_ccm_encrypt_message()
-: <a class="el" href="ccm_8c.html#a40f4f23b5687e18dc1bce1c19101da42">ccm.c</a>
-, <a class="el" href="ccm_8h.html#a40f4f23b5687e18dc1bce1c19101da42">ccm.h</a>
-</li>
-<li>dtls_check_ecdsa_signature_elem()
-: <a class="el" href="dtls_8c.html#af8409ba213cb87dbf9ed16ef87995c54">dtls.c</a>
-</li>
-<li>dtls_check_retransmit()
-: <a class="el" href="dtls_8c.html#ab50d1ee589e91d07032d0a65768dee82">dtls.c</a>
-, <a class="el" href="dtls_8h.html#ab50d1ee589e91d07032d0a65768dee82">dtls.h</a>
-</li>
-<li>dtls_check_tls_extension()
-: <a class="el" href="dtls_8c.html#ad8c8390d0a1592207c4ea6dd0a623a9a">dtls.c</a>
-</li>
-<li>dtls_cipher_context_get()
-: <a class="el" href="crypto_8c.html#a5e6fa88c169e5d7289052600fc445c29">crypto.c</a>
-</li>
-<li>dtls_cipher_context_release()
-: <a class="el" href="crypto_8c.html#af65bc79ab89b4e162a0d30938d13109e">crypto.c</a>
-</li>
-<li>dtls_clock_init()
-: <a class="el" href="group__clock.html#ga8b340ad858b708dbc7bf40f784935c90">dtls_time.c</a>
-, <a class="el" href="group__clock.html#ga8b340ad858b708dbc7bf40f784935c90">dtls_time.h</a>
-</li>
-<li>dtls_close()
-: <a class="el" href="dtls_8c.html#aa90f5eb6954137d5e098e29143c2586a">dtls.c</a>
-, <a class="el" href="dtls_8h.html#aa90f5eb6954137d5e098e29143c2586a">dtls.h</a>
-</li>
-<li>dtls_connect()
-: <a class="el" href="dtls_8c.html#a187f5e145bb869a732fbed426929a4e9">dtls.c</a>
-, <a class="el" href="dtls_8h.html#a187f5e145bb869a732fbed426929a4e9">dtls.h</a>
-</li>
-<li>dtls_connect_peer()
-: <a class="el" href="dtls_8c.html#ad60bf1197fa1a074f91aed508cfefa62">dtls.c</a>
-, <a class="el" href="dtls_8h.html#ad60bf1197fa1a074f91aed508cfefa62">dtls.h</a>
-</li>
-<li>dtls_create_cookie()
-: <a class="el" href="dtls_8c.html#a45841106ebcb5b1373c0312842b90943">dtls.c</a>
-</li>
-<li>dtls_debug_keyblock()
-: <a class="el" href="dtls_8c.html#a4b3eda5556d76e045b42b93055944ddd">dtls.c</a>
-</li>
-<li>dtls_decrypt()
-: <a class="el" href="crypto_8c.html#aac32554190e3970917a31ff01eed4080">crypto.c</a>
-, <a class="el" href="crypto_8h.html#a3a99a8753c2eb9baf1e03fe0ffbb813b">crypto.h</a>
-</li>
-<li>dtls_destroy_peer()
-: <a class="el" href="dtls_8c.html#a81061928e291b6a3e7701f6a7f51b6f3">dtls.c</a>
-</li>
-<li>dtls_dsrv_hexdump_log()
-: <a class="el" href="debug_8c.html#a8badc2780b90e28c6c4e1a3b410b31cc">debug.c</a>
-, <a class="el" href="debug_8h.html#a8badc2780b90e28c6c4e1a3b410b31cc">debug.h</a>
-</li>
-<li>dtls_dsrv_log_addr()
-: <a class="el" href="debug_8c.html#a66cb8756d40a3326315d9b5f003a5a76">debug.c</a>
-, <a class="el" href="debug_8h.html#a66cb8756d40a3326315d9b5f003a5a76">debug.h</a>
-</li>
-<li>dtls_ec_key_from_uint32()
-: <a class="el" href="crypto_8c.html#a8cefde2bc97452f889600c6b17ff04a6">crypto.c</a>
-</li>
-<li>dtls_ec_key_from_uint32_asn1()
-: <a class="el" href="crypto_8c.html#a5ae24f3621f545752732e318840d7e2b">crypto.c</a>
-, <a class="el" href="crypto_8h.html#a5ae24f3621f545752732e318840d7e2b">crypto.h</a>
-</li>
-<li>dtls_ec_key_to_uint32()
-: <a class="el" href="crypto_8c.html#aaa510b41aa69dc5f93a1bf5bdde4a9c4">crypto.c</a>
-</li>
-<li>dtls_ecdh_pre_master_secret()
-: <a class="el" href="crypto_8c.html#a5f9937088ea2e1d19e7d472fecae9aaa">crypto.c</a>
-, <a class="el" href="crypto_8h.html#a5f9937088ea2e1d19e7d472fecae9aaa">crypto.h</a>
-</li>
-<li>dtls_ecdsa_create_sig()
-: <a class="el" href="crypto_8c.html#afa2d9b2a195a1d8e8c56b1af8cb7bc82">crypto.c</a>
-, <a class="el" href="crypto_8h.html#afa2d9b2a195a1d8e8c56b1af8cb7bc82">crypto.h</a>
-</li>
-<li>dtls_ecdsa_create_sig_hash()
-: <a class="el" href="crypto_8c.html#a49f03039780664684d110d83a228b163">crypto.c</a>
-, <a class="el" href="crypto_8h.html#a49f03039780664684d110d83a228b163">crypto.h</a>
-</li>
-<li>dtls_ecdsa_generate_key()
-: <a class="el" href="crypto_8c.html#a982fc9e78cd10d9323756b15b72c7970">crypto.c</a>
-, <a class="el" href="crypto_8h.html#a982fc9e78cd10d9323756b15b72c7970">crypto.h</a>
-</li>
-<li>dtls_ecdsa_verify_sig()
-: <a class="el" href="crypto_8c.html#a035860da45ba2586a95c8ef7f539a3c9">crypto.c</a>
-, <a class="el" href="crypto_8h.html#a035860da45ba2586a95c8ef7f539a3c9">crypto.h</a>
-</li>
-<li>dtls_ecdsa_verify_sig_hash()
-: <a class="el" href="crypto_8c.html#a802b3a2b267747a76d4557c6c9a899d7">crypto.c</a>
-, <a class="el" href="crypto_8h.html#a802b3a2b267747a76d4557c6c9a899d7">crypto.h</a>
-</li>
-<li>dtls_encrypt()
-: <a class="el" href="crypto_8c.html#ad58098f0e821f81b4f1a6672ead17ac5">crypto.c</a>
-, <a class="el" href="crypto_8h.html#a288c4ec1a5110ab3f44ab3cb7c289e69">crypto.h</a>
-</li>
-<li>dtls_fls()
-: <a class="el" href="global_8h.html#ae10dcc6b71efe025c990ac2f3d8a48b8">global.h</a>
-</li>
-<li>dtls_free_context()
-: <a class="el" href="dtls_8c.html#a3171c099d25ed29e31326526b8e1de84">dtls.c</a>
-, <a class="el" href="dtls_8h.html#a3171c099d25ed29e31326526b8e1de84">dtls.h</a>
-</li>
-<li>dtls_free_peer()
-: <a class="el" href="peer_8c.html#a037178c201b2e6b7361570ff700f059d">peer.c</a>
-, <a class="el" href="peer_8h.html#a037178c201b2e6b7361570ff700f059d">peer.h</a>
-</li>
-<li>dtls_get_cookie()
-: <a class="el" href="dtls_8c.html#a8546683053c19be38b23aa9042139f4b">dtls.c</a>
-</li>
-<li>dtls_get_log_level()
-: <a class="el" href="debug_8h.html#a0af8abc8cf3864ea04954b3537c7e07f">debug.h</a>
-, <a class="el" href="debug_8c.html#a0af8abc8cf3864ea04954b3537c7e07f">debug.c</a>
-</li>
-<li>dtls_get_peer()
-: <a class="el" href="dtls_8c.html#a70333bea2db35153177347b5c7700cab">dtls.c</a>
-, <a class="el" href="dtls_8h.html#a3fd062108e5d0f48627ae644546824a6">dtls.h</a>
-</li>
-<li>dtls_handle_message()
-: <a class="el" href="dtls_8c.html#ae272fea7269714fe7a67d6da64961731">dtls.c</a>
-, <a class="el" href="dtls_8h.html#ae272fea7269714fe7a67d6da64961731">dtls.h</a>
-</li>
-<li>dtls_handshake_dealloc()
-: <a class="el" href="crypto_8c.html#a120f7f398e1a71a5f16e5447842bcfb3">crypto.c</a>
-</li>
-<li>dtls_handshake_free()
-: <a class="el" href="crypto_8c.html#aa17bcdc666796e52788f82ee003bb172">crypto.c</a>
-, <a class="el" href="crypto_8h.html#aa17bcdc666796e52788f82ee003bb172">crypto.h</a>
-</li>
-<li>dtls_handshake_malloc()
-: <a class="el" href="crypto_8c.html#aa1b91000e339073fd2a9344957c22cbe">crypto.c</a>
-</li>
-<li>dtls_handshake_new()
-: <a class="el" href="crypto_8c.html#a25930cdb27a6ffcf05e2c2a9c95a6af8">crypto.c</a>
-, <a class="el" href="crypto_8h.html#a25930cdb27a6ffcf05e2c2a9c95a6af8">crypto.h</a>
-</li>
-<li>dtls_handshake_type_to_name()
-: <a class="el" href="dtls_8c.html#a00707f0f82235a2432338e77dae0911d">dtls.c</a>
-</li>
-<li>dtls_hash_finalize()
-: <a class="el" href="hmac_8h.html#a96801bbb62f4c9c872b22cd8e438e51e">hmac.h</a>
-</li>
-<li>dtls_hash_init()
-: <a class="el" href="hmac_8h.html#afe0af64930ac5d6a51289df6d1eb4f52">hmac.h</a>
-</li>
-<li>dtls_hash_update()
-: <a class="el" href="hmac_8h.html#adb5ad07ab9a1adcdfdc20e13aa37bee6">hmac.h</a>
-</li>
-<li>dtls_hmac_context_free()
-: <a class="el" href="hmac_8c.html#a8613e734d3fafa81035f8f30000325a7">hmac.c</a>
-</li>
-<li>dtls_hmac_context_new()
-: <a class="el" href="hmac_8c.html#affb72973a7bb7b389a4b7382d435fcef">hmac.c</a>
-</li>
-<li>dtls_hmac_finalize()
-: <a class="el" href="group__HMAC.html#gab98c992f3f9cc3c2d75077ddd46049bf">hmac.c</a>
-, <a class="el" href="group__HMAC.html#gab98c992f3f9cc3c2d75077ddd46049bf">hmac.h</a>
-</li>
-<li>dtls_hmac_free()
-: <a class="el" href="group__HMAC.html#ga5b1a3c1dcb5461bda44dd70f7bd33181">hmac.c</a>
-, <a class="el" href="group__HMAC.html#ga5b1a3c1dcb5461bda44dd70f7bd33181">hmac.h</a>
-</li>
-<li>dtls_hmac_init()
-: <a class="el" href="group__HMAC.html#gaa1eb35fcb2c2eb69eebaefa8eb4a790d">hmac.c</a>
-, <a class="el" href="group__HMAC.html#gaa1eb35fcb2c2eb69eebaefa8eb4a790d">hmac.h</a>
-</li>
-<li>dtls_hmac_new()
-: <a class="el" href="group__HMAC.html#gac3e9ef037800963783e618eafd046702">hmac.c</a>
-, <a class="el" href="group__HMAC.html#gac3e9ef037800963783e618eafd046702">hmac.h</a>
-</li>
-<li>dtls_hmac_storage_init()
-: <a class="el" href="hmac_8h.html#a51d5982243691c9e7fa56142c3a8d5d8">hmac.h</a>
-</li>
-<li>dtls_hmac_update()
-: <a class="el" href="group__HMAC.html#ga1ef9c88a0a2053b442413a9cea3deb73">hmac.c</a>
-, <a class="el" href="group__HMAC.html#ga1ef9c88a0a2053b442413a9cea3deb73">hmac.h</a>
-</li>
-<li>dtls_init()
-: <a class="el" href="dtls_8c.html#ac203466e393ac9030d405c8f0496e9cd">dtls.c</a>
-, <a class="el" href="dtls_8h.html#ac203466e393ac9030d405c8f0496e9cd">dtls.h</a>
-</li>
-<li>dtls_int_to_uint16()
-: <a class="el" href="numeric_8h.html#a074d352855e1ffde4c2ddb6a6fea01b9">numeric.h</a>
-</li>
-<li>dtls_int_to_uint24()
-: <a class="el" href="numeric_8h.html#aff276cdd846cd194a21e9c61549292f6">numeric.h</a>
-</li>
-<li>dtls_int_to_uint32()
-: <a class="el" href="numeric_8h.html#a6914ee523b27539f4e441bede8c072b4">numeric.h</a>
-</li>
-<li>dtls_int_to_uint48()
-: <a class="el" href="numeric_8h.html#abe324cc4e62d03bdecf457382ba213c8">numeric.h</a>
-</li>
-<li>dtls_int_to_uint64()
-: <a class="el" href="numeric_8h.html#ab4d80395fb7f4118dfcb101ae94a5e93">numeric.h</a>
-</li>
-<li>dtls_int_to_uint8()
-: <a class="el" href="numeric_8h.html#a7b602967e2fc28b0be02bd4585e255d0">numeric.h</a>
-</li>
-<li>dtls_mac()
-: <a class="el" href="crypto_8c.html#a1423f8111df1533241178461c10b50e3">crypto.c</a>
-, <a class="el" href="crypto_8h.html#a1423f8111df1533241178461c10b50e3">crypto.h</a>
-</li>
-<li>dtls_malloc_peer()
-: <a class="el" href="peer_8c.html#a89738cd2081b322562b9893c524fb0e1">peer.c</a>
-</li>
-<li>dtls_new_context()
-: <a class="el" href="dtls_8c.html#a11f53d301448aa8f1dbcfaf77441bd9c">dtls.c</a>
-, <a class="el" href="dtls_8h.html#a11f53d301448aa8f1dbcfaf77441bd9c">dtls.h</a>
-</li>
-<li>dtls_new_peer()
-: <a class="el" href="peer_8c.html#a209e22be64be13e116711829d21d864c">peer.c</a>
-, <a class="el" href="peer_8h.html#a209e22be64be13e116711829d21d864c">peer.h</a>
-</li>
-<li>dtls_p_hash()
-: <a class="el" href="crypto_8c.html#aea7bd0a10cf289c033216a97c0ee701e">crypto.c</a>
-, <a class="el" href="crypto_8h.html#aea7bd0a10cf289c033216a97c0ee701e">crypto.h</a>
-</li>
-<li>dtls_package_name()
-: <a class="el" href="debug_8c.html#a6ae22adf81d9aaf0a2ed74f7f7437971">debug.c</a>
-, <a class="el" href="debug_8h.html#a6ae22adf81d9aaf0a2ed74f7f7437971">debug.h</a>
-</li>
-<li>dtls_package_version()
-: <a class="el" href="debug_8c.html#aab7b9dac4484be50856ab8b8a827d235">debug.c</a>
-, <a class="el" href="debug_8h.html#aab7b9dac4484be50856ab8b8a827d235">debug.h</a>
-</li>
-<li>dtls_peer_is_connected()
-: <a class="el" href="peer_8h.html#aaad8608f29d9a70bf09b7de310185c48">peer.h</a>
-</li>
-<li>dtls_peer_state()
-: <a class="el" href="peer_8h.html#a64d83f0fe464f0eeb905b913345d0614">peer.h</a>
-</li>
-<li>dtls_prepare_record()
-: <a class="el" href="dtls_8c.html#ab9733484b9a23775b1bc8b3d723282e5">dtls.c</a>
-</li>
-<li>dtls_prf()
-: <a class="el" href="crypto_8c.html#a5e47576e502b5a6255f1b489a4915512">crypto.c</a>
-, <a class="el" href="crypto_8h.html#a5e47576e502b5a6255f1b489a4915512">crypto.h</a>
-</li>
-<li>dtls_prng()
-: <a class="el" href="group__prng.html#ga3f4036a1abfcec552ab583a2dc37be6c">prng.h</a>
-</li>
-<li>dtls_prng_init()
-: <a class="el" href="group__prng.html#gac68680277206146d06c9e5468f260ee0">prng.h</a>
-</li>
-<li>dtls_psk_pre_master_secret()
-: <a class="el" href="crypto_8c.html#aa53dfed4868e257d2485024b5c170bae">crypto.c</a>
-, <a class="el" href="crypto_8h.html#aa53dfed4868e257d2485024b5c170bae">crypto.h</a>
-</li>
-<li>dtls_renegotiate()
-: <a class="el" href="dtls_8h.html#a5676a0ceeeabd1ec38d378212f7af4a1">dtls.h</a>
-, <a class="el" href="dtls_8c.html#a5676a0ceeeabd1ec38d378212f7af4a1">dtls.c</a>
-</li>
-<li>dtls_retransmit()
-: <a class="el" href="dtls_8c.html#aa57a9ccb1344c5baf8bd3adf35f3beeb">dtls.c</a>
-</li>
-<li>dtls_security_dealloc()
-: <a class="el" href="crypto_8c.html#a444e2410b15ce27c6201204476d20497">crypto.c</a>
-</li>
-<li>dtls_security_free()
-: <a class="el" href="crypto_8c.html#ad54069f2880b3c07185ebba736d02d17">crypto.c</a>
-, <a class="el" href="crypto_8h.html#ad54069f2880b3c07185ebba736d02d17">crypto.h</a>
-</li>
-<li>dtls_security_malloc()
-: <a class="el" href="crypto_8c.html#aa58fc0b3953c6048834855a364432d8c">crypto.c</a>
-</li>
-<li>dtls_security_new()
-: <a class="el" href="crypto_8c.html#a1d568085636a04b4706b7e50df802a7b">crypto.c</a>
-, <a class="el" href="crypto_8h.html#a1d568085636a04b4706b7e50df802a7b">crypto.h</a>
-</li>
-<li>dtls_security_params()
-: <a class="el" href="peer_8h.html#a48abcad7383e1db957af9b4fed030d52">peer.h</a>
-</li>
-<li>dtls_security_params_epoch()
-: <a class="el" href="peer_8h.html#af5de0315efd7e8c6b1aecf60078b2dd7">peer.h</a>
-</li>
-<li>dtls_security_params_free_other()
-: <a class="el" href="peer_8h.html#a9d0ec25ba319a38b17f30cf156e85c51">peer.h</a>
-</li>
-<li>dtls_security_params_next()
-: <a class="el" href="peer_8h.html#ab6e209f206f570eed246530ec7960943">peer.h</a>
-</li>
-<li>dtls_security_params_switch()
-: <a class="el" href="peer_8h.html#a9c37ce3fd7539154289dd17215179e2d">peer.h</a>
-</li>
-<li>dtls_send()
-: <a class="el" href="dtls_8c.html#afdd0d094bfd136f65455e23fda087cd6">dtls.c</a>
-</li>
-<li>dtls_send_alert()
-: <a class="el" href="dtls_8c.html#a4aac4fa55afe2d19342136acaaaf9641">dtls.c</a>
-</li>
-<li>dtls_send_ccs()
-: <a class="el" href="dtls_8c.html#a9cfb3c9e63f378d0d8e3d3d0c60537a5">dtls.c</a>
-</li>
-<li>dtls_send_certificate_ecdsa()
-: <a class="el" href="dtls_8c.html#a6b92c487825aa888acc0b55f5adc0220">dtls.c</a>
-</li>
-<li>dtls_send_certificate_verify_ecdh()
-: <a class="el" href="dtls_8c.html#adfe6fc0d0d66e9ffaef25c2c126b1c34">dtls.c</a>
-</li>
-<li>dtls_send_client_hello()
-: <a class="el" href="dtls_8c.html#aecd3ffe8bf8a3970d3e091ce8e7c6476">dtls.c</a>
-</li>
-<li>dtls_send_client_key_exchange()
-: <a class="el" href="dtls_8c.html#a12e4cab07baba9eae2a0182f4e0bf72d">dtls.c</a>
-</li>
-<li>dtls_send_finished()
-: <a class="el" href="dtls_8c.html#a112e0d83a0e576b5d22df60241900a67">dtls.c</a>
-</li>
-<li>dtls_send_handshake_msg()
-: <a class="el" href="dtls_8c.html#a872c53139e76cab7ec387cc54ae1a11b">dtls.c</a>
-</li>
-<li>dtls_send_handshake_msg_hash()
-: <a class="el" href="dtls_8c.html#a4f06884f659f6a5120be7e0b86d29880">dtls.c</a>
-</li>
-<li>dtls_send_hello_request()
-: <a class="el" href="dtls_8c.html#ab3af0ee4375c0da833aacec49c6fd8ad">dtls.c</a>
-</li>
-<li>dtls_send_multi()
-: <a class="el" href="dtls_8c.html#aa89745c0af073102c9c350d28a84214d">dtls.c</a>
-</li>
-<li>dtls_send_server_certificate_request()
-: <a class="el" href="dtls_8c.html#a51ab17e2a5ac1566ba4249b787bb98a3">dtls.c</a>
-</li>
-<li>dtls_send_server_hello()
-: <a class="el" href="dtls_8c.html#a7730a402edfca00c35bc1c7c09eb2fb9">dtls.c</a>
-</li>
-<li>dtls_send_server_hello_done()
-: <a class="el" href="dtls_8c.html#ad6ebff8518bb1d53ba888baf6898ee21">dtls.c</a>
-</li>
-<li>dtls_send_server_hello_msgs()
-: <a class="el" href="dtls_8c.html#afc54bc2ed42b4b65ad8f01abca9a8772">dtls.c</a>
-</li>
-<li>dtls_send_server_key_exchange_ecdh()
-: <a class="el" href="dtls_8c.html#a80275f06c14cbbc18095bc2f61022d15">dtls.c</a>
-</li>
-<li>dtls_send_server_key_exchange_psk()
-: <a class="el" href="dtls_8c.html#a00f6591bce49f6122dab9827c8774ba3">dtls.c</a>
-</li>
-<li>dtls_session_equals()
-: <a class="el" href="session_8c.html#a96f4d60f388d56d37b3e69261bea2417">session.c</a>
-, <a class="el" href="session_8h.html#a96f4d60f388d56d37b3e69261bea2417">session.h</a>
-</li>
-<li>dtls_session_init()
-: <a class="el" href="session_8h.html#af5aad44a94929b1ebfbb3c6334e9e501">session.h</a>
-, <a class="el" href="session_8c.html#af5aad44a94929b1ebfbb3c6334e9e501">session.c</a>
-</li>
-<li>dtls_set_handler()
-: <a class="el" href="dtls_8h.html#ab0e3223c87b79e4946b19538b24634da">dtls.h</a>
-</li>
-<li>dtls_set_handshake_header()
-: <a class="el" href="dtls_8c.html#ab43d3a34ddaf0f5bfaa2b0b3e76e25d1">dtls.c</a>
-</li>
-<li>dtls_set_log_level()
-: <a class="el" href="debug_8h.html#ae081a7241940f0195295cc37f39c1d02">debug.h</a>
-, <a class="el" href="debug_8c.html#ae081a7241940f0195295cc37f39c1d02">debug.c</a>
-</li>
-<li>dtls_set_record_header()
-: <a class="el" href="dtls_8c.html#a734cf32b1c8b99e21d57006da24fd808">dtls.c</a>
-</li>
-<li>dtls_stop_retransmission()
-: <a class="el" href="dtls_8c.html#a3742f5067d1b0693d6a41e70d4ecd5b5">dtls.c</a>
-</li>
-<li>dtls_strnlen()
-: <a class="el" href="debug_8c.html#a2ff663644d9ffbc6ac64b2da6cde5bfa">debug.c</a>
-</li>
-<li>dtls_ticks()
-: <a class="el" href="group__clock.html#ga1834985745ba5d3dd03f7e7498e3a304">dtls_time.c</a>
-, <a class="el" href="group__clock.html#ga1834985745ba5d3dd03f7e7498e3a304">dtls_time.h</a>
-</li>
-<li>dtls_uint16_to_int()
-: <a class="el" href="numeric_8h.html#ae32dd0743658f1aa5a723d5a8357521f">numeric.h</a>
-</li>
-<li>dtls_uint24_to_int()
-: <a class="el" href="numeric_8h.html#a238931e9197ce422acfba569deb2af71">numeric.h</a>
-</li>
-<li>dtls_uint32_to_int()
-: <a class="el" href="numeric_8h.html#a91f840f763f90c6d88a267011edf86d0">numeric.h</a>
-</li>
-<li>dtls_uint48_to_int()
-: <a class="el" href="numeric_8h.html#ae25d1d32eab6fe59318506984ebc23af">numeric.h</a>
-</li>
-<li>dtls_uint64_to_int()
-: <a class="el" href="numeric_8h.html#aa7dcbb31a4c4319903f41008f1f311ae">numeric.h</a>
-</li>
-<li>dtls_uint8_to_int()
-: <a class="el" href="numeric_8h.html#a7293cc28604d896cfef802b53b0ad99f">numeric.h</a>
-</li>
-<li>dtls_update_parameters()
-: <a class="el" href="dtls_8c.html#a63f2c7e75b86bb2839b8fedf3fa9c93d">dtls.c</a>
-</li>
-<li>dtls_verify_peer()
-: <a class="el" href="dtls_8c.html#a604f68a801e55b884f7f7f1d2f1b9c9f">dtls.c</a>
-</li>
-<li>dtls_write()
-: <a class="el" href="dtls_8c.html#a1e338587fb19c794c8d19bc2801f2eb2">dtls.c</a>
-, <a class="el" href="dtls_8h.html#a4743f51c3197d290fc9a88e1f3a64928">dtls.h</a>
-</li>
-<li>dump()
-: <a class="el" href="debug_8c.html#a7ee74b9f3941b0ec63f35da6b83fa240">debug.c</a>
-, <a class="el" href="debug_8h.html#a7ee74b9f3941b0ec63f35da6b83fa240">debug.h</a>
-</li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/globals_func_e.html b/external/wakaama/examples/shared/tinydtls/doc/html/globals_func_e.html
deleted file mode 100644 (file)
index d02cea2..0000000
+++ /dev/null
@@ -1,133 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: Globals</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li class="current"><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow3" class="tabs2">
-    <ul class="tablist">
-      <li><a href="globals.html"><span>All</span></a></li>
-      <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
-      <li><a href="globals_vars.html"><span>Variables</span></a></li>
-      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
-      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
-      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
-      <li><a href="globals_defs.html"><span>Macros</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow4" class="tabs3">
-    <ul class="tablist">
-      <li><a href="globals_func.html#index__"><span>_</span></a></li>
-      <li><a href="globals_func_a.html#index_a"><span>a</span></a></li>
-      <li><a href="globals_func_b.html#index_b"><span>b</span></a></li>
-      <li><a href="globals_func_c.html#index_c"><span>c</span></a></li>
-      <li><a href="globals_func_d.html#index_d"><span>d</span></a></li>
-      <li class="current"><a href="globals_func_e.html#index_e"><span>e</span></a></li>
-      <li><a href="globals_func_f.html#index_f"><span>f</span></a></li>
-      <li><a href="globals_func_h.html#index_h"><span>h</span></a></li>
-      <li><a href="globals_func_i.html#index_i"><span>i</span></a></li>
-      <li><a href="globals_func_k.html#index_k"><span>k</span></a></li>
-      <li><a href="globals_func_l.html#index_l"><span>l</span></a></li>
-      <li><a href="globals_func_m.html#index_m"><span>m</span></a></li>
-      <li><a href="globals_func_n.html#index_n"><span>n</span></a></li>
-      <li><a href="globals_func_p.html#index_p"><span>p</span></a></li>
-      <li><a href="globals_func_u.html#index_u"><span>u</span></a></li>
-      <li><a href="globals_func_v.html#index_v"><span>v</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="contents">
-&#160;
-
-<h3><a class="anchor" id="index_e"></a>- e -</h3><ul>
-<li>encrypt()
-: <a class="el" href="ccm_8c.html#a983462ca57ee8fe54249c77281f6559e">ccm.c</a>
-</li>
-<li>equals()
-: <a class="el" href="global_8h.html#a8277c276ecd5cd2f998f08fd344d90ef">global.h</a>
-</li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/globals_func_f.html b/external/wakaama/examples/shared/tinydtls/doc/html/globals_func_f.html
deleted file mode 100644 (file)
index 3fdc4a2..0000000
+++ /dev/null
@@ -1,133 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: Globals</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li class="current"><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow3" class="tabs2">
-    <ul class="tablist">
-      <li><a href="globals.html"><span>All</span></a></li>
-      <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
-      <li><a href="globals_vars.html"><span>Variables</span></a></li>
-      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
-      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
-      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
-      <li><a href="globals_defs.html"><span>Macros</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow4" class="tabs3">
-    <ul class="tablist">
-      <li><a href="globals_func.html#index__"><span>_</span></a></li>
-      <li><a href="globals_func_a.html#index_a"><span>a</span></a></li>
-      <li><a href="globals_func_b.html#index_b"><span>b</span></a></li>
-      <li><a href="globals_func_c.html#index_c"><span>c</span></a></li>
-      <li><a href="globals_func_d.html#index_d"><span>d</span></a></li>
-      <li><a href="globals_func_e.html#index_e"><span>e</span></a></li>
-      <li class="current"><a href="globals_func_f.html#index_f"><span>f</span></a></li>
-      <li><a href="globals_func_h.html#index_h"><span>h</span></a></li>
-      <li><a href="globals_func_i.html#index_i"><span>i</span></a></li>
-      <li><a href="globals_func_k.html#index_k"><span>k</span></a></li>
-      <li><a href="globals_func_l.html#index_l"><span>l</span></a></li>
-      <li><a href="globals_func_m.html#index_m"><span>m</span></a></li>
-      <li><a href="globals_func_n.html#index_n"><span>n</span></a></li>
-      <li><a href="globals_func_p.html#index_p"><span>p</span></a></li>
-      <li><a href="globals_func_u.html#index_u"><span>u</span></a></li>
-      <li><a href="globals_func_v.html#index_v"><span>v</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="contents">
-&#160;
-
-<h3><a class="anchor" id="index_f"></a>- f -</h3><ul>
-<li>finalize_hs_hash()
-: <a class="el" href="dtls_8c.html#adb41bf916dc34af5cd79003a9243b727">dtls.c</a>
-</li>
-<li>free_context()
-: <a class="el" href="dtls_8c.html#aa2f1fb16f297640b319ff0d864139ea5">dtls.c</a>
-</li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/globals_func_h.html b/external/wakaama/examples/shared/tinydtls/doc/html/globals_func_h.html
deleted file mode 100644 (file)
index 84829d1..0000000
+++ /dev/null
@@ -1,143 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: Globals</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li class="current"><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow3" class="tabs2">
-    <ul class="tablist">
-      <li><a href="globals.html"><span>All</span></a></li>
-      <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
-      <li><a href="globals_vars.html"><span>Variables</span></a></li>
-      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
-      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
-      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
-      <li><a href="globals_defs.html"><span>Macros</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow4" class="tabs3">
-    <ul class="tablist">
-      <li><a href="globals_func.html#index__"><span>_</span></a></li>
-      <li><a href="globals_func_a.html#index_a"><span>a</span></a></li>
-      <li><a href="globals_func_b.html#index_b"><span>b</span></a></li>
-      <li><a href="globals_func_c.html#index_c"><span>c</span></a></li>
-      <li><a href="globals_func_d.html#index_d"><span>d</span></a></li>
-      <li><a href="globals_func_e.html#index_e"><span>e</span></a></li>
-      <li><a href="globals_func_f.html#index_f"><span>f</span></a></li>
-      <li class="current"><a href="globals_func_h.html#index_h"><span>h</span></a></li>
-      <li><a href="globals_func_i.html#index_i"><span>i</span></a></li>
-      <li><a href="globals_func_k.html#index_k"><span>k</span></a></li>
-      <li><a href="globals_func_l.html#index_l"><span>l</span></a></li>
-      <li><a href="globals_func_m.html#index_m"><span>m</span></a></li>
-      <li><a href="globals_func_n.html#index_n"><span>n</span></a></li>
-      <li><a href="globals_func_p.html#index_p"><span>p</span></a></li>
-      <li><a href="globals_func_u.html#index_u"><span>u</span></a></li>
-      <li><a href="globals_func_v.html#index_v"><span>v</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="contents">
-&#160;
-
-<h3><a class="anchor" id="index_h"></a>- h -</h3><ul>
-<li>handle_alert()
-: <a class="el" href="dtls_8c.html#a445994c602b105608f277c6fc066301d">dtls.c</a>
-</li>
-<li>handle_ccs()
-: <a class="el" href="dtls_8c.html#a4d7a16c9d0cd28666a2cc8ec471aa664">dtls.c</a>
-</li>
-<li>handle_handshake()
-: <a class="el" href="dtls_8c.html#ab199f50f39a96464ff7b532f2635ce9d">dtls.c</a>
-</li>
-<li>handle_handshake_msg()
-: <a class="el" href="dtls_8c.html#a24e7d6ad9fc0d87b7285615123bdd43d">dtls.c</a>
-</li>
-<li>hexdump()
-: <a class="el" href="debug_8c.html#af5fe8134d8875eb856a4cd99313ec1b0">debug.c</a>
-, <a class="el" href="debug_8h.html#af5fe8134d8875eb856a4cd99313ec1b0">debug.h</a>
-</li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/globals_func_i.html b/external/wakaama/examples/shared/tinydtls/doc/html/globals_func_i.html
deleted file mode 100644 (file)
index 6fb8409..0000000
+++ /dev/null
@@ -1,145 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: Globals</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li class="current"><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow3" class="tabs2">
-    <ul class="tablist">
-      <li><a href="globals.html"><span>All</span></a></li>
-      <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
-      <li><a href="globals_vars.html"><span>Variables</span></a></li>
-      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
-      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
-      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
-      <li><a href="globals_defs.html"><span>Macros</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow4" class="tabs3">
-    <ul class="tablist">
-      <li><a href="globals_func.html#index__"><span>_</span></a></li>
-      <li><a href="globals_func_a.html#index_a"><span>a</span></a></li>
-      <li><a href="globals_func_b.html#index_b"><span>b</span></a></li>
-      <li><a href="globals_func_c.html#index_c"><span>c</span></a></li>
-      <li><a href="globals_func_d.html#index_d"><span>d</span></a></li>
-      <li><a href="globals_func_e.html#index_e"><span>e</span></a></li>
-      <li><a href="globals_func_f.html#index_f"><span>f</span></a></li>
-      <li><a href="globals_func_h.html#index_h"><span>h</span></a></li>
-      <li class="current"><a href="globals_func_i.html#index_i"><span>i</span></a></li>
-      <li><a href="globals_func_k.html#index_k"><span>k</span></a></li>
-      <li><a href="globals_func_l.html#index_l"><span>l</span></a></li>
-      <li><a href="globals_func_m.html#index_m"><span>m</span></a></li>
-      <li><a href="globals_func_n.html#index_n"><span>n</span></a></li>
-      <li><a href="globals_func_p.html#index_p"><span>p</span></a></li>
-      <li><a href="globals_func_u.html#index_u"><span>u</span></a></li>
-      <li><a href="globals_func_v.html#index_v"><span>v</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="contents">
-&#160;
-
-<h3><a class="anchor" id="index_i"></a>- i -</h3><ul>
-<li>is_ecdsa_client_auth_supported()
-: <a class="el" href="dtls_8c.html#a599f0d6e9134869e55b64c4f8720ebfa">dtls.c</a>
-</li>
-<li>is_ecdsa_supported()
-: <a class="el" href="dtls_8c.html#abb41f4bb9b8e4218ef5115ce70ebdc21">dtls.c</a>
-</li>
-<li>is_psk_supported()
-: <a class="el" href="dtls_8c.html#a3bbccb275cb23e84c0a148a157955770">dtls.c</a>
-</li>
-<li>is_record()
-: <a class="el" href="dtls_8c.html#aaafa285eb634873480c0ff429edd8064">dtls.c</a>
-</li>
-<li>is_tls_ecdhe_ecdsa_with_aes_128_ccm_8()
-: <a class="el" href="dtls_8c.html#a8098a728e5fff33ceeb7f57ebd48a212">dtls.c</a>
-</li>
-<li>is_tls_psk_with_aes_128_ccm_8()
-: <a class="el" href="dtls_8c.html#a8bb6e8bb947b943d2af4c1886a8e72ba">dtls.c</a>
-</li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/globals_func_k.html b/external/wakaama/examples/shared/tinydtls/doc/html/globals_func_k.html
deleted file mode 100644 (file)
index 4860406..0000000
+++ /dev/null
@@ -1,130 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: Globals</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li class="current"><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow3" class="tabs2">
-    <ul class="tablist">
-      <li><a href="globals.html"><span>All</span></a></li>
-      <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
-      <li><a href="globals_vars.html"><span>Variables</span></a></li>
-      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
-      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
-      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
-      <li><a href="globals_defs.html"><span>Macros</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow4" class="tabs3">
-    <ul class="tablist">
-      <li><a href="globals_func.html#index__"><span>_</span></a></li>
-      <li><a href="globals_func_a.html#index_a"><span>a</span></a></li>
-      <li><a href="globals_func_b.html#index_b"><span>b</span></a></li>
-      <li><a href="globals_func_c.html#index_c"><span>c</span></a></li>
-      <li><a href="globals_func_d.html#index_d"><span>d</span></a></li>
-      <li><a href="globals_func_e.html#index_e"><span>e</span></a></li>
-      <li><a href="globals_func_f.html#index_f"><span>f</span></a></li>
-      <li><a href="globals_func_h.html#index_h"><span>h</span></a></li>
-      <li><a href="globals_func_i.html#index_i"><span>i</span></a></li>
-      <li class="current"><a href="globals_func_k.html#index_k"><span>k</span></a></li>
-      <li><a href="globals_func_l.html#index_l"><span>l</span></a></li>
-      <li><a href="globals_func_m.html#index_m"><span>m</span></a></li>
-      <li><a href="globals_func_n.html#index_n"><span>n</span></a></li>
-      <li><a href="globals_func_p.html#index_p"><span>p</span></a></li>
-      <li><a href="globals_func_u.html#index_u"><span>u</span></a></li>
-      <li><a href="globals_func_v.html#index_v"><span>v</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="contents">
-&#160;
-
-<h3><a class="anchor" id="index_k"></a>- k -</h3><ul>
-<li>known_cipher()
-: <a class="el" href="dtls_8c.html#a37965d10b44a63ea6adbf28b9dc79b75">dtls.c</a>
-</li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/globals_func_l.html b/external/wakaama/examples/shared/tinydtls/doc/html/globals_func_l.html
deleted file mode 100644 (file)
index 2e7d790..0000000
+++ /dev/null
@@ -1,148 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: Globals</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li class="current"><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow3" class="tabs2">
-    <ul class="tablist">
-      <li><a href="globals.html"><span>All</span></a></li>
-      <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
-      <li><a href="globals_vars.html"><span>Variables</span></a></li>
-      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
-      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
-      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
-      <li><a href="globals_defs.html"><span>Macros</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow4" class="tabs3">
-    <ul class="tablist">
-      <li><a href="globals_func.html#index__"><span>_</span></a></li>
-      <li><a href="globals_func_a.html#index_a"><span>a</span></a></li>
-      <li><a href="globals_func_b.html#index_b"><span>b</span></a></li>
-      <li><a href="globals_func_c.html#index_c"><span>c</span></a></li>
-      <li><a href="globals_func_d.html#index_d"><span>d</span></a></li>
-      <li><a href="globals_func_e.html#index_e"><span>e</span></a></li>
-      <li><a href="globals_func_f.html#index_f"><span>f</span></a></li>
-      <li><a href="globals_func_h.html#index_h"><span>h</span></a></li>
-      <li><a href="globals_func_i.html#index_i"><span>i</span></a></li>
-      <li><a href="globals_func_k.html#index_k"><span>k</span></a></li>
-      <li class="current"><a href="globals_func_l.html#index_l"><span>l</span></a></li>
-      <li><a href="globals_func_m.html#index_m"><span>m</span></a></li>
-      <li><a href="globals_func_n.html#index_n"><span>n</span></a></li>
-      <li><a href="globals_func_p.html#index_p"><span>p</span></a></li>
-      <li><a href="globals_func_u.html#index_u"><span>u</span></a></li>
-      <li><a href="globals_func_v.html#index_v"><span>v</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="contents">
-&#160;
-
-<h3><a class="anchor" id="index_l"></a>- l -</h3><ul>
-<li>list_add()
-: <a class="el" href="t__list_8h.html#aee4e6fc5d9a6133555e7373c654b2120">t_list.h</a>
-</li>
-<li>list_head()
-: <a class="el" href="t__list_8h.html#adb42e31bb4fe0df6ec1aa3494902968d">t_list.h</a>
-</li>
-<li>list_insert()
-: <a class="el" href="t__list_8h.html#a0d4152f6de47bfefa600867056bc3355">t_list.h</a>
-</li>
-<li>list_item_next()
-: <a class="el" href="t__list_8h.html#ae7f0bdad2409695760ffd8de55b6a99b">t_list.h</a>
-</li>
-<li>list_pop()
-: <a class="el" href="t__list_8h.html#a5ba6a8506e0226ab945349e25ef65d56">t_list.h</a>
-</li>
-<li>list_push()
-: <a class="el" href="t__list_8h.html#ab1521a806c1775e743ddefede17673fd">t_list.h</a>
-</li>
-<li>list_remove()
-: <a class="el" href="t__list_8h.html#a10de2120be61f445c5989c983c1e133b">t_list.h</a>
-</li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/globals_func_m.html b/external/wakaama/examples/shared/tinydtls/doc/html/globals_func_m.html
deleted file mode 100644 (file)
index 0584636..0000000
+++ /dev/null
@@ -1,136 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: Globals</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li class="current"><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow3" class="tabs2">
-    <ul class="tablist">
-      <li><a href="globals.html"><span>All</span></a></li>
-      <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
-      <li><a href="globals_vars.html"><span>Variables</span></a></li>
-      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
-      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
-      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
-      <li><a href="globals_defs.html"><span>Macros</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow4" class="tabs3">
-    <ul class="tablist">
-      <li><a href="globals_func.html#index__"><span>_</span></a></li>
-      <li><a href="globals_func_a.html#index_a"><span>a</span></a></li>
-      <li><a href="globals_func_b.html#index_b"><span>b</span></a></li>
-      <li><a href="globals_func_c.html#index_c"><span>c</span></a></li>
-      <li><a href="globals_func_d.html#index_d"><span>d</span></a></li>
-      <li><a href="globals_func_e.html#index_e"><span>e</span></a></li>
-      <li><a href="globals_func_f.html#index_f"><span>f</span></a></li>
-      <li><a href="globals_func_h.html#index_h"><span>h</span></a></li>
-      <li><a href="globals_func_i.html#index_i"><span>i</span></a></li>
-      <li><a href="globals_func_k.html#index_k"><span>k</span></a></li>
-      <li><a href="globals_func_l.html#index_l"><span>l</span></a></li>
-      <li class="current"><a href="globals_func_m.html#index_m"><span>m</span></a></li>
-      <li><a href="globals_func_n.html#index_n"><span>n</span></a></li>
-      <li><a href="globals_func_p.html#index_p"><span>p</span></a></li>
-      <li><a href="globals_func_u.html#index_u"><span>u</span></a></li>
-      <li><a href="globals_func_v.html#index_v"><span>v</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="contents">
-&#160;
-
-<h3><a class="anchor" id="index_m"></a>- m -</h3><ul>
-<li>mac()
-: <a class="el" href="ccm_8c.html#af90d9a6bdae478b53926bf6f1bd6c9d5">ccm.c</a>
-</li>
-<li>malloc_context()
-: <a class="el" href="dtls_8c.html#a9e02f1c6e70dab40e56d5131a259521a">dtls.c</a>
-</li>
-<li>memxor()
-: <a class="el" href="global_8h.html#a6c31c5d8a0fe09547a192100d2a00dc5">global.h</a>
-</li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/globals_func_n.html b/external/wakaama/examples/shared/tinydtls/doc/html/globals_func_n.html
deleted file mode 100644 (file)
index 310c69b..0000000
+++ /dev/null
@@ -1,168 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: Globals</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li class="current"><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow3" class="tabs2">
-    <ul class="tablist">
-      <li><a href="globals.html"><span>All</span></a></li>
-      <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
-      <li><a href="globals_vars.html"><span>Variables</span></a></li>
-      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
-      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
-      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
-      <li><a href="globals_defs.html"><span>Macros</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow4" class="tabs3">
-    <ul class="tablist">
-      <li><a href="globals_func.html#index__"><span>_</span></a></li>
-      <li><a href="globals_func_a.html#index_a"><span>a</span></a></li>
-      <li><a href="globals_func_b.html#index_b"><span>b</span></a></li>
-      <li><a href="globals_func_c.html#index_c"><span>c</span></a></li>
-      <li><a href="globals_func_d.html#index_d"><span>d</span></a></li>
-      <li><a href="globals_func_e.html#index_e"><span>e</span></a></li>
-      <li><a href="globals_func_f.html#index_f"><span>f</span></a></li>
-      <li><a href="globals_func_h.html#index_h"><span>h</span></a></li>
-      <li><a href="globals_func_i.html#index_i"><span>i</span></a></li>
-      <li><a href="globals_func_k.html#index_k"><span>k</span></a></li>
-      <li><a href="globals_func_l.html#index_l"><span>l</span></a></li>
-      <li><a href="globals_func_m.html#index_m"><span>m</span></a></li>
-      <li class="current"><a href="globals_func_n.html#index_n"><span>n</span></a></li>
-      <li><a href="globals_func_p.html#index_p"><span>p</span></a></li>
-      <li><a href="globals_func_u.html#index_u"><span>u</span></a></li>
-      <li><a href="globals_func_v.html#index_v"><span>v</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="contents">
-&#160;
-
-<h3><a class="anchor" id="index_n"></a>- n -</h3><ul>
-<li>netq_delete_all()
-: <a class="el" href="group__netq.html#gac72fd2ec9f1e6908c8a10705fb6555e2">netq.c</a>
-, <a class="el" href="group__netq.html#gac72fd2ec9f1e6908c8a10705fb6555e2">netq.h</a>
-</li>
-<li>netq_free_node()
-: <a class="el" href="netq_8c.html#a2e23675fa402ca2c66bc97cbd09e44f3">netq.c</a>
-</li>
-<li>netq_head()
-: <a class="el" href="group__netq.html#gac769de2e30bcf2c2db89ff10822219d4">netq.c</a>
-, <a class="el" href="group__netq.html#gac769de2e30bcf2c2db89ff10822219d4">netq.h</a>
-</li>
-<li>netq_init()
-: <a class="el" href="group__netq.html#ga9eba9e66570dcdfc933c6cf843694444">netq.h</a>
-</li>
-<li>netq_insert_node()
-: <a class="el" href="group__netq.html#ga142c8e39fe2cd55250e3c1f0370dfe6b">netq.h</a>
-, <a class="el" href="group__netq.html#ga142c8e39fe2cd55250e3c1f0370dfe6b">netq.c</a>
-</li>
-<li>netq_malloc_node()
-: <a class="el" href="netq_8c.html#a58b119d6b9bb7756ab49afcd34571dab">netq.c</a>
-</li>
-<li>netq_next()
-: <a class="el" href="group__netq.html#gab4c90c003808a784ae1ee9322e75627d">netq.c</a>
-, <a class="el" href="group__netq.html#gab4c90c003808a784ae1ee9322e75627d">netq.h</a>
-</li>
-<li>netq_node_free()
-: <a class="el" href="group__netq.html#ga9ef9da1a2af266dadef83ddf6c8524d7">netq.h</a>
-, <a class="el" href="group__netq.html#ga9ef9da1a2af266dadef83ddf6c8524d7">netq.c</a>
-</li>
-<li>netq_node_new()
-: <a class="el" href="group__netq.html#gafcf245cd934e9b8f0909a7ca8940e9cb">netq.c</a>
-, <a class="el" href="group__netq.html#gafcf245cd934e9b8f0909a7ca8940e9cb">netq.h</a>
-</li>
-<li>netq_pop_first()
-: <a class="el" href="group__netq.html#ga108e6c43e524fd4b23a5d4731631fae3">netq.h</a>
-, <a class="el" href="group__netq.html#ga108e6c43e524fd4b23a5d4731631fae3">netq.c</a>
-</li>
-<li>netq_remove()
-: <a class="el" href="group__netq.html#gace12cd802d76d5bd98b2eaedc591fd22">netq.h</a>
-, <a class="el" href="group__netq.html#gace12cd802d76d5bd98b2eaedc591fd22">netq.c</a>
-</li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/globals_func_p.html b/external/wakaama/examples/shared/tinydtls/doc/html/globals_func_p.html
deleted file mode 100644 (file)
index dddacdf..0000000
+++ /dev/null
@@ -1,134 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: Globals</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li class="current"><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow3" class="tabs2">
-    <ul class="tablist">
-      <li><a href="globals.html"><span>All</span></a></li>
-      <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
-      <li><a href="globals_vars.html"><span>Variables</span></a></li>
-      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
-      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
-      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
-      <li><a href="globals_defs.html"><span>Macros</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow4" class="tabs3">
-    <ul class="tablist">
-      <li><a href="globals_func.html#index__"><span>_</span></a></li>
-      <li><a href="globals_func_a.html#index_a"><span>a</span></a></li>
-      <li><a href="globals_func_b.html#index_b"><span>b</span></a></li>
-      <li><a href="globals_func_c.html#index_c"><span>c</span></a></li>
-      <li><a href="globals_func_d.html#index_d"><span>d</span></a></li>
-      <li><a href="globals_func_e.html#index_e"><span>e</span></a></li>
-      <li><a href="globals_func_f.html#index_f"><span>f</span></a></li>
-      <li><a href="globals_func_h.html#index_h"><span>h</span></a></li>
-      <li><a href="globals_func_i.html#index_i"><span>i</span></a></li>
-      <li><a href="globals_func_k.html#index_k"><span>k</span></a></li>
-      <li><a href="globals_func_l.html#index_l"><span>l</span></a></li>
-      <li><a href="globals_func_m.html#index_m"><span>m</span></a></li>
-      <li><a href="globals_func_n.html#index_n"><span>n</span></a></li>
-      <li class="current"><a href="globals_func_p.html#index_p"><span>p</span></a></li>
-      <li><a href="globals_func_u.html#index_u"><span>u</span></a></li>
-      <li><a href="globals_func_v.html#index_v"><span>v</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="contents">
-&#160;
-
-<h3><a class="anchor" id="index_p"></a>- p -</h3><ul>
-<li>peer_init()
-: <a class="el" href="peer_8c.html#a0297e9d772bfca004a98462d9c7d2828">peer.c</a>
-, <a class="el" href="peer_8h.html#a0297e9d772bfca004a98462d9c7d2828">peer.h</a>
-</li>
-<li>print_timestamp()
-: <a class="el" href="debug_8c.html#a4ac5b294de82b336108ebd436b271b17">debug.c</a>
-</li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/globals_func_u.html b/external/wakaama/examples/shared/tinydtls/doc/html/globals_func_u.html
deleted file mode 100644 (file)
index 4396ac8..0000000
+++ /dev/null
@@ -1,130 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: Globals</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li class="current"><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow3" class="tabs2">
-    <ul class="tablist">
-      <li><a href="globals.html"><span>All</span></a></li>
-      <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
-      <li><a href="globals_vars.html"><span>Variables</span></a></li>
-      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
-      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
-      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
-      <li><a href="globals_defs.html"><span>Macros</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow4" class="tabs3">
-    <ul class="tablist">
-      <li><a href="globals_func.html#index__"><span>_</span></a></li>
-      <li><a href="globals_func_a.html#index_a"><span>a</span></a></li>
-      <li><a href="globals_func_b.html#index_b"><span>b</span></a></li>
-      <li><a href="globals_func_c.html#index_c"><span>c</span></a></li>
-      <li><a href="globals_func_d.html#index_d"><span>d</span></a></li>
-      <li><a href="globals_func_e.html#index_e"><span>e</span></a></li>
-      <li><a href="globals_func_f.html#index_f"><span>f</span></a></li>
-      <li><a href="globals_func_h.html#index_h"><span>h</span></a></li>
-      <li><a href="globals_func_i.html#index_i"><span>i</span></a></li>
-      <li><a href="globals_func_k.html#index_k"><span>k</span></a></li>
-      <li><a href="globals_func_l.html#index_l"><span>l</span></a></li>
-      <li><a href="globals_func_m.html#index_m"><span>m</span></a></li>
-      <li><a href="globals_func_n.html#index_n"><span>n</span></a></li>
-      <li><a href="globals_func_p.html#index_p"><span>p</span></a></li>
-      <li class="current"><a href="globals_func_u.html#index_u"><span>u</span></a></li>
-      <li><a href="globals_func_v.html#index_v"><span>v</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="contents">
-&#160;
-
-<h3><a class="anchor" id="index_u"></a>- u -</h3><ul>
-<li>update_hs_hash()
-: <a class="el" href="dtls_8c.html#a3db09acb5894f17f4745d7556555bea7">dtls.c</a>
-</li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/globals_func_v.html b/external/wakaama/examples/shared/tinydtls/doc/html/globals_func_v.html
deleted file mode 100644 (file)
index a3bf7c7..0000000
+++ /dev/null
@@ -1,136 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: Globals</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li class="current"><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow3" class="tabs2">
-    <ul class="tablist">
-      <li><a href="globals.html"><span>All</span></a></li>
-      <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
-      <li><a href="globals_vars.html"><span>Variables</span></a></li>
-      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
-      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
-      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
-      <li><a href="globals_defs.html"><span>Macros</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow4" class="tabs3">
-    <ul class="tablist">
-      <li><a href="globals_func.html#index__"><span>_</span></a></li>
-      <li><a href="globals_func_a.html#index_a"><span>a</span></a></li>
-      <li><a href="globals_func_b.html#index_b"><span>b</span></a></li>
-      <li><a href="globals_func_c.html#index_c"><span>c</span></a></li>
-      <li><a href="globals_func_d.html#index_d"><span>d</span></a></li>
-      <li><a href="globals_func_e.html#index_e"><span>e</span></a></li>
-      <li><a href="globals_func_f.html#index_f"><span>f</span></a></li>
-      <li><a href="globals_func_h.html#index_h"><span>h</span></a></li>
-      <li><a href="globals_func_i.html#index_i"><span>i</span></a></li>
-      <li><a href="globals_func_k.html#index_k"><span>k</span></a></li>
-      <li><a href="globals_func_l.html#index_l"><span>l</span></a></li>
-      <li><a href="globals_func_m.html#index_m"><span>m</span></a></li>
-      <li><a href="globals_func_n.html#index_n"><span>n</span></a></li>
-      <li><a href="globals_func_p.html#index_p"><span>p</span></a></li>
-      <li><a href="globals_func_u.html#index_u"><span>u</span></a></li>
-      <li class="current"><a href="globals_func_v.html#index_v"><span>v</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="contents">
-&#160;
-
-<h3><a class="anchor" id="index_v"></a>- v -</h3><ul>
-<li>verify_ext_cert_type()
-: <a class="el" href="dtls_8c.html#af073bf7cefa5e49e0c939e853678d417">dtls.c</a>
-</li>
-<li>verify_ext_ec_point_formats()
-: <a class="el" href="dtls_8c.html#a04a3580764ffd4f253ce6be858806c95">dtls.c</a>
-</li>
-<li>verify_ext_eliptic_curves()
-: <a class="el" href="dtls_8c.html#ad699a00b7ff5a71fa5b7fbc79a4dd9a8">dtls.c</a>
-</li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/globals_g.html b/external/wakaama/examples/shared/tinydtls/doc/html/globals_g.html
deleted file mode 100644 (file)
index cb0bcb3..0000000
+++ /dev/null
@@ -1,135 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: Globals</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li class="current"><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow3" class="tabs2">
-    <ul class="tablist">
-      <li class="current"><a href="globals.html"><span>All</span></a></li>
-      <li><a href="globals_func.html"><span>Functions</span></a></li>
-      <li><a href="globals_vars.html"><span>Variables</span></a></li>
-      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
-      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
-      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
-      <li><a href="globals_defs.html"><span>Macros</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow4" class="tabs3">
-    <ul class="tablist">
-      <li><a href="globals.html#index__"><span>_</span></a></li>
-      <li><a href="globals_a.html#index_a"><span>a</span></a></li>
-      <li><a href="globals_b.html#index_b"><span>b</span></a></li>
-      <li><a href="globals_c.html#index_c"><span>c</span></a></li>
-      <li><a href="globals_d.html#index_d"><span>d</span></a></li>
-      <li><a href="globals_e.html#index_e"><span>e</span></a></li>
-      <li><a href="globals_f.html#index_f"><span>f</span></a></li>
-      <li class="current"><a href="globals_g.html#index_g"><span>g</span></a></li>
-      <li><a href="globals_h.html#index_h"><span>h</span></a></li>
-      <li><a href="globals_i.html#index_i"><span>i</span></a></li>
-      <li><a href="globals_k.html#index_k"><span>k</span></a></li>
-      <li><a href="globals_l.html#index_l"><span>l</span></a></li>
-      <li><a href="globals_m.html#index_m"><span>m</span></a></li>
-      <li><a href="globals_n.html#index_n"><span>n</span></a></li>
-      <li><a href="globals_p.html#index_p"><span>p</span></a></li>
-      <li><a href="globals_r.html#index_r"><span>r</span></a></li>
-      <li><a href="globals_s.html#index_s"><span>s</span></a></li>
-      <li><a href="globals_t.html#index_t"><span>t</span></a></li>
-      <li><a href="globals_u.html#index_u"><span>u</span></a></li>
-      <li><a href="globals_v.html#index_v"><span>v</span></a></li>
-      <li><a href="globals_w.html#index_w"><span>w</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="contents">
-<div class="textblock">Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:</div>
-
-<h3><a class="anchor" id="index_g"></a>- g -</h3><ul>
-<li>get16bits
-: <a class="el" href="uthash_8h.html#abc7d71657be8975a51684e41029b7964">uthash.h</a>
-</li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/globals_h.html b/external/wakaama/examples/shared/tinydtls/doc/html/globals_h.html
deleted file mode 100644 (file)
index 933c066..0000000
+++ /dev/null
@@ -1,433 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: Globals</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li class="current"><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow3" class="tabs2">
-    <ul class="tablist">
-      <li class="current"><a href="globals.html"><span>All</span></a></li>
-      <li><a href="globals_func.html"><span>Functions</span></a></li>
-      <li><a href="globals_vars.html"><span>Variables</span></a></li>
-      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
-      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
-      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
-      <li><a href="globals_defs.html"><span>Macros</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow4" class="tabs3">
-    <ul class="tablist">
-      <li><a href="globals.html#index__"><span>_</span></a></li>
-      <li><a href="globals_a.html#index_a"><span>a</span></a></li>
-      <li><a href="globals_b.html#index_b"><span>b</span></a></li>
-      <li><a href="globals_c.html#index_c"><span>c</span></a></li>
-      <li><a href="globals_d.html#index_d"><span>d</span></a></li>
-      <li><a href="globals_e.html#index_e"><span>e</span></a></li>
-      <li><a href="globals_f.html#index_f"><span>f</span></a></li>
-      <li><a href="globals_g.html#index_g"><span>g</span></a></li>
-      <li class="current"><a href="globals_h.html#index_h"><span>h</span></a></li>
-      <li><a href="globals_i.html#index_i"><span>i</span></a></li>
-      <li><a href="globals_k.html#index_k"><span>k</span></a></li>
-      <li><a href="globals_l.html#index_l"><span>l</span></a></li>
-      <li><a href="globals_m.html#index_m"><span>m</span></a></li>
-      <li><a href="globals_n.html#index_n"><span>n</span></a></li>
-      <li><a href="globals_p.html#index_p"><span>p</span></a></li>
-      <li><a href="globals_r.html#index_r"><span>r</span></a></li>
-      <li><a href="globals_s.html#index_s"><span>s</span></a></li>
-      <li><a href="globals_t.html#index_t"><span>t</span></a></li>
-      <li><a href="globals_u.html#index_u"><span>u</span></a></li>
-      <li><a href="globals_v.html#index_v"><span>v</span></a></li>
-      <li><a href="globals_w.html#index_w"><span>w</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="contents">
-<div class="textblock">Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:</div>
-
-<h3><a class="anchor" id="index_h"></a>- h -</h3><ul>
-<li>handle_alert()
-: <a class="el" href="dtls_8c.html#a445994c602b105608f277c6fc066301d">dtls.c</a>
-</li>
-<li>handle_ccs()
-: <a class="el" href="dtls_8c.html#a4d7a16c9d0cd28666a2cc8ec471aa664">dtls.c</a>
-</li>
-<li>handle_handshake()
-: <a class="el" href="dtls_8c.html#ab199f50f39a96464ff7b532f2635ce9d">dtls.c</a>
-</li>
-<li>handle_handshake_msg()
-: <a class="el" href="dtls_8c.html#a24e7d6ad9fc0d87b7285615123bdd43d">dtls.c</a>
-</li>
-<li>HANDSHAKE
-: <a class="el" href="dtls_8c.html#a354c84e6c783c5d0cdbf905c27e77dc4">dtls.c</a>
-</li>
-<li>HASH_ADD
-: <a class="el" href="uthash_8h.html#aaf01358e257c8d838eb5e4b189f0c399">uthash.h</a>
-</li>
-<li>HASH_ADD_INT
-: <a class="el" href="uthash_8h.html#acf85835471af894e354efb7e346698f3">uthash.h</a>
-</li>
-<li>HASH_ADD_KEYPTR
-: <a class="el" href="uthash_8h.html#a0b7468360b5c788762cdb2ccf9cd4d26">uthash.h</a>
-</li>
-<li>HASH_ADD_PEER
-: <a class="el" href="dtls_8c.html#acf0d50c9f224c0677988f13e947e9523">dtls.c</a>
-</li>
-<li>HASH_ADD_PTR
-: <a class="el" href="uthash_8h.html#a2ad1f84ef1ba9df99fa2ada38cb61823">uthash.h</a>
-</li>
-<li>HASH_ADD_STR
-: <a class="el" href="uthash_8h.html#a9724951736f3985f74df17638c8a7885">uthash.h</a>
-</li>
-<li>HASH_ADD_TO_BKT
-: <a class="el" href="uthash_8h.html#a78e11adee321f45c5cb31ff2d6eb0348">uthash.h</a>
-</li>
-<li>HASH_BER
-: <a class="el" href="uthash_8h.html#a7271bf51d7fe2cf2c183578aee73601e">uthash.h</a>
-</li>
-<li>HASH_BKT_CAPACITY_THRESH
-: <a class="el" href="uthash_8h.html#a8ae3e6473261f6c4b78c030c94f5d68f">uthash.h</a>
-</li>
-<li>HASH_BLOOM_ADD
-: <a class="el" href="uthash_8h.html#acaad947212056cd8bfe3d660265fb2db">uthash.h</a>
-</li>
-<li>HASH_BLOOM_FREE
-: <a class="el" href="uthash_8h.html#ad6847ad938fc26bfd0726d7f159efd0a">uthash.h</a>
-</li>
-<li>HASH_BLOOM_MAKE
-: <a class="el" href="uthash_8h.html#a254f427772a1fe7a2480a8302af8f8b8">uthash.h</a>
-</li>
-<li>HASH_BLOOM_SIGNATURE
-: <a class="el" href="uthash_8h.html#a18a33f4269f05c1e81ce54edbc0ffca6">uthash.h</a>
-</li>
-<li>HASH_BLOOM_TEST
-: <a class="el" href="uthash_8h.html#a06bfbf880899d54da35487d0d39c1009">uthash.h</a>
-</li>
-<li>HASH_CLEAR
-: <a class="el" href="uthash_8h.html#a0512b3f7a824275579ec82643ef2cc23">uthash.h</a>
-</li>
-<li>HASH_CNT
-: <a class="el" href="uthash_8h.html#a6ea9e661cd8c35eff1fdcd5731127edd">uthash.h</a>
-</li>
-<li>HASH_COUNT
-: <a class="el" href="uthash_8h.html#a7d3edf55a3ee4da1a0e1b477c314342f">uthash.h</a>
-</li>
-<li>HASH_DEL
-: <a class="el" href="uthash_8h.html#a48b7ed374602dcb236501aa23a971f05">uthash.h</a>
-</li>
-<li>HASH_DEL_IN_BKT
-: <a class="el" href="uthash_8h.html#a1b2d6f694f98cf6350cdd18225cb3f78">uthash.h</a>
-</li>
-<li>HASH_DEL_PEER
-: <a class="el" href="dtls_8c.html#a0844494b0b76acb7bcf832ae74fb25c0">dtls.c</a>
-</li>
-<li>HASH_DELETE
-: <a class="el" href="uthash_8h.html#a3f83117e1108d63844a58d2d79c3b980">uthash.h</a>
-</li>
-<li>HASH_EMIT_KEY
-: <a class="el" href="uthash_8h.html#a44f9d46e2cc79652492e5dd3e6c40a15">uthash.h</a>
-</li>
-<li>HASH_EXPAND_BUCKETS
-: <a class="el" href="uthash_8h.html#a6439fd6271474e61b1840fbf83132f03">uthash.h</a>
-</li>
-<li>HASH_FCN
-: <a class="el" href="uthash_8h.html#abd3356419b386c379116393700a751d3">uthash.h</a>
-</li>
-<li>HASH_FIND
-: <a class="el" href="uthash_8h.html#ad4a1cd39c3044936c0e49d3f372c9dbf">uthash.h</a>
-</li>
-<li>HASH_FIND_IN_BKT
-: <a class="el" href="uthash_8h.html#a42ae87cc63106a82601808f19329502c">uthash.h</a>
-</li>
-<li>HASH_FIND_INT
-: <a class="el" href="uthash_8h.html#aadcb19b940348f3141bd51505ede0142">uthash.h</a>
-</li>
-<li>HASH_FIND_PEER
-: <a class="el" href="dtls_8c.html#a0ce6e5416f5479558116b881d3eb1ad6">dtls.c</a>
-</li>
-<li>HASH_FIND_PTR
-: <a class="el" href="uthash_8h.html#a26a887f8e31952034becac0cf446f6c3">uthash.h</a>
-</li>
-<li>HASH_FIND_STR
-: <a class="el" href="uthash_8h.html#a214529083adfab2fa8cd402d2eeb0a84">uthash.h</a>
-</li>
-<li>HASH_FNV
-: <a class="el" href="uthash_8h.html#ac99f9a353421537527a80b392089dd9d">uthash.h</a>
-</li>
-<li>HASH_FSCK
-: <a class="el" href="uthash_8h.html#a7d882fadb26a4e6c13c134d8be4d0759">uthash.h</a>
-</li>
-<li>HASH_INITIAL_NUM_BUCKETS
-: <a class="el" href="uthash_8h.html#a361cdc5e8d6d8fe5fae6912588ae15d0">uthash.h</a>
-</li>
-<li>HASH_INITIAL_NUM_BUCKETS_LOG2
-: <a class="el" href="uthash_8h.html#a0b39a5cf1d6c05c43bd8530db2ec908c">uthash.h</a>
-</li>
-<li>HASH_ITER
-: <a class="el" href="uthash_8h.html#a4d524042f1fcb976d8bccae9e4cc63d6">uthash.h</a>
-</li>
-<li>HASH_JEN
-: <a class="el" href="uthash_8h.html#aa16e3ae6125d7f10d3deb4695e0ee51e">uthash.h</a>
-</li>
-<li>HASH_JEN_MIX
-: <a class="el" href="uthash_8h.html#a6d37144e54d2bd49eb88fbfd04c59dc5">uthash.h</a>
-</li>
-<li>HASH_KEYCMP
-: <a class="el" href="uthash_8h.html#a35c9b682ebb7a8cbf284b9f0a9594095">uthash.h</a>
-</li>
-<li>HASH_MAKE_TABLE
-: <a class="el" href="uthash_8h.html#aeba971430f623b6334f565d9c7ec9de5">uthash.h</a>
-</li>
-<li>HASH_MD5
-: <a class="el" href="group__HMAC.html#gga698cfa036e69361a93dcdd9b19579b23a45c78681038e51d5f54554130b0b79ab">hmac.h</a>
-</li>
-<li>HASH_NONE
-: <a class="el" href="group__HMAC.html#gga698cfa036e69361a93dcdd9b19579b23a065bed423473d8a44394cd4415de3018">hmac.h</a>
-</li>
-<li>HASH_OAT
-: <a class="el" href="uthash_8h.html#abc7040b698211c1993441fb4165fa0b4">uthash.h</a>
-</li>
-<li>HASH_SAX
-: <a class="el" href="uthash_8h.html#aa4cb140b45415e7bf57237525388af79">uthash.h</a>
-</li>
-<li>HASH_SELECT
-: <a class="el" href="uthash_8h.html#ad190366f7a476ece79bd628240a5fc93">uthash.h</a>
-</li>
-<li>HASH_SFH
-: <a class="el" href="uthash_8h.html#ab595698a74642684dace0dfa47dab445">uthash.h</a>
-</li>
-<li>HASH_SHA1
-: <a class="el" href="group__HMAC.html#gga698cfa036e69361a93dcdd9b19579b23a25c481ea5e9f16f9b40fe773528aef03">hmac.h</a>
-</li>
-<li>HASH_SHA224
-: <a class="el" href="group__HMAC.html#gga698cfa036e69361a93dcdd9b19579b23a0a7940bf3dbc032d803b1b688e5570e5">hmac.h</a>
-</li>
-<li>HASH_SHA256
-: <a class="el" href="group__HMAC.html#gga698cfa036e69361a93dcdd9b19579b23a3690b7a5bf11282bcdaa199c11408dd3">hmac.h</a>
-</li>
-<li>HASH_SHA384
-: <a class="el" href="group__HMAC.html#gga698cfa036e69361a93dcdd9b19579b23abb45ce56a912f1175c413afcb3e1f970">hmac.h</a>
-</li>
-<li>HASH_SHA512
-: <a class="el" href="group__HMAC.html#gga698cfa036e69361a93dcdd9b19579b23a6d06d1ec4dbf3aa876fda6ca1c5b0f66">hmac.h</a>
-</li>
-<li>HASH_SIGNATURE
-: <a class="el" href="uthash_8h.html#a4a7a46b9b92a9c73e4f9321e8e6b6bb2">uthash.h</a>
-</li>
-<li>HASH_SORT
-: <a class="el" href="uthash_8h.html#a88d2ab40956878caacd02c214f7e8f15">uthash.h</a>
-</li>
-<li>HASH_SRT
-: <a class="el" href="uthash_8h.html#a388b4071dcff005154f431d3d3025fbd">uthash.h</a>
-</li>
-<li>HASH_TO_BKT
-: <a class="el" href="uthash_8h.html#a4d7691544128a6ef265f3e4fa5ed3113">uthash.h</a>
-</li>
-<li>HAVE_ARPA_INET_H
-: <a class="el" href="config_8h.html#a7d1a71461e07569d0c9003da24c30a59">config.h</a>
-, <a class="el" href="dtls__config_8h.html#a7d1a71461e07569d0c9003da24c30a59">dtls_config.h</a>
-</li>
-<li>HAVE_ASSERT_H
-: <a class="el" href="dtls__config_8h.html#ad0eabe2e5407bc73450eb15b657983cd">dtls_config.h</a>
-, <a class="el" href="config_8h.html#ad0eabe2e5407bc73450eb15b657983cd">config.h</a>
-</li>
-<li>HAVE_FCNTL_H
-: <a class="el" href="config_8h.html#a765d75020849aa0a9b6becd9a5b7a193">config.h</a>
-, <a class="el" href="dtls__config_8h.html#a765d75020849aa0a9b6becd9a5b7a193">dtls_config.h</a>
-</li>
-<li>HAVE_INTTYPES_H
-: <a class="el" href="config_8h.html#ab90a030ff2790ebdc176660a6dd2a478">config.h</a>
-, <a class="el" href="dtls__config_8h.html#ab90a030ff2790ebdc176660a6dd2a478">dtls_config.h</a>
-</li>
-<li>HAVE_MALLOC
-: <a class="el" href="config_8h.html#a14503280ca0cb757db915eea09282bfc">config.h</a>
-, <a class="el" href="dtls__config_8h.html#a14503280ca0cb757db915eea09282bfc">dtls_config.h</a>
-</li>
-<li>HAVE_MEMORY_H
-: <a class="el" href="config_8h.html#ae93a78f9d076138897af441c9f86f285">config.h</a>
-, <a class="el" href="dtls__config_8h.html#ae93a78f9d076138897af441c9f86f285">dtls_config.h</a>
-</li>
-<li>HAVE_MEMSET
-: <a class="el" href="config_8h.html#a3df52e9809253860c385be6f3a160607">config.h</a>
-, <a class="el" href="dtls__config_8h.html#a3df52e9809253860c385be6f3a160607">dtls_config.h</a>
-</li>
-<li>HAVE_NETDB_H
-: <a class="el" href="config_8h.html#a9fe2d1d4726a6b846483a2276866dc6e">config.h</a>
-, <a class="el" href="dtls__config_8h.html#a9fe2d1d4726a6b846483a2276866dc6e">dtls_config.h</a>
-</li>
-<li>HAVE_NETINET_IN_H
-: <a class="el" href="config_8h.html#a0938658b988a082864efcee2d1b2bfd2">config.h</a>
-, <a class="el" href="dtls__config_8h.html#a0938658b988a082864efcee2d1b2bfd2">dtls_config.h</a>
-</li>
-<li>HAVE_SELECT
-: <a class="el" href="config_8h.html#aee3a7313d861afa18971031528fd0cd5">config.h</a>
-, <a class="el" href="dtls__config_8h.html#aee3a7313d861afa18971031528fd0cd5">dtls_config.h</a>
-</li>
-<li>HAVE_SOCKET
-: <a class="el" href="config_8h.html#a4cd6234bfe3f7c10968a1151f43ce280">config.h</a>
-, <a class="el" href="dtls__config_8h.html#a4cd6234bfe3f7c10968a1151f43ce280">dtls_config.h</a>
-</li>
-<li>HAVE_STDDEF_H
-: <a class="el" href="dtls__config_8h.html#a0e6b9a04ae66b7846715e51a0a2dccff">dtls_config.h</a>
-, <a class="el" href="config_8h.html#a0e6b9a04ae66b7846715e51a0a2dccff">config.h</a>
-</li>
-<li>HAVE_STDINT_H
-: <a class="el" href="config_8h.html#ab6cd6d1c63c1e26ea2d4537b77148354">config.h</a>
-, <a class="el" href="dtls__config_8h.html#ab6cd6d1c63c1e26ea2d4537b77148354">dtls_config.h</a>
-</li>
-<li>HAVE_STDLIB_H
-: <a class="el" href="dtls__config_8h.html#a9e0e434ec1a6ddbd97db12b5a32905e0">dtls_config.h</a>
-, <a class="el" href="config_8h.html#a9e0e434ec1a6ddbd97db12b5a32905e0">config.h</a>
-</li>
-<li>HAVE_STRDUP
-: <a class="el" href="config_8h.html#a41b838eb3b86a0ebbd0981e92a759c0f">config.h</a>
-, <a class="el" href="dtls__config_8h.html#a41b838eb3b86a0ebbd0981e92a759c0f">dtls_config.h</a>
-</li>
-<li>HAVE_STRERROR
-: <a class="el" href="config_8h.html#a992653625041edef146772df96f7bca9">config.h</a>
-, <a class="el" href="dtls__config_8h.html#a992653625041edef146772df96f7bca9">dtls_config.h</a>
-</li>
-<li>HAVE_STRING_H
-: <a class="el" href="config_8h.html#ad4c234dd1625255dc626a15886306e7d">config.h</a>
-, <a class="el" href="dtls__config_8h.html#ad4c234dd1625255dc626a15886306e7d">dtls_config.h</a>
-</li>
-<li>HAVE_STRINGS_H
-: <a class="el" href="dtls__config_8h.html#a405d10d46190bcb0320524c54eafc850">dtls_config.h</a>
-, <a class="el" href="config_8h.html#a405d10d46190bcb0320524c54eafc850">config.h</a>
-</li>
-<li>HAVE_STRNLEN
-: <a class="el" href="config_8h.html#a9bee6d8db098b2230690f8e8db9ffb74">config.h</a>
-, <a class="el" href="dtls__config_8h.html#a9bee6d8db098b2230690f8e8db9ffb74">dtls_config.h</a>
-</li>
-<li>HAVE_SYS_PARAM_H
-: <a class="el" href="dtls__config_8h.html#a05aa9fc25e1231d8eb347390558e4e22">dtls_config.h</a>
-, <a class="el" href="config_8h.html#a05aa9fc25e1231d8eb347390558e4e22">config.h</a>
-</li>
-<li>HAVE_SYS_SOCKET_H
-: <a class="el" href="config_8h.html#afb96c2bc08ebf33cca68c714f624a58d">config.h</a>
-, <a class="el" href="dtls__config_8h.html#afb96c2bc08ebf33cca68c714f624a58d">dtls_config.h</a>
-</li>
-<li>HAVE_SYS_STAT_H
-: <a class="el" href="dtls__config_8h.html#ace156430ba007d19b4348a950d0c692b">dtls_config.h</a>
-, <a class="el" href="config_8h.html#ace156430ba007d19b4348a950d0c692b">config.h</a>
-</li>
-<li>HAVE_SYS_TIME_H
-: <a class="el" href="dtls__config_8h.html#a2aae46056558e9d6fef6380f9678ffe3">dtls_config.h</a>
-, <a class="el" href="config_8h.html#a2aae46056558e9d6fef6380f9678ffe3">config.h</a>
-</li>
-<li>HAVE_SYS_TYPES_H
-: <a class="el" href="dtls__config_8h.html#a69dc70bea5d1f8bd2be9740e974fa666">dtls_config.h</a>
-, <a class="el" href="config_8h.html#a69dc70bea5d1f8bd2be9740e974fa666">config.h</a>
-</li>
-<li>HAVE_TIME_H
-: <a class="el" href="dtls__config_8h.html#a2397007ae170bf57faa808bacaaa2499">dtls_config.h</a>
-, <a class="el" href="config_8h.html#a2397007ae170bf57faa808bacaaa2499">config.h</a>
-</li>
-<li>HAVE_UNISTD_H
-: <a class="el" href="dtls__config_8h.html#a219b06937831d0da94d801ab13987639">dtls_config.h</a>
-, <a class="el" href="config_8h.html#a219b06937831d0da94d801ab13987639">config.h</a>
-</li>
-<li>HAVE_VPRINTF
-: <a class="el" href="config_8h.html#a11e8ffa0e0ee1d52812402f2eac05fa7">config.h</a>
-, <a class="el" href="dtls__config_8h.html#a11e8ffa0e0ee1d52812402f2eac05fa7">dtls_config.h</a>
-</li>
-<li>hexdump()
-: <a class="el" href="debug_8h.html#af5fe8134d8875eb856a4cd99313ec1b0">debug.h</a>
-, <a class="el" href="debug_8c.html#af5fe8134d8875eb856a4cd99313ec1b0">debug.c</a>
-</li>
-<li>HIGH
-: <a class="el" href="dtls_8c.html#aa5a8f0d3793bb3b194ca364b596ab01d">dtls.c</a>
-</li>
-<li>HMAC_UPDATE_SEED
-: <a class="el" href="crypto_8c.html#ab7ea6d487f3c6e67106df7f4d281804a">crypto.c</a>
-</li>
-<li>HS_HDR_LENGTH
-: <a class="el" href="dtls_8c.html#a76388c15f1b77d3c5b9d8068e8c0a087">dtls.c</a>
-</li>
-<li>HV_HDR_LENGTH
-: <a class="el" href="dtls_8c.html#a07a808dc78df3141fe5caba2a3e2226b">dtls.c</a>
-</li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/globals_i.html b/external/wakaama/examples/shared/tinydtls/doc/html/globals_i.html
deleted file mode 100644 (file)
index a20d527..0000000
+++ /dev/null
@@ -1,150 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: Globals</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li class="current"><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow3" class="tabs2">
-    <ul class="tablist">
-      <li class="current"><a href="globals.html"><span>All</span></a></li>
-      <li><a href="globals_func.html"><span>Functions</span></a></li>
-      <li><a href="globals_vars.html"><span>Variables</span></a></li>
-      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
-      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
-      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
-      <li><a href="globals_defs.html"><span>Macros</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow4" class="tabs3">
-    <ul class="tablist">
-      <li><a href="globals.html#index__"><span>_</span></a></li>
-      <li><a href="globals_a.html#index_a"><span>a</span></a></li>
-      <li><a href="globals_b.html#index_b"><span>b</span></a></li>
-      <li><a href="globals_c.html#index_c"><span>c</span></a></li>
-      <li><a href="globals_d.html#index_d"><span>d</span></a></li>
-      <li><a href="globals_e.html#index_e"><span>e</span></a></li>
-      <li><a href="globals_f.html#index_f"><span>f</span></a></li>
-      <li><a href="globals_g.html#index_g"><span>g</span></a></li>
-      <li><a href="globals_h.html#index_h"><span>h</span></a></li>
-      <li class="current"><a href="globals_i.html#index_i"><span>i</span></a></li>
-      <li><a href="globals_k.html#index_k"><span>k</span></a></li>
-      <li><a href="globals_l.html#index_l"><span>l</span></a></li>
-      <li><a href="globals_m.html#index_m"><span>m</span></a></li>
-      <li><a href="globals_n.html#index_n"><span>n</span></a></li>
-      <li><a href="globals_p.html#index_p"><span>p</span></a></li>
-      <li><a href="globals_r.html#index_r"><span>r</span></a></li>
-      <li><a href="globals_s.html#index_s"><span>s</span></a></li>
-      <li><a href="globals_t.html#index_t"><span>t</span></a></li>
-      <li><a href="globals_u.html#index_u"><span>u</span></a></li>
-      <li><a href="globals_v.html#index_v"><span>v</span></a></li>
-      <li><a href="globals_w.html#index_w"><span>w</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="contents">
-<div class="textblock">Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:</div>
-
-<h3><a class="anchor" id="index_i"></a>- i -</h3><ul>
-<li>is_ecdsa_client_auth_supported()
-: <a class="el" href="dtls_8c.html#a599f0d6e9134869e55b64c4f8720ebfa">dtls.c</a>
-</li>
-<li>is_ecdsa_supported()
-: <a class="el" href="dtls_8c.html#abb41f4bb9b8e4218ef5115ce70ebdc21">dtls.c</a>
-</li>
-<li>is_psk_supported()
-: <a class="el" href="dtls_8c.html#a3bbccb275cb23e84c0a148a157955770">dtls.c</a>
-</li>
-<li>is_record()
-: <a class="el" href="dtls_8c.html#aaafa285eb634873480c0ff429edd8064">dtls.c</a>
-</li>
-<li>is_tls_ecdhe_ecdsa_with_aes_128_ccm_8()
-: <a class="el" href="dtls_8c.html#a8098a728e5fff33ceeb7f57ebd48a212">dtls.c</a>
-</li>
-<li>is_tls_psk_with_aes_128_ccm_8()
-: <a class="el" href="dtls_8c.html#a8bb6e8bb947b943d2af4c1886a8e72ba">dtls.c</a>
-</li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/globals_k.html b/external/wakaama/examples/shared/tinydtls/doc/html/globals_k.html
deleted file mode 100644 (file)
index 9213ff0..0000000
+++ /dev/null
@@ -1,135 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: Globals</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li class="current"><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow3" class="tabs2">
-    <ul class="tablist">
-      <li class="current"><a href="globals.html"><span>All</span></a></li>
-      <li><a href="globals_func.html"><span>Functions</span></a></li>
-      <li><a href="globals_vars.html"><span>Variables</span></a></li>
-      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
-      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
-      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
-      <li><a href="globals_defs.html"><span>Macros</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow4" class="tabs3">
-    <ul class="tablist">
-      <li><a href="globals.html#index__"><span>_</span></a></li>
-      <li><a href="globals_a.html#index_a"><span>a</span></a></li>
-      <li><a href="globals_b.html#index_b"><span>b</span></a></li>
-      <li><a href="globals_c.html#index_c"><span>c</span></a></li>
-      <li><a href="globals_d.html#index_d"><span>d</span></a></li>
-      <li><a href="globals_e.html#index_e"><span>e</span></a></li>
-      <li><a href="globals_f.html#index_f"><span>f</span></a></li>
-      <li><a href="globals_g.html#index_g"><span>g</span></a></li>
-      <li><a href="globals_h.html#index_h"><span>h</span></a></li>
-      <li><a href="globals_i.html#index_i"><span>i</span></a></li>
-      <li class="current"><a href="globals_k.html#index_k"><span>k</span></a></li>
-      <li><a href="globals_l.html#index_l"><span>l</span></a></li>
-      <li><a href="globals_m.html#index_m"><span>m</span></a></li>
-      <li><a href="globals_n.html#index_n"><span>n</span></a></li>
-      <li><a href="globals_p.html#index_p"><span>p</span></a></li>
-      <li><a href="globals_r.html#index_r"><span>r</span></a></li>
-      <li><a href="globals_s.html#index_s"><span>s</span></a></li>
-      <li><a href="globals_t.html#index_t"><span>t</span></a></li>
-      <li><a href="globals_u.html#index_u"><span>u</span></a></li>
-      <li><a href="globals_v.html#index_v"><span>v</span></a></li>
-      <li><a href="globals_w.html#index_w"><span>w</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="contents">
-<div class="textblock">Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:</div>
-
-<h3><a class="anchor" id="index_k"></a>- k -</h3><ul>
-<li>known_cipher()
-: <a class="el" href="dtls_8c.html#a37965d10b44a63ea6adbf28b9dc79b75">dtls.c</a>
-</li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/globals_l.html b/external/wakaama/examples/shared/tinydtls/doc/html/globals_l.html
deleted file mode 100644 (file)
index 3351bc7..0000000
+++ /dev/null
@@ -1,207 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: Globals</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li class="current"><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow3" class="tabs2">
-    <ul class="tablist">
-      <li class="current"><a href="globals.html"><span>All</span></a></li>
-      <li><a href="globals_func.html"><span>Functions</span></a></li>
-      <li><a href="globals_vars.html"><span>Variables</span></a></li>
-      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
-      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
-      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
-      <li><a href="globals_defs.html"><span>Macros</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow4" class="tabs3">
-    <ul class="tablist">
-      <li><a href="globals.html#index__"><span>_</span></a></li>
-      <li><a href="globals_a.html#index_a"><span>a</span></a></li>
-      <li><a href="globals_b.html#index_b"><span>b</span></a></li>
-      <li><a href="globals_c.html#index_c"><span>c</span></a></li>
-      <li><a href="globals_d.html#index_d"><span>d</span></a></li>
-      <li><a href="globals_e.html#index_e"><span>e</span></a></li>
-      <li><a href="globals_f.html#index_f"><span>f</span></a></li>
-      <li><a href="globals_g.html#index_g"><span>g</span></a></li>
-      <li><a href="globals_h.html#index_h"><span>h</span></a></li>
-      <li><a href="globals_i.html#index_i"><span>i</span></a></li>
-      <li><a href="globals_k.html#index_k"><span>k</span></a></li>
-      <li class="current"><a href="globals_l.html#index_l"><span>l</span></a></li>
-      <li><a href="globals_m.html#index_m"><span>m</span></a></li>
-      <li><a href="globals_n.html#index_n"><span>n</span></a></li>
-      <li><a href="globals_p.html#index_p"><span>p</span></a></li>
-      <li><a href="globals_r.html#index_r"><span>r</span></a></li>
-      <li><a href="globals_s.html#index_s"><span>s</span></a></li>
-      <li><a href="globals_t.html#index_t"><span>t</span></a></li>
-      <li><a href="globals_u.html#index_u"><span>u</span></a></li>
-      <li><a href="globals_v.html#index_v"><span>v</span></a></li>
-      <li><a href="globals_w.html#index_w"><span>w</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="contents">
-<div class="textblock">Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:</div>
-
-<h3><a class="anchor" id="index_l"></a>- l -</h3><ul>
-<li>LDECLTYPE
-: <a class="el" href="utlist_8h.html#ae8c9864192170d02fd996abaa1589611">utlist.h</a>
-</li>
-<li>list_add()
-: <a class="el" href="t__list_8h.html#aee4e6fc5d9a6133555e7373c654b2120">t_list.h</a>
-</li>
-<li>LIST_CONCAT
-: <a class="el" href="t__list_8h.html#ad8951367826c57390a9f9892e0fc2659">t_list.h</a>
-</li>
-<li>list_head()
-: <a class="el" href="t__list_8h.html#adb42e31bb4fe0df6ec1aa3494902968d">t_list.h</a>
-</li>
-<li>list_insert()
-: <a class="el" href="t__list_8h.html#a0d4152f6de47bfefa600867056bc3355">t_list.h</a>
-</li>
-<li>list_item_next()
-: <a class="el" href="t__list_8h.html#ae7f0bdad2409695760ffd8de55b6a99b">t_list.h</a>
-</li>
-<li>list_pop()
-: <a class="el" href="t__list_8h.html#a5ba6a8506e0226ab945349e25ef65d56">t_list.h</a>
-</li>
-<li>list_push()
-: <a class="el" href="t__list_8h.html#ab1521a806c1775e743ddefede17673fd">t_list.h</a>
-</li>
-<li>list_remove()
-: <a class="el" href="t__list_8h.html#a10de2120be61f445c5989c983c1e133b">t_list.h</a>
-</li>
-<li>LIST_STRUCT
-: <a class="el" href="t__list_8h.html#ab5acb500a887e1957292f3dddc5c9b79">t_list.h</a>
-</li>
-<li>LIST_STRUCT_INIT
-: <a class="el" href="t__list_8h.html#adcb86fe4485a0f8ea79541117641f730">t_list.h</a>
-</li>
-<li>list_t
-: <a class="el" href="t__list_8h.html#a9c248916bae1f0b13732686786be7108">t_list.h</a>
-</li>
-<li>LL_APPEND
-: <a class="el" href="utlist_8h.html#ace33c571c3df78e721a99a4494983855">utlist.h</a>
-</li>
-<li>LL_APPEND_VS2008
-: <a class="el" href="utlist_8h.html#a3c301ddde2cfd8c32df4137c902b66f3">utlist.h</a>
-</li>
-<li>LL_DELETE
-: <a class="el" href="utlist_8h.html#a34a4e54d488753465f6e87bb63b93c0e">utlist.h</a>
-</li>
-<li>LL_DELETE_VS2008
-: <a class="el" href="utlist_8h.html#a832d4d46464fb2dada9e198ad4f70cdf">utlist.h</a>
-</li>
-<li>LL_FOREACH
-: <a class="el" href="utlist_8h.html#a487c0ce49f397e1743caae16a797e4bb">utlist.h</a>
-</li>
-<li>LL_FOREACH_SAFE
-: <a class="el" href="utlist_8h.html#ad0a695664d31f0b929fd50b39ebcf0ef">utlist.h</a>
-</li>
-<li>LL_PREPEND
-: <a class="el" href="utlist_8h.html#a851fb4b583b0dc000097eeee6dd551d4">utlist.h</a>
-</li>
-<li>LL_SEARCH
-: <a class="el" href="utlist_8h.html#af7a5ae66c9386c4b89403d9ca038adcb">utlist.h</a>
-</li>
-<li>LL_SEARCH_SCALAR
-: <a class="el" href="utlist_8h.html#a8c5c97079c5b259e4c0ff7c563b0f8ed">utlist.h</a>
-</li>
-<li>LL_SORT
-: <a class="el" href="utlist_8h.html#a0b2137d4a0c157cb7a1a30d9340ece31">utlist.h</a>
-</li>
-<li>log_t
-: <a class="el" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9d">debug.h</a>
-</li>
-<li>loglevels
-: <a class="el" href="debug_8c.html#aea3c9cd7c28ac0ebbc7473771751ed92">debug.c</a>
-</li>
-<li>LOW
-: <a class="el" href="dtls_8c.html#a69edf0296cf64026686d4ff4424d4e8f">dtls.c</a>
-</li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/globals_m.html b/external/wakaama/examples/shared/tinydtls/doc/html/globals_m.html
deleted file mode 100644 (file)
index 8c245e1..0000000
+++ /dev/null
@@ -1,163 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: Globals</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li class="current"><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow3" class="tabs2">
-    <ul class="tablist">
-      <li class="current"><a href="globals.html"><span>All</span></a></li>
-      <li><a href="globals_func.html"><span>Functions</span></a></li>
-      <li><a href="globals_vars.html"><span>Variables</span></a></li>
-      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
-      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
-      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
-      <li><a href="globals_defs.html"><span>Macros</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow4" class="tabs3">
-    <ul class="tablist">
-      <li><a href="globals.html#index__"><span>_</span></a></li>
-      <li><a href="globals_a.html#index_a"><span>a</span></a></li>
-      <li><a href="globals_b.html#index_b"><span>b</span></a></li>
-      <li><a href="globals_c.html#index_c"><span>c</span></a></li>
-      <li><a href="globals_d.html#index_d"><span>d</span></a></li>
-      <li><a href="globals_e.html#index_e"><span>e</span></a></li>
-      <li><a href="globals_f.html#index_f"><span>f</span></a></li>
-      <li><a href="globals_g.html#index_g"><span>g</span></a></li>
-      <li><a href="globals_h.html#index_h"><span>h</span></a></li>
-      <li><a href="globals_i.html#index_i"><span>i</span></a></li>
-      <li><a href="globals_k.html#index_k"><span>k</span></a></li>
-      <li><a href="globals_l.html#index_l"><span>l</span></a></li>
-      <li class="current"><a href="globals_m.html#index_m"><span>m</span></a></li>
-      <li><a href="globals_n.html#index_n"><span>n</span></a></li>
-      <li><a href="globals_p.html#index_p"><span>p</span></a></li>
-      <li><a href="globals_r.html#index_r"><span>r</span></a></li>
-      <li><a href="globals_s.html#index_s"><span>s</span></a></li>
-      <li><a href="globals_t.html#index_t"><span>t</span></a></li>
-      <li><a href="globals_u.html#index_u"><span>u</span></a></li>
-      <li><a href="globals_v.html#index_v"><span>v</span></a></li>
-      <li><a href="globals_w.html#index_w"><span>w</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="contents">
-<div class="textblock">Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:</div>
-
-<h3><a class="anchor" id="index_m"></a>- m -</h3><ul>
-<li>mac()
-: <a class="el" href="ccm_8c.html#af90d9a6bdae478b53926bf6f1bd6c9d5">ccm.c</a>
-</li>
-<li>malloc_context()
-: <a class="el" href="dtls_8c.html#a9e02f1c6e70dab40e56d5131a259521a">dtls.c</a>
-</li>
-<li>MASK_L
-: <a class="el" href="ccm_8c.html#a46e95fc2cb115ab9c342707ec443265f">ccm.c</a>
-</li>
-<li>max
-: <a class="el" href="numeric_8h.html#a24e753bacac6be5f30e18f8a2bdefda4">numeric.h</a>
-</li>
-<li>MAX_KEYBLOCK_LENGTH
-: <a class="el" href="crypto_8h.html#a0df6db4f8c29f2b0aa5a1363b4f9127f">crypto.h</a>
-</li>
-<li>maxlog
-: <a class="el" href="debug_8c.html#a7a6dbd5278e0c21ff9434dc3de7b955d">debug.c</a>
-</li>
-<li>memxor()
-: <a class="el" href="global_8h.html#a6c31c5d8a0fe09547a192100d2a00dc5">global.h</a>
-</li>
-<li>min
-: <a class="el" href="numeric_8h.html#a2d017cd3beb218080a7988e2deed2a11">numeric.h</a>
-, <a class="el" href="debug_8c.html#ac6afabdc09a49a433ee19d8a9486056d">debug.c</a>
-</li>
-<li>MUST_HASH
-: <a class="el" href="dtls_8c.html#a9279d8f0e7c7b30f968ed085b5a3136f">dtls.c</a>
-</li>
-<li>mycookie
-: <a class="el" href="dtls_8c.html#a97496e1be0f2fe54873b35ee8bf0d462">dtls.c</a>
-</li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/globals_n.html b/external/wakaama/examples/shared/tinydtls/doc/html/globals_n.html
deleted file mode 100644 (file)
index a475d2a..0000000
+++ /dev/null
@@ -1,179 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: Globals</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li class="current"><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow3" class="tabs2">
-    <ul class="tablist">
-      <li class="current"><a href="globals.html"><span>All</span></a></li>
-      <li><a href="globals_func.html"><span>Functions</span></a></li>
-      <li><a href="globals_vars.html"><span>Variables</span></a></li>
-      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
-      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
-      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
-      <li><a href="globals_defs.html"><span>Macros</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow4" class="tabs3">
-    <ul class="tablist">
-      <li><a href="globals.html#index__"><span>_</span></a></li>
-      <li><a href="globals_a.html#index_a"><span>a</span></a></li>
-      <li><a href="globals_b.html#index_b"><span>b</span></a></li>
-      <li><a href="globals_c.html#index_c"><span>c</span></a></li>
-      <li><a href="globals_d.html#index_d"><span>d</span></a></li>
-      <li><a href="globals_e.html#index_e"><span>e</span></a></li>
-      <li><a href="globals_f.html#index_f"><span>f</span></a></li>
-      <li><a href="globals_g.html#index_g"><span>g</span></a></li>
-      <li><a href="globals_h.html#index_h"><span>h</span></a></li>
-      <li><a href="globals_i.html#index_i"><span>i</span></a></li>
-      <li><a href="globals_k.html#index_k"><span>k</span></a></li>
-      <li><a href="globals_l.html#index_l"><span>l</span></a></li>
-      <li><a href="globals_m.html#index_m"><span>m</span></a></li>
-      <li class="current"><a href="globals_n.html#index_n"><span>n</span></a></li>
-      <li><a href="globals_p.html#index_p"><span>p</span></a></li>
-      <li><a href="globals_r.html#index_r"><span>r</span></a></li>
-      <li><a href="globals_s.html#index_s"><span>s</span></a></li>
-      <li><a href="globals_t.html#index_t"><span>t</span></a></li>
-      <li><a href="globals_u.html#index_u"><span>u</span></a></li>
-      <li><a href="globals_v.html#index_v"><span>v</span></a></li>
-      <li><a href="globals_w.html#index_w"><span>w</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="contents">
-<div class="textblock">Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:</div>
-
-<h3><a class="anchor" id="index_n"></a>- n -</h3><ul>
-<li>netq_delete_all()
-: <a class="el" href="group__netq.html#gac72fd2ec9f1e6908c8a10705fb6555e2">netq.c</a>
-, <a class="el" href="group__netq.html#gac72fd2ec9f1e6908c8a10705fb6555e2">netq.h</a>
-</li>
-<li>netq_free_node()
-: <a class="el" href="netq_8c.html#a2e23675fa402ca2c66bc97cbd09e44f3">netq.c</a>
-</li>
-<li>netq_head()
-: <a class="el" href="group__netq.html#gac769de2e30bcf2c2db89ff10822219d4">netq.c</a>
-, <a class="el" href="group__netq.html#gac769de2e30bcf2c2db89ff10822219d4">netq.h</a>
-</li>
-<li>netq_init()
-: <a class="el" href="group__netq.html#ga9eba9e66570dcdfc933c6cf843694444">netq.h</a>
-</li>
-<li>netq_insert_node()
-: <a class="el" href="group__netq.html#ga142c8e39fe2cd55250e3c1f0370dfe6b">netq.h</a>
-, <a class="el" href="group__netq.html#ga142c8e39fe2cd55250e3c1f0370dfe6b">netq.c</a>
-</li>
-<li>netq_malloc_node()
-: <a class="el" href="netq_8c.html#a58b119d6b9bb7756ab49afcd34571dab">netq.c</a>
-</li>
-<li>netq_next()
-: <a class="el" href="group__netq.html#gab4c90c003808a784ae1ee9322e75627d">netq.c</a>
-, <a class="el" href="group__netq.html#gab4c90c003808a784ae1ee9322e75627d">netq.h</a>
-</li>
-<li>netq_node_free()
-: <a class="el" href="group__netq.html#ga9ef9da1a2af266dadef83ddf6c8524d7">netq.c</a>
-, <a class="el" href="group__netq.html#ga9ef9da1a2af266dadef83ddf6c8524d7">netq.h</a>
-</li>
-<li>netq_node_new()
-: <a class="el" href="group__netq.html#gafcf245cd934e9b8f0909a7ca8940e9cb">netq.h</a>
-, <a class="el" href="group__netq.html#gafcf245cd934e9b8f0909a7ca8940e9cb">netq.c</a>
-</li>
-<li>netq_packet_t
-: <a class="el" href="group__netq.html#gaa59d8597860df302584b1e9c448fdfcd">netq.h</a>
-</li>
-<li>netq_pop_first()
-: <a class="el" href="group__netq.html#ga108e6c43e524fd4b23a5d4731631fae3">netq.h</a>
-, <a class="el" href="group__netq.html#ga108e6c43e524fd4b23a5d4731631fae3">netq.c</a>
-</li>
-<li>netq_remove()
-: <a class="el" href="group__netq.html#gace12cd802d76d5bd98b2eaedc591fd22">netq.c</a>
-, <a class="el" href="group__netq.html#gace12cd802d76d5bd98b2eaedc591fd22">netq.h</a>
-</li>
-<li>netq_t
-: <a class="el" href="group__netq.html#ga4991f2cfa1f79edf8f7d8262c5beeb5b">netq.h</a>
-</li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/globals_p.html b/external/wakaama/examples/shared/tinydtls/doc/html/globals_p.html
deleted file mode 100644 (file)
index 67c9b86..0000000
+++ /dev/null
@@ -1,187 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: Globals</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li class="current"><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow3" class="tabs2">
-    <ul class="tablist">
-      <li class="current"><a href="globals.html"><span>All</span></a></li>
-      <li><a href="globals_func.html"><span>Functions</span></a></li>
-      <li><a href="globals_vars.html"><span>Variables</span></a></li>
-      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
-      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
-      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
-      <li><a href="globals_defs.html"><span>Macros</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow4" class="tabs3">
-    <ul class="tablist">
-      <li><a href="globals.html#index__"><span>_</span></a></li>
-      <li><a href="globals_a.html#index_a"><span>a</span></a></li>
-      <li><a href="globals_b.html#index_b"><span>b</span></a></li>
-      <li><a href="globals_c.html#index_c"><span>c</span></a></li>
-      <li><a href="globals_d.html#index_d"><span>d</span></a></li>
-      <li><a href="globals_e.html#index_e"><span>e</span></a></li>
-      <li><a href="globals_f.html#index_f"><span>f</span></a></li>
-      <li><a href="globals_g.html#index_g"><span>g</span></a></li>
-      <li><a href="globals_h.html#index_h"><span>h</span></a></li>
-      <li><a href="globals_i.html#index_i"><span>i</span></a></li>
-      <li><a href="globals_k.html#index_k"><span>k</span></a></li>
-      <li><a href="globals_l.html#index_l"><span>l</span></a></li>
-      <li><a href="globals_m.html#index_m"><span>m</span></a></li>
-      <li><a href="globals_n.html#index_n"><span>n</span></a></li>
-      <li class="current"><a href="globals_p.html#index_p"><span>p</span></a></li>
-      <li><a href="globals_r.html#index_r"><span>r</span></a></li>
-      <li><a href="globals_s.html#index_s"><span>s</span></a></li>
-      <li><a href="globals_t.html#index_t"><span>t</span></a></li>
-      <li><a href="globals_u.html#index_u"><span>u</span></a></li>
-      <li><a href="globals_v.html#index_v"><span>v</span></a></li>
-      <li><a href="globals_w.html#index_w"><span>w</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="contents">
-<div class="textblock">Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:</div>
-
-<h3><a class="anchor" id="index_p"></a>- p -</h3><ul>
-<li>PACKAGE_BUGREPORT
-: <a class="el" href="config_8h.html#a1d1d2d7f8d2f95b376954d649ab03233">config.h</a>
-, <a class="el" href="dtls__config_8h.html#a1d1d2d7f8d2f95b376954d649ab03233">dtls_config.h</a>
-</li>
-<li>PACKAGE_NAME
-: <a class="el" href="dtls__config_8h.html#a1c0439e4355794c09b64274849eb0279">dtls_config.h</a>
-, <a class="el" href="config_8h.html#a1c0439e4355794c09b64274849eb0279">config.h</a>
-</li>
-<li>PACKAGE_STRING
-: <a class="el" href="config_8h.html#ac73e6f903c16eca7710f92e36e1c6fbf">config.h</a>
-, <a class="el" href="dtls__config_8h.html#ac73e6f903c16eca7710f92e36e1c6fbf">dtls_config.h</a>
-</li>
-<li>PACKAGE_TARNAME
-: <a class="el" href="dtls__config_8h.html#af415af6bfede0e8d5453708afe68651c">dtls_config.h</a>
-, <a class="el" href="config_8h.html#af415af6bfede0e8d5453708afe68651c">config.h</a>
-</li>
-<li>PACKAGE_URL
-: <a class="el" href="config_8h.html#a5c93853116d5a50307b6744f147840aa">config.h</a>
-, <a class="el" href="dtls__config_8h.html#a5c93853116d5a50307b6744f147840aa">dtls_config.h</a>
-</li>
-<li>PACKAGE_VERSION
-: <a class="el" href="config_8h.html#aa326a05d5e30f9e9a4bb0b4469d5d0c0">config.h</a>
-, <a class="el" href="dtls__config_8h.html#aa326a05d5e30f9e9a4bb0b4469d5d0c0">dtls_config.h</a>
-</li>
-<li>peer_init()
-: <a class="el" href="peer_8c.html#a0297e9d772bfca004a98462d9c7d2828">peer.c</a>
-, <a class="el" href="peer_8h.html#a0297e9d772bfca004a98462d9c7d2828">peer.h</a>
-</li>
-<li>PRF_LABEL
-: <a class="el" href="dtls_8c.html#abac8adda40bcb694e059e38f6ac115f9">dtls.c</a>
-</li>
-<li>prf_label_client
-: <a class="el" href="dtls_8c.html#abba2a2562813493d98b5671a4c5c082b">dtls.c</a>
-</li>
-<li>prf_label_finished
-: <a class="el" href="dtls_8c.html#a45d793d73836bf96dacb1d558f81b6c7">dtls.c</a>
-</li>
-<li>prf_label_key
-: <a class="el" href="dtls_8c.html#a42886cd9a1fd728f47ea40d38dfabcda">dtls.c</a>
-</li>
-<li>prf_label_master
-: <a class="el" href="dtls_8c.html#a784ec579660900e758a9b7de84150c9b">dtls.c</a>
-</li>
-<li>prf_label_server
-: <a class="el" href="dtls_8c.html#aacf8643991dec574dcb09a280357ae4f">dtls.c</a>
-</li>
-<li>PRF_LABEL_SIZE
-: <a class="el" href="dtls_8c.html#a83b260e812e69f1dae18497d167770a9">dtls.c</a>
-</li>
-<li>print_timestamp()
-: <a class="el" href="debug_8c.html#a4ac5b294de82b336108ebd436b271b17">debug.c</a>
-</li>
-<li>PRINTF
-: <a class="el" href="debug_8h.html#a1f464e950a4fa11e8821b5c725921a15">debug.h</a>
-</li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/globals_r.html b/external/wakaama/examples/shared/tinydtls/doc/html/globals_r.html
deleted file mode 100644 (file)
index ef7c878..0000000
+++ /dev/null
@@ -1,135 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: Globals</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li class="current"><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow3" class="tabs2">
-    <ul class="tablist">
-      <li class="current"><a href="globals.html"><span>All</span></a></li>
-      <li><a href="globals_func.html"><span>Functions</span></a></li>
-      <li><a href="globals_vars.html"><span>Variables</span></a></li>
-      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
-      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
-      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
-      <li><a href="globals_defs.html"><span>Macros</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow4" class="tabs3">
-    <ul class="tablist">
-      <li><a href="globals.html#index__"><span>_</span></a></li>
-      <li><a href="globals_a.html#index_a"><span>a</span></a></li>
-      <li><a href="globals_b.html#index_b"><span>b</span></a></li>
-      <li><a href="globals_c.html#index_c"><span>c</span></a></li>
-      <li><a href="globals_d.html#index_d"><span>d</span></a></li>
-      <li><a href="globals_e.html#index_e"><span>e</span></a></li>
-      <li><a href="globals_f.html#index_f"><span>f</span></a></li>
-      <li><a href="globals_g.html#index_g"><span>g</span></a></li>
-      <li><a href="globals_h.html#index_h"><span>h</span></a></li>
-      <li><a href="globals_i.html#index_i"><span>i</span></a></li>
-      <li><a href="globals_k.html#index_k"><span>k</span></a></li>
-      <li><a href="globals_l.html#index_l"><span>l</span></a></li>
-      <li><a href="globals_m.html#index_m"><span>m</span></a></li>
-      <li><a href="globals_n.html#index_n"><span>n</span></a></li>
-      <li><a href="globals_p.html#index_p"><span>p</span></a></li>
-      <li class="current"><a href="globals_r.html#index_r"><span>r</span></a></li>
-      <li><a href="globals_s.html#index_s"><span>s</span></a></li>
-      <li><a href="globals_t.html#index_t"><span>t</span></a></li>
-      <li><a href="globals_u.html#index_u"><span>u</span></a></li>
-      <li><a href="globals_v.html#index_v"><span>v</span></a></li>
-      <li><a href="globals_w.html#index_w"><span>w</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="contents">
-<div class="textblock">Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:</div>
-
-<h3><a class="anchor" id="index_r"></a>- r -</h3><ul>
-<li>R_KEY_OFFSET
-: <a class="el" href="dtls_8c.html#ab7a17e13b17da97cbef046b20cd7280f">dtls.c</a>
-</li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/globals_s.html b/external/wakaama/examples/shared/tinydtls/doc/html/globals_s.html
deleted file mode 100644 (file)
index ba72573..0000000
+++ /dev/null
@@ -1,145 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: Globals</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li class="current"><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow3" class="tabs2">
-    <ul class="tablist">
-      <li class="current"><a href="globals.html"><span>All</span></a></li>
-      <li><a href="globals_func.html"><span>Functions</span></a></li>
-      <li><a href="globals_vars.html"><span>Variables</span></a></li>
-      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
-      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
-      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
-      <li><a href="globals_defs.html"><span>Macros</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow4" class="tabs3">
-    <ul class="tablist">
-      <li><a href="globals.html#index__"><span>_</span></a></li>
-      <li><a href="globals_a.html#index_a"><span>a</span></a></li>
-      <li><a href="globals_b.html#index_b"><span>b</span></a></li>
-      <li><a href="globals_c.html#index_c"><span>c</span></a></li>
-      <li><a href="globals_d.html#index_d"><span>d</span></a></li>
-      <li><a href="globals_e.html#index_e"><span>e</span></a></li>
-      <li><a href="globals_f.html#index_f"><span>f</span></a></li>
-      <li><a href="globals_g.html#index_g"><span>g</span></a></li>
-      <li><a href="globals_h.html#index_h"><span>h</span></a></li>
-      <li><a href="globals_i.html#index_i"><span>i</span></a></li>
-      <li><a href="globals_k.html#index_k"><span>k</span></a></li>
-      <li><a href="globals_l.html#index_l"><span>l</span></a></li>
-      <li><a href="globals_m.html#index_m"><span>m</span></a></li>
-      <li><a href="globals_n.html#index_n"><span>n</span></a></li>
-      <li><a href="globals_p.html#index_p"><span>p</span></a></li>
-      <li><a href="globals_r.html#index_r"><span>r</span></a></li>
-      <li class="current"><a href="globals_s.html#index_s"><span>s</span></a></li>
-      <li><a href="globals_t.html#index_t"><span>t</span></a></li>
-      <li><a href="globals_u.html#index_u"><span>u</span></a></li>
-      <li><a href="globals_v.html#index_v"><span>v</span></a></li>
-      <li><a href="globals_w.html#index_w"><span>w</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="contents">
-<div class="textblock">Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:</div>
-
-<h3><a class="anchor" id="index_s"></a>- s -</h3><ul>
-<li>S_KEY_OFFSET
-: <a class="el" href="dtls_8c.html#a2cf5795397ac5779f281543fc0f44ae9">dtls.c</a>
-</li>
-<li>SET_COUNTER
-: <a class="el" href="ccm_8c.html#a13d9e1fa611f50a7176fd6da7b1b4994">ccm.c</a>
-</li>
-<li>SKIP_VAR_FIELD
-: <a class="el" href="dtls_8c.html#a09a0896d586ff27855ced6930cc17023">dtls.c</a>
-</li>
-<li>STDC_HEADERS
-: <a class="el" href="config_8h.html#a550e5c272cc3cf3814651721167dcd23">config.h</a>
-, <a class="el" href="dtls__config_8h.html#a550e5c272cc3cf3814651721167dcd23">dtls_config.h</a>
-</li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/globals_t.html b/external/wakaama/examples/shared/tinydtls/doc/html/globals_t.html
deleted file mode 100644 (file)
index f024286..0000000
+++ /dev/null
@@ -1,183 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: Globals</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li class="current"><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow3" class="tabs2">
-    <ul class="tablist">
-      <li class="current"><a href="globals.html"><span>All</span></a></li>
-      <li><a href="globals_func.html"><span>Functions</span></a></li>
-      <li><a href="globals_vars.html"><span>Variables</span></a></li>
-      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
-      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
-      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
-      <li><a href="globals_defs.html"><span>Macros</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow4" class="tabs3">
-    <ul class="tablist">
-      <li><a href="globals.html#index__"><span>_</span></a></li>
-      <li><a href="globals_a.html#index_a"><span>a</span></a></li>
-      <li><a href="globals_b.html#index_b"><span>b</span></a></li>
-      <li><a href="globals_c.html#index_c"><span>c</span></a></li>
-      <li><a href="globals_d.html#index_d"><span>d</span></a></li>
-      <li><a href="globals_e.html#index_e"><span>e</span></a></li>
-      <li><a href="globals_f.html#index_f"><span>f</span></a></li>
-      <li><a href="globals_g.html#index_g"><span>g</span></a></li>
-      <li><a href="globals_h.html#index_h"><span>h</span></a></li>
-      <li><a href="globals_i.html#index_i"><span>i</span></a></li>
-      <li><a href="globals_k.html#index_k"><span>k</span></a></li>
-      <li><a href="globals_l.html#index_l"><span>l</span></a></li>
-      <li><a href="globals_m.html#index_m"><span>m</span></a></li>
-      <li><a href="globals_n.html#index_n"><span>n</span></a></li>
-      <li><a href="globals_p.html#index_p"><span>p</span></a></li>
-      <li><a href="globals_r.html#index_r"><span>r</span></a></li>
-      <li><a href="globals_s.html#index_s"><span>s</span></a></li>
-      <li class="current"><a href="globals_t.html#index_t"><span>t</span></a></li>
-      <li><a href="globals_u.html#index_u"><span>u</span></a></li>
-      <li><a href="globals_v.html#index_v"><span>v</span></a></li>
-      <li><a href="globals_w.html#index_w"><span>w</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="contents">
-<div class="textblock">Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:</div>
-
-<h3><a class="anchor" id="index_t"></a>- t -</h3><ul>
-<li>TLS_CERT_TYPE_RAW_PUBLIC_KEY
-: <a class="el" href="global_8h.html#af36d51830256b7d1bf4dbaa8590c19e4">global.h</a>
-</li>
-<li>TLS_CLIENT_CERTIFICATE_TYPE_ECDSA_SIGN
-: <a class="el" href="global_8h.html#aaace8dce4341d910140609a96bb300db">global.h</a>
-</li>
-<li>TLS_COMPRESSION_NULL
-: <a class="el" href="global_8h.html#a1ff555e0b1443c4cb4d17ac2161d89b2ac5b79ee16e8c0e46873fa63fdb1ab9ca">global.h</a>
-</li>
-<li>TLS_EC_CURVE_TYPE_NAMED_CURVE
-: <a class="el" href="global_8h.html#ac97469cc46ceeb148ee92f47a26ebcf6">global.h</a>
-</li>
-<li>TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8
-: <a class="el" href="global_8h.html#ada7e71454d685b693df45b2c1ea0c59ba197892e216f63ddbc91c2b006a2d4c1e">global.h</a>
-</li>
-<li>TLS_EXT_CLIENT_CERTIFICATE_TYPE
-: <a class="el" href="global_8h.html#a0074adc0b2543a913a597e510caf27b0">global.h</a>
-</li>
-<li>TLS_EXT_EC_POINT_FORMATS
-: <a class="el" href="global_8h.html#a5d17863db920927ef8160547541b58e3">global.h</a>
-</li>
-<li>TLS_EXT_EC_POINT_FORMATS_UNCOMPRESSED
-: <a class="el" href="global_8h.html#af086ed2d0aea096be56bf7e46f8f72a6">global.h</a>
-</li>
-<li>TLS_EXT_ELLIPTIC_CURVES
-: <a class="el" href="global_8h.html#a7e080d630a40510f655bf6982c555063">global.h</a>
-</li>
-<li>TLS_EXT_ELLIPTIC_CURVES_SECP256R1
-: <a class="el" href="global_8h.html#a8095691f33c0ce6b22d205640ccc9417">global.h</a>
-</li>
-<li>TLS_EXT_ENCRYPT_THEN_MAC
-: <a class="el" href="global_8h.html#ae136afe82bd9031a4c1c604de0cb0118">global.h</a>
-</li>
-<li>TLS_EXT_SERVER_CERTIFICATE_TYPE
-: <a class="el" href="global_8h.html#ad465b86d1841ddd6c2209ff304895a95">global.h</a>
-</li>
-<li>TLS_EXT_SIG_HASH_ALGO
-: <a class="el" href="global_8h.html#a0249393d6894a15ac56962b2335add24">global.h</a>
-</li>
-<li>TLS_EXT_SIG_HASH_ALGO_ECDSA
-: <a class="el" href="global_8h.html#af126227a026a7af436a4323db6d02ecc">global.h</a>
-</li>
-<li>TLS_EXT_SIG_HASH_ALGO_SHA256
-: <a class="el" href="global_8h.html#aa347771eab2eabd24c4b9311fa61c4c9">global.h</a>
-</li>
-<li>TLS_NULL_WITH_NULL_NULL
-: <a class="el" href="global_8h.html#ada7e71454d685b693df45b2c1ea0c59bacf33de998fd00f096eebbb0742d80abd">global.h</a>
-</li>
-<li>TLS_PSK_WITH_AES_128_CCM_8
-: <a class="el" href="global_8h.html#ada7e71454d685b693df45b2c1ea0c59ba39a3062f136db88f648ce514a591fac8">global.h</a>
-</li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/globals_type.html b/external/wakaama/examples/shared/tinydtls/doc/html/globals_type.html
deleted file mode 100644 (file)
index b08daca..0000000
+++ /dev/null
@@ -1,165 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: Globals</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li class="current"><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow3" class="tabs2">
-    <ul class="tablist">
-      <li><a href="globals.html"><span>All</span></a></li>
-      <li><a href="globals_func.html"><span>Functions</span></a></li>
-      <li><a href="globals_vars.html"><span>Variables</span></a></li>
-      <li class="current"><a href="globals_type.html"><span>Typedefs</span></a></li>
-      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
-      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
-      <li><a href="globals_defs.html"><span>Macros</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="contents">
-&#160;<ul>
-<li>clock_time_t
-: <a class="el" href="group__clock.html#ga6e6c13e871b82d881a01d1bc8df69d23">dtls_time.h</a>
-</li>
-<li>dtls_cipher_context_t
-: <a class="el" href="crypto_8h.html#a99482a87021e817524d15c33e89e309c">crypto.h</a>
-</li>
-<li>dtls_context_t
-: <a class="el" href="dtls_8h.html#a407c66c58bfc87651714de4103bee135">dtls.h</a>
-</li>
-<li>dtls_credentials_type_t
-: <a class="el" href="dtls_8h.html#adb4c778ddcbf9ac28ef277b20adbfa33">dtls.h</a>
-</li>
-<li>dtls_ecdsa_key_t
-: <a class="el" href="dtls_8h.html#a472601639fcded4630fbd087f986ad10">dtls.h</a>
-</li>
-<li>dtls_hash_ctx
-: <a class="el" href="hmac_8h.html#abb19650a510c73117da0e9b88d68f159">hmac.h</a>
-</li>
-<li>dtls_hash_t
-: <a class="el" href="hmac_8h.html#afa00f0cbe1b7783992467c1c204320b5">hmac.h</a>
-</li>
-<li>dtls_peer_t
-: <a class="el" href="peer_8h.html#a6038bb7f08c62ea6f0fd2a0075860055">peer.h</a>
-</li>
-<li>dtls_tick_t
-: <a class="el" href="group__clock.html#gaded617551180951f4841969e396a8012">dtls_time.h</a>
-</li>
-<li>list_t
-: <a class="el" href="t__list_8h.html#a9c248916bae1f0b13732686786be7108">t_list.h</a>
-</li>
-<li>netq_packet_t
-: <a class="el" href="group__netq.html#gaa59d8597860df302584b1e9c448fdfcd">netq.h</a>
-</li>
-<li>netq_t
-: <a class="el" href="group__netq.html#ga4991f2cfa1f79edf8f7d8262c5beeb5b">netq.h</a>
-</li>
-<li>uint16
-: <a class="el" href="global_8h.html#a5e90b30856b81913af89565b55751da5">global.h</a>
-</li>
-<li>uint24
-: <a class="el" href="global_8h.html#aabc56baaf04f922a1ea0dda7691fec0a">global.h</a>
-</li>
-<li>uint32
-: <a class="el" href="global_8h.html#ab27072920285996a3e16d2e5e3d366be">global.h</a>
-</li>
-<li>uint48
-: <a class="el" href="global_8h.html#a0749f1df578b26eccab986b0d8abaa56">global.h</a>
-</li>
-<li>uint8
-: <a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">global.h</a>
-</li>
-<li>UT_hash_bucket
-: <a class="el" href="uthash_8h.html#a3ba3da0ca59a082c35a0d6b52e803ddf">uthash.h</a>
-</li>
-<li>UT_hash_handle
-: <a class="el" href="uthash_8h.html#a0e3a99ed9f776349720d0c362f956fb6">uthash.h</a>
-</li>
-<li>UT_hash_table
-: <a class="el" href="uthash_8h.html#a0758074b9942c2ad076610b3e0ce548e">uthash.h</a>
-</li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/globals_u.html b/external/wakaama/examples/shared/tinydtls/doc/html/globals_u.html
deleted file mode 100644 (file)
index 6ecaa71..0000000
+++ /dev/null
@@ -1,180 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: Globals</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li class="current"><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow3" class="tabs2">
-    <ul class="tablist">
-      <li class="current"><a href="globals.html"><span>All</span></a></li>
-      <li><a href="globals_func.html"><span>Functions</span></a></li>
-      <li><a href="globals_vars.html"><span>Variables</span></a></li>
-      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
-      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
-      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
-      <li><a href="globals_defs.html"><span>Macros</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow4" class="tabs3">
-    <ul class="tablist">
-      <li><a href="globals.html#index__"><span>_</span></a></li>
-      <li><a href="globals_a.html#index_a"><span>a</span></a></li>
-      <li><a href="globals_b.html#index_b"><span>b</span></a></li>
-      <li><a href="globals_c.html#index_c"><span>c</span></a></li>
-      <li><a href="globals_d.html#index_d"><span>d</span></a></li>
-      <li><a href="globals_e.html#index_e"><span>e</span></a></li>
-      <li><a href="globals_f.html#index_f"><span>f</span></a></li>
-      <li><a href="globals_g.html#index_g"><span>g</span></a></li>
-      <li><a href="globals_h.html#index_h"><span>h</span></a></li>
-      <li><a href="globals_i.html#index_i"><span>i</span></a></li>
-      <li><a href="globals_k.html#index_k"><span>k</span></a></li>
-      <li><a href="globals_l.html#index_l"><span>l</span></a></li>
-      <li><a href="globals_m.html#index_m"><span>m</span></a></li>
-      <li><a href="globals_n.html#index_n"><span>n</span></a></li>
-      <li><a href="globals_p.html#index_p"><span>p</span></a></li>
-      <li><a href="globals_r.html#index_r"><span>r</span></a></li>
-      <li><a href="globals_s.html#index_s"><span>s</span></a></li>
-      <li><a href="globals_t.html#index_t"><span>t</span></a></li>
-      <li class="current"><a href="globals_u.html#index_u"><span>u</span></a></li>
-      <li><a href="globals_v.html#index_v"><span>v</span></a></li>
-      <li><a href="globals_w.html#index_w"><span>w</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="contents">
-<div class="textblock">Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:</div>
-
-<h3><a class="anchor" id="index_u"></a>- u -</h3><ul>
-<li>uint16
-: <a class="el" href="global_8h.html#a5e90b30856b81913af89565b55751da5">global.h</a>
-</li>
-<li>uint24
-: <a class="el" href="global_8h.html#aabc56baaf04f922a1ea0dda7691fec0a">global.h</a>
-</li>
-<li>uint32
-: <a class="el" href="global_8h.html#ab27072920285996a3e16d2e5e3d366be">global.h</a>
-</li>
-<li>uint48
-: <a class="el" href="global_8h.html#a0749f1df578b26eccab986b0d8abaa56">global.h</a>
-</li>
-<li>uint8
-: <a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">global.h</a>
-</li>
-<li>update_hs_hash()
-: <a class="el" href="dtls_8c.html#a3db09acb5894f17f4745d7556555bea7">dtls.c</a>
-</li>
-<li>UT_hash_bucket
-: <a class="el" href="uthash_8h.html#a3ba3da0ca59a082c35a0d6b52e803ddf">uthash.h</a>
-</li>
-<li>UT_hash_handle
-: <a class="el" href="uthash_8h.html#a0e3a99ed9f776349720d0c362f956fb6">uthash.h</a>
-</li>
-<li>UT_hash_table
-: <a class="el" href="uthash_8h.html#a0758074b9942c2ad076610b3e0ce548e">uthash.h</a>
-</li>
-<li>uthash_expand_fyi
-: <a class="el" href="uthash_8h.html#a86ea78714da520989a6f7a764b4d71b4">uthash.h</a>
-</li>
-<li>uthash_fatal
-: <a class="el" href="uthash_8h.html#a03b52301b0ed976b6981ef33613320c1">uthash.h</a>
-</li>
-<li>uthash_free
-: <a class="el" href="uthash_8h.html#a56cdf8c254fc700332c8e6a7263b4657">uthash.h</a>
-</li>
-<li>uthash_malloc
-: <a class="el" href="uthash_8h.html#a861013aff36c0448f1888a2b0b5836d8">uthash.h</a>
-</li>
-<li>uthash_noexpand_fyi
-: <a class="el" href="uthash_8h.html#a7cc237d8f87de3836b5390856cfc5c86">uthash.h</a>
-</li>
-<li>UTHASH_VERSION
-: <a class="el" href="uthash_8h.html#aa56cef9cb86dc1f4b5d27ee3a691077e">uthash.h</a>
-</li>
-<li>UTLIST_VERSION
-: <a class="el" href="utlist_8h.html#a9f3779f3c49ddf609c97f1c3d1f29730">utlist.h</a>
-</li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/globals_v.html b/external/wakaama/examples/shared/tinydtls/doc/html/globals_v.html
deleted file mode 100644 (file)
index 96811d5..0000000
+++ /dev/null
@@ -1,141 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: Globals</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li class="current"><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow3" class="tabs2">
-    <ul class="tablist">
-      <li class="current"><a href="globals.html"><span>All</span></a></li>
-      <li><a href="globals_func.html"><span>Functions</span></a></li>
-      <li><a href="globals_vars.html"><span>Variables</span></a></li>
-      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
-      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
-      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
-      <li><a href="globals_defs.html"><span>Macros</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow4" class="tabs3">
-    <ul class="tablist">
-      <li><a href="globals.html#index__"><span>_</span></a></li>
-      <li><a href="globals_a.html#index_a"><span>a</span></a></li>
-      <li><a href="globals_b.html#index_b"><span>b</span></a></li>
-      <li><a href="globals_c.html#index_c"><span>c</span></a></li>
-      <li><a href="globals_d.html#index_d"><span>d</span></a></li>
-      <li><a href="globals_e.html#index_e"><span>e</span></a></li>
-      <li><a href="globals_f.html#index_f"><span>f</span></a></li>
-      <li><a href="globals_g.html#index_g"><span>g</span></a></li>
-      <li><a href="globals_h.html#index_h"><span>h</span></a></li>
-      <li><a href="globals_i.html#index_i"><span>i</span></a></li>
-      <li><a href="globals_k.html#index_k"><span>k</span></a></li>
-      <li><a href="globals_l.html#index_l"><span>l</span></a></li>
-      <li><a href="globals_m.html#index_m"><span>m</span></a></li>
-      <li><a href="globals_n.html#index_n"><span>n</span></a></li>
-      <li><a href="globals_p.html#index_p"><span>p</span></a></li>
-      <li><a href="globals_r.html#index_r"><span>r</span></a></li>
-      <li><a href="globals_s.html#index_s"><span>s</span></a></li>
-      <li><a href="globals_t.html#index_t"><span>t</span></a></li>
-      <li><a href="globals_u.html#index_u"><span>u</span></a></li>
-      <li class="current"><a href="globals_v.html#index_v"><span>v</span></a></li>
-      <li><a href="globals_w.html#index_w"><span>w</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="contents">
-<div class="textblock">Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:</div>
-
-<h3><a class="anchor" id="index_v"></a>- v -</h3><ul>
-<li>verify_ext_cert_type()
-: <a class="el" href="dtls_8c.html#af073bf7cefa5e49e0c939e853678d417">dtls.c</a>
-</li>
-<li>verify_ext_ec_point_formats()
-: <a class="el" href="dtls_8c.html#a04a3580764ffd4f253ce6be858806c95">dtls.c</a>
-</li>
-<li>verify_ext_eliptic_curves()
-: <a class="el" href="dtls_8c.html#ad699a00b7ff5a71fa5b7fbc79a4dd9a8">dtls.c</a>
-</li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/globals_vars.html b/external/wakaama/examples/shared/tinydtls/doc/html/globals_vars.html
deleted file mode 100644 (file)
index 7cfcce3..0000000
+++ /dev/null
@@ -1,153 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: Globals</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li class="current"><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow3" class="tabs2">
-    <ul class="tablist">
-      <li><a href="globals.html"><span>All</span></a></li>
-      <li><a href="globals_func.html"><span>Functions</span></a></li>
-      <li class="current"><a href="globals_vars.html"><span>Variables</span></a></li>
-      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
-      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
-      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
-      <li><a href="globals_defs.html"><span>Macros</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="contents">
-&#160;<ul>
-<li>cert_asn1_header
-: <a class="el" href="dtls_8c.html#aecdb18ea2b899994542ec46b23528738">dtls.c</a>
-</li>
-<li>cipher_context
-: <a class="el" href="crypto_8c.html#a9fd792e4bb85e55082e4bf32de0d4bdb">crypto.c</a>
-</li>
-<li>cipher_context_mutex
-: <a class="el" href="crypto_8c.html#ad4a90eac1ed6a277c837d7f9dc0a923c">crypto.c</a>
-</li>
-<li>compression_methods
-: <a class="el" href="dtls_8c.html#ae35671d94ccea5f335546ce409aed601">dtls.c</a>
-</li>
-<li>dtls_client_hello_t
-: <a class="el" href="dtls_8h.html#aa9ebc35a08295c2ae09d4248ba8e6456">dtls.h</a>
-</li>
-<li>dtls_clock_offset
-: <a class="el" href="dtls__time_8c.html#adaab7b20ee4eea0874f480b262c4a2e1">dtls_time.c</a>
-</li>
-<li>dtls_handshake_header_t
-: <a class="el" href="dtls_8h.html#a5c6625ffcf61189392768253e8919a45">dtls.h</a>
-</li>
-<li>dtls_hello_verify_t
-: <a class="el" href="dtls_8h.html#abd61d526ef995e63a6debfd8ddda9e98">dtls.h</a>
-</li>
-<li>dtls_record_header_t
-: <a class="el" href="dtls_8h.html#a81936df7abb2c16aa897e3018aa24399">dtls.h</a>
-</li>
-<li>loglevels
-: <a class="el" href="debug_8c.html#aea3c9cd7c28ac0ebbc7473771751ed92">debug.c</a>
-</li>
-<li>maxlog
-: <a class="el" href="debug_8c.html#a7a6dbd5278e0c21ff9434dc3de7b955d">debug.c</a>
-</li>
-<li>prf_label_client
-: <a class="el" href="dtls_8c.html#abba2a2562813493d98b5671a4c5c082b">dtls.c</a>
-</li>
-<li>prf_label_finished
-: <a class="el" href="dtls_8c.html#a45d793d73836bf96dacb1d558f81b6c7">dtls.c</a>
-</li>
-<li>prf_label_key
-: <a class="el" href="dtls_8c.html#a42886cd9a1fd728f47ea40d38dfabcda">dtls.c</a>
-</li>
-<li>prf_label_master
-: <a class="el" href="dtls_8c.html#a784ec579660900e758a9b7de84150c9b">dtls.c</a>
-</li>
-<li>prf_label_server
-: <a class="el" href="dtls_8c.html#aacf8643991dec574dcb09a280357ae4f">dtls.c</a>
-</li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/globals_w.html b/external/wakaama/examples/shared/tinydtls/doc/html/globals_w.html
deleted file mode 100644 (file)
index eb48c64..0000000
+++ /dev/null
@@ -1,135 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: Globals</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li class="current"><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow3" class="tabs2">
-    <ul class="tablist">
-      <li class="current"><a href="globals.html"><span>All</span></a></li>
-      <li><a href="globals_func.html"><span>Functions</span></a></li>
-      <li><a href="globals_vars.html"><span>Variables</span></a></li>
-      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
-      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
-      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
-      <li><a href="globals_defs.html"><span>Macros</span></a></li>
-    </ul>
-  </div>
-  <div id="navrow4" class="tabs3">
-    <ul class="tablist">
-      <li><a href="globals.html#index__"><span>_</span></a></li>
-      <li><a href="globals_a.html#index_a"><span>a</span></a></li>
-      <li><a href="globals_b.html#index_b"><span>b</span></a></li>
-      <li><a href="globals_c.html#index_c"><span>c</span></a></li>
-      <li><a href="globals_d.html#index_d"><span>d</span></a></li>
-      <li><a href="globals_e.html#index_e"><span>e</span></a></li>
-      <li><a href="globals_f.html#index_f"><span>f</span></a></li>
-      <li><a href="globals_g.html#index_g"><span>g</span></a></li>
-      <li><a href="globals_h.html#index_h"><span>h</span></a></li>
-      <li><a href="globals_i.html#index_i"><span>i</span></a></li>
-      <li><a href="globals_k.html#index_k"><span>k</span></a></li>
-      <li><a href="globals_l.html#index_l"><span>l</span></a></li>
-      <li><a href="globals_m.html#index_m"><span>m</span></a></li>
-      <li><a href="globals_n.html#index_n"><span>n</span></a></li>
-      <li><a href="globals_p.html#index_p"><span>p</span></a></li>
-      <li><a href="globals_r.html#index_r"><span>r</span></a></li>
-      <li><a href="globals_s.html#index_s"><span>s</span></a></li>
-      <li><a href="globals_t.html#index_t"><span>t</span></a></li>
-      <li><a href="globals_u.html#index_u"><span>u</span></a></li>
-      <li><a href="globals_v.html#index_v"><span>v</span></a></li>
-      <li class="current"><a href="globals_w.html#index_w"><span>w</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="contents">
-<div class="textblock">Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:</div>
-
-<h3><a class="anchor" id="index_w"></a>- w -</h3><ul>
-<li>WITH_SHA256
-: <a class="el" href="global_8h.html#a4da6212f220f78c713aa5e91f989e7d7">global.h</a>
-</li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/group__HMAC.html b/external/wakaama/examples/shared/tinydtls/doc/html/group__HMAC.html
deleted file mode 100644 (file)
index a63a18e..0000000
+++ /dev/null
@@ -1,404 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: Keyed-Hash Message Authentication Code (HMAC)</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="header">
-  <div class="summary">
-<a href="#nested-classes">Data Structures</a> &#124;
-<a href="#define-members">Macros</a> &#124;
-<a href="#enum-members">Enumerations</a> &#124;
-<a href="#func-members">Functions</a>  </div>
-  <div class="headertitle">
-<div class="title">Keyed-Hash Message Authentication Code (HMAC)</div>  </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
-Data Structures</h2></td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdtls__hmac__context__t.html">dtls_hmac_context_t</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
-Macros</h2></td></tr>
-<tr class="memitem:gab1f8617a558ef0f758439c96d3a4650e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__HMAC.html#gab1f8617a558ef0f758439c96d3a4650e">DTLS_HMAC_BLOCKSIZE</a>&#160;&#160;&#160;64</td></tr>
-<tr class="separator:gab1f8617a558ef0f758439c96d3a4650e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga060019cf2dab9903d58118fe1abe7018"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__HMAC.html#ga060019cf2dab9903d58118fe1abe7018">DTLS_HMAC_DIGEST_SIZE</a>&#160;&#160;&#160;32</td></tr>
-<tr class="separator:ga060019cf2dab9903d58118fe1abe7018"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga3e84ddbef6bf0084252e16e6c547e332"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__HMAC.html#ga3e84ddbef6bf0084252e16e6c547e332">DTLS_HMAC_MAX</a>&#160;&#160;&#160;64</td></tr>
-<tr class="separator:ga3e84ddbef6bf0084252e16e6c547e332"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
-Enumerations</h2></td></tr>
-<tr class="memitem:ga698cfa036e69361a93dcdd9b19579b23"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__HMAC.html#ga698cfa036e69361a93dcdd9b19579b23">dtls_hashfunc_t</a> { <br/>
-&#160;&#160;<a class="el" href="group__HMAC.html#gga698cfa036e69361a93dcdd9b19579b23a065bed423473d8a44394cd4415de3018">HASH_NONE</a> =0, 
-<a class="el" href="group__HMAC.html#gga698cfa036e69361a93dcdd9b19579b23a45c78681038e51d5f54554130b0b79ab">HASH_MD5</a> =1, 
-<a class="el" href="group__HMAC.html#gga698cfa036e69361a93dcdd9b19579b23a25c481ea5e9f16f9b40fe773528aef03">HASH_SHA1</a> =2, 
-<a class="el" href="group__HMAC.html#gga698cfa036e69361a93dcdd9b19579b23a0a7940bf3dbc032d803b1b688e5570e5">HASH_SHA224</a> =3, 
-<br/>
-&#160;&#160;<a class="el" href="group__HMAC.html#gga698cfa036e69361a93dcdd9b19579b23a3690b7a5bf11282bcdaa199c11408dd3">HASH_SHA256</a> =4, 
-<a class="el" href="group__HMAC.html#gga698cfa036e69361a93dcdd9b19579b23abb45ce56a912f1175c413afcb3e1f970">HASH_SHA384</a> =5, 
-<a class="el" href="group__HMAC.html#gga698cfa036e69361a93dcdd9b19579b23a6d06d1ec4dbf3aa876fda6ca1c5b0f66">HASH_SHA512</a> =6
-<br/>
- }</td></tr>
-<tr class="separator:ga698cfa036e69361a93dcdd9b19579b23"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:gaa1eb35fcb2c2eb69eebaefa8eb4a790d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__HMAC.html#gaa1eb35fcb2c2eb69eebaefa8eb4a790d">dtls_hmac_init</a> (<a class="el" href="structdtls__hmac__context__t.html">dtls_hmac_context_t</a> *ctx, const unsigned char *key, size_t klen)</td></tr>
-<tr class="separator:gaa1eb35fcb2c2eb69eebaefa8eb4a790d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gac3e9ef037800963783e618eafd046702"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structdtls__hmac__context__t.html">dtls_hmac_context_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__HMAC.html#gac3e9ef037800963783e618eafd046702">dtls_hmac_new</a> (const unsigned char *key, size_t klen)</td></tr>
-<tr class="separator:gac3e9ef037800963783e618eafd046702"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga5b1a3c1dcb5461bda44dd70f7bd33181"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__HMAC.html#ga5b1a3c1dcb5461bda44dd70f7bd33181">dtls_hmac_free</a> (<a class="el" href="structdtls__hmac__context__t.html">dtls_hmac_context_t</a> *ctx)</td></tr>
-<tr class="separator:ga5b1a3c1dcb5461bda44dd70f7bd33181"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga1ef9c88a0a2053b442413a9cea3deb73"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__HMAC.html#ga1ef9c88a0a2053b442413a9cea3deb73">dtls_hmac_update</a> (<a class="el" href="structdtls__hmac__context__t.html">dtls_hmac_context_t</a> *ctx, const unsigned char *input, size_t ilen)</td></tr>
-<tr class="separator:ga1ef9c88a0a2053b442413a9cea3deb73"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gab98c992f3f9cc3c2d75077ddd46049bf"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__HMAC.html#gab98c992f3f9cc3c2d75077ddd46049bf">dtls_hmac_finalize</a> (<a class="el" href="structdtls__hmac__context__t.html">dtls_hmac_context_t</a> *ctx, unsigned char *result)</td></tr>
-<tr class="separator:gab98c992f3f9cc3c2d75077ddd46049bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<p>NIST Standard FIPS 198 describes the Keyed-Hash Message Authentication Code (HMAC) which is used as hash function for the DTLS PRF. </p>
-<h2 class="groupheader">Macro Definition Documentation</h2>
-<a class="anchor" id="gab1f8617a558ef0f758439c96d3a4650e"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DTLS_HMAC_BLOCKSIZE&#160;&#160;&#160;64</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>size of hmac blocks </p>
-
-<p>Definition at line <a class="el" href="hmac_8h_source.html#l00073">73</a> of file <a class="el" href="hmac_8h_source.html">hmac.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ga060019cf2dab9903d58118fe1abe7018"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DTLS_HMAC_DIGEST_SIZE&#160;&#160;&#160;32</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>digest size (for SHA-256) </p>
-
-<p>Definition at line <a class="el" href="hmac_8h_source.html#l00074">74</a> of file <a class="el" href="hmac_8h_source.html">hmac.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ga3e84ddbef6bf0084252e16e6c547e332"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DTLS_HMAC_MAX&#160;&#160;&#160;64</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>max number of bytes in digest </p>
-
-<p>Definition at line <a class="el" href="hmac_8h_source.html#l00075">75</a> of file <a class="el" href="hmac_8h_source.html">hmac.h</a>.</p>
-
-</div>
-</div>
-<h2 class="groupheader">Enumeration Type Documentation</h2>
-<a class="anchor" id="ga698cfa036e69361a93dcdd9b19579b23"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">enum <a class="el" href="group__HMAC.html#ga698cfa036e69361a93dcdd9b19579b23">dtls_hashfunc_t</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>List of known hash functions for use in <a class="el" href="group__HMAC.html#gaa1eb35fcb2c2eb69eebaefa8eb4a790d">dtls_hmac_init()</a>. The identifiers are the same as the HashAlgorithm defined in <a href="http://tools.ietf.org/html/rfc5246#section-7.4.1.4.1">Section 7.4.1.4.1 of RFC 5246</a>. </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga698cfa036e69361a93dcdd9b19579b23a065bed423473d8a44394cd4415de3018"></a>HASH_NONE</em>&#160;</td><td class="fielddoc">
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga698cfa036e69361a93dcdd9b19579b23a45c78681038e51d5f54554130b0b79ab"></a>HASH_MD5</em>&#160;</td><td class="fielddoc">
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga698cfa036e69361a93dcdd9b19579b23a25c481ea5e9f16f9b40fe773528aef03"></a>HASH_SHA1</em>&#160;</td><td class="fielddoc">
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga698cfa036e69361a93dcdd9b19579b23a0a7940bf3dbc032d803b1b688e5570e5"></a>HASH_SHA224</em>&#160;</td><td class="fielddoc">
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga698cfa036e69361a93dcdd9b19579b23a3690b7a5bf11282bcdaa199c11408dd3"></a>HASH_SHA256</em>&#160;</td><td class="fielddoc">
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga698cfa036e69361a93dcdd9b19579b23abb45ce56a912f1175c413afcb3e1f970"></a>HASH_SHA384</em>&#160;</td><td class="fielddoc">
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga698cfa036e69361a93dcdd9b19579b23a6d06d1ec4dbf3aa876fda6ca1c5b0f66"></a>HASH_SHA512</em>&#160;</td><td class="fielddoc">
-</td></tr>
-</table>
-
-<p>Definition at line <a class="el" href="hmac_8h_source.html#l00083">83</a> of file <a class="el" href="hmac_8h_source.html">hmac.h</a>.</p>
-
-</div>
-</div>
-<h2 class="groupheader">Function Documentation</h2>
-<a class="anchor" id="gab98c992f3f9cc3c2d75077ddd46049bf"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int dtls_hmac_finalize </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__hmac__context__t.html">dtls_hmac_context_t</a> *&#160;</td>
-          <td class="paramname"><em>ctx</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">unsigned char *&#160;</td>
-          <td class="paramname"><em>result</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Completes the HMAC generation and writes the result to the given output parameter <code>result</code>. The buffer must be large enough to hold the message digest created by the actual hash function. If in doubt, use <code>DTLS_HMAC_MAX</code>. The function returns the number of bytes written to <code>result</code>.</p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">ctx</td><td>The HMAC context. </td></tr>
-    <tr><td class="paramname">result</td><td>Output parameter where the MAC is written to. </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Length of the MAC written to <code>result</code>. </dd></dl>
-
-<p>Definition at line <a class="el" href="hmac_8c_source.html#l00127">127</a> of file <a class="el" href="hmac_8c_source.html">hmac.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ga5b1a3c1dcb5461bda44dd70f7bd33181"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void dtls_hmac_free </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__hmac__context__t.html">dtls_hmac_context_t</a> *&#160;</td>
-          <td class="paramname"><em>ctx</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Releases the storage for <code>ctx</code> that has been allocated by <a class="el" href="group__HMAC.html#gac3e9ef037800963783e618eafd046702">dtls_hmac_new()</a>.</p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">ctx</td><td>The <a class="el" href="structdtls__hmac__context__t.html">dtls_hmac_context_t</a> to free. </td></tr>
-  </table>
-  </dd>
-</dl>
-
-<p>Definition at line <a class="el" href="hmac_8c_source.html#l00121">121</a> of file <a class="el" href="hmac_8c_source.html">hmac.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="gaa1eb35fcb2c2eb69eebaefa8eb4a790d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void dtls_hmac_init </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__hmac__context__t.html">dtls_hmac_context_t</a> *&#160;</td>
-          <td class="paramname"><em>ctx</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>key</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>klen</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Initializes an existing HMAC context.</p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">ctx</td><td>The HMAC context to initialize. </td></tr>
-    <tr><td class="paramname">key</td><td>The secret key. </td></tr>
-    <tr><td class="paramname">klen</td><td>The length of <code>key</code>. </td></tr>
-  </table>
-  </dd>
-</dl>
-
-<p>Definition at line <a class="el" href="hmac_8c_source.html#l00094">94</a> of file <a class="el" href="hmac_8c_source.html">hmac.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="gac3e9ef037800963783e618eafd046702"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="structdtls__hmac__context__t.html">dtls_hmac_context_t</a>* dtls_hmac_new </td>
-          <td>(</td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>key</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>klen</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Allocates a new HMAC context <code>ctx</code> with the given secret key. This function returns <code>1</code> if <code>ctx</code> has been set correctly, or <code>0</code> or <code>-1</code> otherwise. Note that this function allocates new storage that must be released by <a class="el" href="group__HMAC.html#ga5b1a3c1dcb5461bda44dd70f7bd33181">dtls_hmac_free()</a>.</p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">key</td><td>The secret key. </td></tr>
-    <tr><td class="paramname">klen</td><td>The length of <code>key</code>. </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>A new <a class="el" href="structdtls__hmac__context__t.html">dtls_hmac_context_t</a> object or <code>NULL</code> on error </dd></dl>
-
-<p>Definition at line <a class="el" href="hmac_8c_source.html#l00083">83</a> of file <a class="el" href="hmac_8c_source.html">hmac.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ga1ef9c88a0a2053b442413a9cea3deb73"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void dtls_hmac_update </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__hmac__context__t.html">dtls_hmac_context_t</a> *&#160;</td>
-          <td class="paramname"><em>ctx</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>input</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>ilen</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Updates the HMAC context with data from <code>input</code>.</p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">ctx</td><td>The HMAC context. </td></tr>
-    <tr><td class="paramname">input</td><td>The input data. </td></tr>
-    <tr><td class="paramname">ilen</td><td>Size of <code>input</code>. </td></tr>
-  </table>
-  </dd>
-</dl>
-
-<p>Definition at line <a class="el" href="hmac_8c_source.html#l00076">76</a> of file <a class="el" href="hmac_8c_source.html">hmac.c</a>.</p>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/group__clock.html b/external/wakaama/examples/shared/tinydtls/doc/html/group__clock.html
deleted file mode 100644 (file)
index beb6575..0000000
+++ /dev/null
@@ -1,213 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: Clock Handling</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="header">
-  <div class="summary">
-<a href="#define-members">Macros</a> &#124;
-<a href="#typedef-members">Typedefs</a> &#124;
-<a href="#func-members">Functions</a>  </div>
-  <div class="headertitle">
-<div class="title">Clock Handling</div>  </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
-Macros</h2></td></tr>
-<tr class="memitem:gae3ced0551b26c9b99cb45a86f34d100a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__clock.html#gae3ced0551b26c9b99cb45a86f34d100a">CLOCK_SECOND</a>&#160;&#160;&#160;1000</td></tr>
-<tr class="separator:gae3ced0551b26c9b99cb45a86f34d100a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gae8610d63d209a8bf7858afc427db6168"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__clock.html#gae8610d63d209a8bf7858afc427db6168">DTLS_TICKS_PER_SECOND</a>&#160;&#160;&#160;<a class="el" href="group__clock.html#gae3ced0551b26c9b99cb45a86f34d100a">CLOCK_SECOND</a></td></tr>
-<tr class="separator:gae8610d63d209a8bf7858afc427db6168"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
-Typedefs</h2></td></tr>
-<tr class="memitem:ga6e6c13e871b82d881a01d1bc8df69d23"><td class="memItemLeft" align="right" valign="top">typedef uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__clock.html#ga6e6c13e871b82d881a01d1bc8df69d23">clock_time_t</a></td></tr>
-<tr class="separator:ga6e6c13e871b82d881a01d1bc8df69d23"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaded617551180951f4841969e396a8012"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="group__clock.html#ga6e6c13e871b82d881a01d1bc8df69d23">clock_time_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__clock.html#gaded617551180951f4841969e396a8012">dtls_tick_t</a></td></tr>
-<tr class="separator:gaded617551180951f4841969e396a8012"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga8b340ad858b708dbc7bf40f784935c90"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__clock.html#ga8b340ad858b708dbc7bf40f784935c90">dtls_clock_init</a> (void)</td></tr>
-<tr class="separator:ga8b340ad858b708dbc7bf40f784935c90"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga1834985745ba5d3dd03f7e7498e3a304"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__clock.html#ga1834985745ba5d3dd03f7e7498e3a304">dtls_ticks</a> (<a class="el" href="group__clock.html#gaded617551180951f4841969e396a8012">dtls_tick_t</a> *t)</td></tr>
-<tr class="separator:ga1834985745ba5d3dd03f7e7498e3a304"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<p>Default implementation of internal clock. You should redefine this if you do not have time() and gettimeofday(). </p>
-<h2 class="groupheader">Macro Definition Documentation</h2>
-<a class="anchor" id="gae3ced0551b26c9b99cb45a86f34d100a"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define CLOCK_SECOND&#160;&#160;&#160;1000</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls__time_8h_source.html#l00052">52</a> of file <a class="el" href="dtls__time_8h_source.html">dtls_time.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="gae8610d63d209a8bf7858afc427db6168"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DTLS_TICKS_PER_SECOND&#160;&#160;&#160;<a class="el" href="group__clock.html#gae3ced0551b26c9b99cb45a86f34d100a">CLOCK_SECOND</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls__time_8h_source.html#l00061">61</a> of file <a class="el" href="dtls__time_8h_source.html">dtls_time.h</a>.</p>
-
-</div>
-</div>
-<h2 class="groupheader">Typedef Documentation</h2>
-<a class="anchor" id="ga6e6c13e871b82d881a01d1bc8df69d23"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef uint32_t <a class="el" href="group__clock.html#ga6e6c13e871b82d881a01d1bc8df69d23">clock_time_t</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls__time_8h_source.html#l00055">55</a> of file <a class="el" href="dtls__time_8h_source.html">dtls_time.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="gaded617551180951f4841969e396a8012"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef <a class="el" href="group__clock.html#ga6e6c13e871b82d881a01d1bc8df69d23">clock_time_t</a> <a class="el" href="group__clock.html#gaded617551180951f4841969e396a8012">dtls_tick_t</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls__time_8h_source.html#l00058">58</a> of file <a class="el" href="dtls__time_8h_source.html">dtls_time.h</a>.</p>
-
-</div>
-</div>
-<h2 class="groupheader">Function Documentation</h2>
-<a class="anchor" id="ga8b340ad858b708dbc7bf40f784935c90"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void dtls_clock_init </td>
-          <td>(</td>
-          <td class="paramtype">void&#160;</td>
-          <td class="paramname"></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls__time_8c_source.html#l00054">54</a> of file <a class="el" href="dtls__time_8c_source.html">dtls_time.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ga1834985745ba5d3dd03f7e7498e3a304"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void dtls_ticks </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group__clock.html#gaded617551180951f4841969e396a8012">dtls_tick_t</a> *&#160;</td>
-          <td class="paramname"><em>t</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls__time_8c_source.html#l00067">67</a> of file <a class="el" href="dtls__time_8c_source.html">dtls_time.c</a>.</p>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/group__contiki.html b/external/wakaama/examples/shared/tinydtls/doc/html/group__contiki.html
deleted file mode 100644 (file)
index 1c09a43..0000000
+++ /dev/null
@@ -1,163 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: Contiki</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="header">
-  <div class="headertitle">
-<div class="title">Contiki</div>  </div>
-</div><!--header-->
-<div class="contents">
-<p>To use tinyDTLS as Contiki application, place the source code in the directory <code>apps/tinydtls</code> in the Contiki source tree and invoke configure with the option <code>&ndash;with-contiki</code>. This will define WITH_CONTIKI in <a class="el" href="tinydtls_8h.html" title="public tinydtls API ">tinydtls.h</a> and include <code>Makefile.contiki</code> in the main Makefile. To cross-compile for another platform you will need to set your host and build system accordingly. For example, when configuring for ARM, you would invoke </p>
-<div class="fragment"><div class="line">./configure --with-contiki --build=x86_64-linux-gnu --host=arm-none-eabi </div>
-</div><!-- fragment --><p> on an x86_64 linux host.</p>
-<p>Then, create a Contiki project with <code>APPS</code> += tinydtls in its Makefile. A sample server could look like this (with read_from_peer() and get_psk_key() as shown above).</p>
-<div class="fragment"><div class="line"><span class="preprocessor">#include &quot;contiki.h&quot;</span></div>
-<div class="line"></div>
-<div class="line"><span class="preprocessor">#include &quot;<a class="code" href="tinydtls_8h.html">tinydtls.h</a>&quot;</span></div>
-<div class="line"><span class="preprocessor">#include &quot;<a class="code" href="dtls_8h.html">dtls.h</a>&quot;</span></div>
-<div class="line"></div>
-<div class="line"><span class="preprocessor">#define UIP_IP_BUF   ((struct uip_ip_hdr *)&amp;uip_buf[UIP_LLH_LEN])</span></div>
-<div class="line"><span class="preprocessor"></span><span class="preprocessor">#define UIP_UDP_BUF  ((struct uip_udp_hdr *)&amp;uip_buf[UIP_LLIPH_LEN])</span></div>
-<div class="line"><span class="preprocessor"></span></div>
-<div class="line"><span class="keywordtype">int</span> send_to_peer(<span class="keyword">struct</span> <a class="code" href="structdtls__context__t.html">dtls_context_t</a> *, <a class="code" href="structsession__t.html">session_t</a> *, <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *, <span class="keywordtype">size_t</span>);</div>
-<div class="line"></div>
-<div class="line"><span class="keyword">static</span> <span class="keyword">struct </span>uip_udp_conn *server_conn;</div>
-<div class="line"><span class="keyword">static</span> <a class="code" href="structdtls__context__t.html">dtls_context_t</a> *dtls_context;</div>
-<div class="line"></div>
-<div class="line"><span class="keyword">static</span> <a class="code" href="structdtls__handler__t.html">dtls_handler_t</a> cb = {</div>
-<div class="line">  .<a class="code" href="structdtls__handler__t.html#a161ad99d77bd3b963bcd473eb3cbefe2">write</a> = send_to_peer,</div>
-<div class="line">  .read  = read_from_peer,</div>
-<div class="line">  .event = NULL,</div>
-<div class="line">  .get_psk_key = get_psk_key</div>
-<div class="line">};</div>
-<div class="line"></div>
-<div class="line">PROCESS(server_process, <span class="stringliteral">&quot;DTLS server process&quot;</span>);</div>
-<div class="line">AUTOSTART_PROCESSES(&amp;server_process);</div>
-<div class="line"></div>
-<div class="line">PROCESS_THREAD(server_process, ev, data)</div>
-<div class="line">{</div>
-<div class="line">  PROCESS_BEGIN();</div>
-<div class="line"></div>
-<div class="line">  <a class="code" href="dtls_8c.html#ac203466e393ac9030d405c8f0496e9cd">dtls_init</a>();</div>
-<div class="line"></div>
-<div class="line">  server_conn = udp_new(NULL, 0, NULL);</div>
-<div class="line">  udp_bind(server_conn, UIP_HTONS(5684));</div>
-<div class="line"></div>
-<div class="line">  dtls_context = <a class="code" href="dtls_8c.html#a11f53d301448aa8f1dbcfaf77441bd9c">dtls_new_context</a>(server_conn);</div>
-<div class="line">  <span class="keywordflow">if</span> (!dtls_context) {</div>
-<div class="line">    <a class="code" href="debug_8h.html#a94fa8dba0861075ba507ea0417fd83c8">dtls_emerg</a>(<span class="stringliteral">&quot;cannot create context\n&quot;</span>);</div>
-<div class="line">    PROCESS_EXIT();</div>
-<div class="line">  }</div>
-<div class="line"></div>
-<div class="line">  <a class="code" href="dtls_8h.html#ab0e3223c87b79e4946b19538b24634da">dtls_set_handler</a>(dtls_context, &amp;cb);</div>
-<div class="line"></div>
-<div class="line">  <span class="keywordflow">while</span>(1) {</div>
-<div class="line">    PROCESS_WAIT_EVENT();</div>
-<div class="line">    <span class="keywordflow">if</span>(ev == tcpip_event &amp;&amp; uip_newdata()) {</div>
-<div class="line">      <a class="code" href="structsession__t.html">session_t</a> session;</div>
-<div class="line"></div>
-<div class="line">      uip_ipaddr_copy(&amp;session.<a class="code" href="structsession__t.html#a0bb4423cd29b415a4cf6c32d5d9a43e4">addr</a>, &amp;UIP_IP_BUF-&gt;srcipaddr);</div>
-<div class="line">      session.port = UIP_UDP_BUF-&gt;srcport;</div>
-<div class="line">      session.<a class="code" href="structsession__t.html#aed21682e9f971221d9f35f1266dea125">size</a> = <span class="keyword">sizeof</span>(session.<a class="code" href="structsession__t.html#a0bb4423cd29b415a4cf6c32d5d9a43e4">addr</a>) + <span class="keyword">sizeof</span>(session.port);</div>
-<div class="line">    </div>
-<div class="line">      <a class="code" href="dtls_8c.html#ae272fea7269714fe7a67d6da64961731">dtls_handle_message</a>(ctx, &amp;session, uip_appdata, uip_datalen());</div>
-<div class="line">    }</div>
-<div class="line">  }</div>
-<div class="line"></div>
-<div class="line">  PROCESS_END();</div>
-<div class="line">}</div>
-<div class="line"></div>
-<div class="line"><span class="keywordtype">int</span> send_to_peer(<span class="keyword">struct</span> <a class="code" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="code" href="structsession__t.html">session_t</a> *session, <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *data, <span class="keywordtype">size_t</span> len) {</div>
-<div class="line">  <span class="keyword">struct </span>uip_udp_conn *conn = (<span class="keyword">struct </span>uip_udp_conn *)<a class="code" href="dtls_8h.html#a95f7eb485bb814aa308e2612681176d9">dtls_get_app_data</a>(ctx);</div>
-<div class="line"></div>
-<div class="line">  uip_ipaddr_copy(&amp;conn-&gt;ripaddr, &amp;session-&gt;<a class="code" href="structsession__t.html#a0bb4423cd29b415a4cf6c32d5d9a43e4">addr</a>);</div>
-<div class="line">  conn-&gt;rport = session-&gt;port;</div>
-<div class="line"></div>
-<div class="line">  uip_udp_packet_send(conn, data, len);</div>
-<div class="line"></div>
-<div class="line">  memset(&amp;conn-&gt;ripaddr, 0, <span class="keyword">sizeof</span>(server_conn-&gt;ripaddr));</div>
-<div class="line">  memset(&amp;conn-&gt;rport, 0, <span class="keyword">sizeof</span>(conn-&gt;rport));</div>
-<div class="line"></div>
-<div class="line">  <span class="keywordflow">return</span> len;</div>
-<div class="line">}</div>
-</div><!-- fragment --> </div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/group__dtls__usage.html b/external/wakaama/examples/shared/tinydtls/doc/html/group__dtls__usage.html
deleted file mode 100644 (file)
index 4bc685c..0000000
+++ /dev/null
@@ -1,195 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: DTLS Usage</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="header">
-  <div class="headertitle">
-<div class="title">DTLS Usage</div>  </div>
-</div><!--header-->
-<div class="contents">
-<h1><a class="anchor" id="dtls_server_example"></a>
-DTLS Server Example</h1>
-<p>This section shows how to use the DTLS library functions to setup a simple secure UDP echo server. The application is responsible for the entire network communication and thus will look like a usual UDP server with socket creation and binding and a typical select-loop as shown below. The minimum configuration required for DTLS is the creation of the <a class="el" href="structdtls__context__t.html">dtls_context_t</a> using <a class="el" href="dtls_8h.html#a11f53d301448aa8f1dbcfaf77441bd9c">dtls_new_context()</a>, and a callback for sending data. Received packets are read by the application and passed to <a class="el" href="dtls_8h.html#ae272fea7269714fe7a67d6da64961731">dtls_handle_message()</a> as shown in <a class="el" href="group__dtls__usage.html#dtls_read_cb">The Read Callback</a>. For any useful communication to happen, read and write call backs and a key management function should be registered as well.</p>
-<div class="fragment"><div class="line"><a class="code" href="structdtls__context__t.html">dtls_context_t</a> *the_context = NULL;</div>
-<div class="line"><span class="keywordtype">int</span> fd, result;</div>
-<div class="line"></div>
-<div class="line"><span class="keyword">static</span> <a class="code" href="structdtls__handler__t.html">dtls_handler_t</a> cb = {</div>
-<div class="line">  .<a class="code" href="structdtls__handler__t.html#a161ad99d77bd3b963bcd473eb3cbefe2">write</a> = send_to_peer,</div>
-<div class="line">  .read  = read_from_peer,</div>
-<div class="line">  .event = NULL,</div>
-<div class="line">  .get_psk_key = get_psk_key</div>
-<div class="line">};</div>
-<div class="line"></div>
-<div class="line">fd = socket(...);</div>
-<div class="line"><span class="keywordflow">if</span> (fd &lt; 0 || bind(fd, ...) &lt; 0)</div>
-<div class="line">  exit(-1);</div>
-<div class="line"></div>
-<div class="line">the_context = <a class="code" href="dtls_8c.html#a11f53d301448aa8f1dbcfaf77441bd9c">dtls_new_context</a>(&amp;fd);</div>
-<div class="line"><a class="code" href="dtls_8h.html#ab0e3223c87b79e4946b19538b24634da">dtls_set_handler</a>(the_context, &amp;cb);</div>
-<div class="line"></div>
-<div class="line"><span class="keywordflow">while</span> (1) {</div>
-<div class="line">  ...initialize fd_set rfds and timeout ...</div>
-<div class="line">  result = select(fd+1, &amp;rfds, NULL, 0, NULL);</div>
-<div class="line">   </div>
-<div class="line">  <span class="keywordflow">if</span> (FD_ISSET(fd, &amp;rfds))</div>
-<div class="line">    dtls_handle_read(the_context);</div>
-<div class="line">}</div>
-<div class="line"></div>
-<div class="line"><a class="code" href="dtls_8c.html#a3171c099d25ed29e31326526b8e1de84">dtls_free_context</a>(the_context);</div>
-</div><!-- fragment --><h2><a class="anchor" id="dtls_read_cb"></a>
-The Read Callback</h2>
-<p>The DTLS library expects received raw data to be passed to <a class="el" href="dtls_8h.html#ae272fea7269714fe7a67d6da64961731">dtls_handle_message()</a>. The application is responsible for filling a <a class="el" href="structsession__t.html">session_t</a> structure with the address data of the remote peer as illustrated by the following example:</p>
-<div class="fragment"><div class="line"><span class="keywordtype">int</span> dtls_handle_read(<span class="keyword">struct</span> <a class="code" href="structdtls__context__t.html">dtls_context_t</a> *ctx) {</div>
-<div class="line">  <span class="keywordtype">int</span> *fd;</div>
-<div class="line">  <a class="code" href="structsession__t.html">session_t</a> session;</div>
-<div class="line">  <span class="keyword">static</span> <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> buf[<a class="code" href="global_8h.html#acdbfba15eb1a5692e177d582b4ca1583">DTLS_MAX_BUF</a>];</div>
-<div class="line">  <span class="keywordtype">int</span> len;</div>
-<div class="line"></div>
-<div class="line">  fd = <a class="code" href="dtls_8h.html#a95f7eb485bb814aa308e2612681176d9">dtls_get_app_data</a>(ctx);</div>
-<div class="line"></div>
-<div class="line">  assert(fd);</div>
-<div class="line"></div>
-<div class="line">  session.<a class="code" href="structsession__t.html#aed21682e9f971221d9f35f1266dea125">size</a> = <span class="keyword">sizeof</span>(session.<a class="code" href="structsession__t.html#a0bb4423cd29b415a4cf6c32d5d9a43e4">addr</a>);</div>
-<div class="line">  len = recvfrom(*fd, buf, <span class="keyword">sizeof</span>(buf), 0, &amp;session.<a class="code" href="structsession__t.html#a0bb4423cd29b415a4cf6c32d5d9a43e4">addr</a>.<a class="code" href="structsession__t.html#a8d0a30ccc98425675a1b0e92e96eaa6a">sa</a>, &amp;session.<a class="code" href="structsession__t.html#aed21682e9f971221d9f35f1266dea125">size</a>);</div>
-<div class="line">  </div>
-<div class="line">  <span class="keywordflow">return</span> len &lt; 0 ? len : <a class="code" href="dtls_8c.html#ae272fea7269714fe7a67d6da64961731">dtls_handle_message</a>(ctx, &amp;session, buf, len);</div>
-<div class="line">}    </div>
-</div><!-- fragment --><p>Once a new DTLS session was established and DTLS ApplicationData has been received, the DTLS server invokes the read callback with the MAC-verified cleartext data as its argument. A read callback for a simple echo server could look like this: </p>
-<div class="fragment"><div class="line"><span class="keywordtype">int</span> read_from_peer(<span class="keyword">struct</span> <a class="code" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="code" href="structsession__t.html">session_t</a> *session, <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *data, <span class="keywordtype">size_t</span> len) {</div>
-<div class="line">  <span class="keywordflow">return</span> <a class="code" href="dtls_8c.html#a1e338587fb19c794c8d19bc2801f2eb2">dtls_write</a>(ctx, session, data, len);</div>
-<div class="line">}</div>
-</div><!-- fragment --><h2><a class="anchor" id="dtls_send_cb"></a>
-The Send Callback</h2>
-<p>The callback function send_to_peer() is called whenever data must be sent over the network. Here, the sendto() system call is used to transmit data within the given session. The socket descriptor required by sendto() has been registered as application data when the DTLS context was created with <a class="el" href="dtls_8h.html#a11f53d301448aa8f1dbcfaf77441bd9c">dtls_new_context()</a>. Note that it is on the application to buffer the data when it cannot be sent at the time this callback is invoked. The following example thus is incomplete as it would have to deal with EAGAIN somehow. </p>
-<div class="fragment"><div class="line"><span class="keywordtype">int</span> send_to_peer(<span class="keyword">struct</span> <a class="code" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="code" href="structsession__t.html">session_t</a> *session, <a class="code" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *data, <span class="keywordtype">size_t</span> len) {</div>
-<div class="line">  <span class="keywordtype">int</span> fd = *(<span class="keywordtype">int</span> *)<a class="code" href="dtls_8h.html#a95f7eb485bb814aa308e2612681176d9">dtls_get_app_data</a>(ctx);</div>
-<div class="line">  <span class="keywordflow">return</span> sendto(fd, data, len, MSG_DONTWAIT, &amp;session-&gt;<a class="code" href="structsession__t.html#a0bb4423cd29b415a4cf6c32d5d9a43e4">addr</a>.<a class="code" href="structsession__t.html#a8d0a30ccc98425675a1b0e92e96eaa6a">sa</a>, session-&gt;<a class="code" href="structsession__t.html#aed21682e9f971221d9f35f1266dea125">size</a>);</div>
-<div class="line">}</div>
-</div><!-- fragment --><h2><a class="anchor" id="dtls_get_psk_info"></a>
-The Key Storage</h2>
-<p>When a new DTLS session is created, the library must ask the application for keying material. To do so, it invokes the registered call-back function get_psk_info() with the current context and session information as parameter. When the call-back function is invoked with the parameter <code>type</code> set to <code>DTLS_PSK_IDENTITY</code>, the result parameter <code>result</code> must be filled with the psk_identity_hint in case of a server, or the actual psk_identity in case of a client. When <code>type</code> is <code>DTLS_PSK_KEY</code>, the result parameter must be filled with a key for the given identity <code>id</code>. The function must return the number of bytes written to <code>result</code> which must not exceed <code>result_length</code>. In case of an error, the function must return a negative value that corresponds to a valid error code defined in <a class="el" href="alert_8h.html" title="DTLS alert protocol. ">alert.h</a>.</p>
-<div class="fragment"><div class="line"><span class="keywordtype">int</span> get_psk_info(<span class="keyword">struct</span> <a class="code" href="structdtls__context__t.html">dtls_context_t</a> *ctx UNUSED_PARAM,</div>
-<div class="line">        <span class="keyword">const</span> <a class="code" href="structsession__t.html">session_t</a> *session UNUSED_PARAM,</div>
-<div class="line">        <a class="code" href="dtls_8h.html#a36eda3add5e2d12a3b5e2b6fe7038e01">dtls_credentials_type_t</a> type,</div>
-<div class="line">        <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *<span class="keywordtype">id</span>, <span class="keywordtype">size_t</span> id_len,</div>
-<div class="line">        <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *result, <span class="keywordtype">size_t</span> result_length) {</div>
-<div class="line"></div>
-<div class="line">  <span class="keywordflow">switch</span> (type) {</div>
-<div class="line">  <span class="keywordflow">case</span> <a class="code" href="dtls_8h.html#a36eda3add5e2d12a3b5e2b6fe7038e01adb8cac45614b2bc4e66970b64043cfc2">DTLS_PSK_IDENTITY</a>:</div>
-<div class="line">    <span class="keywordflow">if</span> (result_length &lt; psk_id_length) {</div>
-<div class="line">      <a class="code" href="debug_8h.html#ae1c22127c92fab70da7bf9cae8536e5c">dtls_warn</a>(<span class="stringliteral">&quot;cannot set psk_identity -- buffer too small\n&quot;</span>);</div>
-<div class="line">      <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda22948f7c825b68cc18c79bd3634c8f58">DTLS_ALERT_INTERNAL_ERROR</a>);</div>
-<div class="line">    }</div>
-<div class="line"></div>
-<div class="line">    memcpy(result, psk_id, psk_id_length);</div>
-<div class="line">    <span class="keywordflow">return</span> psk_id_length;</div>
-<div class="line">  <span class="keywordflow">case</span> <a class="code" href="dtls_8h.html#a36eda3add5e2d12a3b5e2b6fe7038e01a1d64c04f18b370cf742595dc91098db4">DTLS_PSK_KEY</a>:</div>
-<div class="line">    <span class="keywordflow">if</span> (id_len != psk_id_length || memcmp(psk_id, <span class="keywordtype">id</span>, id_len) != 0) {</div>
-<div class="line">      <a class="code" href="debug_8h.html#ae1c22127c92fab70da7bf9cae8536e5c">dtls_warn</a>(<span class="stringliteral">&quot;PSK for unknown id requested, exiting\n&quot;</span>);</div>
-<div class="line">      <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda880948aace26b2da8acde4c29ababcfc">DTLS_ALERT_ILLEGAL_PARAMETER</a>);</div>
-<div class="line">    } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (result_length &lt; psk_key_length) {</div>
-<div class="line">      <a class="code" href="debug_8h.html#ae1c22127c92fab70da7bf9cae8536e5c">dtls_warn</a>(<span class="stringliteral">&quot;cannot set psk -- buffer too small\n&quot;</span>);</div>
-<div class="line">      <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda22948f7c825b68cc18c79bd3634c8f58">DTLS_ALERT_INTERNAL_ERROR</a>);</div>
-<div class="line">    }</div>
-<div class="line"></div>
-<div class="line">    memcpy(result, psk_key, psk_key_length);</div>
-<div class="line">    <span class="keywordflow">return</span> psk_key_length;</div>
-<div class="line">  <span class="keywordflow">default</span>:</div>
-<div class="line">    <a class="code" href="debug_8h.html#ae1c22127c92fab70da7bf9cae8536e5c">dtls_warn</a>(<span class="stringliteral">&quot;unsupported request type: %d\n&quot;</span>, type);</div>
-<div class="line">  }</div>
-<div class="line"></div>
-<div class="line">  <span class="keywordflow">return</span> <a class="code" href="alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df">dtls_alert_fatal_create</a>(<a class="code" href="alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda22948f7c825b68cc18c79bd3634c8f58">DTLS_ALERT_INTERNAL_ERROR</a>);</div>
-<div class="line">}</div>
-</div><!-- fragment --><h2><a class="anchor" id="dtls_events"></a>
-The Event Notifier</h2>
-<p>Applications that want to be notified whenever the status of a DTLS session has changed can register an event handling function with the field <code>event</code> in the <a class="el" href="structdtls__handler__t.html">dtls_handler_t</a> structure (see <a class="el" href="group__dtls__usage.html#dtls_server_example">DTLS Server Example</a>). The call-back function is called for alert messages and internal state changes. For alert messages, the argument <code>level</code> will be set to a value greater than zero, and <code>code</code> will indicate the notification code. For internal events, <code>level</code> is <code>0</code>, and <code>code</code> a value greater than <code>255</code>.</p>
-<p>Internal events are DTLS_EVENT_CONNECTED, <code>DTLS_EVENT_CONNECT</code>, and <code>DTLS_EVENT_RENEGOTIATE</code>.</p>
-<div class="fragment"><div class="line"><span class="keywordtype">int</span> handle_event(<span class="keyword">struct</span> <a class="code" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="code" href="structsession__t.html">session_t</a> *session, </div>
-<div class="line">                 <a class="code" href="alert_8h.html#ab6264d1b950719f1c2e00b122cad871f">dtls_alert_level_t</a> level, <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> code) {</div>
-<div class="line">  ... <span class="keywordflow">do</span> something with <span class="keyword">event</span> ...</div>
-<div class="line">  <span class="keywordflow">return</span> 0;</div>
-<div class="line">}</div>
-</div><!-- fragment --><h1><a class="anchor" id="dtls_client_example"></a>
-DTLS Client Example</h1>
-<p>A DTLS client is constructed like a server but needs to actively setup a new session by calling <a class="el" href="dtls_8h.html#a187f5e145bb869a732fbed426929a4e9">dtls_connect()</a> at some point. As this function usually returns before the new DTLS channel is established, the application must register an event handler and wait for <code>DTLS_EVENT_CONNECT</code> before it can send data over the DTLS channel. </p>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/group__netq.html b/external/wakaama/examples/shared/tinydtls/doc/html/group__netq.html
deleted file mode 100644 (file)
index bf180ed..0000000
+++ /dev/null
@@ -1,362 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: Network Packet Queue</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="header">
-  <div class="summary">
-<a href="#nested-classes">Data Structures</a> &#124;
-<a href="#typedef-members">Typedefs</a> &#124;
-<a href="#func-members">Functions</a>  </div>
-  <div class="headertitle">
-<div class="title">Network Packet Queue</div>  </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
-Data Structures</h2></td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structnetq__t.html">netq_t</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
-Typedefs</h2></td></tr>
-<tr class="memitem:gaa59d8597860df302584b1e9c448fdfcd"><td class="memItemLeft" align="right" valign="top">typedef unsigned char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__netq.html#gaa59d8597860df302584b1e9c448fdfcd">netq_packet_t</a> [<a class="el" href="global_8h.html#acdbfba15eb1a5692e177d582b4ca1583">DTLS_MAX_BUF</a>]</td></tr>
-<tr class="separator:gaa59d8597860df302584b1e9c448fdfcd"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga4991f2cfa1f79edf8f7d8262c5beeb5b"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structnetq__t.html">netq_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__netq.html#ga4991f2cfa1f79edf8f7d8262c5beeb5b">netq_t</a></td></tr>
-<tr class="separator:ga4991f2cfa1f79edf8f7d8262c5beeb5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga9eba9e66570dcdfc933c6cf843694444"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__netq.html#ga9eba9e66570dcdfc933c6cf843694444">netq_init</a> ()</td></tr>
-<tr class="separator:ga9eba9e66570dcdfc933c6cf843694444"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga142c8e39fe2cd55250e3c1f0370dfe6b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__netq.html#ga142c8e39fe2cd55250e3c1f0370dfe6b">netq_insert_node</a> (<a class="el" href="t__list_8h.html#a9c248916bae1f0b13732686786be7108">list_t</a> queue, <a class="el" href="structnetq__t.html">netq_t</a> *node)</td></tr>
-<tr class="separator:ga142c8e39fe2cd55250e3c1f0370dfe6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga9ef9da1a2af266dadef83ddf6c8524d7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__netq.html#ga9ef9da1a2af266dadef83ddf6c8524d7">netq_node_free</a> (<a class="el" href="structnetq__t.html">netq_t</a> *node)</td></tr>
-<tr class="separator:ga9ef9da1a2af266dadef83ddf6c8524d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gac72fd2ec9f1e6908c8a10705fb6555e2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__netq.html#gac72fd2ec9f1e6908c8a10705fb6555e2">netq_delete_all</a> (<a class="el" href="t__list_8h.html#a9c248916bae1f0b13732686786be7108">list_t</a> queue)</td></tr>
-<tr class="separator:gac72fd2ec9f1e6908c8a10705fb6555e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gafcf245cd934e9b8f0909a7ca8940e9cb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structnetq__t.html">netq_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__netq.html#gafcf245cd934e9b8f0909a7ca8940e9cb">netq_node_new</a> (size_t size)</td></tr>
-<tr class="separator:gafcf245cd934e9b8f0909a7ca8940e9cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gac769de2e30bcf2c2db89ff10822219d4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structnetq__t.html">netq_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__netq.html#gac769de2e30bcf2c2db89ff10822219d4">netq_head</a> (<a class="el" href="t__list_8h.html#a9c248916bae1f0b13732686786be7108">list_t</a> queue)</td></tr>
-<tr class="separator:gac769de2e30bcf2c2db89ff10822219d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gab4c90c003808a784ae1ee9322e75627d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structnetq__t.html">netq_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__netq.html#gab4c90c003808a784ae1ee9322e75627d">netq_next</a> (<a class="el" href="structnetq__t.html">netq_t</a> *p)</td></tr>
-<tr class="separator:gab4c90c003808a784ae1ee9322e75627d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gace12cd802d76d5bd98b2eaedc591fd22"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__netq.html#gace12cd802d76d5bd98b2eaedc591fd22">netq_remove</a> (<a class="el" href="t__list_8h.html#a9c248916bae1f0b13732686786be7108">list_t</a> queue, <a class="el" href="structnetq__t.html">netq_t</a> *p)</td></tr>
-<tr class="separator:gace12cd802d76d5bd98b2eaedc591fd22"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga108e6c43e524fd4b23a5d4731631fae3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structnetq__t.html">netq_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__netq.html#ga108e6c43e524fd4b23a5d4731631fae3">netq_pop_first</a> (<a class="el" href="t__list_8h.html#a9c248916bae1f0b13732686786be7108">list_t</a> queue)</td></tr>
-<tr class="separator:ga108e6c43e524fd4b23a5d4731631fae3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<p>The netq utility functions implement an ordered queue of data packets to send over the network and can also be used to queue received packets from the network. </p>
-<h2 class="groupheader">Typedef Documentation</h2>
-<a class="anchor" id="gaa59d8597860df302584b1e9c448fdfcd"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef unsigned char netq_packet_t[<a class="el" href="global_8h.html#acdbfba15eb1a5692e177d582b4ca1583">DTLS_MAX_BUF</a>]</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Datagrams in the <a class="el" href="structnetq__t.html">netq_t</a> structure have a fixed maximum size of DTLS_MAX_BUF to simplify memory management on constrained nodes. </p>
-
-<p>Definition at line <a class="el" href="netq_8h_source.html#l00036">36</a> of file <a class="el" href="netq_8h_source.html">netq.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ga4991f2cfa1f79edf8f7d8262c5beeb5b"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef struct <a class="el" href="structnetq__t.html">netq_t</a>  <a class="el" href="structnetq__t.html">netq_t</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<h2 class="groupheader">Function Documentation</h2>
-<a class="anchor" id="gac72fd2ec9f1e6908c8a10705fb6555e2"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void netq_delete_all </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="t__list_8h.html#a9c248916bae1f0b13732686786be7108">list_t</a>&#160;</td>
-          <td class="paramname"><em>queue</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Removes all items from given queue and frees the allocated storage </p>
-
-<p>Definition at line <a class="el" href="netq_8c_source.html#l00133">133</a> of file <a class="el" href="netq_8c_source.html">netq.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="gac769de2e30bcf2c2db89ff10822219d4"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="structnetq__t.html">netq_t</a>* netq_head </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="t__list_8h.html#a9c248916bae1f0b13732686786be7108">list_t</a>&#160;</td>
-          <td class="paramname"><em>queue</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Returns a pointer to the first item in given queue or NULL if empty. </p>
-
-<p>Definition at line <a class="el" href="netq_8c_source.html#l00080">80</a> of file <a class="el" href="netq_8c_source.html">netq.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ga9eba9e66570dcdfc933c6cf843694444"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static void netq_init </td>
-          <td>(</td>
-          <td class="paramname"></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="netq_8h_source.html#l00058">58</a> of file <a class="el" href="netq_8h_source.html">netq.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ga142c8e39fe2cd55250e3c1f0370dfe6b"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int netq_insert_node </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="t__list_8h.html#a9c248916bae1f0b13732686786be7108">list_t</a>&#160;</td>
-          <td class="paramname"><em>queue</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="structnetq__t.html">netq_t</a> *&#160;</td>
-          <td class="paramname"><em>node</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Adds a node to the given queue, ordered by their time-stamp t. This function returns <code>0</code> on error, or non-zero if <code>node</code> has been added successfully.</p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">queue</td><td>A pointer to the queue head where <code>node</code> will be added. </td></tr>
-    <tr><td class="paramname">node</td><td>The new item to add. </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd><code>0</code> on error, or non-zero if the new item was added. </dd></dl>
-
-<p>Definition at line <a class="el" href="netq_8c_source.html#l00061">61</a> of file <a class="el" href="netq_8c_source.html">netq.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="gab4c90c003808a784ae1ee9322e75627d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="structnetq__t.html">netq_t</a>* netq_next </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structnetq__t.html">netq_t</a> *&#160;</td>
-          <td class="paramname"><em>p</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="netq_8c_source.html#l00088">88</a> of file <a class="el" href="netq_8c_source.html">netq.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ga9ef9da1a2af266dadef83ddf6c8524d7"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void netq_node_free </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structnetq__t.html">netq_t</a> *&#160;</td>
-          <td class="paramname"><em>node</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Destroys specified node and releases any memory that was allocated for the associated datagram. </p>
-
-<p>Definition at line <a class="el" href="netq_8c_source.html#l00127">127</a> of file <a class="el" href="netq_8c_source.html">netq.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="gafcf245cd934e9b8f0909a7ca8940e9cb"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="structnetq__t.html">netq_t</a>* netq_node_new </td>
-          <td>(</td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>size</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Creates a new node suitable for adding to a <a class="el" href="structnetq__t.html">netq_t</a> queue. </p>
-
-<p>Definition at line <a class="el" href="netq_8c_source.html#l00111">111</a> of file <a class="el" href="netq_8c_source.html">netq.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ga108e6c43e524fd4b23a5d4731631fae3"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="structnetq__t.html">netq_t</a>* netq_pop_first </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="t__list_8h.html#a9c248916bae1f0b13732686786be7108">list_t</a>&#160;</td>
-          <td class="paramname"><em>queue</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Removes the first item in given queue and returns a pointer to the removed element. If queue is empty when <a class="el" href="group__netq.html#ga108e6c43e524fd4b23a5d4731631fae3">netq_pop_first()</a> is called, this function returns NULL. </p>
-
-<p>Definition at line <a class="el" href="netq_8c_source.html#l00103">103</a> of file <a class="el" href="netq_8c_source.html">netq.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="gace12cd802d76d5bd98b2eaedc591fd22"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void netq_remove </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="t__list_8h.html#a9c248916bae1f0b13732686786be7108">list_t</a>&#160;</td>
-          <td class="paramname"><em>queue</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="structnetq__t.html">netq_t</a> *&#160;</td>
-          <td class="paramname"><em>p</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="netq_8c_source.html#l00096">96</a> of file <a class="el" href="netq_8c_source.html">netq.c</a>.</p>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/group__prng.html b/external/wakaama/examples/shared/tinydtls/doc/html/group__prng.html
deleted file mode 100644 (file)
index 09488b0..0000000
+++ /dev/null
@@ -1,165 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: Pseudo Random Numbers</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="header">
-  <div class="summary">
-<a href="#func-members">Functions</a>  </div>
-  <div class="headertitle">
-<div class="title">Pseudo Random Numbers</div>  </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga3f4036a1abfcec552ab583a2dc37be6c"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__prng.html#ga3f4036a1abfcec552ab583a2dc37be6c">dtls_prng</a> (unsigned char *buf, size_t len)</td></tr>
-<tr class="separator:ga3f4036a1abfcec552ab583a2dc37be6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gac68680277206146d06c9e5468f260ee0"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__prng.html#gac68680277206146d06c9e5468f260ee0">dtls_prng_init</a> (unsigned short seed)</td></tr>
-<tr class="separator:gac68680277206146d06c9e5468f260ee0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<h2 class="groupheader">Function Documentation</h2>
-<a class="anchor" id="ga3f4036a1abfcec552ab583a2dc37be6c"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int dtls_prng </td>
-          <td>(</td>
-          <td class="paramtype">unsigned char *&#160;</td>
-          <td class="paramname"><em>buf</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>len</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-<p>Fills <code>buf</code> with <code>len</code> random bytes. This is the default implementation for prng(). You might want to change prng() to use a better PRNG on your specific platform. </p>
-
-<p>Definition at line <a class="el" href="prng_8h_source.html#l00033">33</a> of file <a class="el" href="prng_8h_source.html">prng.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="gac68680277206146d06c9e5468f260ee0"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static void dtls_prng_init </td>
-          <td>(</td>
-          <td class="paramtype">unsigned short&#160;</td>
-          <td class="paramname"><em>seed</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="prng_8h_source.html#l00040">40</a> of file <a class="el" href="prng_8h_source.html">prng.h</a>.</p>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/hmac_8c.html b/external/wakaama/examples/shared/tinydtls/doc/html/hmac_8c.html
deleted file mode 100644 (file)
index 8d12dd8..0000000
+++ /dev/null
@@ -1,177 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: hmac.c File Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#func-members">Functions</a>  </div>
-  <div class="headertitle">
-<div class="title">hmac.c File Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock"><code>#include &lt;stdio.h&gt;</code><br/>
-<code>#include &lt;stdlib.h&gt;</code><br/>
-<code>#include &lt;string.h&gt;</code><br/>
-<code>#include &quot;<a class="el" href="dtls__config_8h_source.html">dtls_config.h</a>&quot;</code><br/>
-<code>#include &lt;assert.h&gt;</code><br/>
-<code>#include &quot;<a class="el" href="debug_8h_source.html">debug.h</a>&quot;</code><br/>
-<code>#include &quot;<a class="el" href="hmac_8h_source.html">hmac.h</a>&quot;</code><br/>
-</div>
-<p><a href="hmac_8c_source.html">Go to the source code of this file.</a></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:affb72973a7bb7b389a4b7382d435fcef"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structdtls__hmac__context__t.html">dtls_hmac_context_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="hmac_8c.html#affb72973a7bb7b389a4b7382d435fcef">dtls_hmac_context_new</a> ()</td></tr>
-<tr class="separator:affb72973a7bb7b389a4b7382d435fcef"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8613e734d3fafa81035f8f30000325a7"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="hmac_8c.html#a8613e734d3fafa81035f8f30000325a7">dtls_hmac_context_free</a> (<a class="el" href="structdtls__hmac__context__t.html">dtls_hmac_context_t</a> *ctx)</td></tr>
-<tr class="separator:a8613e734d3fafa81035f8f30000325a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga1ef9c88a0a2053b442413a9cea3deb73"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__HMAC.html#ga1ef9c88a0a2053b442413a9cea3deb73">dtls_hmac_update</a> (<a class="el" href="structdtls__hmac__context__t.html">dtls_hmac_context_t</a> *ctx, const unsigned char *input, size_t ilen)</td></tr>
-<tr class="separator:ga1ef9c88a0a2053b442413a9cea3deb73"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gac3e9ef037800963783e618eafd046702"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structdtls__hmac__context__t.html">dtls_hmac_context_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__HMAC.html#gac3e9ef037800963783e618eafd046702">dtls_hmac_new</a> (const unsigned char *key, size_t klen)</td></tr>
-<tr class="separator:gac3e9ef037800963783e618eafd046702"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaa1eb35fcb2c2eb69eebaefa8eb4a790d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__HMAC.html#gaa1eb35fcb2c2eb69eebaefa8eb4a790d">dtls_hmac_init</a> (<a class="el" href="structdtls__hmac__context__t.html">dtls_hmac_context_t</a> *ctx, const unsigned char *key, size_t klen)</td></tr>
-<tr class="separator:gaa1eb35fcb2c2eb69eebaefa8eb4a790d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga5b1a3c1dcb5461bda44dd70f7bd33181"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__HMAC.html#ga5b1a3c1dcb5461bda44dd70f7bd33181">dtls_hmac_free</a> (<a class="el" href="structdtls__hmac__context__t.html">dtls_hmac_context_t</a> *ctx)</td></tr>
-<tr class="separator:ga5b1a3c1dcb5461bda44dd70f7bd33181"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gab98c992f3f9cc3c2d75077ddd46049bf"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__HMAC.html#gab98c992f3f9cc3c2d75077ddd46049bf">dtls_hmac_finalize</a> (<a class="el" href="structdtls__hmac__context__t.html">dtls_hmac_context_t</a> *ctx, unsigned char *result)</td></tr>
-<tr class="separator:gab98c992f3f9cc3c2d75077ddd46049bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<h2 class="groupheader">Function Documentation</h2>
-<a class="anchor" id="a8613e734d3fafa81035f8f30000325a7"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static void dtls_hmac_context_free </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__hmac__context__t.html">dtls_hmac_context_t</a> *&#160;</td>
-          <td class="paramname"><em>ctx</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="hmac_8c_source.html#l00051">51</a> of file <a class="el" href="hmac_8c_source.html">hmac.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="affb72973a7bb7b389a4b7382d435fcef"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static <a class="el" href="structdtls__hmac__context__t.html">dtls_hmac_context_t</a>* dtls_hmac_context_new </td>
-          <td>(</td>
-          <td class="paramname"></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="hmac_8c_source.html#l00046">46</a> of file <a class="el" href="hmac_8c_source.html">hmac.c</a>.</p>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/hmac_8c_source.html b/external/wakaama/examples/shared/tinydtls/doc/html/hmac_8c_source.html
deleted file mode 100644 (file)
index 1b702a3..0000000
+++ /dev/null
@@ -1,288 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: hmac.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="header">
-  <div class="headertitle">
-<div class="title">hmac.c</div>  </div>
-</div><!--header-->
-<div class="contents">
-<a href="hmac_8c.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/* dtls -- a very basic DTLS implementation</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> * Copyright (C) 2011--2012 Olaf Bergmann &lt;bergmann@tzi.org&gt;</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> * Permission is hereby granted, free of charge, to any person</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> * obtaining a copy of this software and associated documentation</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> * files (the &quot;Software&quot;), to deal in the Software without</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> * restriction, including without limitation the rights to use, copy,</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> * modify, merge, publish, distribute, sublicense, and/or sell copies</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> * of the Software, and to permit persons to whom the Software is</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * furnished to do so, subject to the following conditions:</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * The above copyright notice and this permission notice shall be</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * included in all copies or substantial portions of the Software.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> * THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND,</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment"> * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment"> * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment"> * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment"> * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment"> * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment"> * SOFTWARE.</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div>
-<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &lt;stdio.h&gt;</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &lt;stdlib.h&gt;</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &lt;string.h&gt;</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;</div>
-<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="dtls__config_8h.html">dtls_config.h</a>&quot;</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div>
-<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#ifdef HAVE_ASSERT_H</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &lt;assert.h&gt;</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define assert(x)</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="debug_8h.html">debug.h</a>&quot;</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="hmac_8h.html">hmac.h</a>&quot;</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div>
-<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">/* use malloc()/free() on platforms other than Contiki */</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#ifndef WITH_CONTIKI</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &lt;stdlib.h&gt;</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div>
-<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="structdtls__hmac__context__t.html">dtls_hmac_context_t</a> *</div>
-<div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="hmac_8c.html#affb72973a7bb7b389a4b7382d435fcef">   46</a></span>&#160;<a class="code" href="hmac_8c.html#affb72973a7bb7b389a4b7382d435fcef">dtls_hmac_context_new</a>() {</div>
-<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;  <span class="keywordflow">return</span> (<a class="code" href="structdtls__hmac__context__t.html">dtls_hmac_context_t</a> *)malloc(<span class="keyword">sizeof</span>(<a class="code" href="structdtls__hmac__context__t.html">dtls_hmac_context_t</a>));</div>
-<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;}</div>
-<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;</div>
-<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="hmac_8c.html#a8613e734d3fafa81035f8f30000325a7">   51</a></span>&#160;<a class="code" href="hmac_8c.html#a8613e734d3fafa81035f8f30000325a7">dtls_hmac_context_free</a>(<a class="code" href="structdtls__hmac__context__t.html">dtls_hmac_context_t</a> *ctx) {</div>
-<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;  free(ctx);</div>
-<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;}</div>
-<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div>
-<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#else </span><span class="comment">/* WITH_CONTIKI */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &quot;memb.h&quot;</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;MEMB(hmac_context_storage, <a class="code" href="structdtls__hmac__context__t.html">dtls_hmac_context_t</a>, DTLS_HASH_MAX);</div>
-<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;</div>
-<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="structdtls__hmac__context__t.html">dtls_hmac_context_t</a> *</div>
-<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<a class="code" href="hmac_8c.html#affb72973a7bb7b389a4b7382d435fcef">dtls_hmac_context_new</a>() {</div>
-<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;  <span class="keywordflow">return</span> (<a class="code" href="structdtls__hmac__context__t.html">dtls_hmac_context_t</a> *)memb_alloc(&amp;hmac_context_storage);</div>
-<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;}</div>
-<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div>
-<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<a class="code" href="hmac_8c.html#a8613e734d3fafa81035f8f30000325a7">dtls_hmac_context_free</a>(<a class="code" href="structdtls__hmac__context__t.html">dtls_hmac_context_t</a> *ctx) {</div>
-<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;  memb_free(&amp;hmac_context_storage, ctx);</div>
-<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;}</div>
-<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div>
-<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="keywordtype">void</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<a class="code" href="hmac_8h.html#a51d5982243691c9e7fa56142c3a8d5d8">dtls_hmac_storage_init</a>() {</div>
-<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;  memb_init(&amp;hmac_context_storage);</div>
-<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;}</div>
-<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* WITH_CONTIKI */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="keywordtype">void</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="group__HMAC.html#ga1ef9c88a0a2053b442413a9cea3deb73">   76</a></span>&#160;<a class="code" href="group__HMAC.html#ga1ef9c88a0a2053b442413a9cea3deb73">dtls_hmac_update</a>(<a class="code" href="structdtls__hmac__context__t.html">dtls_hmac_context_t</a> *ctx,</div>
-<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;         <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *input, <span class="keywordtype">size_t</span> ilen) {</div>
-<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;  assert(ctx);</div>
-<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;  <a class="code" href="hmac_8h.html#adb5ad07ab9a1adcdfdc20e13aa37bee6">dtls_hash_update</a>(&amp;ctx-&gt;<a class="code" href="structdtls__hmac__context__t.html#a84c35513fa655d8456be215f4509bb40">data</a>, input, ilen);</div>
-<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;}</div>
-<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;</div>
-<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<a class="code" href="structdtls__hmac__context__t.html">dtls_hmac_context_t</a> *</div>
-<div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="group__HMAC.html#gac3e9ef037800963783e618eafd046702">   83</a></span>&#160;<a class="code" href="group__HMAC.html#gac3e9ef037800963783e618eafd046702">dtls_hmac_new</a>(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *key, <span class="keywordtype">size_t</span> klen) {</div>
-<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;  <a class="code" href="structdtls__hmac__context__t.html">dtls_hmac_context_t</a> *ctx;</div>
-<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;</div>
-<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;  ctx = <a class="code" href="hmac_8c.html#affb72973a7bb7b389a4b7382d435fcef">dtls_hmac_context_new</a>();</div>
-<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;  <span class="keywordflow">if</span> (ctx) </div>
-<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;    <a class="code" href="group__HMAC.html#gaa1eb35fcb2c2eb69eebaefa8eb4a790d">dtls_hmac_init</a>(ctx, key, klen);</div>
-<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div>
-<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;  <span class="keywordflow">return</span> ctx;</div>
-<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;}</div>
-<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;</div>
-<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;<span class="keywordtype">void</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="group__HMAC.html#gaa1eb35fcb2c2eb69eebaefa8eb4a790d">   94</a></span>&#160;<a class="code" href="group__HMAC.html#gaa1eb35fcb2c2eb69eebaefa8eb4a790d">dtls_hmac_init</a>(<a class="code" href="structdtls__hmac__context__t.html">dtls_hmac_context_t</a> *ctx, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *key, <span class="keywordtype">size_t</span> klen) {</div>
-<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;  <span class="keywordtype">int</span> i;</div>
-<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;</div>
-<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;  assert(ctx);</div>
-<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;</div>
-<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;  memset(ctx, 0, <span class="keyword">sizeof</span>(<a class="code" href="structdtls__hmac__context__t.html">dtls_hmac_context_t</a>));</div>
-<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;</div>
-<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;  <span class="keywordflow">if</span> (klen &gt; <a class="code" href="group__HMAC.html#gab1f8617a558ef0f758439c96d3a4650e">DTLS_HMAC_BLOCKSIZE</a>) {</div>
-<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;    <a class="code" href="hmac_8h.html#afe0af64930ac5d6a51289df6d1eb4f52">dtls_hash_init</a>(&amp;ctx-&gt;<a class="code" href="structdtls__hmac__context__t.html#a84c35513fa655d8456be215f4509bb40">data</a>);</div>
-<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;    <a class="code" href="hmac_8h.html#adb5ad07ab9a1adcdfdc20e13aa37bee6">dtls_hash_update</a>(&amp;ctx-&gt;<a class="code" href="structdtls__hmac__context__t.html#a84c35513fa655d8456be215f4509bb40">data</a>, key, klen);</div>
-<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;    <a class="code" href="hmac_8h.html#a96801bbb62f4c9c872b22cd8e438e51e">dtls_hash_finalize</a>(ctx-&gt;<a class="code" href="structdtls__hmac__context__t.html#aba13422e176f7d16f3f251634ca7f868">pad</a>, &amp;ctx-&gt;<a class="code" href="structdtls__hmac__context__t.html#a84c35513fa655d8456be215f4509bb40">data</a>);</div>
-<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;  } <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;    memcpy(ctx-&gt;<a class="code" href="structdtls__hmac__context__t.html#aba13422e176f7d16f3f251634ca7f868">pad</a>, key, klen);</div>
-<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;</div>
-<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;  <span class="comment">/* create ipad: */</span></div>
-<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;  <span class="keywordflow">for</span> (i=0; i &lt; <a class="code" href="group__HMAC.html#gab1f8617a558ef0f758439c96d3a4650e">DTLS_HMAC_BLOCKSIZE</a>; ++i)</div>
-<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;    ctx-&gt;<a class="code" href="structdtls__hmac__context__t.html#aba13422e176f7d16f3f251634ca7f868">pad</a>[i] ^= 0x36;</div>
-<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;</div>
-<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;  <a class="code" href="hmac_8h.html#afe0af64930ac5d6a51289df6d1eb4f52">dtls_hash_init</a>(&amp;ctx-&gt;<a class="code" href="structdtls__hmac__context__t.html#a84c35513fa655d8456be215f4509bb40">data</a>);</div>
-<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;  <a class="code" href="group__HMAC.html#ga1ef9c88a0a2053b442413a9cea3deb73">dtls_hmac_update</a>(ctx, ctx-&gt;<a class="code" href="structdtls__hmac__context__t.html#aba13422e176f7d16f3f251634ca7f868">pad</a>, DTLS_HMAC_BLOCKSIZE);</div>
-<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;</div>
-<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;  <span class="comment">/* create opad by xor-ing pad[i] with 0x36 ^ 0x5C: */</span></div>
-<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;  <span class="keywordflow">for</span> (i=0; i &lt; <a class="code" href="group__HMAC.html#gab1f8617a558ef0f758439c96d3a4650e">DTLS_HMAC_BLOCKSIZE</a>; ++i)</div>
-<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;    ctx-&gt;<a class="code" href="structdtls__hmac__context__t.html#aba13422e176f7d16f3f251634ca7f868">pad</a>[i] ^= 0x6A;</div>
-<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;}</div>
-<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;</div>
-<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;<span class="keywordtype">void</span></div>
-<div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="group__HMAC.html#ga5b1a3c1dcb5461bda44dd70f7bd33181">  121</a></span>&#160;<a class="code" href="group__HMAC.html#ga5b1a3c1dcb5461bda44dd70f7bd33181">dtls_hmac_free</a>(<a class="code" href="structdtls__hmac__context__t.html">dtls_hmac_context_t</a> *ctx) {</div>
-<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;  <span class="keywordflow">if</span> (ctx)</div>
-<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;    <a class="code" href="hmac_8c.html#a8613e734d3fafa81035f8f30000325a7">dtls_hmac_context_free</a>(ctx);</div>
-<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;}</div>
-<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;</div>
-<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;<span class="keywordtype">int</span></div>
-<div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="group__HMAC.html#gab98c992f3f9cc3c2d75077ddd46049bf">  127</a></span>&#160;<a class="code" href="group__HMAC.html#gab98c992f3f9cc3c2d75077ddd46049bf">dtls_hmac_finalize</a>(<a class="code" href="structdtls__hmac__context__t.html">dtls_hmac_context_t</a> *ctx, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *result) {</div>
-<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> buf[<a class="code" href="group__HMAC.html#ga060019cf2dab9903d58118fe1abe7018">DTLS_HMAC_DIGEST_SIZE</a>];</div>
-<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;  <span class="keywordtype">size_t</span> len; </div>
-<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;</div>
-<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;  assert(ctx);</div>
-<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;  assert(result);</div>
-<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;  </div>
-<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;  len = <a class="code" href="hmac_8h.html#a96801bbb62f4c9c872b22cd8e438e51e">dtls_hash_finalize</a>(buf, &amp;ctx-&gt;<a class="code" href="structdtls__hmac__context__t.html#a84c35513fa655d8456be215f4509bb40">data</a>);</div>
-<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;</div>
-<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;  <a class="code" href="hmac_8h.html#afe0af64930ac5d6a51289df6d1eb4f52">dtls_hash_init</a>(&amp;ctx-&gt;<a class="code" href="structdtls__hmac__context__t.html#a84c35513fa655d8456be215f4509bb40">data</a>);</div>
-<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;  <a class="code" href="hmac_8h.html#adb5ad07ab9a1adcdfdc20e13aa37bee6">dtls_hash_update</a>(&amp;ctx-&gt;<a class="code" href="structdtls__hmac__context__t.html#a84c35513fa655d8456be215f4509bb40">data</a>, ctx-&gt;<a class="code" href="structdtls__hmac__context__t.html#aba13422e176f7d16f3f251634ca7f868">pad</a>, <a class="code" href="group__HMAC.html#gab1f8617a558ef0f758439c96d3a4650e">DTLS_HMAC_BLOCKSIZE</a>);</div>
-<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;  <a class="code" href="hmac_8h.html#adb5ad07ab9a1adcdfdc20e13aa37bee6">dtls_hash_update</a>(&amp;ctx-&gt;<a class="code" href="structdtls__hmac__context__t.html#a84c35513fa655d8456be215f4509bb40">data</a>, buf, len);</div>
-<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;</div>
-<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;  len = <a class="code" href="hmac_8h.html#a96801bbb62f4c9c872b22cd8e438e51e">dtls_hash_finalize</a>(result, &amp;ctx-&gt;<a class="code" href="structdtls__hmac__context__t.html#a84c35513fa655d8456be215f4509bb40">data</a>);</div>
-<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;</div>
-<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;  <span class="keywordflow">return</span> len;</div>
-<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;}</div>
-<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div>
-<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="preprocessor">#ifdef HMAC_TEST</span></div>
-<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &lt;stdio.h&gt;</span></div>
-<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;</div>
-<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;<span class="keywordtype">int</span> main(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> **argv) {</div>
-<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;  <span class="keyword">static</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> buf[<a class="code" href="group__HMAC.html#ga060019cf2dab9903d58118fe1abe7018">DTLS_HMAC_DIGEST_SIZE</a>];</div>
-<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;  <span class="keywordtype">size_t</span> len, i;</div>
-<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;  <a class="code" href="structdtls__hmac__context__t.html">dtls_hmac_context_t</a> *ctx;</div>
-<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;</div>
-<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;  <span class="keywordflow">if</span> (argc &lt; 3) {</div>
-<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;    fprintf(stderr, <span class="stringliteral">&quot;usage: %s key text&quot;</span>, argv[0]);</div>
-<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;    <span class="keywordflow">return</span> -1;</div>
-<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;  }</div>
-<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;</div>
-<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;  <a class="code" href="hmac_8h.html#a51d5982243691c9e7fa56142c3a8d5d8">dtls_hmac_storage_init</a>();</div>
-<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;  ctx = <a class="code" href="group__HMAC.html#gac3e9ef037800963783e618eafd046702">dtls_hmac_new</a>(argv[1], strlen(argv[1]));</div>
-<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;  assert(ctx);</div>
-<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;  <a class="code" href="group__HMAC.html#ga1ef9c88a0a2053b442413a9cea3deb73">dtls_hmac_update</a>(ctx, argv[2], strlen(argv[2]));</div>
-<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;  </div>
-<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;  len = <a class="code" href="group__HMAC.html#gab98c992f3f9cc3c2d75077ddd46049bf">dtls_hmac_finalize</a>(ctx, buf);</div>
-<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;</div>
-<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;  <span class="keywordflow">for</span>(i = 0; i &lt; len; i++) </div>
-<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;    printf(<span class="stringliteral">&quot;%02x&quot;</span>, buf[i]);</div>
-<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;  printf(<span class="stringliteral">&quot;\n&quot;</span>);</div>
-<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;</div>
-<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;  <a class="code" href="group__HMAC.html#ga5b1a3c1dcb5461bda44dd70f7bd33181">dtls_hmac_free</a>(ctx);</div>
-<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;</div>
-<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;  <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;}</div>
-<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;<span class="preprocessor">#endif</span></div>
-<div class="ttc" id="hmac_8c_html_affb72973a7bb7b389a4b7382d435fcef"><div class="ttname"><a href="hmac_8c.html#affb72973a7bb7b389a4b7382d435fcef">dtls_hmac_context_new</a></div><div class="ttdeci">static dtls_hmac_context_t * dtls_hmac_context_new()</div><div class="ttdef"><b>Definition:</b> <a href="hmac_8c_source.html#l00046">hmac.c:46</a></div></div>
-<div class="ttc" id="group__HMAC_html_ga1ef9c88a0a2053b442413a9cea3deb73"><div class="ttname"><a href="group__HMAC.html#ga1ef9c88a0a2053b442413a9cea3deb73">dtls_hmac_update</a></div><div class="ttdeci">void dtls_hmac_update(dtls_hmac_context_t *ctx, const unsigned char *input, size_t ilen)</div><div class="ttdef"><b>Definition:</b> <a href="hmac_8c_source.html#l00076">hmac.c:76</a></div></div>
-<div class="ttc" id="dtls__config_8h_html"><div class="ttname"><a href="dtls__config_8h.html">dtls_config.h</a></div></div>
-<div class="ttc" id="debug_8h_html"><div class="ttname"><a href="debug_8h.html">debug.h</a></div></div>
-<div class="ttc" id="group__HMAC_html_ga5b1a3c1dcb5461bda44dd70f7bd33181"><div class="ttname"><a href="group__HMAC.html#ga5b1a3c1dcb5461bda44dd70f7bd33181">dtls_hmac_free</a></div><div class="ttdeci">void dtls_hmac_free(dtls_hmac_context_t *ctx)</div><div class="ttdef"><b>Definition:</b> <a href="hmac_8c_source.html#l00121">hmac.c:121</a></div></div>
-<div class="ttc" id="group__HMAC_html_ga060019cf2dab9903d58118fe1abe7018"><div class="ttname"><a href="group__HMAC.html#ga060019cf2dab9903d58118fe1abe7018">DTLS_HMAC_DIGEST_SIZE</a></div><div class="ttdeci">#define DTLS_HMAC_DIGEST_SIZE</div><div class="ttdef"><b>Definition:</b> <a href="hmac_8h_source.html#l00074">hmac.h:74</a></div></div>
-<div class="ttc" id="hmac_8h_html"><div class="ttname"><a href="hmac_8h.html">hmac.h</a></div></div>
-<div class="ttc" id="group__HMAC_html_gaa1eb35fcb2c2eb69eebaefa8eb4a790d"><div class="ttname"><a href="group__HMAC.html#gaa1eb35fcb2c2eb69eebaefa8eb4a790d">dtls_hmac_init</a></div><div class="ttdeci">void dtls_hmac_init(dtls_hmac_context_t *ctx, const unsigned char *key, size_t klen)</div><div class="ttdef"><b>Definition:</b> <a href="hmac_8c_source.html#l00094">hmac.c:94</a></div></div>
-<div class="ttc" id="structdtls__hmac__context__t_html"><div class="ttname"><a href="structdtls__hmac__context__t.html">dtls_hmac_context_t</a></div><div class="ttdef"><b>Definition:</b> <a href="hmac_8h_source.html#l00095">hmac.h:95</a></div></div>
-<div class="ttc" id="group__HMAC_html_gac3e9ef037800963783e618eafd046702"><div class="ttname"><a href="group__HMAC.html#gac3e9ef037800963783e618eafd046702">dtls_hmac_new</a></div><div class="ttdeci">dtls_hmac_context_t * dtls_hmac_new(const unsigned char *key, size_t klen)</div><div class="ttdef"><b>Definition:</b> <a href="hmac_8c_source.html#l00083">hmac.c:83</a></div></div>
-<div class="ttc" id="hmac_8h_html_afe0af64930ac5d6a51289df6d1eb4f52"><div class="ttname"><a href="hmac_8h.html#afe0af64930ac5d6a51289df6d1eb4f52">dtls_hash_init</a></div><div class="ttdeci">static void dtls_hash_init(dtls_hash_t ctx)</div><div class="ttdef"><b>Definition:</b> <a href="hmac_8h_source.html#l00043">hmac.h:43</a></div></div>
-<div class="ttc" id="structdtls__hmac__context__t_html_aba13422e176f7d16f3f251634ca7f868"><div class="ttname"><a href="structdtls__hmac__context__t.html#aba13422e176f7d16f3f251634ca7f868">dtls_hmac_context_t::pad</a></div><div class="ttdeci">unsigned char pad[DTLS_HMAC_BLOCKSIZE]</div><div class="ttdef"><b>Definition:</b> <a href="hmac_8h_source.html#l00096">hmac.h:96</a></div></div>
-<div class="ttc" id="hmac_8h_html_adb5ad07ab9a1adcdfdc20e13aa37bee6"><div class="ttname"><a href="hmac_8h.html#adb5ad07ab9a1adcdfdc20e13aa37bee6">dtls_hash_update</a></div><div class="ttdeci">static void dtls_hash_update(dtls_hash_t ctx, const unsigned char *input, size_t len)</div><div class="ttdef"><b>Definition:</b> <a href="hmac_8h_source.html#l00048">hmac.h:48</a></div></div>
-<div class="ttc" id="group__HMAC_html_gab98c992f3f9cc3c2d75077ddd46049bf"><div class="ttname"><a href="group__HMAC.html#gab98c992f3f9cc3c2d75077ddd46049bf">dtls_hmac_finalize</a></div><div class="ttdeci">int dtls_hmac_finalize(dtls_hmac_context_t *ctx, unsigned char *result)</div><div class="ttdef"><b>Definition:</b> <a href="hmac_8c_source.html#l00127">hmac.c:127</a></div></div>
-<div class="ttc" id="hmac_8c_html_a8613e734d3fafa81035f8f30000325a7"><div class="ttname"><a href="hmac_8c.html#a8613e734d3fafa81035f8f30000325a7">dtls_hmac_context_free</a></div><div class="ttdeci">static void dtls_hmac_context_free(dtls_hmac_context_t *ctx)</div><div class="ttdef"><b>Definition:</b> <a href="hmac_8c_source.html#l00051">hmac.c:51</a></div></div>
-<div class="ttc" id="group__HMAC_html_gab1f8617a558ef0f758439c96d3a4650e"><div class="ttname"><a href="group__HMAC.html#gab1f8617a558ef0f758439c96d3a4650e">DTLS_HMAC_BLOCKSIZE</a></div><div class="ttdeci">#define DTLS_HMAC_BLOCKSIZE</div><div class="ttdef"><b>Definition:</b> <a href="hmac_8h_source.html#l00073">hmac.h:73</a></div></div>
-<div class="ttc" id="hmac_8h_html_a96801bbb62f4c9c872b22cd8e438e51e"><div class="ttname"><a href="hmac_8h.html#a96801bbb62f4c9c872b22cd8e438e51e">dtls_hash_finalize</a></div><div class="ttdeci">static size_t dtls_hash_finalize(unsigned char *buf, dtls_hash_t ctx)</div><div class="ttdef"><b>Definition:</b> <a href="hmac_8h_source.html#l00053">hmac.h:53</a></div></div>
-<div class="ttc" id="hmac_8h_html_a51d5982243691c9e7fa56142c3a8d5d8"><div class="ttname"><a href="hmac_8h.html#a51d5982243691c9e7fa56142c3a8d5d8">dtls_hmac_storage_init</a></div><div class="ttdeci">static void dtls_hmac_storage_init()</div><div class="ttdef"><b>Definition:</b> <a href="hmac_8h_source.html#l00060">hmac.h:60</a></div></div>
-<div class="ttc" id="structdtls__hmac__context__t_html_a84c35513fa655d8456be215f4509bb40"><div class="ttname"><a href="structdtls__hmac__context__t.html#a84c35513fa655d8456be215f4509bb40">dtls_hmac_context_t::data</a></div><div class="ttdeci">dtls_hash_ctx data</div><div class="ttdef"><b>Definition:</b> <a href="hmac_8h_source.html#l00097">hmac.h:97</a></div></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/hmac_8h.html b/external/wakaama/examples/shared/tinydtls/doc/html/hmac_8h.html
deleted file mode 100644 (file)
index 38d5391..0000000
+++ /dev/null
@@ -1,342 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: hmac.h File Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#nested-classes">Data Structures</a> &#124;
-<a href="#define-members">Macros</a> &#124;
-<a href="#typedef-members">Typedefs</a> &#124;
-<a href="#enum-members">Enumerations</a> &#124;
-<a href="#func-members">Functions</a>  </div>
-  <div class="headertitle">
-<div class="title">hmac.h File Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock"><code>#include &lt;sys/types.h&gt;</code><br/>
-<code>#include &quot;<a class="el" href="global_8h_source.html">global.h</a>&quot;</code><br/>
-<code>#include &quot;sha2/sha2.h&quot;</code><br/>
-</div>
-<p><a href="hmac_8h_source.html">Go to the source code of this file.</a></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
-Data Structures</h2></td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdtls__hmac__context__t.html">dtls_hmac_context_t</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
-Macros</h2></td></tr>
-<tr class="memitem:a7fb242dc4ddd717e5eb67d4bf89618d5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="hmac_8h.html#a7fb242dc4ddd717e5eb67d4bf89618d5">DTLS_HASH_CTX_SIZE</a>&#160;&#160;&#160;sizeof(SHA256_CTX)</td></tr>
-<tr class="separator:a7fb242dc4ddd717e5eb67d4bf89618d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gab1f8617a558ef0f758439c96d3a4650e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__HMAC.html#gab1f8617a558ef0f758439c96d3a4650e">DTLS_HMAC_BLOCKSIZE</a>&#160;&#160;&#160;64</td></tr>
-<tr class="separator:gab1f8617a558ef0f758439c96d3a4650e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga060019cf2dab9903d58118fe1abe7018"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__HMAC.html#ga060019cf2dab9903d58118fe1abe7018">DTLS_HMAC_DIGEST_SIZE</a>&#160;&#160;&#160;32</td></tr>
-<tr class="separator:ga060019cf2dab9903d58118fe1abe7018"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga3e84ddbef6bf0084252e16e6c547e332"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__HMAC.html#ga3e84ddbef6bf0084252e16e6c547e332">DTLS_HMAC_MAX</a>&#160;&#160;&#160;64</td></tr>
-<tr class="separator:ga3e84ddbef6bf0084252e16e6c547e332"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
-Typedefs</h2></td></tr>
-<tr class="memitem:abb19650a510c73117da0e9b88d68f159"><td class="memItemLeft" align="right" valign="top">typedef SHA256_CTX&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="hmac_8h.html#abb19650a510c73117da0e9b88d68f159">dtls_hash_ctx</a></td></tr>
-<tr class="separator:abb19650a510c73117da0e9b88d68f159"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:afa00f0cbe1b7783992467c1c204320b5"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="hmac_8h.html#abb19650a510c73117da0e9b88d68f159">dtls_hash_ctx</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="hmac_8h.html#afa00f0cbe1b7783992467c1c204320b5">dtls_hash_t</a></td></tr>
-<tr class="separator:afa00f0cbe1b7783992467c1c204320b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
-Enumerations</h2></td></tr>
-<tr class="memitem:ga698cfa036e69361a93dcdd9b19579b23"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__HMAC.html#ga698cfa036e69361a93dcdd9b19579b23">dtls_hashfunc_t</a> { <br/>
-&#160;&#160;<a class="el" href="group__HMAC.html#gga698cfa036e69361a93dcdd9b19579b23a065bed423473d8a44394cd4415de3018">HASH_NONE</a> =0, 
-<a class="el" href="group__HMAC.html#gga698cfa036e69361a93dcdd9b19579b23a45c78681038e51d5f54554130b0b79ab">HASH_MD5</a> =1, 
-<a class="el" href="group__HMAC.html#gga698cfa036e69361a93dcdd9b19579b23a25c481ea5e9f16f9b40fe773528aef03">HASH_SHA1</a> =2, 
-<a class="el" href="group__HMAC.html#gga698cfa036e69361a93dcdd9b19579b23a0a7940bf3dbc032d803b1b688e5570e5">HASH_SHA224</a> =3, 
-<br/>
-&#160;&#160;<a class="el" href="group__HMAC.html#gga698cfa036e69361a93dcdd9b19579b23a3690b7a5bf11282bcdaa199c11408dd3">HASH_SHA256</a> =4, 
-<a class="el" href="group__HMAC.html#gga698cfa036e69361a93dcdd9b19579b23abb45ce56a912f1175c413afcb3e1f970">HASH_SHA384</a> =5, 
-<a class="el" href="group__HMAC.html#gga698cfa036e69361a93dcdd9b19579b23a6d06d1ec4dbf3aa876fda6ca1c5b0f66">HASH_SHA512</a> =6
-<br/>
- }</td></tr>
-<tr class="separator:ga698cfa036e69361a93dcdd9b19579b23"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:afe0af64930ac5d6a51289df6d1eb4f52"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="hmac_8h.html#afe0af64930ac5d6a51289df6d1eb4f52">dtls_hash_init</a> (<a class="el" href="hmac_8h.html#afa00f0cbe1b7783992467c1c204320b5">dtls_hash_t</a> ctx)</td></tr>
-<tr class="separator:afe0af64930ac5d6a51289df6d1eb4f52"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:adb5ad07ab9a1adcdfdc20e13aa37bee6"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="hmac_8h.html#adb5ad07ab9a1adcdfdc20e13aa37bee6">dtls_hash_update</a> (<a class="el" href="hmac_8h.html#afa00f0cbe1b7783992467c1c204320b5">dtls_hash_t</a> ctx, const unsigned char *input, size_t len)</td></tr>
-<tr class="separator:adb5ad07ab9a1adcdfdc20e13aa37bee6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a96801bbb62f4c9c872b22cd8e438e51e"><td class="memItemLeft" align="right" valign="top">static size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="hmac_8h.html#a96801bbb62f4c9c872b22cd8e438e51e">dtls_hash_finalize</a> (unsigned char *buf, <a class="el" href="hmac_8h.html#afa00f0cbe1b7783992467c1c204320b5">dtls_hash_t</a> ctx)</td></tr>
-<tr class="separator:a96801bbb62f4c9c872b22cd8e438e51e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a51d5982243691c9e7fa56142c3a8d5d8"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="hmac_8h.html#a51d5982243691c9e7fa56142c3a8d5d8">dtls_hmac_storage_init</a> ()</td></tr>
-<tr class="separator:a51d5982243691c9e7fa56142c3a8d5d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaa1eb35fcb2c2eb69eebaefa8eb4a790d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__HMAC.html#gaa1eb35fcb2c2eb69eebaefa8eb4a790d">dtls_hmac_init</a> (<a class="el" href="structdtls__hmac__context__t.html">dtls_hmac_context_t</a> *ctx, const unsigned char *key, size_t klen)</td></tr>
-<tr class="separator:gaa1eb35fcb2c2eb69eebaefa8eb4a790d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gac3e9ef037800963783e618eafd046702"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structdtls__hmac__context__t.html">dtls_hmac_context_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__HMAC.html#gac3e9ef037800963783e618eafd046702">dtls_hmac_new</a> (const unsigned char *key, size_t klen)</td></tr>
-<tr class="separator:gac3e9ef037800963783e618eafd046702"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga5b1a3c1dcb5461bda44dd70f7bd33181"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__HMAC.html#ga5b1a3c1dcb5461bda44dd70f7bd33181">dtls_hmac_free</a> (<a class="el" href="structdtls__hmac__context__t.html">dtls_hmac_context_t</a> *ctx)</td></tr>
-<tr class="separator:ga5b1a3c1dcb5461bda44dd70f7bd33181"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga1ef9c88a0a2053b442413a9cea3deb73"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__HMAC.html#ga1ef9c88a0a2053b442413a9cea3deb73">dtls_hmac_update</a> (<a class="el" href="structdtls__hmac__context__t.html">dtls_hmac_context_t</a> *ctx, const unsigned char *input, size_t ilen)</td></tr>
-<tr class="separator:ga1ef9c88a0a2053b442413a9cea3deb73"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gab98c992f3f9cc3c2d75077ddd46049bf"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__HMAC.html#gab98c992f3f9cc3c2d75077ddd46049bf">dtls_hmac_finalize</a> (<a class="el" href="structdtls__hmac__context__t.html">dtls_hmac_context_t</a> *ctx, unsigned char *result)</td></tr>
-<tr class="separator:gab98c992f3f9cc3c2d75077ddd46049bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<h2 class="groupheader">Macro Definition Documentation</h2>
-<a class="anchor" id="a7fb242dc4ddd717e5eb67d4bf89618d5"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DTLS_HASH_CTX_SIZE&#160;&#160;&#160;sizeof(SHA256_CTX)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="hmac_8h_source.html#l00040">40</a> of file <a class="el" href="hmac_8h_source.html">hmac.h</a>.</p>
-
-</div>
-</div>
-<h2 class="groupheader">Typedef Documentation</h2>
-<a class="anchor" id="abb19650a510c73117da0e9b88d68f159"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef SHA256_CTX <a class="el" href="hmac_8h.html#abb19650a510c73117da0e9b88d68f159">dtls_hash_ctx</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Aaron D. Gifford's implementation of SHA256 see <a href="http://www.aarongifford.com/">http://www.aarongifford.com/</a> </p>
-
-<p>Definition at line <a class="el" href="hmac_8h_source.html#l00038">38</a> of file <a class="el" href="hmac_8h_source.html">hmac.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="afa00f0cbe1b7783992467c1c204320b5"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef <a class="el" href="hmac_8h.html#abb19650a510c73117da0e9b88d68f159">dtls_hash_ctx</a>* <a class="el" href="hmac_8h.html#afa00f0cbe1b7783992467c1c204320b5">dtls_hash_t</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="hmac_8h_source.html#l00039">39</a> of file <a class="el" href="hmac_8h_source.html">hmac.h</a>.</p>
-
-</div>
-</div>
-<h2 class="groupheader">Function Documentation</h2>
-<a class="anchor" id="a96801bbb62f4c9c872b22cd8e438e51e"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static size_t dtls_hash_finalize </td>
-          <td>(</td>
-          <td class="paramtype">unsigned char *&#160;</td>
-          <td class="paramname"><em>buf</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="hmac_8h.html#afa00f0cbe1b7783992467c1c204320b5">dtls_hash_t</a>&#160;</td>
-          <td class="paramname"><em>ctx</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="hmac_8h_source.html#l00053">53</a> of file <a class="el" href="hmac_8h_source.html">hmac.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="afe0af64930ac5d6a51289df6d1eb4f52"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static void dtls_hash_init </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="hmac_8h.html#afa00f0cbe1b7783992467c1c204320b5">dtls_hash_t</a>&#160;</td>
-          <td class="paramname"><em>ctx</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="hmac_8h_source.html#l00043">43</a> of file <a class="el" href="hmac_8h_source.html">hmac.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="adb5ad07ab9a1adcdfdc20e13aa37bee6"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static void dtls_hash_update </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="hmac_8h.html#afa00f0cbe1b7783992467c1c204320b5">dtls_hash_t</a>&#160;</td>
-          <td class="paramname"><em>ctx</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>input</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>len</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="hmac_8h_source.html#l00048">48</a> of file <a class="el" href="hmac_8h_source.html">hmac.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a51d5982243691c9e7fa56142c3a8d5d8"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static void dtls_hmac_storage_init </td>
-          <td>(</td>
-          <td class="paramname"></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="hmac_8h_source.html#l00060">60</a> of file <a class="el" href="hmac_8h_source.html">hmac.h</a>.</p>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/hmac_8h_source.html b/external/wakaama/examples/shared/tinydtls/doc/html/hmac_8h_source.html
deleted file mode 100644 (file)
index faed3d9..0000000
+++ /dev/null
@@ -1,208 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: hmac.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="header">
-  <div class="headertitle">
-<div class="title">hmac.h</div>  </div>
-</div><!--header-->
-<div class="contents">
-<a href="hmac_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/* dtls -- a very basic DTLS implementation</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> * Copyright (C) 2011--2012 Olaf Bergmann &lt;bergmann@tzi.org&gt;</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> * Permission is hereby granted, free of charge, to any person</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> * obtaining a copy of this software and associated documentation</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> * files (the &quot;Software&quot;), to deal in the Software without</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> * restriction, including without limitation the rights to use, copy,</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> * modify, merge, publish, distribute, sublicense, and/or sell copies</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> * of the Software, and to permit persons to whom the Software is</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * furnished to do so, subject to the following conditions:</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * The above copyright notice and this permission notice shall be</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * included in all copies or substantial portions of the Software.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> * THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND,</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment"> * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment"> * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment"> * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment"> * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment"> * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment"> * SOFTWARE.</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div>
-<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#ifndef _DTLS_HMAC_H_</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define _DTLS_HMAC_H_</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &lt;sys/types.h&gt;</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div>
-<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="global_8h.html">global.h</a>&quot;</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div>
-<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#ifdef WITH_SHA256</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#include &quot;sha2/sha2.h&quot;</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;</div>
-<div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="hmac_8h.html#abb19650a510c73117da0e9b88d68f159">   38</a></span>&#160;<span class="keyword">typedef</span> SHA256_CTX <a class="code" href="hmac_8h.html#abb19650a510c73117da0e9b88d68f159">dtls_hash_ctx</a>;</div>
-<div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="hmac_8h.html#afa00f0cbe1b7783992467c1c204320b5">   39</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="hmac_8h.html#abb19650a510c73117da0e9b88d68f159">dtls_hash_ctx</a> *<a class="code" href="hmac_8h.html#afa00f0cbe1b7783992467c1c204320b5">dtls_hash_t</a>;</div>
-<div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="hmac_8h.html#a7fb242dc4ddd717e5eb67d4bf89618d5">   40</a></span>&#160;<span class="preprocessor">#define DTLS_HASH_CTX_SIZE sizeof(SHA256_CTX)</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="hmac_8h.html#afe0af64930ac5d6a51289df6d1eb4f52">   43</a></span>&#160;<a class="code" href="hmac_8h.html#afe0af64930ac5d6a51289df6d1eb4f52">dtls_hash_init</a>(<a class="code" href="hmac_8h.html#afa00f0cbe1b7783992467c1c204320b5">dtls_hash_t</a> ctx) {</div>
-<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;  SHA256_Init((SHA256_CTX *)ctx);</div>
-<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;}</div>
-<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;</div>
-<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="hmac_8h.html#adb5ad07ab9a1adcdfdc20e13aa37bee6">   48</a></span>&#160;<a class="code" href="hmac_8h.html#adb5ad07ab9a1adcdfdc20e13aa37bee6">dtls_hash_update</a>(<a class="code" href="hmac_8h.html#afa00f0cbe1b7783992467c1c204320b5">dtls_hash_t</a> ctx, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *input, <span class="keywordtype">size_t</span> len) {</div>
-<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;  SHA256_Update((SHA256_CTX *)ctx, input, len);</div>
-<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;}</div>
-<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;</div>
-<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">size_t</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="hmac_8h.html#a96801bbb62f4c9c872b22cd8e438e51e">   53</a></span>&#160;<a class="code" href="hmac_8h.html#a96801bbb62f4c9c872b22cd8e438e51e">dtls_hash_finalize</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *buf, <a class="code" href="hmac_8h.html#afa00f0cbe1b7783992467c1c204320b5">dtls_hash_t</a> ctx) {</div>
-<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;  SHA256_Final(buf, (SHA256_CTX *)ctx);</div>
-<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;  <span class="keywordflow">return</span> SHA256_DIGEST_LENGTH;</div>
-<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;}</div>
-<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* WITH_SHA256 */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor">#ifndef WITH_CONTIKI</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="hmac_8h.html#a51d5982243691c9e7fa56142c3a8d5d8">   60</a></span>&#160;<span class="preprocessor"></span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="hmac_8h.html#a51d5982243691c9e7fa56142c3a8d5d8">dtls_hmac_storage_init</a>()</div>
-<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;{ }</div>
-<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="preprocessor"></span><span class="keywordtype">void</span> <a class="code" href="hmac_8h.html#a51d5982243691c9e7fa56142c3a8d5d8">dtls_hmac_storage_init</a>();</div>
-<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="group__HMAC.html#gab1f8617a558ef0f758439c96d3a4650e">   73</a></span>&#160;<span class="preprocessor">#define DTLS_HMAC_BLOCKSIZE   64    </span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="group__HMAC.html#ga060019cf2dab9903d58118fe1abe7018">   74</a></span>&#160;<span class="preprocessor">#define DTLS_HMAC_DIGEST_SIZE 32    </span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="group__HMAC.html#ga3e84ddbef6bf0084252e16e6c547e332">   75</a></span>&#160;<span class="preprocessor">#define DTLS_HMAC_MAX         64    </span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="group__HMAC.html#ga698cfa036e69361a93dcdd9b19579b23">   83</a></span>&#160;<span class="preprocessor">typedef enum { </span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="group__HMAC.html#gga698cfa036e69361a93dcdd9b19579b23a0a7940bf3dbc032d803b1b688e5570e5">   84</a></span>&#160;<span class="preprocessor"></span>  <a class="code" href="group__HMAC.html#gga698cfa036e69361a93dcdd9b19579b23a065bed423473d8a44394cd4415de3018">HASH_NONE</a>=0, <a class="code" href="group__HMAC.html#gga698cfa036e69361a93dcdd9b19579b23a45c78681038e51d5f54554130b0b79ab">HASH_MD5</a>=1, <a class="code" href="group__HMAC.html#gga698cfa036e69361a93dcdd9b19579b23a25c481ea5e9f16f9b40fe773528aef03">HASH_SHA1</a>=2, <a class="code" href="group__HMAC.html#gga698cfa036e69361a93dcdd9b19579b23a0a7940bf3dbc032d803b1b688e5570e5">HASH_SHA224</a>=3,</div>
-<div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="group__HMAC.html#gga698cfa036e69361a93dcdd9b19579b23a6d06d1ec4dbf3aa876fda6ca1c5b0f66">   85</a></span>&#160;  <a class="code" href="group__HMAC.html#gga698cfa036e69361a93dcdd9b19579b23a3690b7a5bf11282bcdaa199c11408dd3">HASH_SHA256</a>=4, <a class="code" href="group__HMAC.html#gga698cfa036e69361a93dcdd9b19579b23abb45ce56a912f1175c413afcb3e1f970">HASH_SHA384</a>=5, <a class="code" href="group__HMAC.html#gga698cfa036e69361a93dcdd9b19579b23a6d06d1ec4dbf3aa876fda6ca1c5b0f66">HASH_SHA512</a>=6</div>
-<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;} <a class="code" href="group__HMAC.html#ga698cfa036e69361a93dcdd9b19579b23">dtls_hashfunc_t</a>;</div>
-<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;</div>
-<div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="structdtls__hmac__context__t.html">   95</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
-<div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="structdtls__hmac__context__t.html#aba13422e176f7d16f3f251634ca7f868">   96</a></span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> pad[<a class="code" href="group__HMAC.html#gab1f8617a558ef0f758439c96d3a4650e">DTLS_HMAC_BLOCKSIZE</a>]; </div>
-<div class="line"><a name="l00097"></a><span class="lineno"><a class="line" href="structdtls__hmac__context__t.html#a84c35513fa655d8456be215f4509bb40">   97</a></span>&#160;  <a class="code" href="hmac_8h.html#abb19650a510c73117da0e9b88d68f159">dtls_hash_ctx</a> <a class="code" href="structdtls__hmac__context__t.html#a84c35513fa655d8456be215f4509bb40">data</a>;                 </div>
-<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;} <a class="code" href="structdtls__hmac__context__t.html">dtls_hmac_context_t</a>;</div>
-<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</div>
-<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="keywordtype">void</span> <a class="code" href="group__HMAC.html#gaa1eb35fcb2c2eb69eebaefa8eb4a790d">dtls_hmac_init</a>(<a class="code" href="structdtls__hmac__context__t.html">dtls_hmac_context_t</a> *ctx, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *key, <span class="keywordtype">size_t</span> klen);</div>
-<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;</div>
-<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;<a class="code" href="structdtls__hmac__context__t.html">dtls_hmac_context_t</a> *<a class="code" href="group__HMAC.html#gac3e9ef037800963783e618eafd046702">dtls_hmac_new</a>(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *key, <span class="keywordtype">size_t</span> klen);</div>
-<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;</div>
-<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;<span class="keywordtype">void</span> <a class="code" href="group__HMAC.html#ga5b1a3c1dcb5461bda44dd70f7bd33181">dtls_hmac_free</a>(<a class="code" href="structdtls__hmac__context__t.html">dtls_hmac_context_t</a> *ctx);</div>
-<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;</div>
-<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keywordtype">void</span> <a class="code" href="group__HMAC.html#ga1ef9c88a0a2053b442413a9cea3deb73">dtls_hmac_update</a>(<a class="code" href="structdtls__hmac__context__t.html">dtls_hmac_context_t</a> *ctx,</div>
-<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;              <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *input, <span class="keywordtype">size_t</span> ilen);</div>
-<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;</div>
-<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__HMAC.html#gab98c992f3f9cc3c2d75077ddd46049bf">dtls_hmac_finalize</a>(<a class="code" href="structdtls__hmac__context__t.html">dtls_hmac_context_t</a> *ctx, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *result);</div>
-<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;</div>
-<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* _DTLS_HMAC_H_ */</span><span class="preprocessor"></span></div>
-<div class="ttc" id="group__HMAC_html_ga1ef9c88a0a2053b442413a9cea3deb73"><div class="ttname"><a href="group__HMAC.html#ga1ef9c88a0a2053b442413a9cea3deb73">dtls_hmac_update</a></div><div class="ttdeci">void dtls_hmac_update(dtls_hmac_context_t *ctx, const unsigned char *input, size_t ilen)</div><div class="ttdef"><b>Definition:</b> <a href="hmac_8c_source.html#l00076">hmac.c:76</a></div></div>
-<div class="ttc" id="hmac_8h_html_abb19650a510c73117da0e9b88d68f159"><div class="ttname"><a href="hmac_8h.html#abb19650a510c73117da0e9b88d68f159">dtls_hash_ctx</a></div><div class="ttdeci">SHA256_CTX dtls_hash_ctx</div><div class="ttdef"><b>Definition:</b> <a href="hmac_8h_source.html#l00038">hmac.h:38</a></div></div>
-<div class="ttc" id="group__HMAC_html_ga5b1a3c1dcb5461bda44dd70f7bd33181"><div class="ttname"><a href="group__HMAC.html#ga5b1a3c1dcb5461bda44dd70f7bd33181">dtls_hmac_free</a></div><div class="ttdeci">void dtls_hmac_free(dtls_hmac_context_t *ctx)</div><div class="ttdef"><b>Definition:</b> <a href="hmac_8c_source.html#l00121">hmac.c:121</a></div></div>
-<div class="ttc" id="global_8h_html"><div class="ttname"><a href="global_8h.html">global.h</a></div></div>
-<div class="ttc" id="group__HMAC_html_gaa1eb35fcb2c2eb69eebaefa8eb4a790d"><div class="ttname"><a href="group__HMAC.html#gaa1eb35fcb2c2eb69eebaefa8eb4a790d">dtls_hmac_init</a></div><div class="ttdeci">void dtls_hmac_init(dtls_hmac_context_t *ctx, const unsigned char *key, size_t klen)</div><div class="ttdef"><b>Definition:</b> <a href="hmac_8c_source.html#l00094">hmac.c:94</a></div></div>
-<div class="ttc" id="structdtls__hmac__context__t_html"><div class="ttname"><a href="structdtls__hmac__context__t.html">dtls_hmac_context_t</a></div><div class="ttdef"><b>Definition:</b> <a href="hmac_8h_source.html#l00095">hmac.h:95</a></div></div>
-<div class="ttc" id="group__HMAC_html_gac3e9ef037800963783e618eafd046702"><div class="ttname"><a href="group__HMAC.html#gac3e9ef037800963783e618eafd046702">dtls_hmac_new</a></div><div class="ttdeci">dtls_hmac_context_t * dtls_hmac_new(const unsigned char *key, size_t klen)</div><div class="ttdef"><b>Definition:</b> <a href="hmac_8c_source.html#l00083">hmac.c:83</a></div></div>
-<div class="ttc" id="hmac_8h_html_afe0af64930ac5d6a51289df6d1eb4f52"><div class="ttname"><a href="hmac_8h.html#afe0af64930ac5d6a51289df6d1eb4f52">dtls_hash_init</a></div><div class="ttdeci">static void dtls_hash_init(dtls_hash_t ctx)</div><div class="ttdef"><b>Definition:</b> <a href="hmac_8h_source.html#l00043">hmac.h:43</a></div></div>
-<div class="ttc" id="group__HMAC_html_gga698cfa036e69361a93dcdd9b19579b23a45c78681038e51d5f54554130b0b79ab"><div class="ttname"><a href="group__HMAC.html#gga698cfa036e69361a93dcdd9b19579b23a45c78681038e51d5f54554130b0b79ab">HASH_MD5</a></div><div class="ttdef"><b>Definition:</b> <a href="hmac_8h_source.html#l00084">hmac.h:84</a></div></div>
-<div class="ttc" id="group__HMAC_html_gga698cfa036e69361a93dcdd9b19579b23a3690b7a5bf11282bcdaa199c11408dd3"><div class="ttname"><a href="group__HMAC.html#gga698cfa036e69361a93dcdd9b19579b23a3690b7a5bf11282bcdaa199c11408dd3">HASH_SHA256</a></div><div class="ttdef"><b>Definition:</b> <a href="hmac_8h_source.html#l00085">hmac.h:85</a></div></div>
-<div class="ttc" id="group__HMAC_html_gga698cfa036e69361a93dcdd9b19579b23a25c481ea5e9f16f9b40fe773528aef03"><div class="ttname"><a href="group__HMAC.html#gga698cfa036e69361a93dcdd9b19579b23a25c481ea5e9f16f9b40fe773528aef03">HASH_SHA1</a></div><div class="ttdef"><b>Definition:</b> <a href="hmac_8h_source.html#l00084">hmac.h:84</a></div></div>
-<div class="ttc" id="hmac_8h_html_afa00f0cbe1b7783992467c1c204320b5"><div class="ttname"><a href="hmac_8h.html#afa00f0cbe1b7783992467c1c204320b5">dtls_hash_t</a></div><div class="ttdeci">dtls_hash_ctx * dtls_hash_t</div><div class="ttdef"><b>Definition:</b> <a href="hmac_8h_source.html#l00039">hmac.h:39</a></div></div>
-<div class="ttc" id="hmac_8h_html_adb5ad07ab9a1adcdfdc20e13aa37bee6"><div class="ttname"><a href="hmac_8h.html#adb5ad07ab9a1adcdfdc20e13aa37bee6">dtls_hash_update</a></div><div class="ttdeci">static void dtls_hash_update(dtls_hash_t ctx, const unsigned char *input, size_t len)</div><div class="ttdef"><b>Definition:</b> <a href="hmac_8h_source.html#l00048">hmac.h:48</a></div></div>
-<div class="ttc" id="group__HMAC_html_gab98c992f3f9cc3c2d75077ddd46049bf"><div class="ttname"><a href="group__HMAC.html#gab98c992f3f9cc3c2d75077ddd46049bf">dtls_hmac_finalize</a></div><div class="ttdeci">int dtls_hmac_finalize(dtls_hmac_context_t *ctx, unsigned char *result)</div><div class="ttdef"><b>Definition:</b> <a href="hmac_8c_source.html#l00127">hmac.c:127</a></div></div>
-<div class="ttc" id="group__HMAC_html_gga698cfa036e69361a93dcdd9b19579b23a065bed423473d8a44394cd4415de3018"><div class="ttname"><a href="group__HMAC.html#gga698cfa036e69361a93dcdd9b19579b23a065bed423473d8a44394cd4415de3018">HASH_NONE</a></div><div class="ttdef"><b>Definition:</b> <a href="hmac_8h_source.html#l00084">hmac.h:84</a></div></div>
-<div class="ttc" id="group__HMAC_html_gga698cfa036e69361a93dcdd9b19579b23a0a7940bf3dbc032d803b1b688e5570e5"><div class="ttname"><a href="group__HMAC.html#gga698cfa036e69361a93dcdd9b19579b23a0a7940bf3dbc032d803b1b688e5570e5">HASH_SHA224</a></div><div class="ttdef"><b>Definition:</b> <a href="hmac_8h_source.html#l00084">hmac.h:84</a></div></div>
-<div class="ttc" id="group__HMAC_html_gab1f8617a558ef0f758439c96d3a4650e"><div class="ttname"><a href="group__HMAC.html#gab1f8617a558ef0f758439c96d3a4650e">DTLS_HMAC_BLOCKSIZE</a></div><div class="ttdeci">#define DTLS_HMAC_BLOCKSIZE</div><div class="ttdef"><b>Definition:</b> <a href="hmac_8h_source.html#l00073">hmac.h:73</a></div></div>
-<div class="ttc" id="group__HMAC_html_ga698cfa036e69361a93dcdd9b19579b23"><div class="ttname"><a href="group__HMAC.html#ga698cfa036e69361a93dcdd9b19579b23">dtls_hashfunc_t</a></div><div class="ttdeci">dtls_hashfunc_t</div><div class="ttdef"><b>Definition:</b> <a href="hmac_8h_source.html#l00083">hmac.h:83</a></div></div>
-<div class="ttc" id="group__HMAC_html_gga698cfa036e69361a93dcdd9b19579b23abb45ce56a912f1175c413afcb3e1f970"><div class="ttname"><a href="group__HMAC.html#gga698cfa036e69361a93dcdd9b19579b23abb45ce56a912f1175c413afcb3e1f970">HASH_SHA384</a></div><div class="ttdef"><b>Definition:</b> <a href="hmac_8h_source.html#l00085">hmac.h:85</a></div></div>
-<div class="ttc" id="group__HMAC_html_gga698cfa036e69361a93dcdd9b19579b23a6d06d1ec4dbf3aa876fda6ca1c5b0f66"><div class="ttname"><a href="group__HMAC.html#gga698cfa036e69361a93dcdd9b19579b23a6d06d1ec4dbf3aa876fda6ca1c5b0f66">HASH_SHA512</a></div><div class="ttdef"><b>Definition:</b> <a href="hmac_8h_source.html#l00085">hmac.h:85</a></div></div>
-<div class="ttc" id="hmac_8h_html_a96801bbb62f4c9c872b22cd8e438e51e"><div class="ttname"><a href="hmac_8h.html#a96801bbb62f4c9c872b22cd8e438e51e">dtls_hash_finalize</a></div><div class="ttdeci">static size_t dtls_hash_finalize(unsigned char *buf, dtls_hash_t ctx)</div><div class="ttdef"><b>Definition:</b> <a href="hmac_8h_source.html#l00053">hmac.h:53</a></div></div>
-<div class="ttc" id="hmac_8h_html_a51d5982243691c9e7fa56142c3a8d5d8"><div class="ttname"><a href="hmac_8h.html#a51d5982243691c9e7fa56142c3a8d5d8">dtls_hmac_storage_init</a></div><div class="ttdeci">static void dtls_hmac_storage_init()</div><div class="ttdef"><b>Definition:</b> <a href="hmac_8h_source.html#l00060">hmac.h:60</a></div></div>
-<div class="ttc" id="structdtls__hmac__context__t_html_a84c35513fa655d8456be215f4509bb40"><div class="ttname"><a href="structdtls__hmac__context__t.html#a84c35513fa655d8456be215f4509bb40">dtls_hmac_context_t::data</a></div><div class="ttdeci">dtls_hash_ctx data</div><div class="ttdef"><b>Definition:</b> <a href="hmac_8h_source.html#l00097">hmac.h:97</a></div></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/index.html b/external/wakaama/examples/shared/tinydtls/doc/html/index.html
deleted file mode 100644 (file)
index 0240977..0000000
+++ /dev/null
@@ -1,117 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: Main Page</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li class="current"><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="header">
-  <div class="headertitle">
-<div class="title">tinydtls Documentation</div>  </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock"><dl class="section author"><dt>Author</dt><dd>Olaf Bergmann, TZI Uni Bremen</dd></dl>
-<p>This library provides a very simple datagram server with DTLS support. It is designed to support session multiplexing in single-threaded applications and thus targets specifically on embedded systems.</p>
-<h1><a class="anchor" id="license"></a>
-License</h1>
-<p>This software is under the <a href="http://www.opensource.org/licenses/mit-license.php">MIT License</a>.</p>
-<h2><a class="anchor" id="uthash"></a>
-UTHash</h2>
-<p>This library uses <a href="http://uthash.sourceforge.net/">uthash</a> to manage its peers (not used for Contiki). <b>uthash</b> uses the <b>BSD revised license</b>, see <a href="http://uthash.sourceforge.net/license.html">http://uthash.sourceforge.net/license.html</a>.</p>
-<h2><a class="anchor" id="sha256"></a>
-Aaron D. Gifford's SHA256 Implementation</h2>
-<p>tinyDTLS provides HMAC-SHA256 with BSD-licensed code from Aaron D. Gifford, see <a href="http://www.aarongifford.com/">www.aarongifford.com</a>.</p>
-<h2><a class="anchor" id="aes"></a>
-Rijndael Implementation From OpenBSD</h2>
-<p>The AES implementation is taken from rijndael.{c,h} contained in the crypto sub-system of the OpenBSD operating system. It is copyright by Vincent Rijmen, * Antoon Bosselaers and Paulo Barreto. See <a href="http://www.openbsd.org/cgi-bin/cvsweb/src/sys/crypto/rijndael.c">rijndael.c</a> for License info.</p>
-<h1><a class="anchor" id="download"></a>
-Getting the Files</h1>
-<p>You can get the sources either from the <a href="http://sourceforge.net/projects/tinydtls/files">downloads</a> section or through git from the <a href="http://sourceforge.net/projects/tinydtls/develop">project develop page</a>.</p>
-<h1><a class="anchor" id="config"></a>
-Configuration</h1>
-<p>Use <code>configure</code> to set up everything for a successful build. For Contiki, use the option <code>&ndash;with-contiki</code>.</p>
-<h1><a class="anchor" id="build"></a>
-Building</h1>
-<p>After configuration, just type </p>
-<div class="fragment"><div class="line">make</div>
-</div><!-- fragment --><p> optionally followed by </p>
-<div class="fragment"><div class="line">make install</div>
-</div><!-- fragment --><p> The Contiki version is integrated with the Contiki build system, hence you do not need to invoke <code>make</code> explicitely. Just add <code>tinydtls</code> to the variable <code>APPS</code> in your <code>Makefile</code>. </p>
-</div></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/jquery.js b/external/wakaama/examples/shared/tinydtls/doc/html/jquery.js
deleted file mode 100644 (file)
index 6aa2e4c..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-/*!
- * jQuery JavaScript Library v1.7.1
- * http://jquery.com/
- *
- * Copyright 2011, John Resig
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * Includes Sizzle.js
- * http://sizzlejs.com/
- * Copyright 2011, The Dojo Foundation
- * Released under the MIT, BSD, and GPL Licenses.
- *
- * Date: Mon Nov 21 21:11:03 2011 -0500
- */
-(function(bb,L){var av=bb.document,bu=bb.navigator,bl=bb.location;var b=(function(){var bF=function(b0,b1){return new bF.fn.init(b0,b1,bD)},bU=bb.jQuery,bH=bb.$,bD,bY=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,bM=/\S/,bI=/^\s+/,bE=/\s+$/,bA=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,bN=/^[\],:{}\s]*$/,bW=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,bP=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,bJ=/(?:^|:|,)(?:\s*\[)+/g,by=/(webkit)[ \/]([\w.]+)/,bR=/(opera)(?:.*version)?[ \/]([\w.]+)/,bQ=/(msie) ([\w.]+)/,bS=/(mozilla)(?:.*? rv:([\w.]+))?/,bB=/-([a-z]|[0-9])/ig,bZ=/^-ms-/,bT=function(b0,b1){return(b1+"").toUpperCase()},bX=bu.userAgent,bV,bC,e,bL=Object.prototype.toString,bG=Object.prototype.hasOwnProperty,bz=Array.prototype.push,bK=Array.prototype.slice,bO=String.prototype.trim,bv=Array.prototype.indexOf,bx={};bF.fn=bF.prototype={constructor:bF,init:function(b0,b4,b3){var b2,b5,b1,b6;if(!b0){return this}if(b0.nodeType){this.context=this[0]=b0;this.length=1;return this}if(b0==="body"&&!b4&&av.body){this.context=av;this[0]=av.body;this.selector=b0;this.length=1;return this}if(typeof b0==="string"){if(b0.charAt(0)==="<"&&b0.charAt(b0.length-1)===">"&&b0.length>=3){b2=[null,b0,null]}else{b2=bY.exec(b0)}if(b2&&(b2[1]||!b4)){if(b2[1]){b4=b4 instanceof bF?b4[0]:b4;b6=(b4?b4.ownerDocument||b4:av);b1=bA.exec(b0);if(b1){if(bF.isPlainObject(b4)){b0=[av.createElement(b1[1])];bF.fn.attr.call(b0,b4,true)}else{b0=[b6.createElement(b1[1])]}}else{b1=bF.buildFragment([b2[1]],[b6]);b0=(b1.cacheable?bF.clone(b1.fragment):b1.fragment).childNodes}return bF.merge(this,b0)}else{b5=av.getElementById(b2[2]);if(b5&&b5.parentNode){if(b5.id!==b2[2]){return b3.find(b0)}this.length=1;this[0]=b5}this.context=av;this.selector=b0;return this}}else{if(!b4||b4.jquery){return(b4||b3).find(b0)}else{return this.constructor(b4).find(b0)}}}else{if(bF.isFunction(b0)){return b3.ready(b0)}}if(b0.selector!==L){this.selector=b0.selector;this.context=b0.context}return bF.makeArray(b0,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return bK.call(this,0)},get:function(b0){return b0==null?this.toArray():(b0<0?this[this.length+b0]:this[b0])},pushStack:function(b1,b3,b0){var b2=this.constructor();if(bF.isArray(b1)){bz.apply(b2,b1)}else{bF.merge(b2,b1)}b2.prevObject=this;b2.context=this.context;if(b3==="find"){b2.selector=this.selector+(this.selector?" ":"")+b0}else{if(b3){b2.selector=this.selector+"."+b3+"("+b0+")"}}return b2},each:function(b1,b0){return bF.each(this,b1,b0)},ready:function(b0){bF.bindReady();bC.add(b0);return this},eq:function(b0){b0=+b0;return b0===-1?this.slice(b0):this.slice(b0,b0+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(bK.apply(this,arguments),"slice",bK.call(arguments).join(","))},map:function(b0){return this.pushStack(bF.map(this,function(b2,b1){return b0.call(b2,b1,b2)}))},end:function(){return this.prevObject||this.constructor(null)},push:bz,sort:[].sort,splice:[].splice};bF.fn.init.prototype=bF.fn;bF.extend=bF.fn.extend=function(){var b9,b2,b0,b1,b6,b7,b5=arguments[0]||{},b4=1,b3=arguments.length,b8=false;if(typeof b5==="boolean"){b8=b5;b5=arguments[1]||{};b4=2}if(typeof b5!=="object"&&!bF.isFunction(b5)){b5={}}if(b3===b4){b5=this;--b4}for(;b4<b3;b4++){if((b9=arguments[b4])!=null){for(b2 in b9){b0=b5[b2];b1=b9[b2];if(b5===b1){continue}if(b8&&b1&&(bF.isPlainObject(b1)||(b6=bF.isArray(b1)))){if(b6){b6=false;b7=b0&&bF.isArray(b0)?b0:[]}else{b7=b0&&bF.isPlainObject(b0)?b0:{}}b5[b2]=bF.extend(b8,b7,b1)}else{if(b1!==L){b5[b2]=b1}}}}}return b5};bF.extend({noConflict:function(b0){if(bb.$===bF){bb.$=bH}if(b0&&bb.jQuery===bF){bb.jQuery=bU}return bF},isReady:false,readyWait:1,holdReady:function(b0){if(b0){bF.readyWait++}else{bF.ready(true)}},ready:function(b0){if((b0===true&&!--bF.readyWait)||(b0!==true&&!bF.isReady)){if(!av.body){return setTimeout(bF.ready,1)}bF.isReady=true;if(b0!==true&&--bF.readyWait>0){return}bC.fireWith(av,[bF]);if(bF.fn.trigger){bF(av).trigger("ready").off("ready")}}},bindReady:function(){if(bC){return}bC=bF.Callbacks("once memory");if(av.readyState==="complete"){return setTimeout(bF.ready,1)}if(av.addEventListener){av.addEventListener("DOMContentLoaded",e,false);bb.addEventListener("load",bF.ready,false)}else{if(av.attachEvent){av.attachEvent("onreadystatechange",e);bb.attachEvent("onload",bF.ready);var b0=false;try{b0=bb.frameElement==null}catch(b1){}if(av.documentElement.doScroll&&b0){bw()}}}},isFunction:function(b0){return bF.type(b0)==="function"},isArray:Array.isArray||function(b0){return bF.type(b0)==="array"},isWindow:function(b0){return b0&&typeof b0==="object"&&"setInterval" in b0},isNumeric:function(b0){return !isNaN(parseFloat(b0))&&isFinite(b0)},type:function(b0){return b0==null?String(b0):bx[bL.call(b0)]||"object"},isPlainObject:function(b2){if(!b2||bF.type(b2)!=="object"||b2.nodeType||bF.isWindow(b2)){return false}try{if(b2.constructor&&!bG.call(b2,"constructor")&&!bG.call(b2.constructor.prototype,"isPrototypeOf")){return false}}catch(b1){return false}var b0;for(b0 in b2){}return b0===L||bG.call(b2,b0)},isEmptyObject:function(b1){for(var b0 in b1){return false}return true},error:function(b0){throw new Error(b0)},parseJSON:function(b0){if(typeof b0!=="string"||!b0){return null}b0=bF.trim(b0);if(bb.JSON&&bb.JSON.parse){return bb.JSON.parse(b0)}if(bN.test(b0.replace(bW,"@").replace(bP,"]").replace(bJ,""))){return(new Function("return "+b0))()}bF.error("Invalid JSON: "+b0)},parseXML:function(b2){var b0,b1;try{if(bb.DOMParser){b1=new DOMParser();b0=b1.parseFromString(b2,"text/xml")}else{b0=new ActiveXObject("Microsoft.XMLDOM");b0.async="false";b0.loadXML(b2)}}catch(b3){b0=L}if(!b0||!b0.documentElement||b0.getElementsByTagName("parsererror").length){bF.error("Invalid XML: "+b2)}return b0},noop:function(){},globalEval:function(b0){if(b0&&bM.test(b0)){(bb.execScript||function(b1){bb["eval"].call(bb,b1)})(b0)}},camelCase:function(b0){return b0.replace(bZ,"ms-").replace(bB,bT)},nodeName:function(b1,b0){return b1.nodeName&&b1.nodeName.toUpperCase()===b0.toUpperCase()},each:function(b3,b6,b2){var b1,b4=0,b5=b3.length,b0=b5===L||bF.isFunction(b3);if(b2){if(b0){for(b1 in b3){if(b6.apply(b3[b1],b2)===false){break}}}else{for(;b4<b5;){if(b6.apply(b3[b4++],b2)===false){break}}}}else{if(b0){for(b1 in b3){if(b6.call(b3[b1],b1,b3[b1])===false){break}}}else{for(;b4<b5;){if(b6.call(b3[b4],b4,b3[b4++])===false){break}}}}return b3},trim:bO?function(b0){return b0==null?"":bO.call(b0)}:function(b0){return b0==null?"":b0.toString().replace(bI,"").replace(bE,"")},makeArray:function(b3,b1){var b0=b1||[];if(b3!=null){var b2=bF.type(b3);if(b3.length==null||b2==="string"||b2==="function"||b2==="regexp"||bF.isWindow(b3)){bz.call(b0,b3)}else{bF.merge(b0,b3)}}return b0},inArray:function(b2,b3,b1){var b0;if(b3){if(bv){return bv.call(b3,b2,b1)}b0=b3.length;b1=b1?b1<0?Math.max(0,b0+b1):b1:0;for(;b1<b0;b1++){if(b1 in b3&&b3[b1]===b2){return b1}}}return -1},merge:function(b4,b2){var b3=b4.length,b1=0;if(typeof b2.length==="number"){for(var b0=b2.length;b1<b0;b1++){b4[b3++]=b2[b1]}}else{while(b2[b1]!==L){b4[b3++]=b2[b1++]}}b4.length=b3;return b4},grep:function(b1,b6,b0){var b2=[],b5;b0=!!b0;for(var b3=0,b4=b1.length;b3<b4;b3++){b5=!!b6(b1[b3],b3);if(b0!==b5){b2.push(b1[b3])}}return b2},map:function(b0,b7,b8){var b5,b6,b4=[],b2=0,b1=b0.length,b3=b0 instanceof bF||b1!==L&&typeof b1==="number"&&((b1>0&&b0[0]&&b0[b1-1])||b1===0||bF.isArray(b0));if(b3){for(;b2<b1;b2++){b5=b7(b0[b2],b2,b8);if(b5!=null){b4[b4.length]=b5}}}else{for(b6 in b0){b5=b7(b0[b6],b6,b8);if(b5!=null){b4[b4.length]=b5}}}return b4.concat.apply([],b4)},guid:1,proxy:function(b4,b3){if(typeof b3==="string"){var b2=b4[b3];b3=b4;b4=b2}if(!bF.isFunction(b4)){return L}var b0=bK.call(arguments,2),b1=function(){return b4.apply(b3,b0.concat(bK.call(arguments)))};b1.guid=b4.guid=b4.guid||b1.guid||bF.guid++;return b1},access:function(b0,b8,b6,b2,b5,b7){var b1=b0.length;if(typeof b8==="object"){for(var b3 in b8){bF.access(b0,b3,b8[b3],b2,b5,b6)}return b0}if(b6!==L){b2=!b7&&b2&&bF.isFunction(b6);for(var b4=0;b4<b1;b4++){b5(b0[b4],b8,b2?b6.call(b0[b4],b4,b5(b0[b4],b8)):b6,b7)}return b0}return b1?b5(b0[0],b8):L},now:function(){return(new Date()).getTime()},uaMatch:function(b1){b1=b1.toLowerCase();var b0=by.exec(b1)||bR.exec(b1)||bQ.exec(b1)||b1.indexOf("compatible")<0&&bS.exec(b1)||[];return{browser:b0[1]||"",version:b0[2]||"0"}},sub:function(){function b0(b3,b4){return new b0.fn.init(b3,b4)}bF.extend(true,b0,this);b0.superclass=this;b0.fn=b0.prototype=this();b0.fn.constructor=b0;b0.sub=this.sub;b0.fn.init=function b2(b3,b4){if(b4&&b4 instanceof bF&&!(b4 instanceof b0)){b4=b0(b4)}return bF.fn.init.call(this,b3,b4,b1)};b0.fn.init.prototype=b0.fn;var b1=b0(av);return b0},browser:{}});bF.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(b1,b0){bx["[object "+b0+"]"]=b0.toLowerCase()});bV=bF.uaMatch(bX);if(bV.browser){bF.browser[bV.browser]=true;bF.browser.version=bV.version}if(bF.browser.webkit){bF.browser.safari=true}if(bM.test("\xA0")){bI=/^[\s\xA0]+/;bE=/[\s\xA0]+$/}bD=bF(av);if(av.addEventListener){e=function(){av.removeEventListener("DOMContentLoaded",e,false);bF.ready()}}else{if(av.attachEvent){e=function(){if(av.readyState==="complete"){av.detachEvent("onreadystatechange",e);bF.ready()}}}}function bw(){if(bF.isReady){return}try{av.documentElement.doScroll("left")}catch(b0){setTimeout(bw,1);return}bF.ready()}return bF})();var a2={};function X(e){var bv=a2[e]={},bw,bx;e=e.split(/\s+/);for(bw=0,bx=e.length;bw<bx;bw++){bv[e[bw]]=true}return bv}b.Callbacks=function(bw){bw=bw?(a2[bw]||X(bw)):{};var bB=[],bC=[],bx,by,bv,bz,bA,bE=function(bF){var bG,bJ,bI,bH,bK;for(bG=0,bJ=bF.length;bG<bJ;bG++){bI=bF[bG];bH=b.type(bI);if(bH==="array"){bE(bI)}else{if(bH==="function"){if(!bw.unique||!bD.has(bI)){bB.push(bI)}}}}},e=function(bG,bF){bF=bF||[];bx=!bw.memory||[bG,bF];by=true;bA=bv||0;bv=0;bz=bB.length;for(;bB&&bA<bz;bA++){if(bB[bA].apply(bG,bF)===false&&bw.stopOnFalse){bx=true;break}}by=false;if(bB){if(!bw.once){if(bC&&bC.length){bx=bC.shift();bD.fireWith(bx[0],bx[1])}}else{if(bx===true){bD.disable()}else{bB=[]}}}},bD={add:function(){if(bB){var bF=bB.length;bE(arguments);if(by){bz=bB.length}else{if(bx&&bx!==true){bv=bF;e(bx[0],bx[1])}}}return this},remove:function(){if(bB){var bF=arguments,bH=0,bI=bF.length;for(;bH<bI;bH++){for(var bG=0;bG<bB.length;bG++){if(bF[bH]===bB[bG]){if(by){if(bG<=bz){bz--;if(bG<=bA){bA--}}}bB.splice(bG--,1);if(bw.unique){break}}}}}return this},has:function(bG){if(bB){var bF=0,bH=bB.length;for(;bF<bH;bF++){if(bG===bB[bF]){return true}}}return false},empty:function(){bB=[];return this},disable:function(){bB=bC=bx=L;return this},disabled:function(){return !bB},lock:function(){bC=L;if(!bx||bx===true){bD.disable()}return this},locked:function(){return !bC},fireWith:function(bG,bF){if(bC){if(by){if(!bw.once){bC.push([bG,bF])}}else{if(!(bw.once&&bx)){e(bG,bF)}}}return this},fire:function(){bD.fireWith(this,arguments);return this},fired:function(){return !!bx}};return bD};var aJ=[].slice;b.extend({Deferred:function(by){var bx=b.Callbacks("once memory"),bw=b.Callbacks("once memory"),bv=b.Callbacks("memory"),e="pending",bA={resolve:bx,reject:bw,notify:bv},bC={done:bx.add,fail:bw.add,progress:bv.add,state:function(){return e},isResolved:bx.fired,isRejected:bw.fired,then:function(bE,bD,bF){bB.done(bE).fail(bD).progress(bF);return this},always:function(){bB.done.apply(bB,arguments).fail.apply(bB,arguments);return this},pipe:function(bF,bE,bD){return b.Deferred(function(bG){b.each({done:[bF,"resolve"],fail:[bE,"reject"],progress:[bD,"notify"]},function(bI,bL){var bH=bL[0],bK=bL[1],bJ;if(b.isFunction(bH)){bB[bI](function(){bJ=bH.apply(this,arguments);if(bJ&&b.isFunction(bJ.promise)){bJ.promise().then(bG.resolve,bG.reject,bG.notify)}else{bG[bK+"With"](this===bB?bG:this,[bJ])}})}else{bB[bI](bG[bK])}})}).promise()},promise:function(bE){if(bE==null){bE=bC}else{for(var bD in bC){bE[bD]=bC[bD]}}return bE}},bB=bC.promise({}),bz;for(bz in bA){bB[bz]=bA[bz].fire;bB[bz+"With"]=bA[bz].fireWith}bB.done(function(){e="resolved"},bw.disable,bv.lock).fail(function(){e="rejected"},bx.disable,bv.lock);if(by){by.call(bB,bB)}return bB},when:function(bA){var bx=aJ.call(arguments,0),bv=0,e=bx.length,bB=new Array(e),bw=e,by=e,bC=e<=1&&bA&&b.isFunction(bA.promise)?bA:b.Deferred(),bE=bC.promise();function bD(bF){return function(bG){bx[bF]=arguments.length>1?aJ.call(arguments,0):bG;if(!(--bw)){bC.resolveWith(bC,bx)}}}function bz(bF){return function(bG){bB[bF]=arguments.length>1?aJ.call(arguments,0):bG;bC.notifyWith(bE,bB)}}if(e>1){for(;bv<e;bv++){if(bx[bv]&&bx[bv].promise&&b.isFunction(bx[bv].promise)){bx[bv].promise().then(bD(bv),bC.reject,bz(bv))
-}else{--bw}}if(!bw){bC.resolveWith(bC,bx)}}else{if(bC!==bA){bC.resolveWith(bC,e?[bA]:[])}}return bE}});b.support=(function(){var bJ,bI,bF,bG,bx,bE,bA,bD,bz,bK,bB,by,bw,bv=av.createElement("div"),bH=av.documentElement;bv.setAttribute("className","t");bv.innerHTML="   <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>";bI=bv.getElementsByTagName("*");bF=bv.getElementsByTagName("a")[0];if(!bI||!bI.length||!bF){return{}}bG=av.createElement("select");bx=bG.appendChild(av.createElement("option"));bE=bv.getElementsByTagName("input")[0];bJ={leadingWhitespace:(bv.firstChild.nodeType===3),tbody:!bv.getElementsByTagName("tbody").length,htmlSerialize:!!bv.getElementsByTagName("link").length,style:/top/.test(bF.getAttribute("style")),hrefNormalized:(bF.getAttribute("href")==="/a"),opacity:/^0.55/.test(bF.style.opacity),cssFloat:!!bF.style.cssFloat,checkOn:(bE.value==="on"),optSelected:bx.selected,getSetAttribute:bv.className!=="t",enctype:!!av.createElement("form").enctype,html5Clone:av.createElement("nav").cloneNode(true).outerHTML!=="<:nav></:nav>",submitBubbles:true,changeBubbles:true,focusinBubbles:false,deleteExpando:true,noCloneEvent:true,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableMarginRight:true};bE.checked=true;bJ.noCloneChecked=bE.cloneNode(true).checked;bG.disabled=true;bJ.optDisabled=!bx.disabled;try{delete bv.test}catch(bC){bJ.deleteExpando=false}if(!bv.addEventListener&&bv.attachEvent&&bv.fireEvent){bv.attachEvent("onclick",function(){bJ.noCloneEvent=false});bv.cloneNode(true).fireEvent("onclick")}bE=av.createElement("input");bE.value="t";bE.setAttribute("type","radio");bJ.radioValue=bE.value==="t";bE.setAttribute("checked","checked");bv.appendChild(bE);bD=av.createDocumentFragment();bD.appendChild(bv.lastChild);bJ.checkClone=bD.cloneNode(true).cloneNode(true).lastChild.checked;bJ.appendChecked=bE.checked;bD.removeChild(bE);bD.appendChild(bv);bv.innerHTML="";if(bb.getComputedStyle){bA=av.createElement("div");bA.style.width="0";bA.style.marginRight="0";bv.style.width="2px";bv.appendChild(bA);bJ.reliableMarginRight=(parseInt((bb.getComputedStyle(bA,null)||{marginRight:0}).marginRight,10)||0)===0}if(bv.attachEvent){for(by in {submit:1,change:1,focusin:1}){bB="on"+by;bw=(bB in bv);if(!bw){bv.setAttribute(bB,"return;");bw=(typeof bv[bB]==="function")}bJ[by+"Bubbles"]=bw}}bD.removeChild(bv);bD=bG=bx=bA=bv=bE=null;b(function(){var bM,bU,bV,bT,bN,bO,bL,bS,bR,e,bP,bQ=av.getElementsByTagName("body")[0];if(!bQ){return}bL=1;bS="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;";bR="visibility:hidden;border:0;";e="style='"+bS+"border:5px solid #000;padding:0;'";bP="<div "+e+"><div></div></div><table "+e+" cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";bM=av.createElement("div");bM.style.cssText=bR+"width:0;height:0;position:static;top:0;margin-top:"+bL+"px";bQ.insertBefore(bM,bQ.firstChild);bv=av.createElement("div");bM.appendChild(bv);bv.innerHTML="<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>";bz=bv.getElementsByTagName("td");bw=(bz[0].offsetHeight===0);bz[0].style.display="";bz[1].style.display="none";bJ.reliableHiddenOffsets=bw&&(bz[0].offsetHeight===0);bv.innerHTML="";bv.style.width=bv.style.paddingLeft="1px";b.boxModel=bJ.boxModel=bv.offsetWidth===2;if(typeof bv.style.zoom!=="undefined"){bv.style.display="inline";bv.style.zoom=1;bJ.inlineBlockNeedsLayout=(bv.offsetWidth===2);bv.style.display="";bv.innerHTML="<div style='width:4px;'></div>";bJ.shrinkWrapBlocks=(bv.offsetWidth!==2)}bv.style.cssText=bS+bR;bv.innerHTML=bP;bU=bv.firstChild;bV=bU.firstChild;bN=bU.nextSibling.firstChild.firstChild;bO={doesNotAddBorder:(bV.offsetTop!==5),doesAddBorderForTableAndCells:(bN.offsetTop===5)};bV.style.position="fixed";bV.style.top="20px";bO.fixedPosition=(bV.offsetTop===20||bV.offsetTop===15);bV.style.position=bV.style.top="";bU.style.overflow="hidden";bU.style.position="relative";bO.subtractsBorderForOverflowNotVisible=(bV.offsetTop===-5);bO.doesNotIncludeMarginInBodyOffset=(bQ.offsetTop!==bL);bQ.removeChild(bM);bv=bM=null;b.extend(bJ,bO)});return bJ})();var aS=/^(?:\{.*\}|\[.*\])$/,aA=/([A-Z])/g;b.extend({cache:{},uuid:0,expando:"jQuery"+(b.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},hasData:function(e){e=e.nodeType?b.cache[e[b.expando]]:e[b.expando];return !!e&&!S(e)},data:function(bx,bv,bz,by){if(!b.acceptData(bx)){return}var bG,bA,bD,bE=b.expando,bC=typeof bv==="string",bF=bx.nodeType,e=bF?b.cache:bx,bw=bF?bx[bE]:bx[bE]&&bE,bB=bv==="events";if((!bw||!e[bw]||(!bB&&!by&&!e[bw].data))&&bC&&bz===L){return}if(!bw){if(bF){bx[bE]=bw=++b.uuid}else{bw=bE}}if(!e[bw]){e[bw]={};if(!bF){e[bw].toJSON=b.noop}}if(typeof bv==="object"||typeof bv==="function"){if(by){e[bw]=b.extend(e[bw],bv)}else{e[bw].data=b.extend(e[bw].data,bv)}}bG=bA=e[bw];if(!by){if(!bA.data){bA.data={}}bA=bA.data}if(bz!==L){bA[b.camelCase(bv)]=bz}if(bB&&!bA[bv]){return bG.events}if(bC){bD=bA[bv];if(bD==null){bD=bA[b.camelCase(bv)]}}else{bD=bA}return bD},removeData:function(bx,bv,by){if(!b.acceptData(bx)){return}var bB,bA,bz,bC=b.expando,bD=bx.nodeType,e=bD?b.cache:bx,bw=bD?bx[bC]:bC;if(!e[bw]){return}if(bv){bB=by?e[bw]:e[bw].data;if(bB){if(!b.isArray(bv)){if(bv in bB){bv=[bv]}else{bv=b.camelCase(bv);if(bv in bB){bv=[bv]}else{bv=bv.split(" ")}}}for(bA=0,bz=bv.length;bA<bz;bA++){delete bB[bv[bA]]}if(!(by?S:b.isEmptyObject)(bB)){return}}}if(!by){delete e[bw].data;if(!S(e[bw])){return}}if(b.support.deleteExpando||!e.setInterval){delete e[bw]}else{e[bw]=null}if(bD){if(b.support.deleteExpando){delete bx[bC]}else{if(bx.removeAttribute){bx.removeAttribute(bC)}else{bx[bC]=null}}}},_data:function(bv,e,bw){return b.data(bv,e,bw,true)},acceptData:function(bv){if(bv.nodeName){var e=b.noData[bv.nodeName.toLowerCase()];if(e){return !(e===true||bv.getAttribute("classid")!==e)}}return true}});b.fn.extend({data:function(by,bA){var bB,e,bw,bz=null;if(typeof by==="undefined"){if(this.length){bz=b.data(this[0]);if(this[0].nodeType===1&&!b._data(this[0],"parsedAttrs")){e=this[0].attributes;for(var bx=0,bv=e.length;bx<bv;bx++){bw=e[bx].name;if(bw.indexOf("data-")===0){bw=b.camelCase(bw.substring(5));a5(this[0],bw,bz[bw])}}b._data(this[0],"parsedAttrs",true)}}return bz}else{if(typeof by==="object"){return this.each(function(){b.data(this,by)})}}bB=by.split(".");bB[1]=bB[1]?"."+bB[1]:"";if(bA===L){bz=this.triggerHandler("getData"+bB[1]+"!",[bB[0]]);if(bz===L&&this.length){bz=b.data(this[0],by);bz=a5(this[0],by,bz)}return bz===L&&bB[1]?this.data(bB[0]):bz}else{return this.each(function(){var bC=b(this),bD=[bB[0],bA];bC.triggerHandler("setData"+bB[1]+"!",bD);b.data(this,by,bA);bC.triggerHandler("changeData"+bB[1]+"!",bD)})}},removeData:function(e){return this.each(function(){b.removeData(this,e)})}});function a5(bx,bw,by){if(by===L&&bx.nodeType===1){var bv="data-"+bw.replace(aA,"-$1").toLowerCase();by=bx.getAttribute(bv);if(typeof by==="string"){try{by=by==="true"?true:by==="false"?false:by==="null"?null:b.isNumeric(by)?parseFloat(by):aS.test(by)?b.parseJSON(by):by}catch(bz){}b.data(bx,bw,by)}else{by=L}}return by}function S(bv){for(var e in bv){if(e==="data"&&b.isEmptyObject(bv[e])){continue}if(e!=="toJSON"){return false}}return true}function bi(by,bx,bA){var bw=bx+"defer",bv=bx+"queue",e=bx+"mark",bz=b._data(by,bw);if(bz&&(bA==="queue"||!b._data(by,bv))&&(bA==="mark"||!b._data(by,e))){setTimeout(function(){if(!b._data(by,bv)&&!b._data(by,e)){b.removeData(by,bw,true);bz.fire()}},0)}}b.extend({_mark:function(bv,e){if(bv){e=(e||"fx")+"mark";b._data(bv,e,(b._data(bv,e)||0)+1)}},_unmark:function(by,bx,bv){if(by!==true){bv=bx;bx=by;by=false}if(bx){bv=bv||"fx";var e=bv+"mark",bw=by?0:((b._data(bx,e)||1)-1);if(bw){b._data(bx,e,bw)}else{b.removeData(bx,e,true);bi(bx,bv,"mark")}}},queue:function(bv,e,bx){var bw;if(bv){e=(e||"fx")+"queue";bw=b._data(bv,e);if(bx){if(!bw||b.isArray(bx)){bw=b._data(bv,e,b.makeArray(bx))}else{bw.push(bx)}}return bw||[]}},dequeue:function(by,bx){bx=bx||"fx";var bv=b.queue(by,bx),bw=bv.shift(),e={};if(bw==="inprogress"){bw=bv.shift()}if(bw){if(bx==="fx"){bv.unshift("inprogress")}b._data(by,bx+".run",e);bw.call(by,function(){b.dequeue(by,bx)},e)}if(!bv.length){b.removeData(by,bx+"queue "+bx+".run",true);bi(by,bx,"queue")}}});b.fn.extend({queue:function(e,bv){if(typeof e!=="string"){bv=e;e="fx"}if(bv===L){return b.queue(this[0],e)}return this.each(function(){var bw=b.queue(this,e,bv);if(e==="fx"&&bw[0]!=="inprogress"){b.dequeue(this,e)}})},dequeue:function(e){return this.each(function(){b.dequeue(this,e)})},delay:function(bv,e){bv=b.fx?b.fx.speeds[bv]||bv:bv;e=e||"fx";return this.queue(e,function(bx,bw){var by=setTimeout(bx,bv);bw.stop=function(){clearTimeout(by)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(bD,bw){if(typeof bD!=="string"){bw=bD;bD=L}bD=bD||"fx";var e=b.Deferred(),bv=this,by=bv.length,bB=1,bz=bD+"defer",bA=bD+"queue",bC=bD+"mark",bx;function bE(){if(!(--bB)){e.resolveWith(bv,[bv])}}while(by--){if((bx=b.data(bv[by],bz,L,true)||(b.data(bv[by],bA,L,true)||b.data(bv[by],bC,L,true))&&b.data(bv[by],bz,b.Callbacks("once memory"),true))){bB++;bx.add(bE)}}bE();return e.promise()}});var aP=/[\n\t\r]/g,af=/\s+/,aU=/\r/g,g=/^(?:button|input)$/i,D=/^(?:button|input|object|select|textarea)$/i,l=/^a(?:rea)?$/i,ao=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,F=b.support.getSetAttribute,be,aY,aF;b.fn.extend({attr:function(e,bv){return b.access(this,e,bv,true,b.attr)},removeAttr:function(e){return this.each(function(){b.removeAttr(this,e)})},prop:function(e,bv){return b.access(this,e,bv,true,b.prop)},removeProp:function(e){e=b.propFix[e]||e;return this.each(function(){try{this[e]=L;delete this[e]}catch(bv){}})},addClass:function(by){var bA,bw,bv,bx,bz,bB,e;if(b.isFunction(by)){return this.each(function(bC){b(this).addClass(by.call(this,bC,this.className))})}if(by&&typeof by==="string"){bA=by.split(af);for(bw=0,bv=this.length;bw<bv;bw++){bx=this[bw];if(bx.nodeType===1){if(!bx.className&&bA.length===1){bx.className=by}else{bz=" "+bx.className+" ";for(bB=0,e=bA.length;bB<e;bB++){if(!~bz.indexOf(" "+bA[bB]+" ")){bz+=bA[bB]+" "}}bx.className=b.trim(bz)}}}}return this},removeClass:function(bz){var bA,bw,bv,by,bx,bB,e;if(b.isFunction(bz)){return this.each(function(bC){b(this).removeClass(bz.call(this,bC,this.className))})}if((bz&&typeof bz==="string")||bz===L){bA=(bz||"").split(af);for(bw=0,bv=this.length;bw<bv;bw++){by=this[bw];if(by.nodeType===1&&by.className){if(bz){bx=(" "+by.className+" ").replace(aP," ");for(bB=0,e=bA.length;bB<e;bB++){bx=bx.replace(" "+bA[bB]+" "," ")}by.className=b.trim(bx)}else{by.className=""}}}}return this},toggleClass:function(bx,bv){var bw=typeof bx,e=typeof bv==="boolean";if(b.isFunction(bx)){return this.each(function(by){b(this).toggleClass(bx.call(this,by,this.className,bv),bv)})}return this.each(function(){if(bw==="string"){var bA,bz=0,by=b(this),bB=bv,bC=bx.split(af);while((bA=bC[bz++])){bB=e?bB:!by.hasClass(bA);by[bB?"addClass":"removeClass"](bA)}}else{if(bw==="undefined"||bw==="boolean"){if(this.className){b._data(this,"__className__",this.className)}this.className=this.className||bx===false?"":b._data(this,"__className__")||""}}})},hasClass:function(e){var bx=" "+e+" ",bw=0,bv=this.length;for(;bw<bv;bw++){if(this[bw].nodeType===1&&(" "+this[bw].className+" ").replace(aP," ").indexOf(bx)>-1){return true}}return false},val:function(bx){var e,bv,by,bw=this[0];if(!arguments.length){if(bw){e=b.valHooks[bw.nodeName.toLowerCase()]||b.valHooks[bw.type];if(e&&"get" in e&&(bv=e.get(bw,"value"))!==L){return bv}bv=bw.value;return typeof bv==="string"?bv.replace(aU,""):bv==null?"":bv}return}by=b.isFunction(bx);return this.each(function(bA){var bz=b(this),bB;if(this.nodeType!==1){return}if(by){bB=bx.call(this,bA,bz.val())}else{bB=bx}if(bB==null){bB=""}else{if(typeof bB==="number"){bB+=""}else{if(b.isArray(bB)){bB=b.map(bB,function(bC){return bC==null?"":bC+""})}}}e=b.valHooks[this.nodeName.toLowerCase()]||b.valHooks[this.type];if(!e||!("set" in e)||e.set(this,bB,"value")===L){this.value=bB}})}});b.extend({valHooks:{option:{get:function(e){var bv=e.attributes.value;return !bv||bv.specified?e.value:e.text}},select:{get:function(e){var bA,bv,bz,bx,by=e.selectedIndex,bB=[],bC=e.options,bw=e.type==="select-one";if(by<0){return null}bv=bw?by:0;bz=bw?by+1:bC.length;for(;bv<bz;bv++){bx=bC[bv];if(bx.selected&&(b.support.optDisabled?!bx.disabled:bx.getAttribute("disabled")===null)&&(!bx.parentNode.disabled||!b.nodeName(bx.parentNode,"optgroup"))){bA=b(bx).val();if(bw){return bA}bB.push(bA)}}if(bw&&!bB.length&&bC.length){return b(bC[by]).val()}return bB},set:function(bv,bw){var e=b.makeArray(bw);b(bv).find("option").each(function(){this.selected=b.inArray(b(this).val(),e)>=0});if(!e.length){bv.selectedIndex=-1}return e}}},attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(bA,bx,bB,bz){var bw,e,by,bv=bA.nodeType;
-if(!bA||bv===3||bv===8||bv===2){return}if(bz&&bx in b.attrFn){return b(bA)[bx](bB)}if(typeof bA.getAttribute==="undefined"){return b.prop(bA,bx,bB)}by=bv!==1||!b.isXMLDoc(bA);if(by){bx=bx.toLowerCase();e=b.attrHooks[bx]||(ao.test(bx)?aY:be)}if(bB!==L){if(bB===null){b.removeAttr(bA,bx);return}else{if(e&&"set" in e&&by&&(bw=e.set(bA,bB,bx))!==L){return bw}else{bA.setAttribute(bx,""+bB);return bB}}}else{if(e&&"get" in e&&by&&(bw=e.get(bA,bx))!==null){return bw}else{bw=bA.getAttribute(bx);return bw===null?L:bw}}},removeAttr:function(bx,bz){var by,bA,bv,e,bw=0;if(bz&&bx.nodeType===1){bA=bz.toLowerCase().split(af);e=bA.length;for(;bw<e;bw++){bv=bA[bw];if(bv){by=b.propFix[bv]||bv;b.attr(bx,bv,"");bx.removeAttribute(F?bv:by);if(ao.test(bv)&&by in bx){bx[by]=false}}}}},attrHooks:{type:{set:function(e,bv){if(g.test(e.nodeName)&&e.parentNode){b.error("type property can't be changed")}else{if(!b.support.radioValue&&bv==="radio"&&b.nodeName(e,"input")){var bw=e.value;e.setAttribute("type",bv);if(bw){e.value=bw}return bv}}}},value:{get:function(bv,e){if(be&&b.nodeName(bv,"button")){return be.get(bv,e)}return e in bv?bv.value:null},set:function(bv,bw,e){if(be&&b.nodeName(bv,"button")){return be.set(bv,bw,e)}bv.value=bw}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(bz,bx,bA){var bw,e,by,bv=bz.nodeType;if(!bz||bv===3||bv===8||bv===2){return}by=bv!==1||!b.isXMLDoc(bz);if(by){bx=b.propFix[bx]||bx;e=b.propHooks[bx]}if(bA!==L){if(e&&"set" in e&&(bw=e.set(bz,bA,bx))!==L){return bw}else{return(bz[bx]=bA)}}else{if(e&&"get" in e&&(bw=e.get(bz,bx))!==null){return bw}else{return bz[bx]}}},propHooks:{tabIndex:{get:function(bv){var e=bv.getAttributeNode("tabindex");return e&&e.specified?parseInt(e.value,10):D.test(bv.nodeName)||l.test(bv.nodeName)&&bv.href?0:L}}}});b.attrHooks.tabindex=b.propHooks.tabIndex;aY={get:function(bv,e){var bx,bw=b.prop(bv,e);return bw===true||typeof bw!=="boolean"&&(bx=bv.getAttributeNode(e))&&bx.nodeValue!==false?e.toLowerCase():L},set:function(bv,bx,e){var bw;if(bx===false){b.removeAttr(bv,e)}else{bw=b.propFix[e]||e;if(bw in bv){bv[bw]=true}bv.setAttribute(e,e.toLowerCase())}return e}};if(!F){aF={name:true,id:true};be=b.valHooks.button={get:function(bw,bv){var e;e=bw.getAttributeNode(bv);return e&&(aF[bv]?e.nodeValue!=="":e.specified)?e.nodeValue:L},set:function(bw,bx,bv){var e=bw.getAttributeNode(bv);if(!e){e=av.createAttribute(bv);bw.setAttributeNode(e)}return(e.nodeValue=bx+"")}};b.attrHooks.tabindex.set=be.set;b.each(["width","height"],function(bv,e){b.attrHooks[e]=b.extend(b.attrHooks[e],{set:function(bw,bx){if(bx===""){bw.setAttribute(e,"auto");return bx}}})});b.attrHooks.contenteditable={get:be.get,set:function(bv,bw,e){if(bw===""){bw="false"}be.set(bv,bw,e)}}}if(!b.support.hrefNormalized){b.each(["href","src","width","height"],function(bv,e){b.attrHooks[e]=b.extend(b.attrHooks[e],{get:function(bx){var bw=bx.getAttribute(e,2);return bw===null?L:bw}})})}if(!b.support.style){b.attrHooks.style={get:function(e){return e.style.cssText.toLowerCase()||L},set:function(e,bv){return(e.style.cssText=""+bv)}}}if(!b.support.optSelected){b.propHooks.selected=b.extend(b.propHooks.selected,{get:function(bv){var e=bv.parentNode;if(e){e.selectedIndex;if(e.parentNode){e.parentNode.selectedIndex}}return null}})}if(!b.support.enctype){b.propFix.enctype="encoding"}if(!b.support.checkOn){b.each(["radio","checkbox"],function(){b.valHooks[this]={get:function(e){return e.getAttribute("value")===null?"on":e.value}}})}b.each(["radio","checkbox"],function(){b.valHooks[this]=b.extend(b.valHooks[this],{set:function(e,bv){if(b.isArray(bv)){return(e.checked=b.inArray(b(e).val(),bv)>=0)}}})});var bd=/^(?:textarea|input|select)$/i,n=/^([^\.]*)?(?:\.(.+))?$/,J=/\bhover(\.\S+)?\b/,aO=/^key/,bf=/^(?:mouse|contextmenu)|click/,T=/^(?:focusinfocus|focusoutblur)$/,U=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,Y=function(e){var bv=U.exec(e);if(bv){bv[1]=(bv[1]||"").toLowerCase();bv[3]=bv[3]&&new RegExp("(?:^|\\s)"+bv[3]+"(?:\\s|$)")}return bv},j=function(bw,e){var bv=bw.attributes||{};return((!e[1]||bw.nodeName.toLowerCase()===e[1])&&(!e[2]||(bv.id||{}).value===e[2])&&(!e[3]||e[3].test((bv["class"]||{}).value)))},bt=function(e){return b.event.special.hover?e:e.replace(J,"mouseenter$1 mouseleave$1")};b.event={add:function(bx,bC,bJ,bA,by){var bD,bB,bK,bI,bH,bF,e,bG,bv,bz,bw,bE;if(bx.nodeType===3||bx.nodeType===8||!bC||!bJ||!(bD=b._data(bx))){return}if(bJ.handler){bv=bJ;bJ=bv.handler}if(!bJ.guid){bJ.guid=b.guid++}bK=bD.events;if(!bK){bD.events=bK={}}bB=bD.handle;if(!bB){bD.handle=bB=function(bL){return typeof b!=="undefined"&&(!bL||b.event.triggered!==bL.type)?b.event.dispatch.apply(bB.elem,arguments):L};bB.elem=bx}bC=b.trim(bt(bC)).split(" ");for(bI=0;bI<bC.length;bI++){bH=n.exec(bC[bI])||[];bF=bH[1];e=(bH[2]||"").split(".").sort();bE=b.event.special[bF]||{};bF=(by?bE.delegateType:bE.bindType)||bF;bE=b.event.special[bF]||{};bG=b.extend({type:bF,origType:bH[1],data:bA,handler:bJ,guid:bJ.guid,selector:by,quick:Y(by),namespace:e.join(".")},bv);bw=bK[bF];if(!bw){bw=bK[bF]=[];bw.delegateCount=0;if(!bE.setup||bE.setup.call(bx,bA,e,bB)===false){if(bx.addEventListener){bx.addEventListener(bF,bB,false)}else{if(bx.attachEvent){bx.attachEvent("on"+bF,bB)}}}}if(bE.add){bE.add.call(bx,bG);if(!bG.handler.guid){bG.handler.guid=bJ.guid}}if(by){bw.splice(bw.delegateCount++,0,bG)}else{bw.push(bG)}b.event.global[bF]=true}bx=null},global:{},remove:function(bJ,bE,bv,bH,bB){var bI=b.hasData(bJ)&&b._data(bJ),bF,bx,bz,bL,bC,bA,bG,bw,by,bK,bD,e;if(!bI||!(bw=bI.events)){return}bE=b.trim(bt(bE||"")).split(" ");for(bF=0;bF<bE.length;bF++){bx=n.exec(bE[bF])||[];bz=bL=bx[1];bC=bx[2];if(!bz){for(bz in bw){b.event.remove(bJ,bz+bE[bF],bv,bH,true)}continue}by=b.event.special[bz]||{};bz=(bH?by.delegateType:by.bindType)||bz;bD=bw[bz]||[];bA=bD.length;bC=bC?new RegExp("(^|\\.)"+bC.split(".").sort().join("\\.(?:.*\\.)?")+"(\\.|$)"):null;for(bG=0;bG<bD.length;bG++){e=bD[bG];if((bB||bL===e.origType)&&(!bv||bv.guid===e.guid)&&(!bC||bC.test(e.namespace))&&(!bH||bH===e.selector||bH==="**"&&e.selector)){bD.splice(bG--,1);if(e.selector){bD.delegateCount--}if(by.remove){by.remove.call(bJ,e)}}}if(bD.length===0&&bA!==bD.length){if(!by.teardown||by.teardown.call(bJ,bC)===false){b.removeEvent(bJ,bz,bI.handle)}delete bw[bz]}}if(b.isEmptyObject(bw)){bK=bI.handle;if(bK){bK.elem=null}b.removeData(bJ,["events","handle"],true)}},customEvent:{getData:true,setData:true,changeData:true},trigger:function(bv,bD,bA,bJ){if(bA&&(bA.nodeType===3||bA.nodeType===8)){return}var bG=bv.type||bv,bx=[],e,bw,bC,bH,bz,by,bF,bE,bB,bI;if(T.test(bG+b.event.triggered)){return}if(bG.indexOf("!")>=0){bG=bG.slice(0,-1);bw=true}if(bG.indexOf(".")>=0){bx=bG.split(".");bG=bx.shift();bx.sort()}if((!bA||b.event.customEvent[bG])&&!b.event.global[bG]){return}bv=typeof bv==="object"?bv[b.expando]?bv:new b.Event(bG,bv):new b.Event(bG);bv.type=bG;bv.isTrigger=true;bv.exclusive=bw;bv.namespace=bx.join(".");bv.namespace_re=bv.namespace?new RegExp("(^|\\.)"+bx.join("\\.(?:.*\\.)?")+"(\\.|$)"):null;by=bG.indexOf(":")<0?"on"+bG:"";if(!bA){e=b.cache;for(bC in e){if(e[bC].events&&e[bC].events[bG]){b.event.trigger(bv,bD,e[bC].handle.elem,true)}}return}bv.result=L;if(!bv.target){bv.target=bA}bD=bD!=null?b.makeArray(bD):[];bD.unshift(bv);bF=b.event.special[bG]||{};if(bF.trigger&&bF.trigger.apply(bA,bD)===false){return}bB=[[bA,bF.bindType||bG]];if(!bJ&&!bF.noBubble&&!b.isWindow(bA)){bI=bF.delegateType||bG;bH=T.test(bI+bG)?bA:bA.parentNode;bz=null;for(;bH;bH=bH.parentNode){bB.push([bH,bI]);bz=bH}if(bz&&bz===bA.ownerDocument){bB.push([bz.defaultView||bz.parentWindow||bb,bI])}}for(bC=0;bC<bB.length&&!bv.isPropagationStopped();bC++){bH=bB[bC][0];bv.type=bB[bC][1];bE=(b._data(bH,"events")||{})[bv.type]&&b._data(bH,"handle");if(bE){bE.apply(bH,bD)}bE=by&&bH[by];if(bE&&b.acceptData(bH)&&bE.apply(bH,bD)===false){bv.preventDefault()}}bv.type=bG;if(!bJ&&!bv.isDefaultPrevented()){if((!bF._default||bF._default.apply(bA.ownerDocument,bD)===false)&&!(bG==="click"&&b.nodeName(bA,"a"))&&b.acceptData(bA)){if(by&&bA[bG]&&((bG!=="focus"&&bG!=="blur")||bv.target.offsetWidth!==0)&&!b.isWindow(bA)){bz=bA[by];if(bz){bA[by]=null}b.event.triggered=bG;bA[bG]();b.event.triggered=L;if(bz){bA[by]=bz}}}}return bv.result},dispatch:function(e){e=b.event.fix(e||bb.event);var bz=((b._data(this,"events")||{})[e.type]||[]),bA=bz.delegateCount,bG=[].slice.call(arguments,0),by=!e.exclusive&&!e.namespace,bH=[],bC,bB,bK,bx,bF,bE,bv,bD,bI,bw,bJ;bG[0]=e;e.delegateTarget=this;if(bA&&!e.target.disabled&&!(e.button&&e.type==="click")){bx=b(this);bx.context=this.ownerDocument||this;for(bK=e.target;bK!=this;bK=bK.parentNode||this){bE={};bD=[];bx[0]=bK;for(bC=0;bC<bA;bC++){bI=bz[bC];bw=bI.selector;if(bE[bw]===L){bE[bw]=(bI.quick?j(bK,bI.quick):bx.is(bw))}if(bE[bw]){bD.push(bI)}}if(bD.length){bH.push({elem:bK,matches:bD})}}}if(bz.length>bA){bH.push({elem:this,matches:bz.slice(bA)})}for(bC=0;bC<bH.length&&!e.isPropagationStopped();bC++){bv=bH[bC];e.currentTarget=bv.elem;for(bB=0;bB<bv.matches.length&&!e.isImmediatePropagationStopped();bB++){bI=bv.matches[bB];if(by||(!e.namespace&&!bI.namespace)||e.namespace_re&&e.namespace_re.test(bI.namespace)){e.data=bI.data;e.handleObj=bI;bF=((b.event.special[bI.origType]||{}).handle||bI.handler).apply(bv.elem,bG);if(bF!==L){e.result=bF;if(bF===false){e.preventDefault();e.stopPropagation()}}}}}return e.result},props:"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(bv,e){if(bv.which==null){bv.which=e.charCode!=null?e.charCode:e.keyCode}return bv}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(bx,bw){var by,bz,e,bv=bw.button,bA=bw.fromElement;if(bx.pageX==null&&bw.clientX!=null){by=bx.target.ownerDocument||av;bz=by.documentElement;e=by.body;bx.pageX=bw.clientX+(bz&&bz.scrollLeft||e&&e.scrollLeft||0)-(bz&&bz.clientLeft||e&&e.clientLeft||0);bx.pageY=bw.clientY+(bz&&bz.scrollTop||e&&e.scrollTop||0)-(bz&&bz.clientTop||e&&e.clientTop||0)}if(!bx.relatedTarget&&bA){bx.relatedTarget=bA===bx.target?bw.toElement:bA}if(!bx.which&&bv!==L){bx.which=(bv&1?1:(bv&2?3:(bv&4?2:0)))}return bx}},fix:function(bw){if(bw[b.expando]){return bw}var bv,bz,e=bw,bx=b.event.fixHooks[bw.type]||{},by=bx.props?this.props.concat(bx.props):this.props;bw=b.Event(e);for(bv=by.length;bv;){bz=by[--bv];bw[bz]=e[bz]}if(!bw.target){bw.target=e.srcElement||av}if(bw.target.nodeType===3){bw.target=bw.target.parentNode}if(bw.metaKey===L){bw.metaKey=bw.ctrlKey}return bx.filter?bx.filter(bw,e):bw},special:{ready:{setup:b.bindReady},load:{noBubble:true},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:function(bw,bv,e){if(b.isWindow(this)){this.onbeforeunload=e}},teardown:function(bv,e){if(this.onbeforeunload===e){this.onbeforeunload=null}}}},simulate:function(bw,by,bx,bv){var bz=b.extend(new b.Event(),bx,{type:bw,isSimulated:true,originalEvent:{}});if(bv){b.event.trigger(bz,null,by)}else{b.event.dispatch.call(by,bz)}if(bz.isDefaultPrevented()){bx.preventDefault()}}};b.event.handle=b.event.dispatch;b.removeEvent=av.removeEventListener?function(bv,e,bw){if(bv.removeEventListener){bv.removeEventListener(e,bw,false)}}:function(bv,e,bw){if(bv.detachEvent){bv.detachEvent("on"+e,bw)}};b.Event=function(bv,e){if(!(this instanceof b.Event)){return new b.Event(bv,e)}if(bv&&bv.type){this.originalEvent=bv;this.type=bv.type;this.isDefaultPrevented=(bv.defaultPrevented||bv.returnValue===false||bv.getPreventDefault&&bv.getPreventDefault())?i:bk}else{this.type=bv}if(e){b.extend(this,e)}this.timeStamp=bv&&bv.timeStamp||b.now();this[b.expando]=true};function bk(){return false}function i(){return true}b.Event.prototype={preventDefault:function(){this.isDefaultPrevented=i;var bv=this.originalEvent;if(!bv){return}if(bv.preventDefault){bv.preventDefault()}else{bv.returnValue=false}},stopPropagation:function(){this.isPropagationStopped=i;var bv=this.originalEvent;if(!bv){return}if(bv.stopPropagation){bv.stopPropagation()}bv.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=i;this.stopPropagation()},isDefaultPrevented:bk,isPropagationStopped:bk,isImmediatePropagationStopped:bk};b.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(bv,e){b.event.special[bv]={delegateType:e,bindType:e,handle:function(bz){var bB=this,bA=bz.relatedTarget,by=bz.handleObj,bw=by.selector,bx;if(!bA||(bA!==bB&&!b.contains(bB,bA))){bz.type=by.origType;bx=by.handler.apply(this,arguments);bz.type=e}return bx}}});if(!b.support.submitBubbles){b.event.special.submit={setup:function(){if(b.nodeName(this,"form")){return false
-}b.event.add(this,"click._submit keypress._submit",function(bx){var bw=bx.target,bv=b.nodeName(bw,"input")||b.nodeName(bw,"button")?bw.form:L;if(bv&&!bv._submit_attached){b.event.add(bv,"submit._submit",function(e){if(this.parentNode&&!e.isTrigger){b.event.simulate("submit",this.parentNode,e,true)}});bv._submit_attached=true}})},teardown:function(){if(b.nodeName(this,"form")){return false}b.event.remove(this,"._submit")}}}if(!b.support.changeBubbles){b.event.special.change={setup:function(){if(bd.test(this.nodeName)){if(this.type==="checkbox"||this.type==="radio"){b.event.add(this,"propertychange._change",function(e){if(e.originalEvent.propertyName==="checked"){this._just_changed=true}});b.event.add(this,"click._change",function(e){if(this._just_changed&&!e.isTrigger){this._just_changed=false;b.event.simulate("change",this,e,true)}})}return false}b.event.add(this,"beforeactivate._change",function(bw){var bv=bw.target;if(bd.test(bv.nodeName)&&!bv._change_attached){b.event.add(bv,"change._change",function(e){if(this.parentNode&&!e.isSimulated&&!e.isTrigger){b.event.simulate("change",this.parentNode,e,true)}});bv._change_attached=true}})},handle:function(bv){var e=bv.target;if(this!==e||bv.isSimulated||bv.isTrigger||(e.type!=="radio"&&e.type!=="checkbox")){return bv.handleObj.handler.apply(this,arguments)}},teardown:function(){b.event.remove(this,"._change");return bd.test(this.nodeName)}}}if(!b.support.focusinBubbles){b.each({focus:"focusin",blur:"focusout"},function(bx,e){var bv=0,bw=function(by){b.event.simulate(e,by.target,b.event.fix(by),true)};b.event.special[e]={setup:function(){if(bv++===0){av.addEventListener(bx,bw,true)}},teardown:function(){if(--bv===0){av.removeEventListener(bx,bw,true)}}}})}b.fn.extend({on:function(bw,e,bz,by,bv){var bA,bx;if(typeof bw==="object"){if(typeof e!=="string"){bz=e;e=L}for(bx in bw){this.on(bx,e,bz,bw[bx],bv)}return this}if(bz==null&&by==null){by=e;bz=e=L}else{if(by==null){if(typeof e==="string"){by=bz;bz=L}else{by=bz;bz=e;e=L}}}if(by===false){by=bk}else{if(!by){return this}}if(bv===1){bA=by;by=function(bB){b().off(bB);return bA.apply(this,arguments)};by.guid=bA.guid||(bA.guid=b.guid++)}return this.each(function(){b.event.add(this,bw,by,bz,e)})},one:function(bv,e,bx,bw){return this.on.call(this,bv,e,bx,bw,1)},off:function(bw,e,by){if(bw&&bw.preventDefault&&bw.handleObj){var bv=bw.handleObj;b(bw.delegateTarget).off(bv.namespace?bv.type+"."+bv.namespace:bv.type,bv.selector,bv.handler);return this}if(typeof bw==="object"){for(var bx in bw){this.off(bx,e,bw[bx])}return this}if(e===false||typeof e==="function"){by=e;e=L}if(by===false){by=bk}return this.each(function(){b.event.remove(this,bw,by,e)})},bind:function(e,bw,bv){return this.on(e,null,bw,bv)},unbind:function(e,bv){return this.off(e,null,bv)},live:function(e,bw,bv){b(this.context).on(e,this.selector,bw,bv);return this},die:function(e,bv){b(this.context).off(e,this.selector||"**",bv);return this},delegate:function(e,bv,bx,bw){return this.on(bv,e,bx,bw)},undelegate:function(e,bv,bw){return arguments.length==1?this.off(e,"**"):this.off(bv,e,bw)},trigger:function(e,bv){return this.each(function(){b.event.trigger(e,bv,this)})},triggerHandler:function(e,bv){if(this[0]){return b.event.trigger(e,bv,this[0],true)}},toggle:function(bx){var bv=arguments,e=bx.guid||b.guid++,bw=0,by=function(bz){var bA=(b._data(this,"lastToggle"+bx.guid)||0)%bw;b._data(this,"lastToggle"+bx.guid,bA+1);bz.preventDefault();return bv[bA].apply(this,arguments)||false};by.guid=e;while(bw<bv.length){bv[bw++].guid=e}return this.click(by)},hover:function(e,bv){return this.mouseenter(e).mouseleave(bv||e)}});b.each(("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu").split(" "),function(bv,e){b.fn[e]=function(bx,bw){if(bw==null){bw=bx;bx=null}return arguments.length>0?this.on(e,null,bx,bw):this.trigger(e)};if(b.attrFn){b.attrFn[e]=true}if(aO.test(e)){b.event.fixHooks[e]=b.event.keyHooks}if(bf.test(e)){b.event.fixHooks[e]=b.event.mouseHooks}});
-/*!
- * Sizzle CSS Selector Engine
- *  Copyright 2011, The Dojo Foundation
- *  Released under the MIT, BSD, and GPL Licenses.
- *  More information: http://sizzlejs.com/
- */
-(function(){var bH=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,bC="sizcache"+(Math.random()+"").replace(".",""),bI=0,bL=Object.prototype.toString,bB=false,bA=true,bK=/\\/g,bO=/\r\n/g,bQ=/\W/;[0,0].sort(function(){bA=false;return 0});var by=function(bV,e,bY,bZ){bY=bY||[];e=e||av;var b1=e;if(e.nodeType!==1&&e.nodeType!==9){return[]}if(!bV||typeof bV!=="string"){return bY}var bS,b3,b6,bR,b2,b5,b4,bX,bU=true,bT=by.isXML(e),bW=[],b0=bV;do{bH.exec("");bS=bH.exec(b0);if(bS){b0=bS[3];bW.push(bS[1]);if(bS[2]){bR=bS[3];break}}}while(bS);if(bW.length>1&&bD.exec(bV)){if(bW.length===2&&bE.relative[bW[0]]){b3=bM(bW[0]+bW[1],e,bZ)}else{b3=bE.relative[bW[0]]?[e]:by(bW.shift(),e);while(bW.length){bV=bW.shift();if(bE.relative[bV]){bV+=bW.shift()}b3=bM(bV,b3,bZ)}}}else{if(!bZ&&bW.length>1&&e.nodeType===9&&!bT&&bE.match.ID.test(bW[0])&&!bE.match.ID.test(bW[bW.length-1])){b2=by.find(bW.shift(),e,bT);e=b2.expr?by.filter(b2.expr,b2.set)[0]:b2.set[0]}if(e){b2=bZ?{expr:bW.pop(),set:bF(bZ)}:by.find(bW.pop(),bW.length===1&&(bW[0]==="~"||bW[0]==="+")&&e.parentNode?e.parentNode:e,bT);b3=b2.expr?by.filter(b2.expr,b2.set):b2.set;if(bW.length>0){b6=bF(b3)}else{bU=false}while(bW.length){b5=bW.pop();b4=b5;if(!bE.relative[b5]){b5=""}else{b4=bW.pop()}if(b4==null){b4=e}bE.relative[b5](b6,b4,bT)}}else{b6=bW=[]}}if(!b6){b6=b3}if(!b6){by.error(b5||bV)}if(bL.call(b6)==="[object Array]"){if(!bU){bY.push.apply(bY,b6)}else{if(e&&e.nodeType===1){for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&(b6[bX]===true||b6[bX].nodeType===1&&by.contains(e,b6[bX]))){bY.push(b3[bX])}}}else{for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&b6[bX].nodeType===1){bY.push(b3[bX])}}}}}else{bF(b6,bY)}if(bR){by(bR,b1,bY,bZ);by.uniqueSort(bY)}return bY};by.uniqueSort=function(bR){if(bJ){bB=bA;bR.sort(bJ);if(bB){for(var e=1;e<bR.length;e++){if(bR[e]===bR[e-1]){bR.splice(e--,1)}}}}return bR};by.matches=function(e,bR){return by(e,null,null,bR)};by.matchesSelector=function(e,bR){return by(bR,null,null,[e]).length>0};by.find=function(bX,e,bY){var bW,bS,bU,bT,bV,bR;if(!bX){return[]}for(bS=0,bU=bE.order.length;bS<bU;bS++){bV=bE.order[bS];if((bT=bE.leftMatch[bV].exec(bX))){bR=bT[1];bT.splice(1,1);if(bR.substr(bR.length-1)!=="\\"){bT[1]=(bT[1]||"").replace(bK,"");bW=bE.find[bV](bT,e,bY);if(bW!=null){bX=bX.replace(bE.match[bV],"");break}}}}if(!bW){bW=typeof e.getElementsByTagName!=="undefined"?e.getElementsByTagName("*"):[]}return{set:bW,expr:bX}};by.filter=function(b1,b0,b4,bU){var bW,e,bZ,b6,b3,bR,bT,bV,b2,bS=b1,b5=[],bY=b0,bX=b0&&b0[0]&&by.isXML(b0[0]);while(b1&&b0.length){for(bZ in bE.filter){if((bW=bE.leftMatch[bZ].exec(b1))!=null&&bW[2]){bR=bE.filter[bZ];bT=bW[1];e=false;bW.splice(1,1);if(bT.substr(bT.length-1)==="\\"){continue}if(bY===b5){b5=[]}if(bE.preFilter[bZ]){bW=bE.preFilter[bZ](bW,bY,b4,b5,bU,bX);if(!bW){e=b6=true}else{if(bW===true){continue}}}if(bW){for(bV=0;(b3=bY[bV])!=null;bV++){if(b3){b6=bR(b3,bW,bV,bY);b2=bU^b6;if(b4&&b6!=null){if(b2){e=true}else{bY[bV]=false}}else{if(b2){b5.push(b3);e=true}}}}}if(b6!==L){if(!b4){bY=b5}b1=b1.replace(bE.match[bZ],"");if(!e){return[]}break}}}if(b1===bS){if(e==null){by.error(b1)}else{break}}bS=b1}return bY};by.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)};var bw=by.getText=function(bU){var bS,bT,e=bU.nodeType,bR="";if(e){if(e===1||e===9){if(typeof bU.textContent==="string"){return bU.textContent}else{if(typeof bU.innerText==="string"){return bU.innerText.replace(bO,"")}else{for(bU=bU.firstChild;bU;bU=bU.nextSibling){bR+=bw(bU)}}}}else{if(e===3||e===4){return bU.nodeValue}}}else{for(bS=0;(bT=bU[bS]);bS++){if(bT.nodeType!==8){bR+=bw(bT)}}}return bR};var bE=by.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(e){return e.getAttribute("href")},type:function(e){return e.getAttribute("type")}},relative:{"+":function(bW,bR){var bT=typeof bR==="string",bV=bT&&!bQ.test(bR),bX=bT&&!bV;if(bV){bR=bR.toLowerCase()}for(var bS=0,e=bW.length,bU;bS<e;bS++){if((bU=bW[bS])){while((bU=bU.previousSibling)&&bU.nodeType!==1){}bW[bS]=bX||bU&&bU.nodeName.toLowerCase()===bR?bU||false:bU===bR}}if(bX){by.filter(bR,bW,true)}},">":function(bW,bR){var bV,bU=typeof bR==="string",bS=0,e=bW.length;if(bU&&!bQ.test(bR)){bR=bR.toLowerCase();for(;bS<e;bS++){bV=bW[bS];if(bV){var bT=bV.parentNode;bW[bS]=bT.nodeName.toLowerCase()===bR?bT:false}}}else{for(;bS<e;bS++){bV=bW[bS];if(bV){bW[bS]=bU?bV.parentNode:bV.parentNode===bR}}if(bU){by.filter(bR,bW,true)}}},"":function(bT,bR,bV){var bU,bS=bI++,e=bN;if(typeof bR==="string"&&!bQ.test(bR)){bR=bR.toLowerCase();bU=bR;e=bv}e("parentNode",bR,bS,bT,bU,bV)},"~":function(bT,bR,bV){var bU,bS=bI++,e=bN;if(typeof bR==="string"&&!bQ.test(bR)){bR=bR.toLowerCase();bU=bR;e=bv}e("previousSibling",bR,bS,bT,bU,bV)}},find:{ID:function(bR,bS,bT){if(typeof bS.getElementById!=="undefined"&&!bT){var e=bS.getElementById(bR[1]);return e&&e.parentNode?[e]:[]}},NAME:function(bS,bV){if(typeof bV.getElementsByName!=="undefined"){var bR=[],bU=bV.getElementsByName(bS[1]);for(var bT=0,e=bU.length;bT<e;bT++){if(bU[bT].getAttribute("name")===bS[1]){bR.push(bU[bT])}}return bR.length===0?null:bR}},TAG:function(e,bR){if(typeof bR.getElementsByTagName!=="undefined"){return bR.getElementsByTagName(e[1])}}},preFilter:{CLASS:function(bT,bR,bS,e,bW,bX){bT=" "+bT[1].replace(bK,"")+" ";if(bX){return bT}for(var bU=0,bV;(bV=bR[bU])!=null;bU++){if(bV){if(bW^(bV.className&&(" "+bV.className+" ").replace(/[\t\n\r]/g," ").indexOf(bT)>=0)){if(!bS){e.push(bV)}}else{if(bS){bR[bU]=false}}}}return false},ID:function(e){return e[1].replace(bK,"")},TAG:function(bR,e){return bR[1].replace(bK,"").toLowerCase()},CHILD:function(e){if(e[1]==="nth"){if(!e[2]){by.error(e[0])}e[2]=e[2].replace(/^\+|\s*/g,"");var bR=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(e[2]==="even"&&"2n"||e[2]==="odd"&&"2n+1"||!/\D/.test(e[2])&&"0n+"+e[2]||e[2]);e[2]=(bR[1]+(bR[2]||1))-0;e[3]=bR[3]-0}else{if(e[2]){by.error(e[0])}}e[0]=bI++;return e},ATTR:function(bU,bR,bS,e,bV,bW){var bT=bU[1]=bU[1].replace(bK,"");if(!bW&&bE.attrMap[bT]){bU[1]=bE.attrMap[bT]}bU[4]=(bU[4]||bU[5]||"").replace(bK,"");if(bU[2]==="~="){bU[4]=" "+bU[4]+" "}return bU},PSEUDO:function(bU,bR,bS,e,bV){if(bU[1]==="not"){if((bH.exec(bU[3])||"").length>1||/^\w/.test(bU[3])){bU[3]=by(bU[3],null,null,bR)}else{var bT=by.filter(bU[3],bR,bS,true^bV);if(!bS){e.push.apply(e,bT)}return false}}else{if(bE.match.POS.test(bU[0])||bE.match.CHILD.test(bU[0])){return true}}return bU},POS:function(e){e.unshift(true);return e}},filters:{enabled:function(e){return e.disabled===false&&e.type!=="hidden"},disabled:function(e){return e.disabled===true},checked:function(e){return e.checked===true},selected:function(e){if(e.parentNode){e.parentNode.selectedIndex}return e.selected===true},parent:function(e){return !!e.firstChild},empty:function(e){return !e.firstChild},has:function(bS,bR,e){return !!by(e[3],bS).length},header:function(e){return(/h\d/i).test(e.nodeName)},text:function(bS){var e=bS.getAttribute("type"),bR=bS.type;return bS.nodeName.toLowerCase()==="input"&&"text"===bR&&(e===bR||e===null)},radio:function(e){return e.nodeName.toLowerCase()==="input"&&"radio"===e.type},checkbox:function(e){return e.nodeName.toLowerCase()==="input"&&"checkbox"===e.type},file:function(e){return e.nodeName.toLowerCase()==="input"&&"file"===e.type},password:function(e){return e.nodeName.toLowerCase()==="input"&&"password"===e.type},submit:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"submit"===bR.type},image:function(e){return e.nodeName.toLowerCase()==="input"&&"image"===e.type},reset:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"reset"===bR.type},button:function(bR){var e=bR.nodeName.toLowerCase();return e==="input"&&"button"===bR.type||e==="button"},input:function(e){return(/input|select|textarea|button/i).test(e.nodeName)},focus:function(e){return e===e.ownerDocument.activeElement}},setFilters:{first:function(bR,e){return e===0},last:function(bS,bR,e,bT){return bR===bT.length-1},even:function(bR,e){return e%2===0},odd:function(bR,e){return e%2===1
-},lt:function(bS,bR,e){return bR<e[3]-0},gt:function(bS,bR,e){return bR>e[3]-0},nth:function(bS,bR,e){return e[3]-0===bR},eq:function(bS,bR,e){return e[3]-0===bR}},filter:{PSEUDO:function(bS,bX,bW,bY){var e=bX[1],bR=bE.filters[e];if(bR){return bR(bS,bW,bX,bY)}else{if(e==="contains"){return(bS.textContent||bS.innerText||bw([bS])||"").indexOf(bX[3])>=0}else{if(e==="not"){var bT=bX[3];for(var bV=0,bU=bT.length;bV<bU;bV++){if(bT[bV]===bS){return false}}return true}else{by.error(e)}}}},CHILD:function(bS,bU){var bT,b0,bW,bZ,e,bV,bY,bX=bU[1],bR=bS;switch(bX){case"only":case"first":while((bR=bR.previousSibling)){if(bR.nodeType===1){return false}}if(bX==="first"){return true}bR=bS;case"last":while((bR=bR.nextSibling)){if(bR.nodeType===1){return false}}return true;case"nth":bT=bU[2];b0=bU[3];if(bT===1&&b0===0){return true}bW=bU[0];bZ=bS.parentNode;if(bZ&&(bZ[bC]!==bW||!bS.nodeIndex)){bV=0;for(bR=bZ.firstChild;bR;bR=bR.nextSibling){if(bR.nodeType===1){bR.nodeIndex=++bV}}bZ[bC]=bW}bY=bS.nodeIndex-b0;if(bT===0){return bY===0}else{return(bY%bT===0&&bY/bT>=0)}}},ID:function(bR,e){return bR.nodeType===1&&bR.getAttribute("id")===e},TAG:function(bR,e){return(e==="*"&&bR.nodeType===1)||!!bR.nodeName&&bR.nodeName.toLowerCase()===e},CLASS:function(bR,e){return(" "+(bR.className||bR.getAttribute("class"))+" ").indexOf(e)>-1},ATTR:function(bV,bT){var bS=bT[1],e=by.attr?by.attr(bV,bS):bE.attrHandle[bS]?bE.attrHandle[bS](bV):bV[bS]!=null?bV[bS]:bV.getAttribute(bS),bW=e+"",bU=bT[2],bR=bT[4];return e==null?bU==="!=":!bU&&by.attr?e!=null:bU==="="?bW===bR:bU==="*="?bW.indexOf(bR)>=0:bU==="~="?(" "+bW+" ").indexOf(bR)>=0:!bR?bW&&e!==false:bU==="!="?bW!==bR:bU==="^="?bW.indexOf(bR)===0:bU==="$="?bW.substr(bW.length-bR.length)===bR:bU==="|="?bW===bR||bW.substr(0,bR.length+1)===bR+"-":false},POS:function(bU,bR,bS,bV){var e=bR[2],bT=bE.setFilters[e];if(bT){return bT(bU,bS,bR,bV)}}}};var bD=bE.match.POS,bx=function(bR,e){return"\\"+(e-0+1)};for(var bz in bE.match){bE.match[bz]=new RegExp(bE.match[bz].source+(/(?![^\[]*\])(?![^\(]*\))/.source));bE.leftMatch[bz]=new RegExp(/(^(?:.|\r|\n)*?)/.source+bE.match[bz].source.replace(/\\(\d+)/g,bx))}var bF=function(bR,e){bR=Array.prototype.slice.call(bR,0);if(e){e.push.apply(e,bR);return e}return bR};try{Array.prototype.slice.call(av.documentElement.childNodes,0)[0].nodeType}catch(bP){bF=function(bU,bT){var bS=0,bR=bT||[];if(bL.call(bU)==="[object Array]"){Array.prototype.push.apply(bR,bU)}else{if(typeof bU.length==="number"){for(var e=bU.length;bS<e;bS++){bR.push(bU[bS])}}else{for(;bU[bS];bS++){bR.push(bU[bS])}}}return bR}}var bJ,bG;if(av.documentElement.compareDocumentPosition){bJ=function(bR,e){if(bR===e){bB=true;return 0}if(!bR.compareDocumentPosition||!e.compareDocumentPosition){return bR.compareDocumentPosition?-1:1}return bR.compareDocumentPosition(e)&4?-1:1}}else{bJ=function(bY,bX){if(bY===bX){bB=true;return 0}else{if(bY.sourceIndex&&bX.sourceIndex){return bY.sourceIndex-bX.sourceIndex}}var bV,bR,bS=[],e=[],bU=bY.parentNode,bW=bX.parentNode,bZ=bU;if(bU===bW){return bG(bY,bX)}else{if(!bU){return -1}else{if(!bW){return 1}}}while(bZ){bS.unshift(bZ);bZ=bZ.parentNode}bZ=bW;while(bZ){e.unshift(bZ);bZ=bZ.parentNode}bV=bS.length;bR=e.length;for(var bT=0;bT<bV&&bT<bR;bT++){if(bS[bT]!==e[bT]){return bG(bS[bT],e[bT])}}return bT===bV?bG(bY,e[bT],-1):bG(bS[bT],bX,1)};bG=function(bR,e,bS){if(bR===e){return bS}var bT=bR.nextSibling;while(bT){if(bT===e){return -1}bT=bT.nextSibling}return 1}}(function(){var bR=av.createElement("div"),bS="script"+(new Date()).getTime(),e=av.documentElement;bR.innerHTML="<a name='"+bS+"'/>";e.insertBefore(bR,e.firstChild);if(av.getElementById(bS)){bE.find.ID=function(bU,bV,bW){if(typeof bV.getElementById!=="undefined"&&!bW){var bT=bV.getElementById(bU[1]);return bT?bT.id===bU[1]||typeof bT.getAttributeNode!=="undefined"&&bT.getAttributeNode("id").nodeValue===bU[1]?[bT]:L:[]}};bE.filter.ID=function(bV,bT){var bU=typeof bV.getAttributeNode!=="undefined"&&bV.getAttributeNode("id");return bV.nodeType===1&&bU&&bU.nodeValue===bT}}e.removeChild(bR);e=bR=null})();(function(){var e=av.createElement("div");e.appendChild(av.createComment(""));if(e.getElementsByTagName("*").length>0){bE.find.TAG=function(bR,bV){var bU=bV.getElementsByTagName(bR[1]);if(bR[1]==="*"){var bT=[];for(var bS=0;bU[bS];bS++){if(bU[bS].nodeType===1){bT.push(bU[bS])}}bU=bT}return bU}}e.innerHTML="<a href='#'></a>";if(e.firstChild&&typeof e.firstChild.getAttribute!=="undefined"&&e.firstChild.getAttribute("href")!=="#"){bE.attrHandle.href=function(bR){return bR.getAttribute("href",2)}}e=null})();if(av.querySelectorAll){(function(){var e=by,bT=av.createElement("div"),bS="__sizzle__";bT.innerHTML="<p class='TEST'></p>";if(bT.querySelectorAll&&bT.querySelectorAll(".TEST").length===0){return}by=function(b4,bV,bZ,b3){bV=bV||av;if(!b3&&!by.isXML(bV)){var b2=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b4);if(b2&&(bV.nodeType===1||bV.nodeType===9)){if(b2[1]){return bF(bV.getElementsByTagName(b4),bZ)}else{if(b2[2]&&bE.find.CLASS&&bV.getElementsByClassName){return bF(bV.getElementsByClassName(b2[2]),bZ)}}}if(bV.nodeType===9){if(b4==="body"&&bV.body){return bF([bV.body],bZ)}else{if(b2&&b2[3]){var bY=bV.getElementById(b2[3]);if(bY&&bY.parentNode){if(bY.id===b2[3]){return bF([bY],bZ)}}else{return bF([],bZ)}}}try{return bF(bV.querySelectorAll(b4),bZ)}catch(b0){}}else{if(bV.nodeType===1&&bV.nodeName.toLowerCase()!=="object"){var bW=bV,bX=bV.getAttribute("id"),bU=bX||bS,b6=bV.parentNode,b5=/^\s*[+~]/.test(b4);if(!bX){bV.setAttribute("id",bU)}else{bU=bU.replace(/'/g,"\\$&")}if(b5&&b6){bV=bV.parentNode}try{if(!b5||b6){return bF(bV.querySelectorAll("[id='"+bU+"'] "+b4),bZ)}}catch(b1){}finally{if(!bX){bW.removeAttribute("id")}}}}}return e(b4,bV,bZ,b3)};for(var bR in e){by[bR]=e[bR]}bT=null})()}(function(){var e=av.documentElement,bS=e.matchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.msMatchesSelector;if(bS){var bU=!bS.call(av.createElement("div"),"div"),bR=false;try{bS.call(av.documentElement,"[test!='']:sizzle")}catch(bT){bR=true}by.matchesSelector=function(bW,bY){bY=bY.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!by.isXML(bW)){try{if(bR||!bE.match.PSEUDO.test(bY)&&!/!=/.test(bY)){var bV=bS.call(bW,bY);if(bV||!bU||bW.document&&bW.document.nodeType!==11){return bV}}}catch(bX){}}return by(bY,null,null,[bW]).length>0}}})();(function(){var e=av.createElement("div");e.innerHTML="<div class='test e'></div><div class='test'></div>";if(!e.getElementsByClassName||e.getElementsByClassName("e").length===0){return}e.lastChild.className="e";if(e.getElementsByClassName("e").length===1){return}bE.order.splice(1,0,"CLASS");bE.find.CLASS=function(bR,bS,bT){if(typeof bS.getElementsByClassName!=="undefined"&&!bT){return bS.getElementsByClassName(bR[1])}};e=null})();function bv(bR,bW,bV,bZ,bX,bY){for(var bT=0,bS=bZ.length;bT<bS;bT++){var e=bZ[bT];if(e){var bU=false;e=e[bR];while(e){if(e[bC]===bV){bU=bZ[e.sizset];break}if(e.nodeType===1&&!bY){e[bC]=bV;e.sizset=bT}if(e.nodeName.toLowerCase()===bW){bU=e;break}e=e[bR]}bZ[bT]=bU}}}function bN(bR,bW,bV,bZ,bX,bY){for(var bT=0,bS=bZ.length;bT<bS;bT++){var e=bZ[bT];if(e){var bU=false;e=e[bR];while(e){if(e[bC]===bV){bU=bZ[e.sizset];break}if(e.nodeType===1){if(!bY){e[bC]=bV;e.sizset=bT}if(typeof bW!=="string"){if(e===bW){bU=true;break}}else{if(by.filter(bW,[e]).length>0){bU=e;break}}}e=e[bR]}bZ[bT]=bU}}}if(av.documentElement.contains){by.contains=function(bR,e){return bR!==e&&(bR.contains?bR.contains(e):true)}}else{if(av.documentElement.compareDocumentPosition){by.contains=function(bR,e){return !!(bR.compareDocumentPosition(e)&16)}}else{by.contains=function(){return false}}}by.isXML=function(e){var bR=(e?e.ownerDocument||e:0).documentElement;return bR?bR.nodeName!=="HTML":false};var bM=function(bS,e,bW){var bV,bX=[],bU="",bY=e.nodeType?[e]:e;while((bV=bE.match.PSEUDO.exec(bS))){bU+=bV[0];bS=bS.replace(bE.match.PSEUDO,"")}bS=bE.relative[bS]?bS+"*":bS;for(var bT=0,bR=bY.length;bT<bR;bT++){by(bS,bY[bT],bX,bW)}return by.filter(bU,bX)};by.attr=b.attr;by.selectors.attrMap={};b.find=by;b.expr=by.selectors;b.expr[":"]=b.expr.filters;b.unique=by.uniqueSort;b.text=by.getText;b.isXMLDoc=by.isXML;b.contains=by.contains})();var ab=/Until$/,aq=/^(?:parents|prevUntil|prevAll)/,a9=/,/,bp=/^.[^:#\[\.,]*$/,P=Array.prototype.slice,H=b.expr.match.POS,ay={children:true,contents:true,next:true,prev:true};b.fn.extend({find:function(e){var bw=this,by,bv;if(typeof e!=="string"){return b(e).filter(function(){for(by=0,bv=bw.length;by<bv;by++){if(b.contains(bw[by],this)){return true}}})}var bx=this.pushStack("","find",e),bA,bB,bz;for(by=0,bv=this.length;by<bv;by++){bA=bx.length;b.find(e,this[by],bx);if(by>0){for(bB=bA;bB<bx.length;bB++){for(bz=0;bz<bA;bz++){if(bx[bz]===bx[bB]){bx.splice(bB--,1);break}}}}}return bx},has:function(bv){var e=b(bv);return this.filter(function(){for(var bx=0,bw=e.length;bx<bw;bx++){if(b.contains(this,e[bx])){return true}}})},not:function(e){return this.pushStack(aG(this,e,false),"not",e)},filter:function(e){return this.pushStack(aG(this,e,true),"filter",e)},is:function(e){return !!e&&(typeof e==="string"?H.test(e)?b(e,this.context).index(this[0])>=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(by,bx){var bv=[],bw,e,bz=this[0];if(b.isArray(by)){var bB=1;while(bz&&bz.ownerDocument&&bz!==bx){for(bw=0;bw<by.length;bw++){if(b(bz).is(by[bw])){bv.push({selector:by[bw],elem:bz,level:bB})}}bz=bz.parentNode;bB++}return bv}var bA=H.test(by)||typeof by!=="string"?b(by,bx||this.context):0;for(bw=0,e=this.length;bw<e;bw++){bz=this[bw];while(bz){if(bA?bA.index(bz)>-1:b.find.matchesSelector(bz,by)){bv.push(bz);break}else{bz=bz.parentNode;if(!bz||!bz.ownerDocument||bz===bx||bz.nodeType===11){break}}}}bv=bv.length>1?b.unique(bv):bv;return this.pushStack(bv,"closest",by)},index:function(e){if(!e){return(this[0]&&this[0].parentNode)?this.prevAll().length:-1}if(typeof e==="string"){return b.inArray(this[0],b(e))}return b.inArray(e.jquery?e[0]:e,this)},add:function(e,bv){var bx=typeof e==="string"?b(e,bv):b.makeArray(e&&e.nodeType?[e]:e),bw=b.merge(this.get(),bx);return this.pushStack(C(bx[0])||C(bw[0])?bw:b.unique(bw))},andSelf:function(){return this.add(this.prevObject)}});function C(e){return !e||!e.parentNode||e.parentNode.nodeType===11}b.each({parent:function(bv){var e=bv.parentNode;return e&&e.nodeType!==11?e:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(bv,e,bw){return b.dir(bv,"parentNode",bw)},next:function(e){return b.nth(e,2,"nextSibling")},prev:function(e){return b.nth(e,2,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(bv,e,bw){return b.dir(bv,"nextSibling",bw)},prevUntil:function(bv,e,bw){return b.dir(bv,"previousSibling",bw)},siblings:function(e){return b.sibling(e.parentNode.firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.makeArray(e.childNodes)}},function(e,bv){b.fn[e]=function(by,bw){var bx=b.map(this,bv,by);if(!ab.test(e)){bw=by}if(bw&&typeof bw==="string"){bx=b.filter(bw,bx)}bx=this.length>1&&!ay[e]?b.unique(bx):bx;if((this.length>1||a9.test(bw))&&aq.test(e)){bx=bx.reverse()}return this.pushStack(bx,e,P.call(arguments).join(","))}});b.extend({filter:function(bw,e,bv){if(bv){bw=":not("+bw+")"}return e.length===1?b.find.matchesSelector(e[0],bw)?[e[0]]:[]:b.find.matches(bw,e)},dir:function(bw,bv,by){var e=[],bx=bw[bv];while(bx&&bx.nodeType!==9&&(by===L||bx.nodeType!==1||!b(bx).is(by))){if(bx.nodeType===1){e.push(bx)}bx=bx[bv]}return e},nth:function(by,e,bw,bx){e=e||1;var bv=0;for(;by;by=by[bw]){if(by.nodeType===1&&++bv===e){break}}return by},sibling:function(bw,bv){var e=[];for(;bw;bw=bw.nextSibling){if(bw.nodeType===1&&bw!==bv){e.push(bw)}}return e}});function aG(bx,bw,e){bw=bw||0;if(b.isFunction(bw)){return b.grep(bx,function(bz,by){var bA=!!bw.call(bz,by,bz);return bA===e})}else{if(bw.nodeType){return b.grep(bx,function(bz,by){return(bz===bw)===e})}else{if(typeof bw==="string"){var bv=b.grep(bx,function(by){return by.nodeType===1});if(bp.test(bw)){return b.filter(bw,bv,!e)}else{bw=b.filter(bw,bv)}}}}return b.grep(bx,function(bz,by){return(b.inArray(bz,bw)>=0)===e})}function a(e){var bw=aR.split("|"),bv=e.createDocumentFragment();if(bv.createElement){while(bw.length){bv.createElement(bw.pop())}}return bv}var aR="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ag=/ jQuery\d+="(?:\d+|null)"/g,ar=/^\s+/,R=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,d=/<([\w:]+)/,w=/<tbody/i,W=/<|&#?\w+;/,ae=/<(?:script|style)/i,O=/<(?:script|object|embed|option|style)/i,ah=new RegExp("<(?:"+aR+")","i"),o=/checked\s*(?:[^=]|=\s*.checked.)/i,bm=/\/(java|ecma)script/i,aN=/^\s*<!(?:\[CDATA\[|\-\-)/,ax={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]},ac=a(av);
-ax.optgroup=ax.option;ax.tbody=ax.tfoot=ax.colgroup=ax.caption=ax.thead;ax.th=ax.td;if(!b.support.htmlSerialize){ax._default=[1,"div<div>","</div>"]}b.fn.extend({text:function(e){if(b.isFunction(e)){return this.each(function(bw){var bv=b(this);bv.text(e.call(this,bw,bv.text()))})}if(typeof e!=="object"&&e!==L){return this.empty().append((this[0]&&this[0].ownerDocument||av).createTextNode(e))}return b.text(this)},wrapAll:function(e){if(b.isFunction(e)){return this.each(function(bw){b(this).wrapAll(e.call(this,bw))})}if(this[0]){var bv=b(e,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){bv.insertBefore(this[0])}bv.map(function(){var bw=this;while(bw.firstChild&&bw.firstChild.nodeType===1){bw=bw.firstChild}return bw}).append(this)}return this},wrapInner:function(e){if(b.isFunction(e)){return this.each(function(bv){b(this).wrapInner(e.call(this,bv))})}return this.each(function(){var bv=b(this),bw=bv.contents();if(bw.length){bw.wrapAll(e)}else{bv.append(e)}})},wrap:function(e){var bv=b.isFunction(e);return this.each(function(bw){b(this).wrapAll(bv?e.call(this,bw):e)})},unwrap:function(){return this.parent().each(function(){if(!b.nodeName(this,"body")){b(this).replaceWith(this.childNodes)}}).end()},append:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.appendChild(e)}})},prepend:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.insertBefore(e,this.firstChild)}})},before:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this)})}else{if(arguments.length){var e=b.clean(arguments);e.push.apply(e,this.toArray());return this.pushStack(e,"before",arguments)}}},after:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this.nextSibling)})}else{if(arguments.length){var e=this.pushStack(this,"after",arguments);e.push.apply(e,b.clean(arguments));return e}}},remove:function(e,bx){for(var bv=0,bw;(bw=this[bv])!=null;bv++){if(!e||b.filter(e,[bw]).length){if(!bx&&bw.nodeType===1){b.cleanData(bw.getElementsByTagName("*"));b.cleanData([bw])}if(bw.parentNode){bw.parentNode.removeChild(bw)}}}return this},empty:function(){for(var e=0,bv;(bv=this[e])!=null;e++){if(bv.nodeType===1){b.cleanData(bv.getElementsByTagName("*"))}while(bv.firstChild){bv.removeChild(bv.firstChild)}}return this},clone:function(bv,e){bv=bv==null?false:bv;e=e==null?bv:e;return this.map(function(){return b.clone(this,bv,e)})},html:function(bx){if(bx===L){return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(ag,""):null}else{if(typeof bx==="string"&&!ae.test(bx)&&(b.support.leadingWhitespace||!ar.test(bx))&&!ax[(d.exec(bx)||["",""])[1].toLowerCase()]){bx=bx.replace(R,"<$1></$2>");try{for(var bw=0,bv=this.length;bw<bv;bw++){if(this[bw].nodeType===1){b.cleanData(this[bw].getElementsByTagName("*"));this[bw].innerHTML=bx}}}catch(by){this.empty().append(bx)}}else{if(b.isFunction(bx)){this.each(function(bz){var e=b(this);e.html(bx.call(this,bz,e.html()))})}else{this.empty().append(bx)}}}return this},replaceWith:function(e){if(this[0]&&this[0].parentNode){if(b.isFunction(e)){return this.each(function(bx){var bw=b(this),bv=bw.html();bw.replaceWith(e.call(this,bx,bv))})}if(typeof e!=="string"){e=b(e).detach()}return this.each(function(){var bw=this.nextSibling,bv=this.parentNode;b(this).remove();if(bw){b(bw).before(e)}else{b(bv).append(e)}})}else{return this.length?this.pushStack(b(b.isFunction(e)?e():e),"replaceWith",e):this}},detach:function(e){return this.remove(e,true)},domManip:function(bB,bF,bE){var bx,by,bA,bD,bC=bB[0],bv=[];if(!b.support.checkClone&&arguments.length===3&&typeof bC==="string"&&o.test(bC)){return this.each(function(){b(this).domManip(bB,bF,bE,true)})}if(b.isFunction(bC)){return this.each(function(bH){var bG=b(this);bB[0]=bC.call(this,bH,bF?bG.html():L);bG.domManip(bB,bF,bE)})}if(this[0]){bD=bC&&bC.parentNode;if(b.support.parentNode&&bD&&bD.nodeType===11&&bD.childNodes.length===this.length){bx={fragment:bD}}else{bx=b.buildFragment(bB,this,bv)}bA=bx.fragment;if(bA.childNodes.length===1){by=bA=bA.firstChild}else{by=bA.firstChild}if(by){bF=bF&&b.nodeName(by,"tr");for(var bw=0,e=this.length,bz=e-1;bw<e;bw++){bE.call(bF?ba(this[bw],by):this[bw],bx.cacheable||(e>1&&bw<bz)?b.clone(bA,true,true):bA)}}if(bv.length){b.each(bv,bo)}}return this}});function ba(e,bv){return b.nodeName(e,"table")?(e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody"))):e}function t(bB,bv){if(bv.nodeType!==1||!b.hasData(bB)){return}var by,bx,e,bA=b._data(bB),bz=b._data(bv,bA),bw=bA.events;if(bw){delete bz.handle;bz.events={};for(by in bw){for(bx=0,e=bw[by].length;bx<e;bx++){b.event.add(bv,by+(bw[by][bx].namespace?".":"")+bw[by][bx].namespace,bw[by][bx],bw[by][bx].data)}}}if(bz.data){bz.data=b.extend({},bz.data)}}function ai(bv,e){var bw;if(e.nodeType!==1){return}if(e.clearAttributes){e.clearAttributes()}if(e.mergeAttributes){e.mergeAttributes(bv)}bw=e.nodeName.toLowerCase();if(bw==="object"){e.outerHTML=bv.outerHTML}else{if(bw==="input"&&(bv.type==="checkbox"||bv.type==="radio")){if(bv.checked){e.defaultChecked=e.checked=bv.checked}if(e.value!==bv.value){e.value=bv.value}}else{if(bw==="option"){e.selected=bv.defaultSelected}else{if(bw==="input"||bw==="textarea"){e.defaultValue=bv.defaultValue}}}}e.removeAttribute(b.expando)}b.buildFragment=function(bz,bx,bv){var by,e,bw,bA,bB=bz[0];if(bx&&bx[0]){bA=bx[0].ownerDocument||bx[0]}if(!bA.createDocumentFragment){bA=av}if(bz.length===1&&typeof bB==="string"&&bB.length<512&&bA===av&&bB.charAt(0)==="<"&&!O.test(bB)&&(b.support.checkClone||!o.test(bB))&&(b.support.html5Clone||!ah.test(bB))){e=true;bw=b.fragments[bB];if(bw&&bw!==1){by=bw}}if(!by){by=bA.createDocumentFragment();b.clean(bz,bA,by,bv)}if(e){b.fragments[bB]=bw?by:1}return{fragment:by,cacheable:e}};b.fragments={};b.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,bv){b.fn[e]=function(bw){var bz=[],bC=b(bw),bB=this.length===1&&this[0].parentNode;if(bB&&bB.nodeType===11&&bB.childNodes.length===1&&bC.length===1){bC[bv](this[0]);return this}else{for(var bA=0,bx=bC.length;bA<bx;bA++){var by=(bA>0?this.clone(true):this).get();b(bC[bA])[bv](by);bz=bz.concat(by)}return this.pushStack(bz,e,bC.selector)}}});function bg(e){if(typeof e.getElementsByTagName!=="undefined"){return e.getElementsByTagName("*")}else{if(typeof e.querySelectorAll!=="undefined"){return e.querySelectorAll("*")}else{return[]}}}function az(e){if(e.type==="checkbox"||e.type==="radio"){e.defaultChecked=e.checked}}function E(e){var bv=(e.nodeName||"").toLowerCase();if(bv==="input"){az(e)}else{if(bv!=="script"&&typeof e.getElementsByTagName!=="undefined"){b.grep(e.getElementsByTagName("input"),az)}}}function al(e){var bv=av.createElement("div");ac.appendChild(bv);bv.innerHTML=e.outerHTML;return bv.firstChild}b.extend({clone:function(by,bA,bw){var e,bv,bx,bz=b.support.html5Clone||!ah.test("<"+by.nodeName)?by.cloneNode(true):al(by);if((!b.support.noCloneEvent||!b.support.noCloneChecked)&&(by.nodeType===1||by.nodeType===11)&&!b.isXMLDoc(by)){ai(by,bz);e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){if(bv[bx]){ai(e[bx],bv[bx])}}}if(bA){t(by,bz);if(bw){e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){t(e[bx],bv[bx])}}}e=bv=null;return bz},clean:function(bw,by,bH,bA){var bF;by=by||av;if(typeof by.createElement==="undefined"){by=by.ownerDocument||by[0]&&by[0].ownerDocument||av}var bI=[],bB;for(var bE=0,bz;(bz=bw[bE])!=null;bE++){if(typeof bz==="number"){bz+=""}if(!bz){continue}if(typeof bz==="string"){if(!W.test(bz)){bz=by.createTextNode(bz)}else{bz=bz.replace(R,"<$1></$2>");var bK=(d.exec(bz)||["",""])[1].toLowerCase(),bx=ax[bK]||ax._default,bD=bx[0],bv=by.createElement("div");if(by===av){ac.appendChild(bv)}else{a(by).appendChild(bv)}bv.innerHTML=bx[1]+bz+bx[2];while(bD--){bv=bv.lastChild}if(!b.support.tbody){var e=w.test(bz),bC=bK==="table"&&!e?bv.firstChild&&bv.firstChild.childNodes:bx[1]==="<table>"&&!e?bv.childNodes:[];for(bB=bC.length-1;bB>=0;--bB){if(b.nodeName(bC[bB],"tbody")&&!bC[bB].childNodes.length){bC[bB].parentNode.removeChild(bC[bB])}}}if(!b.support.leadingWhitespace&&ar.test(bz)){bv.insertBefore(by.createTextNode(ar.exec(bz)[0]),bv.firstChild)}bz=bv.childNodes}}var bG;if(!b.support.appendChecked){if(bz[0]&&typeof(bG=bz.length)==="number"){for(bB=0;bB<bG;bB++){E(bz[bB])}}else{E(bz)}}if(bz.nodeType){bI.push(bz)}else{bI=b.merge(bI,bz)}}if(bH){bF=function(bL){return !bL.type||bm.test(bL.type)};for(bE=0;bI[bE];bE++){if(bA&&b.nodeName(bI[bE],"script")&&(!bI[bE].type||bI[bE].type.toLowerCase()==="text/javascript")){bA.push(bI[bE].parentNode?bI[bE].parentNode.removeChild(bI[bE]):bI[bE])}else{if(bI[bE].nodeType===1){var bJ=b.grep(bI[bE].getElementsByTagName("script"),bF);bI.splice.apply(bI,[bE+1,0].concat(bJ))}bH.appendChild(bI[bE])}}}return bI},cleanData:function(bv){var by,bw,e=b.cache,bB=b.event.special,bA=b.support.deleteExpando;for(var bz=0,bx;(bx=bv[bz])!=null;bz++){if(bx.nodeName&&b.noData[bx.nodeName.toLowerCase()]){continue}bw=bx[b.expando];if(bw){by=e[bw];if(by&&by.events){for(var bC in by.events){if(bB[bC]){b.event.remove(bx,bC)}else{b.removeEvent(bx,bC,by.handle)}}if(by.handle){by.handle.elem=null}}if(bA){delete bx[b.expando]}else{if(bx.removeAttribute){bx.removeAttribute(b.expando)}}delete e[bw]}}}});function bo(e,bv){if(bv.src){b.ajax({url:bv.src,async:false,dataType:"script"})}else{b.globalEval((bv.text||bv.textContent||bv.innerHTML||"").replace(aN,"/*$0*/"))}if(bv.parentNode){bv.parentNode.removeChild(bv)}}var ak=/alpha\([^)]*\)/i,au=/opacity=([^)]*)/,z=/([A-Z]|^ms)/g,bc=/^-?\d+(?:px)?$/i,bn=/^-?\d/,I=/^([\-+])=([\-+.\de]+)/,a7={position:"absolute",visibility:"hidden",display:"block"},an=["Left","Right"],a1=["Top","Bottom"],Z,aI,aX;b.fn.css=function(e,bv){if(arguments.length===2&&bv===L){return this}return b.access(this,e,bv,true,function(bx,bw,by){return by!==L?b.style(bx,bw,by):b.css(bx,bw)})};b.extend({cssHooks:{opacity:{get:function(bw,bv){if(bv){var e=Z(bw,"opacity","opacity");return e===""?"1":e}else{return bw.style.opacity}}}},cssNumber:{fillOpacity:true,fontWeight:true,lineHeight:true,opacity:true,orphans:true,widows:true,zIndex:true,zoom:true},cssProps:{"float":b.support.cssFloat?"cssFloat":"styleFloat"},style:function(bx,bw,bD,by){if(!bx||bx.nodeType===3||bx.nodeType===8||!bx.style){return}var bB,bC,bz=b.camelCase(bw),bv=bx.style,bE=b.cssHooks[bz];bw=b.cssProps[bz]||bz;if(bD!==L){bC=typeof bD;if(bC==="string"&&(bB=I.exec(bD))){bD=(+(bB[1]+1)*+bB[2])+parseFloat(b.css(bx,bw));bC="number"}if(bD==null||bC==="number"&&isNaN(bD)){return}if(bC==="number"&&!b.cssNumber[bz]){bD+="px"}if(!bE||!("set" in bE)||(bD=bE.set(bx,bD))!==L){try{bv[bw]=bD}catch(bA){}}}else{if(bE&&"get" in bE&&(bB=bE.get(bx,false,by))!==L){return bB}return bv[bw]}},css:function(by,bx,bv){var bw,e;bx=b.camelCase(bx);e=b.cssHooks[bx];bx=b.cssProps[bx]||bx;if(bx==="cssFloat"){bx="float"}if(e&&"get" in e&&(bw=e.get(by,true,bv))!==L){return bw}else{if(Z){return Z(by,bx)}}},swap:function(bx,bw,by){var e={};for(var bv in bw){e[bv]=bx.style[bv];bx.style[bv]=bw[bv]}by.call(bx);for(bv in bw){bx.style[bv]=e[bv]}}});b.curCSS=b.css;b.each(["height","width"],function(bv,e){b.cssHooks[e]={get:function(by,bx,bw){var bz;if(bx){if(by.offsetWidth!==0){return p(by,e,bw)}else{b.swap(by,a7,function(){bz=p(by,e,bw)})}return bz}},set:function(bw,bx){if(bc.test(bx)){bx=parseFloat(bx);if(bx>=0){return bx+"px"}}else{return bx}}}});if(!b.support.opacity){b.cssHooks.opacity={get:function(bv,e){return au.test((e&&bv.currentStyle?bv.currentStyle.filter:bv.style.filter)||"")?(parseFloat(RegExp.$1)/100)+"":e?"1":""},set:function(by,bz){var bx=by.style,bv=by.currentStyle,e=b.isNumeric(bz)?"alpha(opacity="+bz*100+")":"",bw=bv&&bv.filter||bx.filter||"";bx.zoom=1;if(bz>=1&&b.trim(bw.replace(ak,""))===""){bx.removeAttribute("filter");if(bv&&!bv.filter){return}}bx.filter=ak.test(bw)?bw.replace(ak,e):bw+" "+e}}}b(function(){if(!b.support.reliableMarginRight){b.cssHooks.marginRight={get:function(bw,bv){var e;b.swap(bw,{display:"inline-block"},function(){if(bv){e=Z(bw,"margin-right","marginRight")}else{e=bw.style.marginRight}});return e}}}});if(av.defaultView&&av.defaultView.getComputedStyle){aI=function(by,bw){var bv,bx,e;bw=bw.replace(z,"-$1").toLowerCase();if((bx=by.ownerDocument.defaultView)&&(e=bx.getComputedStyle(by,null))){bv=e.getPropertyValue(bw);if(bv===""&&!b.contains(by.ownerDocument.documentElement,by)){bv=b.style(by,bw)}}return bv}}if(av.documentElement.currentStyle){aX=function(bz,bw){var bA,e,by,bv=bz.currentStyle&&bz.currentStyle[bw],bx=bz.style;if(bv===null&&bx&&(by=bx[bw])){bv=by}if(!bc.test(bv)&&bn.test(bv)){bA=bx.left;e=bz.runtimeStyle&&bz.runtimeStyle.left;if(e){bz.runtimeStyle.left=bz.currentStyle.left}bx.left=bw==="fontSize"?"1em":(bv||0);bv=bx.pixelLeft+"px";bx.left=bA;if(e){bz.runtimeStyle.left=e}}return bv===""?"auto":bv}}Z=aI||aX;function p(by,bw,bv){var bA=bw==="width"?by.offsetWidth:by.offsetHeight,bz=bw==="width"?an:a1,bx=0,e=bz.length;
-if(bA>0){if(bv!=="border"){for(;bx<e;bx++){if(!bv){bA-=parseFloat(b.css(by,"padding"+bz[bx]))||0}if(bv==="margin"){bA+=parseFloat(b.css(by,bv+bz[bx]))||0}else{bA-=parseFloat(b.css(by,"border"+bz[bx]+"Width"))||0}}}return bA+"px"}bA=Z(by,bw,bw);if(bA<0||bA==null){bA=by.style[bw]||0}bA=parseFloat(bA)||0;if(bv){for(;bx<e;bx++){bA+=parseFloat(b.css(by,"padding"+bz[bx]))||0;if(bv!=="padding"){bA+=parseFloat(b.css(by,"border"+bz[bx]+"Width"))||0}if(bv==="margin"){bA+=parseFloat(b.css(by,bv+bz[bx]))||0}}}return bA+"px"}if(b.expr&&b.expr.filters){b.expr.filters.hidden=function(bw){var bv=bw.offsetWidth,e=bw.offsetHeight;return(bv===0&&e===0)||(!b.support.reliableHiddenOffsets&&((bw.style&&bw.style.display)||b.css(bw,"display"))==="none")};b.expr.filters.visible=function(e){return !b.expr.filters.hidden(e)}}var k=/%20/g,ap=/\[\]$/,bs=/\r?\n/g,bq=/#.*$/,aD=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,aZ=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,aM=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,aQ=/^(?:GET|HEAD)$/,c=/^\/\//,M=/\?/,a6=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,q=/^(?:select|textarea)/i,h=/\s+/,br=/([?&])_=[^&]*/,K=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,A=b.fn.load,aa={},r={},aE,s,aV=["*/"]+["*"];try{aE=bl.href}catch(aw){aE=av.createElement("a");aE.href="";aE=aE.href}s=K.exec(aE.toLowerCase())||[];function f(e){return function(by,bA){if(typeof by!=="string"){bA=by;by="*"}if(b.isFunction(bA)){var bx=by.toLowerCase().split(h),bw=0,bz=bx.length,bv,bB,bC;for(;bw<bz;bw++){bv=bx[bw];bC=/^\+/.test(bv);if(bC){bv=bv.substr(1)||"*"}bB=e[bv]=e[bv]||[];bB[bC?"unshift":"push"](bA)}}}}function aW(bv,bE,bz,bD,bB,bx){bB=bB||bE.dataTypes[0];bx=bx||{};bx[bB]=true;var bA=bv[bB],bw=0,e=bA?bA.length:0,by=(bv===aa),bC;for(;bw<e&&(by||!bC);bw++){bC=bA[bw](bE,bz,bD);if(typeof bC==="string"){if(!by||bx[bC]){bC=L}else{bE.dataTypes.unshift(bC);bC=aW(bv,bE,bz,bD,bC,bx)}}}if((by||!bC)&&!bx["*"]){bC=aW(bv,bE,bz,bD,"*",bx)}return bC}function am(bw,bx){var bv,e,by=b.ajaxSettings.flatOptions||{};for(bv in bx){if(bx[bv]!==L){(by[bv]?bw:(e||(e={})))[bv]=bx[bv]}}if(e){b.extend(true,bw,e)}}b.fn.extend({load:function(bw,bz,bA){if(typeof bw!=="string"&&A){return A.apply(this,arguments)}else{if(!this.length){return this}}var by=bw.indexOf(" ");if(by>=0){var e=bw.slice(by,bw.length);bw=bw.slice(0,by)}var bx="GET";if(bz){if(b.isFunction(bz)){bA=bz;bz=L}else{if(typeof bz==="object"){bz=b.param(bz,b.ajaxSettings.traditional);bx="POST"}}}var bv=this;b.ajax({url:bw,type:bx,dataType:"html",data:bz,complete:function(bC,bB,bD){bD=bC.responseText;if(bC.isResolved()){bC.done(function(bE){bD=bE});bv.html(e?b("<div>").append(bD.replace(a6,"")).find(e):bD)}if(bA){bv.each(bA,[bD,bB,bC])}}});return this},serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?b.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||q.test(this.nodeName)||aZ.test(this.type))}).map(function(e,bv){var bw=b(this).val();return bw==null?null:b.isArray(bw)?b.map(bw,function(by,bx){return{name:bv.name,value:by.replace(bs,"\r\n")}}):{name:bv.name,value:bw.replace(bs,"\r\n")}}).get()}});b.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,bv){b.fn[bv]=function(bw){return this.on(bv,bw)}});b.each(["get","post"],function(e,bv){b[bv]=function(bw,by,bz,bx){if(b.isFunction(by)){bx=bx||bz;bz=by;by=L}return b.ajax({type:bv,url:bw,data:by,success:bz,dataType:bx})}});b.extend({getScript:function(e,bv){return b.get(e,L,bv,"script")},getJSON:function(e,bv,bw){return b.get(e,bv,bw,"json")},ajaxSetup:function(bv,e){if(e){am(bv,b.ajaxSettings)}else{e=bv;bv=b.ajaxSettings}am(bv,e);return bv},ajaxSettings:{url:aE,isLocal:aM.test(s[1]),global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":aV},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":bb.String,"text html":true,"text json":b.parseJSON,"text xml":b.parseXML},flatOptions:{context:true,url:true}},ajaxPrefilter:f(aa),ajaxTransport:f(r),ajax:function(bz,bx){if(typeof bz==="object"){bx=bz;bz=L}bx=bx||{};var bD=b.ajaxSetup({},bx),bS=bD.context||bD,bG=bS!==bD&&(bS.nodeType||bS instanceof b)?b(bS):b.event,bR=b.Deferred(),bN=b.Callbacks("once memory"),bB=bD.statusCode||{},bC,bH={},bO={},bQ,by,bL,bE,bI,bA=0,bw,bK,bJ={readyState:0,setRequestHeader:function(bT,bU){if(!bA){var e=bT.toLowerCase();bT=bO[e]=bO[e]||bT;bH[bT]=bU}return this},getAllResponseHeaders:function(){return bA===2?bQ:null},getResponseHeader:function(bT){var e;if(bA===2){if(!by){by={};while((e=aD.exec(bQ))){by[e[1].toLowerCase()]=e[2]}}e=by[bT.toLowerCase()]}return e===L?null:e},overrideMimeType:function(e){if(!bA){bD.mimeType=e}return this},abort:function(e){e=e||"abort";if(bL){bL.abort(e)}bF(0,e);return this}};function bF(bZ,bU,b0,bW){if(bA===2){return}bA=2;if(bE){clearTimeout(bE)}bL=L;bQ=bW||"";bJ.readyState=bZ>0?4:0;var bT,b4,b3,bX=bU,bY=b0?bj(bD,bJ,b0):L,bV,b2;if(bZ>=200&&bZ<300||bZ===304){if(bD.ifModified){if((bV=bJ.getResponseHeader("Last-Modified"))){b.lastModified[bC]=bV}if((b2=bJ.getResponseHeader("Etag"))){b.etag[bC]=b2}}if(bZ===304){bX="notmodified";bT=true}else{try{b4=G(bD,bY);bX="success";bT=true}catch(b1){bX="parsererror";b3=b1}}}else{b3=bX;if(!bX||bZ){bX="error";if(bZ<0){bZ=0}}}bJ.status=bZ;bJ.statusText=""+(bU||bX);if(bT){bR.resolveWith(bS,[b4,bX,bJ])}else{bR.rejectWith(bS,[bJ,bX,b3])}bJ.statusCode(bB);bB=L;if(bw){bG.trigger("ajax"+(bT?"Success":"Error"),[bJ,bD,bT?b4:b3])}bN.fireWith(bS,[bJ,bX]);if(bw){bG.trigger("ajaxComplete",[bJ,bD]);if(!(--b.active)){b.event.trigger("ajaxStop")}}}bR.promise(bJ);bJ.success=bJ.done;bJ.error=bJ.fail;bJ.complete=bN.add;bJ.statusCode=function(bT){if(bT){var e;if(bA<2){for(e in bT){bB[e]=[bB[e],bT[e]]}}else{e=bT[bJ.status];bJ.then(e,e)}}return this};bD.url=((bz||bD.url)+"").replace(bq,"").replace(c,s[1]+"//");bD.dataTypes=b.trim(bD.dataType||"*").toLowerCase().split(h);if(bD.crossDomain==null){bI=K.exec(bD.url.toLowerCase());bD.crossDomain=!!(bI&&(bI[1]!=s[1]||bI[2]!=s[2]||(bI[3]||(bI[1]==="http:"?80:443))!=(s[3]||(s[1]==="http:"?80:443))))}if(bD.data&&bD.processData&&typeof bD.data!=="string"){bD.data=b.param(bD.data,bD.traditional)}aW(aa,bD,bx,bJ);if(bA===2){return false}bw=bD.global;bD.type=bD.type.toUpperCase();bD.hasContent=!aQ.test(bD.type);if(bw&&b.active++===0){b.event.trigger("ajaxStart")}if(!bD.hasContent){if(bD.data){bD.url+=(M.test(bD.url)?"&":"?")+bD.data;delete bD.data}bC=bD.url;if(bD.cache===false){var bv=b.now(),bP=bD.url.replace(br,"$1_="+bv);bD.url=bP+((bP===bD.url)?(M.test(bD.url)?"&":"?")+"_="+bv:"")}}if(bD.data&&bD.hasContent&&bD.contentType!==false||bx.contentType){bJ.setRequestHeader("Content-Type",bD.contentType)}if(bD.ifModified){bC=bC||bD.url;if(b.lastModified[bC]){bJ.setRequestHeader("If-Modified-Since",b.lastModified[bC])}if(b.etag[bC]){bJ.setRequestHeader("If-None-Match",b.etag[bC])}}bJ.setRequestHeader("Accept",bD.dataTypes[0]&&bD.accepts[bD.dataTypes[0]]?bD.accepts[bD.dataTypes[0]]+(bD.dataTypes[0]!=="*"?", "+aV+"; q=0.01":""):bD.accepts["*"]);for(bK in bD.headers){bJ.setRequestHeader(bK,bD.headers[bK])}if(bD.beforeSend&&(bD.beforeSend.call(bS,bJ,bD)===false||bA===2)){bJ.abort();return false}for(bK in {success:1,error:1,complete:1}){bJ[bK](bD[bK])}bL=aW(r,bD,bx,bJ);if(!bL){bF(-1,"No Transport")}else{bJ.readyState=1;if(bw){bG.trigger("ajaxSend",[bJ,bD])}if(bD.async&&bD.timeout>0){bE=setTimeout(function(){bJ.abort("timeout")},bD.timeout)}try{bA=1;bL.send(bH,bF)}catch(bM){if(bA<2){bF(-1,bM)}else{throw bM}}}return bJ},param:function(e,bw){var bv=[],by=function(bz,bA){bA=b.isFunction(bA)?bA():bA;bv[bv.length]=encodeURIComponent(bz)+"="+encodeURIComponent(bA)};if(bw===L){bw=b.ajaxSettings.traditional}if(b.isArray(e)||(e.jquery&&!b.isPlainObject(e))){b.each(e,function(){by(this.name,this.value)})}else{for(var bx in e){v(bx,e[bx],bw,by)}}return bv.join("&").replace(k,"+")}});function v(bw,by,bv,bx){if(b.isArray(by)){b.each(by,function(bA,bz){if(bv||ap.test(bw)){bx(bw,bz)}else{v(bw+"["+(typeof bz==="object"||b.isArray(bz)?bA:"")+"]",bz,bv,bx)}})}else{if(!bv&&by!=null&&typeof by==="object"){for(var e in by){v(bw+"["+e+"]",by[e],bv,bx)}}else{bx(bw,by)}}}b.extend({active:0,lastModified:{},etag:{}});function bj(bD,bC,bz){var bv=bD.contents,bB=bD.dataTypes,bw=bD.responseFields,by,bA,bx,e;for(bA in bw){if(bA in bz){bC[bw[bA]]=bz[bA]}}while(bB[0]==="*"){bB.shift();if(by===L){by=bD.mimeType||bC.getResponseHeader("content-type")}}if(by){for(bA in bv){if(bv[bA]&&bv[bA].test(by)){bB.unshift(bA);break}}}if(bB[0] in bz){bx=bB[0]}else{for(bA in bz){if(!bB[0]||bD.converters[bA+" "+bB[0]]){bx=bA;break}if(!e){e=bA}}bx=bx||e}if(bx){if(bx!==bB[0]){bB.unshift(bx)}return bz[bx]}}function G(bH,bz){if(bH.dataFilter){bz=bH.dataFilter(bz,bH.dataType)}var bD=bH.dataTypes,bG={},bA,bE,bw=bD.length,bB,bC=bD[0],bx,by,bF,bv,e;for(bA=1;bA<bw;bA++){if(bA===1){for(bE in bH.converters){if(typeof bE==="string"){bG[bE.toLowerCase()]=bH.converters[bE]}}}bx=bC;bC=bD[bA];if(bC==="*"){bC=bx}else{if(bx!=="*"&&bx!==bC){by=bx+" "+bC;bF=bG[by]||bG["* "+bC];if(!bF){e=L;for(bv in bG){bB=bv.split(" ");if(bB[0]===bx||bB[0]==="*"){e=bG[bB[1]+" "+bC];if(e){bv=bG[bv];if(bv===true){bF=e}else{if(e===true){bF=bv}}break}}}}if(!(bF||e)){b.error("No conversion from "+by.replace(" "," to "))}if(bF!==true){bz=bF?bF(bz):e(bv(bz))}}}}return bz}var aC=b.now(),u=/(\=)\?(&|$)|\?\?/i;b.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return b.expando+"_"+(aC++)}});b.ajaxPrefilter("json jsonp",function(bD,bA,bC){var bx=bD.contentType==="application/x-www-form-urlencoded"&&(typeof bD.data==="string");if(bD.dataTypes[0]==="jsonp"||bD.jsonp!==false&&(u.test(bD.url)||bx&&u.test(bD.data))){var bB,bw=bD.jsonpCallback=b.isFunction(bD.jsonpCallback)?bD.jsonpCallback():bD.jsonpCallback,bz=bb[bw],e=bD.url,by=bD.data,bv="$1"+bw+"$2";if(bD.jsonp!==false){e=e.replace(u,bv);if(bD.url===e){if(bx){by=by.replace(u,bv)}if(bD.data===by){e+=(/\?/.test(e)?"&":"?")+bD.jsonp+"="+bw}}}bD.url=e;bD.data=by;bb[bw]=function(bE){bB=[bE]};bC.always(function(){bb[bw]=bz;if(bB&&b.isFunction(bz)){bb[bw](bB[0])}});bD.converters["script json"]=function(){if(!bB){b.error(bw+" was not called")}return bB[0]};bD.dataTypes[0]="json";return"script"}});b.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(e){b.globalEval(e);return e}}});b.ajaxPrefilter("script",function(e){if(e.cache===L){e.cache=false}if(e.crossDomain){e.type="GET";e.global=false}});b.ajaxTransport("script",function(bw){if(bw.crossDomain){var e,bv=av.head||av.getElementsByTagName("head")[0]||av.documentElement;return{send:function(bx,by){e=av.createElement("script");e.async="async";if(bw.scriptCharset){e.charset=bw.scriptCharset}e.src=bw.url;e.onload=e.onreadystatechange=function(bA,bz){if(bz||!e.readyState||/loaded|complete/.test(e.readyState)){e.onload=e.onreadystatechange=null;if(bv&&e.parentNode){bv.removeChild(e)}e=L;if(!bz){by(200,"success")}}};bv.insertBefore(e,bv.firstChild)},abort:function(){if(e){e.onload(0,1)}}}}});var B=bb.ActiveXObject?function(){for(var e in N){N[e](0,1)}}:false,y=0,N;function aL(){try{return new bb.XMLHttpRequest()}catch(bv){}}function aj(){try{return new bb.ActiveXObject("Microsoft.XMLHTTP")}catch(bv){}}b.ajaxSettings.xhr=bb.ActiveXObject?function(){return !this.isLocal&&aL()||aj()}:aL;(function(e){b.extend(b.support,{ajax:!!e,cors:!!e&&("withCredentials" in e)})})(b.ajaxSettings.xhr());if(b.support.ajax){b.ajaxTransport(function(e){if(!e.crossDomain||b.support.cors){var bv;return{send:function(bB,bw){var bA=e.xhr(),bz,by;if(e.username){bA.open(e.type,e.url,e.async,e.username,e.password)}else{bA.open(e.type,e.url,e.async)}if(e.xhrFields){for(by in e.xhrFields){bA[by]=e.xhrFields[by]}}if(e.mimeType&&bA.overrideMimeType){bA.overrideMimeType(e.mimeType)}if(!e.crossDomain&&!bB["X-Requested-With"]){bB["X-Requested-With"]="XMLHttpRequest"}try{for(by in bB){bA.setRequestHeader(by,bB[by])}}catch(bx){}bA.send((e.hasContent&&e.data)||null);bv=function(bK,bE){var bF,bD,bC,bI,bH;try{if(bv&&(bE||bA.readyState===4)){bv=L;if(bz){bA.onreadystatechange=b.noop;if(B){delete N[bz]}}if(bE){if(bA.readyState!==4){bA.abort()}}else{bF=bA.status;bC=bA.getAllResponseHeaders();bI={};bH=bA.responseXML;if(bH&&bH.documentElement){bI.xml=bH}bI.text=bA.responseText;try{bD=bA.statusText}catch(bJ){bD=""}if(!bF&&e.isLocal&&!e.crossDomain){bF=bI.text?200:404}else{if(bF===1223){bF=204}}}}}catch(bG){if(!bE){bw(-1,bG)}}if(bI){bw(bF,bD,bI,bC)}};if(!e.async||bA.readyState===4){bv()}else{bz=++y;if(B){if(!N){N={};b(bb).unload(B)}N[bz]=bv}bA.onreadystatechange=bv}},abort:function(){if(bv){bv(0,1)
-}}}}})}var Q={},a8,m,aB=/^(?:toggle|show|hide)$/,aT=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,a3,aH=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],a4;b.fn.extend({show:function(bx,bA,bz){var bw,by;if(bx||bx===0){return this.animate(a0("show",3),bx,bA,bz)}else{for(var bv=0,e=this.length;bv<e;bv++){bw=this[bv];if(bw.style){by=bw.style.display;if(!b._data(bw,"olddisplay")&&by==="none"){by=bw.style.display=""}if(by===""&&b.css(bw,"display")==="none"){b._data(bw,"olddisplay",x(bw.nodeName))}}}for(bv=0;bv<e;bv++){bw=this[bv];if(bw.style){by=bw.style.display;if(by===""||by==="none"){bw.style.display=b._data(bw,"olddisplay")||""}}}return this}},hide:function(bx,bA,bz){if(bx||bx===0){return this.animate(a0("hide",3),bx,bA,bz)}else{var bw,by,bv=0,e=this.length;for(;bv<e;bv++){bw=this[bv];if(bw.style){by=b.css(bw,"display");if(by!=="none"&&!b._data(bw,"olddisplay")){b._data(bw,"olddisplay",by)}}}for(bv=0;bv<e;bv++){if(this[bv].style){this[bv].style.display="none"}}return this}},_toggle:b.fn.toggle,toggle:function(bw,bv,bx){var e=typeof bw==="boolean";if(b.isFunction(bw)&&b.isFunction(bv)){this._toggle.apply(this,arguments)}else{if(bw==null||e){this.each(function(){var by=e?bw:b(this).is(":hidden");b(this)[by?"show":"hide"]()})}else{this.animate(a0("toggle",3),bw,bv,bx)}}return this},fadeTo:function(e,bx,bw,bv){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:bx},e,bw,bv)},animate:function(bz,bw,by,bx){var e=b.speed(bw,by,bx);if(b.isEmptyObject(bz)){return this.each(e.complete,[false])}bz=b.extend({},bz);function bv(){if(e.queue===false){b._mark(this)}var bE=b.extend({},e),bK=this.nodeType===1,bI=bK&&b(this).is(":hidden"),bB,bF,bD,bJ,bH,bC,bG,bL,bA;bE.animatedProperties={};for(bD in bz){bB=b.camelCase(bD);if(bD!==bB){bz[bB]=bz[bD];delete bz[bD]}bF=bz[bB];if(b.isArray(bF)){bE.animatedProperties[bB]=bF[1];bF=bz[bB]=bF[0]}else{bE.animatedProperties[bB]=bE.specialEasing&&bE.specialEasing[bB]||bE.easing||"swing"}if(bF==="hide"&&bI||bF==="show"&&!bI){return bE.complete.call(this)}if(bK&&(bB==="height"||bB==="width")){bE.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY];if(b.css(this,"display")==="inline"&&b.css(this,"float")==="none"){if(!b.support.inlineBlockNeedsLayout||x(this.nodeName)==="inline"){this.style.display="inline-block"}else{this.style.zoom=1}}}}if(bE.overflow!=null){this.style.overflow="hidden"}for(bD in bz){bJ=new b.fx(this,bE,bD);bF=bz[bD];if(aB.test(bF)){bA=b._data(this,"toggle"+bD)||(bF==="toggle"?bI?"show":"hide":0);if(bA){b._data(this,"toggle"+bD,bA==="show"?"hide":"show");bJ[bA]()}else{bJ[bF]()}}else{bH=aT.exec(bF);bC=bJ.cur();if(bH){bG=parseFloat(bH[2]);bL=bH[3]||(b.cssNumber[bD]?"":"px");if(bL!=="px"){b.style(this,bD,(bG||1)+bL);bC=((bG||1)/bJ.cur())*bC;b.style(this,bD,bC+bL)}if(bH[1]){bG=((bH[1]==="-="?-1:1)*bG)+bC}bJ.custom(bC,bG,bL)}else{bJ.custom(bC,bF,"")}}}return true}return e.queue===false?this.each(bv):this.queue(e.queue,bv)},stop:function(bw,bv,e){if(typeof bw!=="string"){e=bv;bv=bw;bw=L}if(bv&&bw!==false){this.queue(bw||"fx",[])}return this.each(function(){var bx,by=false,bA=b.timers,bz=b._data(this);if(!e){b._unmark(true,this)}function bB(bE,bF,bD){var bC=bF[bD];b.removeData(bE,bD,true);bC.stop(e)}if(bw==null){for(bx in bz){if(bz[bx]&&bz[bx].stop&&bx.indexOf(".run")===bx.length-4){bB(this,bz,bx)}}}else{if(bz[bx=bw+".run"]&&bz[bx].stop){bB(this,bz,bx)}}for(bx=bA.length;bx--;){if(bA[bx].elem===this&&(bw==null||bA[bx].queue===bw)){if(e){bA[bx](true)}else{bA[bx].saveState()}by=true;bA.splice(bx,1)}}if(!(e&&by)){b.dequeue(this,bw)}})}});function bh(){setTimeout(at,0);return(a4=b.now())}function at(){a4=L}function a0(bv,e){var bw={};b.each(aH.concat.apply([],aH.slice(0,e)),function(){bw[this]=bv});return bw}b.each({slideDown:a0("show",1),slideUp:a0("hide",1),slideToggle:a0("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,bv){b.fn[e]=function(bw,by,bx){return this.animate(bv,bw,by,bx)}});b.extend({speed:function(bw,bx,bv){var e=bw&&typeof bw==="object"?b.extend({},bw):{complete:bv||!bv&&bx||b.isFunction(bw)&&bw,duration:bw,easing:bv&&bx||bx&&!b.isFunction(bx)&&bx};e.duration=b.fx.off?0:typeof e.duration==="number"?e.duration:e.duration in b.fx.speeds?b.fx.speeds[e.duration]:b.fx.speeds._default;if(e.queue==null||e.queue===true){e.queue="fx"}e.old=e.complete;e.complete=function(by){if(b.isFunction(e.old)){e.old.call(this)}if(e.queue){b.dequeue(this,e.queue)}else{if(by!==false){b._unmark(this)}}};return e},easing:{linear:function(bw,bx,e,bv){return e+bv*bw},swing:function(bw,bx,e,bv){return((-Math.cos(bw*Math.PI)/2)+0.5)*bv+e}},timers:[],fx:function(bv,e,bw){this.options=e;this.elem=bv;this.prop=bw;e.orig=e.orig||{}}});b.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(b.fx.step[this.prop]||b.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var e,bv=b.css(this.elem,this.prop);return isNaN(e=parseFloat(bv))?!bv||bv==="auto"?0:bv:e},custom:function(bz,by,bx){var e=this,bw=b.fx;this.startTime=a4||bh();this.end=by;this.now=this.start=bz;this.pos=this.state=0;this.unit=bx||this.unit||(b.cssNumber[this.prop]?"":"px");function bv(bA){return e.step(bA)}bv.queue=this.options.queue;bv.elem=this.elem;bv.saveState=function(){if(e.options.hide&&b._data(e.elem,"fxshow"+e.prop)===L){b._data(e.elem,"fxshow"+e.prop,e.start)}};if(bv()&&b.timers.push(bv)&&!a3){a3=setInterval(bw.tick,bw.interval)}},show:function(){var e=b._data(this.elem,"fxshow"+this.prop);this.options.orig[this.prop]=e||b.style(this.elem,this.prop);this.options.show=true;if(e!==L){this.custom(this.cur(),e)}else{this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur())}b(this.elem).show()},hide:function(){this.options.orig[this.prop]=b._data(this.elem,"fxshow"+this.prop)||b.style(this.elem,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(by){var bA,bB,bv,bx=a4||bh(),e=true,bz=this.elem,bw=this.options;if(by||bx>=bw.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();bw.animatedProperties[this.prop]=true;for(bA in bw.animatedProperties){if(bw.animatedProperties[bA]!==true){e=false}}if(e){if(bw.overflow!=null&&!b.support.shrinkWrapBlocks){b.each(["","X","Y"],function(bC,bD){bz.style["overflow"+bD]=bw.overflow[bC]})}if(bw.hide){b(bz).hide()}if(bw.hide||bw.show){for(bA in bw.animatedProperties){b.style(bz,bA,bw.orig[bA]);b.removeData(bz,"fxshow"+bA,true);b.removeData(bz,"toggle"+bA,true)}}bv=bw.complete;if(bv){bw.complete=false;bv.call(bz)}}return false}else{if(bw.duration==Infinity){this.now=bx}else{bB=bx-this.startTime;this.state=bB/bw.duration;this.pos=b.easing[bw.animatedProperties[this.prop]](this.state,bB,0,1,bw.duration);this.now=this.start+((this.end-this.start)*this.pos)}this.update()}return true}};b.extend(b.fx,{tick:function(){var bw,bv=b.timers,e=0;for(;e<bv.length;e++){bw=bv[e];if(!bw()&&bv[e]===bw){bv.splice(e--,1)}}if(!bv.length){b.fx.stop()}},interval:13,stop:function(){clearInterval(a3);a3=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(e){b.style(e.elem,"opacity",e.now)},_default:function(e){if(e.elem.style&&e.elem.style[e.prop]!=null){e.elem.style[e.prop]=e.now+e.unit}else{e.elem[e.prop]=e.now}}}});b.each(["width","height"],function(e,bv){b.fx.step[bv]=function(bw){b.style(bw.elem,bv,Math.max(0,bw.now)+bw.unit)}});if(b.expr&&b.expr.filters){b.expr.filters.animated=function(e){return b.grep(b.timers,function(bv){return e===bv.elem}).length}}function x(bx){if(!Q[bx]){var e=av.body,bv=b("<"+bx+">").appendTo(e),bw=bv.css("display");bv.remove();if(bw==="none"||bw===""){if(!a8){a8=av.createElement("iframe");a8.frameBorder=a8.width=a8.height=0}e.appendChild(a8);if(!m||!a8.createElement){m=(a8.contentWindow||a8.contentDocument).document;m.write((av.compatMode==="CSS1Compat"?"<!doctype html>":"")+"<html><body>");m.close()}bv=m.createElement(bx);m.body.appendChild(bv);bw=b.css(bv,"display");e.removeChild(a8)}Q[bx]=bw}return Q[bx]}var V=/^t(?:able|d|h)$/i,ad=/^(?:body|html)$/i;if("getBoundingClientRect" in av.documentElement){b.fn.offset=function(bI){var by=this[0],bB;if(bI){return this.each(function(e){b.offset.setOffset(this,bI,e)})}if(!by||!by.ownerDocument){return null}if(by===by.ownerDocument.body){return b.offset.bodyOffset(by)}try{bB=by.getBoundingClientRect()}catch(bF){}var bH=by.ownerDocument,bw=bH.documentElement;if(!bB||!b.contains(bw,by)){return bB?{top:bB.top,left:bB.left}:{top:0,left:0}}var bC=bH.body,bD=aK(bH),bA=bw.clientTop||bC.clientTop||0,bE=bw.clientLeft||bC.clientLeft||0,bv=bD.pageYOffset||b.support.boxModel&&bw.scrollTop||bC.scrollTop,bz=bD.pageXOffset||b.support.boxModel&&bw.scrollLeft||bC.scrollLeft,bG=bB.top+bv-bA,bx=bB.left+bz-bE;return{top:bG,left:bx}}}else{b.fn.offset=function(bF){var bz=this[0];if(bF){return this.each(function(bG){b.offset.setOffset(this,bF,bG)})}if(!bz||!bz.ownerDocument){return null}if(bz===bz.ownerDocument.body){return b.offset.bodyOffset(bz)}var bC,bw=bz.offsetParent,bv=bz,bE=bz.ownerDocument,bx=bE.documentElement,bA=bE.body,bB=bE.defaultView,e=bB?bB.getComputedStyle(bz,null):bz.currentStyle,bD=bz.offsetTop,by=bz.offsetLeft;while((bz=bz.parentNode)&&bz!==bA&&bz!==bx){if(b.support.fixedPosition&&e.position==="fixed"){break}bC=bB?bB.getComputedStyle(bz,null):bz.currentStyle;bD-=bz.scrollTop;by-=bz.scrollLeft;if(bz===bw){bD+=bz.offsetTop;by+=bz.offsetLeft;if(b.support.doesNotAddBorder&&!(b.support.doesAddBorderForTableAndCells&&V.test(bz.nodeName))){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}bv=bw;bw=bz.offsetParent}if(b.support.subtractsBorderForOverflowNotVisible&&bC.overflow!=="visible"){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}e=bC}if(e.position==="relative"||e.position==="static"){bD+=bA.offsetTop;by+=bA.offsetLeft}if(b.support.fixedPosition&&e.position==="fixed"){bD+=Math.max(bx.scrollTop,bA.scrollTop);by+=Math.max(bx.scrollLeft,bA.scrollLeft)}return{top:bD,left:by}}}b.offset={bodyOffset:function(e){var bw=e.offsetTop,bv=e.offsetLeft;if(b.support.doesNotIncludeMarginInBodyOffset){bw+=parseFloat(b.css(e,"marginTop"))||0;bv+=parseFloat(b.css(e,"marginLeft"))||0}return{top:bw,left:bv}},setOffset:function(bx,bG,bA){var bB=b.css(bx,"position");if(bB==="static"){bx.style.position="relative"}var bz=b(bx),bv=bz.offset(),e=b.css(bx,"top"),bE=b.css(bx,"left"),bF=(bB==="absolute"||bB==="fixed")&&b.inArray("auto",[e,bE])>-1,bD={},bC={},bw,by;if(bF){bC=bz.position();bw=bC.top;by=bC.left}else{bw=parseFloat(e)||0;by=parseFloat(bE)||0}if(b.isFunction(bG)){bG=bG.call(bx,bA,bv)}if(bG.top!=null){bD.top=(bG.top-bv.top)+bw}if(bG.left!=null){bD.left=(bG.left-bv.left)+by}if("using" in bG){bG.using.call(bx,bD)}else{bz.css(bD)}}};b.fn.extend({position:function(){if(!this[0]){return null}var bw=this[0],bv=this.offsetParent(),bx=this.offset(),e=ad.test(bv[0].nodeName)?{top:0,left:0}:bv.offset();bx.top-=parseFloat(b.css(bw,"marginTop"))||0;bx.left-=parseFloat(b.css(bw,"marginLeft"))||0;e.top+=parseFloat(b.css(bv[0],"borderTopWidth"))||0;e.left+=parseFloat(b.css(bv[0],"borderLeftWidth"))||0;return{top:bx.top-e.top,left:bx.left-e.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||av.body;while(e&&(!ad.test(e.nodeName)&&b.css(e,"position")==="static")){e=e.offsetParent}return e})}});b.each(["Left","Top"],function(bv,e){var bw="scroll"+e;b.fn[bw]=function(bz){var bx,by;if(bz===L){bx=this[0];if(!bx){return null}by=aK(bx);return by?("pageXOffset" in by)?by[bv?"pageYOffset":"pageXOffset"]:b.support.boxModel&&by.document.documentElement[bw]||by.document.body[bw]:bx[bw]}return this.each(function(){by=aK(this);if(by){by.scrollTo(!bv?bz:b(by).scrollLeft(),bv?bz:b(by).scrollTop())}else{this[bw]=bz}})}});function aK(e){return b.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:false}b.each(["Height","Width"],function(bv,e){var bw=e.toLowerCase();b.fn["inner"+e]=function(){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,"padding")):this[bw]():null};b.fn["outer"+e]=function(by){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,by?"margin":"border")):this[bw]():null};b.fn[bw]=function(bz){var bA=this[0];if(!bA){return bz==null?null:this}if(b.isFunction(bz)){return this.each(function(bE){var bD=b(this);bD[bw](bz.call(this,bE,bD[bw]()))})}if(b.isWindow(bA)){var bB=bA.document.documentElement["client"+e],bx=bA.document.body;return bA.document.compatMode==="CSS1Compat"&&bB||bx&&bx["client"+e]||bB}else{if(bA.nodeType===9){return Math.max(bA.documentElement["client"+e],bA.body["scroll"+e],bA.documentElement["scroll"+e],bA.body["offset"+e],bA.documentElement["offset"+e])}else{if(bz===L){var bC=b.css(bA,bw),by=parseFloat(bC);return b.isNumeric(by)?by:bC}else{return this.css(bw,typeof bz==="string"?bz:bz+"px")}}}}});bb.jQuery=bb.$=b;if(typeof define==="function"&&define.amd&&define.amd.jQuery){define("jquery",[],function(){return b
-})}})(window);
-/*!
- PowerTip - v1.2.0 - 2013-04-03
- http://stevenbenner.github.com/jquery-powertip/
- Copyright (c) 2013 Steven Benner (http://stevenbenner.com/).
- Released under MIT license.
- https://raw.github.com/stevenbenner/jquery-powertip/master/LICENSE.txt
-*/
-(function(a){if(typeof define==="function"&&define.amd){define(["jquery"],a)}else{a(jQuery)}}(function(k){var A=k(document),s=k(window),w=k("body");var n="displayController",e="hasActiveHover",d="forcedOpen",u="hasMouseMove",f="mouseOnToPopup",g="originalTitle",y="powertip",o="powertipjq",l="powertiptarget",E=180/Math.PI;var c={isTipOpen:false,isFixedTipOpen:false,isClosing:false,tipOpenImminent:false,activeHover:null,currentX:0,currentY:0,previousX:0,previousY:0,desyncTimeout:null,mouseTrackingActive:false,delayInProgress:false,windowWidth:0,windowHeight:0,scrollTop:0,scrollLeft:0};var p={none:0,top:1,bottom:2,left:4,right:8};k.fn.powerTip=function(F,N){if(!this.length){return this}if(k.type(F)==="string"&&k.powerTip[F]){return k.powerTip[F].call(this,this,N)}var O=k.extend({},k.fn.powerTip.defaults,F),G=new x(O);h();this.each(function M(){var R=k(this),Q=R.data(y),P=R.data(o),T=R.data(l),S;if(R.data(n)){k.powerTip.destroy(R)}S=R.attr("title");if(!Q&&!T&&!P&&S){R.data(y,S);R.data(g,S);R.removeAttr("title")}R.data(n,new t(R,O,G))});if(!O.manual){this.on({"mouseenter.powertip":function J(P){k.powerTip.show(this,P)},"mouseleave.powertip":function L(){k.powerTip.hide(this)},"focus.powertip":function K(){k.powerTip.show(this)},"blur.powertip":function H(){k.powerTip.hide(this,true)},"keydown.powertip":function I(P){if(P.keyCode===27){k.powerTip.hide(this,true)}}})}return this};k.fn.powerTip.defaults={fadeInTime:200,fadeOutTime:100,followMouse:false,popupId:"powerTip",intentSensitivity:7,intentPollInterval:100,closeDelay:100,placement:"n",smartPlacement:false,offset:10,mouseOnToPopup:false,manual:false};k.fn.powerTip.smartPlacementLists={n:["n","ne","nw","s"],e:["e","ne","se","w","nw","sw","n","s","e"],s:["s","se","sw","n"],w:["w","nw","sw","e","ne","se","n","s","w"],nw:["nw","w","sw","n","s","se","nw"],ne:["ne","e","se","n","s","sw","ne"],sw:["sw","w","nw","s","n","ne","sw"],se:["se","e","ne","s","n","nw","se"],"nw-alt":["nw-alt","n","ne-alt","sw-alt","s","se-alt","w","e"],"ne-alt":["ne-alt","n","nw-alt","se-alt","s","sw-alt","e","w"],"sw-alt":["sw-alt","s","se-alt","nw-alt","n","ne-alt","w","e"],"se-alt":["se-alt","s","sw-alt","ne-alt","n","nw-alt","e","w"]};k.powerTip={show:function z(F,G){if(G){i(G);c.previousX=G.pageX;c.previousY=G.pageY;k(F).data(n).show()}else{k(F).first().data(n).show(true,true)}return F},reposition:function r(F){k(F).first().data(n).resetPosition();return F},hide:function D(G,F){if(G){k(G).first().data(n).hide(F)}else{if(c.activeHover){c.activeHover.data(n).hide(true)}}return G},destroy:function C(G){k(G).off(".powertip").each(function F(){var I=k(this),H=[g,n,e,d];if(I.data(g)){I.attr("title",I.data(g));H.push(y)}I.removeData(H)});return G}};k.powerTip.showTip=k.powerTip.show;k.powerTip.closeTip=k.powerTip.hide;function b(){var F=this;F.top="auto";F.left="auto";F.right="auto";F.bottom="auto";F.set=function(H,G){if(k.isNumeric(G)){F[H]=Math.round(G)}}}function t(K,N,F){var J=null;function L(P,Q){M();if(!K.data(e)){if(!P){c.tipOpenImminent=true;J=setTimeout(function O(){J=null;I()},N.intentPollInterval)}else{if(Q){K.data(d,true)}F.showTip(K)}}}function G(P){M();c.tipOpenImminent=false;if(K.data(e)){K.data(d,false);if(!P){c.delayInProgress=true;J=setTimeout(function O(){J=null;F.hideTip(K);c.delayInProgress=false},N.closeDelay)}else{F.hideTip(K)}}}function I(){var Q=Math.abs(c.previousX-c.currentX),O=Math.abs(c.previousY-c.currentY),P=Q+O;if(P<N.intentSensitivity){F.showTip(K)}else{c.previousX=c.currentX;c.previousY=c.currentY;L()}}function M(){J=clearTimeout(J);c.delayInProgress=false}function H(){F.resetPosition(K)}this.show=L;this.hide=G;this.cancel=M;this.resetPosition=H}function j(){function G(M,L,J,O,P){var K=L.split("-")[0],N=new b(),I;if(q(M)){I=H(M,K)}else{I=F(M,K)}switch(L){case"n":N.set("left",I.left-(J/2));N.set("bottom",c.windowHeight-I.top+P);break;case"e":N.set("left",I.left+P);N.set("top",I.top-(O/2));break;case"s":N.set("left",I.left-(J/2));N.set("top",I.top+P);break;case"w":N.set("top",I.top-(O/2));N.set("right",c.windowWidth-I.left+P);break;case"nw":N.set("bottom",c.windowHeight-I.top+P);N.set("right",c.windowWidth-I.left-20);break;case"nw-alt":N.set("left",I.left);N.set("bottom",c.windowHeight-I.top+P);break;case"ne":N.set("left",I.left-20);N.set("bottom",c.windowHeight-I.top+P);break;case"ne-alt":N.set("bottom",c.windowHeight-I.top+P);N.set("right",c.windowWidth-I.left);break;case"sw":N.set("top",I.top+P);N.set("right",c.windowWidth-I.left-20);break;case"sw-alt":N.set("left",I.left);N.set("top",I.top+P);break;case"se":N.set("left",I.left-20);N.set("top",I.top+P);break;case"se-alt":N.set("top",I.top+P);N.set("right",c.windowWidth-I.left);break}return N}function F(K,J){var O=K.offset(),N=K.outerWidth(),I=K.outerHeight(),M,L;switch(J){case"n":M=O.left+N/2;L=O.top;break;case"e":M=O.left+N;L=O.top+I/2;break;case"s":M=O.left+N/2;L=O.top+I;break;case"w":M=O.left;L=O.top+I/2;break;case"nw":M=O.left;L=O.top;break;case"ne":M=O.left+N;L=O.top;break;case"sw":M=O.left;L=O.top+I;break;case"se":M=O.left+N;L=O.top+I;break}return{top:L,left:M}}function H(O,K){var S=O.closest("svg")[0],N=O[0],W=S.createSVGPoint(),L=N.getBBox(),V=N.getScreenCTM(),M=L.width/2,Q=L.height/2,P=[],I=["nw","n","ne","e","se","s","sw","w"],U,X,R,T;function J(){P.push(W.matrixTransform(V))}W.x=L.x;W.y=L.y;J();W.x+=M;J();W.x+=M;J();W.y+=Q;J();W.y+=Q;J();W.x-=M;J();W.x-=M;J();W.y-=Q;J();if(P[0].y!==P[1].y||P[0].x!==P[7].x){X=Math.atan2(V.b,V.a)*E;R=Math.ceil(((X%360)-22.5)/45);if(R<1){R+=8}while(R--){I.push(I.shift())}}for(T=0;T<P.length;T++){if(I[T]===K){U=P[T];break}}return{top:U.y+c.scrollTop,left:U.x+c.scrollLeft}}this.compute=G}function x(Q){var P=new j(),O=k("#"+Q.popupId);if(O.length===0){O=k("<div/>",{id:Q.popupId});if(w.length===0){w=k("body")}w.append(O)}if(Q.followMouse){if(!O.data(u)){A.on("mousemove",M);s.on("scroll",M);O.data(u,true)}}if(Q.mouseOnToPopup){O.on({mouseenter:function L(){if(O.data(f)){if(c.activeHover){c.activeHover.data(n).cancel()}}},mouseleave:function N(){if(c.activeHover){c.activeHover.data(n).hide()}}})}function I(S){S.data(e,true);O.queue(function R(T){H(S);T()})}function H(S){var U;if(!S.data(e)){return}if(c.isTipOpen){if(!c.isClosing){K(c.activeHover)}O.delay(100).queue(function R(V){H(S);V()});return}S.trigger("powerTipPreRender");U=B(S);if(U){O.empty().append(U)}else{return}S.trigger("powerTipRender");c.activeHover=S;c.isTipOpen=true;O.data(f,Q.mouseOnToPopup);if(!Q.followMouse){G(S);c.isFixedTipOpen=true}else{M()}O.fadeIn(Q.fadeInTime,function T(){if(!c.desyncTimeout){c.desyncTimeout=setInterval(J,500)}S.trigger("powerTipOpen")})}function K(R){c.isClosing=true;c.activeHover=null;c.isTipOpen=false;c.desyncTimeout=clearInterval(c.desyncTimeout);R.data(e,false);R.data(d,false);O.fadeOut(Q.fadeOutTime,function S(){var T=new b();c.isClosing=false;c.isFixedTipOpen=false;O.removeClass();T.set("top",c.currentY+Q.offset);T.set("left",c.currentX+Q.offset);O.css(T);R.trigger("powerTipClose")})}function M(){if(!c.isFixedTipOpen&&(c.isTipOpen||(c.tipOpenImminent&&O.data(u)))){var R=O.outerWidth(),V=O.outerHeight(),U=new b(),S,T;U.set("top",c.currentY+Q.offset);U.set("left",c.currentX+Q.offset);S=m(U,R,V);if(S!==p.none){T=a(S);if(T===1){if(S===p.right){U.set("left",c.windowWidth-R)}else{if(S===p.bottom){U.set("top",c.scrollTop+c.windowHeight-V)}}}else{U.set("left",c.currentX-R-Q.offset);U.set("top",c.currentY-V-Q.offset)}}O.css(U)}}function G(S){var R,T;if(Q.smartPlacement){R=k.fn.powerTip.smartPlacementLists[Q.placement];k.each(R,function(U,W){var V=m(F(S,W),O.outerWidth(),O.outerHeight());T=W;if(V===p.none){return false}})}else{F(S,Q.placement);T=Q.placement}O.addClass(T)}function F(U,T){var R=0,S,W,V=new b();V.set("top",0);V.set("left",0);O.css(V);do{S=O.outerWidth();W=O.outerHeight();V=P.compute(U,T,S,W,Q.offset);O.css(V)}while(++R<=5&&(S!==O.outerWidth()||W!==O.outerHeight()));return V}function J(){var R=false;if(c.isTipOpen&&!c.isClosing&&!c.delayInProgress){if(c.activeHover.data(e)===false||c.activeHover.is(":disabled")){R=true}else{if(!v(c.activeHover)&&!c.activeHover.is(":focus")&&!c.activeHover.data(d)){if(O.data(f)){if(!v(O)){R=true}}else{R=true}}}if(R){K(c.activeHover)}}}this.showTip=I;this.hideTip=K;this.resetPosition=G}function q(F){return window.SVGElement&&F[0] instanceof SVGElement}function h(){if(!c.mouseTrackingActive){c.mouseTrackingActive=true;k(function H(){c.scrollLeft=s.scrollLeft();c.scrollTop=s.scrollTop();c.windowWidth=s.width();c.windowHeight=s.height()});A.on("mousemove",i);s.on({resize:function G(){c.windowWidth=s.width();c.windowHeight=s.height()},scroll:function F(){var I=s.scrollLeft(),J=s.scrollTop();if(I!==c.scrollLeft){c.currentX+=I-c.scrollLeft;c.scrollLeft=I}if(J!==c.scrollTop){c.currentY+=J-c.scrollTop;c.scrollTop=J}}})}}function i(F){c.currentX=F.pageX;c.currentY=F.pageY}function v(F){var H=F.offset(),J=F[0].getBoundingClientRect(),I=J.right-J.left,G=J.bottom-J.top;return c.currentX>=H.left&&c.currentX<=H.left+I&&c.currentY>=H.top&&c.currentY<=H.top+G}function B(I){var G=I.data(y),F=I.data(o),K=I.data(l),H,J;if(G){if(k.isFunction(G)){G=G.call(I[0])}J=G}else{if(F){if(k.isFunction(F)){F=F.call(I[0])}if(F.length>0){J=F.clone(true,true)}}else{if(K){H=k("#"+K);if(H.length>0){J=H.html()}}}}return J}function m(M,L,K){var G=c.scrollTop,J=c.scrollLeft,I=G+c.windowHeight,F=J+c.windowWidth,H=p.none;if(M.top<G||Math.abs(M.bottom-c.windowHeight)-K<G){H|=p.top}if(M.top+K>I||Math.abs(M.bottom-c.windowHeight)>I){H|=p.bottom}if(M.left<J||M.right+L>F){H|=p.left}if(M.left+L>F||M.right<J){H|=p.right}return H}function a(G){var F=0;while(G){G&=G-1;F++}return F}}));
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/modules.html b/external/wakaama/examples/shared/tinydtls/doc/html/modules.html
deleted file mode 100644 (file)
index fb479d3..0000000
+++ /dev/null
@@ -1,100 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: Modules</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li class="current"><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="header">
-  <div class="headertitle">
-<div class="title">Modules</div>  </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock">Here is a list of all modules:</div><div class="directory">
-<table class="directory">
-<tr id="row_0_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__clock.html" target="_self">Clock Handling</a></td><td class="desc"></td></tr>
-<tr id="row_1_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__HMAC.html" target="_self">Keyed-Hash Message Authentication Code (HMAC)</a></td><td class="desc"></td></tr>
-<tr id="row_2_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__netq.html" target="_self">Network Packet Queue</a></td><td class="desc"></td></tr>
-<tr id="row_3_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__prng.html" target="_self">Pseudo Random Numbers</a></td><td class="desc"></td></tr>
-<tr id="row_4_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group__dtls__usage.html" target="_self">DTLS Usage</a></td><td class="desc"></td></tr>
-<tr id="row_5_"><td class="entry"><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><a class="el" href="group__contiki.html" target="_self">Contiki</a></td><td class="desc"></td></tr>
-</table>
-</div><!-- directory -->
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/nav_f.png b/external/wakaama/examples/shared/tinydtls/doc/html/nav_f.png
deleted file mode 100644 (file)
index 72a58a5..0000000
Binary files a/external/wakaama/examples/shared/tinydtls/doc/html/nav_f.png and /dev/null differ
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/nav_g.png b/external/wakaama/examples/shared/tinydtls/doc/html/nav_g.png
deleted file mode 100644 (file)
index 2093a23..0000000
Binary files a/external/wakaama/examples/shared/tinydtls/doc/html/nav_g.png and /dev/null differ
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/nav_h.png b/external/wakaama/examples/shared/tinydtls/doc/html/nav_h.png
deleted file mode 100644 (file)
index 33389b1..0000000
Binary files a/external/wakaama/examples/shared/tinydtls/doc/html/nav_h.png and /dev/null differ
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/netq_8c.html b/external/wakaama/examples/shared/tinydtls/doc/html/netq_8c.html
deleted file mode 100644 (file)
index 4028cb5..0000000
+++ /dev/null
@@ -1,183 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: netq.c File Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#func-members">Functions</a>  </div>
-  <div class="headertitle">
-<div class="title">netq.c File Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock"><code>#include &quot;<a class="el" href="dtls__config_8h_source.html">dtls_config.h</a>&quot;</code><br/>
-<code>#include &quot;<a class="el" href="debug_8h_source.html">debug.h</a>&quot;</code><br/>
-<code>#include &quot;<a class="el" href="netq_8h_source.html">netq.h</a>&quot;</code><br/>
-<code>#include &lt;assert.h&gt;</code><br/>
-<code>#include &quot;<a class="el" href="t__list_8h_source.html">t_list.h</a>&quot;</code><br/>
-<code>#include &lt;stdlib.h&gt;</code><br/>
-</div>
-<p><a href="netq_8c_source.html">Go to the source code of this file.</a></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:a58b119d6b9bb7756ab49afcd34571dab"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structnetq__t.html">netq_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="netq_8c.html#a58b119d6b9bb7756ab49afcd34571dab">netq_malloc_node</a> (size_t size)</td></tr>
-<tr class="separator:a58b119d6b9bb7756ab49afcd34571dab"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2e23675fa402ca2c66bc97cbd09e44f3"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="netq_8c.html#a2e23675fa402ca2c66bc97cbd09e44f3">netq_free_node</a> (<a class="el" href="structnetq__t.html">netq_t</a> *node)</td></tr>
-<tr class="separator:a2e23675fa402ca2c66bc97cbd09e44f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga142c8e39fe2cd55250e3c1f0370dfe6b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__netq.html#ga142c8e39fe2cd55250e3c1f0370dfe6b">netq_insert_node</a> (<a class="el" href="t__list_8h.html#a9c248916bae1f0b13732686786be7108">list_t</a> queue, <a class="el" href="structnetq__t.html">netq_t</a> *node)</td></tr>
-<tr class="separator:ga142c8e39fe2cd55250e3c1f0370dfe6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gac769de2e30bcf2c2db89ff10822219d4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structnetq__t.html">netq_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__netq.html#gac769de2e30bcf2c2db89ff10822219d4">netq_head</a> (<a class="el" href="t__list_8h.html#a9c248916bae1f0b13732686786be7108">list_t</a> queue)</td></tr>
-<tr class="separator:gac769de2e30bcf2c2db89ff10822219d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gab4c90c003808a784ae1ee9322e75627d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structnetq__t.html">netq_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__netq.html#gab4c90c003808a784ae1ee9322e75627d">netq_next</a> (<a class="el" href="structnetq__t.html">netq_t</a> *p)</td></tr>
-<tr class="separator:gab4c90c003808a784ae1ee9322e75627d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gace12cd802d76d5bd98b2eaedc591fd22"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__netq.html#gace12cd802d76d5bd98b2eaedc591fd22">netq_remove</a> (<a class="el" href="t__list_8h.html#a9c248916bae1f0b13732686786be7108">list_t</a> queue, <a class="el" href="structnetq__t.html">netq_t</a> *p)</td></tr>
-<tr class="separator:gace12cd802d76d5bd98b2eaedc591fd22"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga108e6c43e524fd4b23a5d4731631fae3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structnetq__t.html">netq_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__netq.html#ga108e6c43e524fd4b23a5d4731631fae3">netq_pop_first</a> (<a class="el" href="t__list_8h.html#a9c248916bae1f0b13732686786be7108">list_t</a> queue)</td></tr>
-<tr class="separator:ga108e6c43e524fd4b23a5d4731631fae3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gafcf245cd934e9b8f0909a7ca8940e9cb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structnetq__t.html">netq_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__netq.html#gafcf245cd934e9b8f0909a7ca8940e9cb">netq_node_new</a> (size_t size)</td></tr>
-<tr class="separator:gafcf245cd934e9b8f0909a7ca8940e9cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga9ef9da1a2af266dadef83ddf6c8524d7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__netq.html#ga9ef9da1a2af266dadef83ddf6c8524d7">netq_node_free</a> (<a class="el" href="structnetq__t.html">netq_t</a> *node)</td></tr>
-<tr class="separator:ga9ef9da1a2af266dadef83ddf6c8524d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gac72fd2ec9f1e6908c8a10705fb6555e2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__netq.html#gac72fd2ec9f1e6908c8a10705fb6555e2">netq_delete_all</a> (<a class="el" href="t__list_8h.html#a9c248916bae1f0b13732686786be7108">list_t</a> queue)</td></tr>
-<tr class="separator:gac72fd2ec9f1e6908c8a10705fb6555e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<h2 class="groupheader">Function Documentation</h2>
-<a class="anchor" id="a2e23675fa402ca2c66bc97cbd09e44f3"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static void netq_free_node </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structnetq__t.html">netq_t</a> *&#160;</td>
-          <td class="paramname"><em>node</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="netq_8c_source.html#l00033">33</a> of file <a class="el" href="netq_8c_source.html">netq.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a58b119d6b9bb7756ab49afcd34571dab"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static <a class="el" href="structnetq__t.html">netq_t</a>* netq_malloc_node </td>
-          <td>(</td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>size</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="netq_8c_source.html#l00028">28</a> of file <a class="el" href="netq_8c_source.html">netq.c</a>.</p>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/netq_8c_source.html b/external/wakaama/examples/shared/tinydtls/doc/html/netq_8c_source.html
deleted file mode 100644 (file)
index 24eac40..0000000
+++ /dev/null
@@ -1,261 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: netq.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="header">
-  <div class="headertitle">
-<div class="title">netq.c</div>  </div>
-</div><!--header-->
-<div class="contents">
-<a href="netq_8c.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/* netq.h -- Simple packet queue</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> * Copyright (C) 2010--2012 Olaf Bergmann &lt;bergmann@tzi.org&gt;</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> * This file is part of the library tinyDTLS. Please see the file</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> * LICENSE for terms of use.</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;</div>
-<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="dtls__config_8h.html">dtls_config.h</a>&quot;</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="debug_8h.html">debug.h</a>&quot;</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="netq_8h.html">netq.h</a>&quot;</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div>
-<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="preprocessor">#ifdef HAVE_ASSERT_H</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &lt;assert.h&gt;</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#ifndef assert</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#warning &quot;assertions are disabled&quot;</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#  define assert(x)</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="t__list_8h.html">t_list.h</a>&quot;</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;</div>
-<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#ifndef WITH_CONTIKI</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &lt;stdlib.h&gt;</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;</div>
-<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="structnetq__t.html">netq_t</a> *</div>
-<div class="line"><a name="l00028"></a><span class="lineno"><a class="line" href="netq_8c.html#a58b119d6b9bb7756ab49afcd34571dab">   28</a></span>&#160;<a class="code" href="netq_8c.html#a58b119d6b9bb7756ab49afcd34571dab">netq_malloc_node</a>(<span class="keywordtype">size_t</span> size) {</div>
-<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;  <span class="keywordflow">return</span> (<a class="code" href="structnetq__t.html">netq_t</a> *)malloc(<span class="keyword">sizeof</span>(<a class="code" href="structnetq__t.html">netq_t</a>) + size);</div>
-<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;}</div>
-<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div>
-<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="netq_8c.html#a2e23675fa402ca2c66bc97cbd09e44f3">   33</a></span>&#160;<a class="code" href="netq_8c.html#a2e23675fa402ca2c66bc97cbd09e44f3">netq_free_node</a>(<a class="code" href="structnetq__t.html">netq_t</a> *node) {</div>
-<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;  free(node);</div>
-<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;}</div>
-<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;</div>
-<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="comment">/* FIXME: implement Contiki&#39;s list functions using utlist.h */</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;</div>
-<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#else </span><span class="comment">/* WITH_CONTIKI */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &quot;memb.h&quot;</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;</div>
-<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;MEMB(netq_storage, <a class="code" href="structnetq__t.html">netq_t</a>, NETQ_MAXCNT);</div>
-<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div>
-<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="structnetq__t.html">netq_t</a> *</div>
-<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<a class="code" href="netq_8c.html#a58b119d6b9bb7756ab49afcd34571dab">netq_malloc_node</a>(<span class="keywordtype">size_t</span> size) {</div>
-<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;  <span class="keywordflow">return</span> (<a class="code" href="structnetq__t.html">netq_t</a> *)memb_alloc(&amp;netq_storage);</div>
-<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;}</div>
-<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;</div>
-<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<a class="code" href="netq_8c.html#a2e23675fa402ca2c66bc97cbd09e44f3">netq_free_node</a>(<a class="code" href="structnetq__t.html">netq_t</a> *node) {</div>
-<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;  memb_free(&amp;netq_storage, node);</div>
-<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;}</div>
-<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;</div>
-<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="keywordtype">void</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<a class="code" href="group__netq.html#ga9eba9e66570dcdfc933c6cf843694444">netq_init</a>() {</div>
-<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;  memb_init(&amp;netq_storage);</div>
-<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;}</div>
-<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* WITH_CONTIKI */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="group__netq.html#ga142c8e39fe2cd55250e3c1f0370dfe6b">   61</a></span>&#160;<a class="code" href="group__netq.html#ga142c8e39fe2cd55250e3c1f0370dfe6b">netq_insert_node</a>(<a class="code" href="t__list_8h.html#a9c248916bae1f0b13732686786be7108">list_t</a> queue, <a class="code" href="structnetq__t.html">netq_t</a> *node) {</div>
-<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;  <a class="code" href="structnetq__t.html">netq_t</a> *p;</div>
-<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div>
-<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;  assert(queue);</div>
-<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;  assert(node);</div>
-<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div>
-<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;  p = (<a class="code" href="structnetq__t.html">netq_t</a> *)<a class="code" href="t__list_8h.html#adb42e31bb4fe0df6ec1aa3494902968d">list_head</a>(queue);</div>
-<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;  <span class="keywordflow">while</span>(p &amp;&amp; p-&gt;<a class="code" href="structnetq__t.html#afe91256ff5267fc680b96efd3bd8635a">t</a> &lt;= node-&gt;<a class="code" href="structnetq__t.html#afe91256ff5267fc680b96efd3bd8635a">t</a> &amp;&amp; <a class="code" href="t__list_8h.html#ae7f0bdad2409695760ffd8de55b6a99b">list_item_next</a>(p))</div>
-<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;    p = <a class="code" href="t__list_8h.html#ae7f0bdad2409695760ffd8de55b6a99b">list_item_next</a>(p);</div>
-<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;</div>
-<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;  <span class="keywordflow">if</span> (p)</div>
-<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;    <a class="code" href="t__list_8h.html#a0d4152f6de47bfefa600867056bc3355">list_insert</a>(queue, p, node);</div>
-<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;  <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;    <a class="code" href="t__list_8h.html#ab1521a806c1775e743ddefede17673fd">list_push</a>(queue, node);</div>
-<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div>
-<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;  <span class="keywordflow">return</span> 1;</div>
-<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;}</div>
-<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;</div>
-<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<a class="code" href="structnetq__t.html">netq_t</a> *</div>
-<div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="group__netq.html#gac769de2e30bcf2c2db89ff10822219d4">   80</a></span>&#160;<a class="code" href="group__netq.html#gac769de2e30bcf2c2db89ff10822219d4">netq_head</a>(<a class="code" href="t__list_8h.html#a9c248916bae1f0b13732686786be7108">list_t</a> queue) {</div>
-<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;  <span class="keywordflow">if</span> (!queue)</div>
-<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;    <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;</div>
-<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;  <span class="keywordflow">return</span> <a class="code" href="t__list_8h.html#adb42e31bb4fe0df6ec1aa3494902968d">list_head</a>(queue);</div>
-<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;}</div>
-<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;</div>
-<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<a class="code" href="structnetq__t.html">netq_t</a> *</div>
-<div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="group__netq.html#gab4c90c003808a784ae1ee9322e75627d">   88</a></span>&#160;<a class="code" href="group__netq.html#gab4c90c003808a784ae1ee9322e75627d">netq_next</a>(<a class="code" href="structnetq__t.html">netq_t</a> *p) {</div>
-<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;  <span class="keywordflow">if</span> (!p)</div>
-<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;    <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;</div>
-<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;  <span class="keywordflow">return</span> <a class="code" href="t__list_8h.html#ae7f0bdad2409695760ffd8de55b6a99b">list_item_next</a>(p);</div>
-<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;}</div>
-<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;</div>
-<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="keywordtype">void</span></div>
-<div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="group__netq.html#gace12cd802d76d5bd98b2eaedc591fd22">   96</a></span>&#160;<a class="code" href="group__netq.html#gace12cd802d76d5bd98b2eaedc591fd22">netq_remove</a>(<a class="code" href="t__list_8h.html#a9c248916bae1f0b13732686786be7108">list_t</a> queue, <a class="code" href="structnetq__t.html">netq_t</a> *p) {</div>
-<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;  <span class="keywordflow">if</span> (!queue || !p)</div>
-<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;    <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</div>
-<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;  <a class="code" href="t__list_8h.html#a10de2120be61f445c5989c983c1e133b">list_remove</a>(queue, p);</div>
-<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;}</div>
-<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;</div>
-<div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="group__netq.html#ga108e6c43e524fd4b23a5d4731631fae3">  103</a></span>&#160;<a class="code" href="structnetq__t.html">netq_t</a> *<a class="code" href="group__netq.html#ga108e6c43e524fd4b23a5d4731631fae3">netq_pop_first</a>(<a class="code" href="t__list_8h.html#a9c248916bae1f0b13732686786be7108">list_t</a> queue) {</div>
-<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;  <span class="keywordflow">if</span> (!queue)</div>
-<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;    <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;</div>
-<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;  <span class="keywordflow">return</span> <a class="code" href="t__list_8h.html#a5ba6a8506e0226ab945349e25ef65d56">list_pop</a>(queue);</div>
-<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;}</div>
-<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;</div>
-<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<a class="code" href="structnetq__t.html">netq_t</a> *</div>
-<div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="group__netq.html#gafcf245cd934e9b8f0909a7ca8940e9cb">  111</a></span>&#160;<a class="code" href="group__netq.html#gafcf245cd934e9b8f0909a7ca8940e9cb">netq_node_new</a>(<span class="keywordtype">size_t</span> size) {</div>
-<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;  <a class="code" href="structnetq__t.html">netq_t</a> *node;</div>
-<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;  node = <a class="code" href="netq_8c.html#a58b119d6b9bb7756ab49afcd34571dab">netq_malloc_node</a>(size);</div>
-<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;</div>
-<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;<span class="preprocessor">#ifndef NDEBUG</span></div>
-<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="preprocessor"></span>  <span class="keywordflow">if</span> (!node)</div>
-<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;    <a class="code" href="debug_8h.html#ae1c22127c92fab70da7bf9cae8536e5c">dtls_warn</a>(<span class="stringliteral">&quot;netq_node_new: malloc\n&quot;</span>);</div>
-<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;  <span class="keywordflow">if</span> (node)</div>
-<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;    memset(node, 0, <span class="keyword">sizeof</span>(<a class="code" href="structnetq__t.html">netq_t</a>));</div>
-<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;</div>
-<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;  <span class="keywordflow">return</span> node;  </div>
-<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;}</div>
-<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;</div>
-<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;<span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="group__netq.html#ga9ef9da1a2af266dadef83ddf6c8524d7">  127</a></span>&#160;<a class="code" href="group__netq.html#ga9ef9da1a2af266dadef83ddf6c8524d7">netq_node_free</a>(<a class="code" href="structnetq__t.html">netq_t</a> *node) {</div>
-<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;  <span class="keywordflow">if</span> (node)</div>
-<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;    <a class="code" href="netq_8c.html#a2e23675fa402ca2c66bc97cbd09e44f3">netq_free_node</a>(node);</div>
-<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;}</div>
-<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;</div>
-<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00133"></a><span class="lineno"><a class="line" href="group__netq.html#gac72fd2ec9f1e6908c8a10705fb6555e2">  133</a></span>&#160;<a class="code" href="group__netq.html#gac72fd2ec9f1e6908c8a10705fb6555e2">netq_delete_all</a>(<a class="code" href="t__list_8h.html#a9c248916bae1f0b13732686786be7108">list_t</a> queue) {</div>
-<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;  <a class="code" href="structnetq__t.html">netq_t</a> *p;</div>
-<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;  <span class="keywordflow">if</span> (queue) {</div>
-<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;    <span class="keywordflow">while</span>((p = <a class="code" href="t__list_8h.html#a5ba6a8506e0226ab945349e25ef65d56">list_pop</a>(queue)))</div>
-<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;      <a class="code" href="netq_8c.html#a2e23675fa402ca2c66bc97cbd09e44f3">netq_free_node</a>(p); </div>
-<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;  }</div>
-<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;}</div>
-<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div>
-<div class="ttc" id="dtls__config_8h_html"><div class="ttname"><a href="dtls__config_8h.html">dtls_config.h</a></div></div>
-<div class="ttc" id="t__list_8h_html"><div class="ttname"><a href="t__list_8h.html">t_list.h</a></div><div class="ttdoc">Wrappers for list structures and functions. </div></div>
-<div class="ttc" id="t__list_8h_html_a5ba6a8506e0226ab945349e25ef65d56"><div class="ttname"><a href="t__list_8h.html#a5ba6a8506e0226ab945349e25ef65d56">list_pop</a></div><div class="ttdeci">static void * list_pop(list_t list)</div><div class="ttdef"><b>Definition:</b> <a href="t__list_8h_source.html#l00117">t_list.h:117</a></div></div>
-<div class="ttc" id="t__list_8h_html_a0d4152f6de47bfefa600867056bc3355"><div class="ttname"><a href="t__list_8h.html#a0d4152f6de47bfefa600867056bc3355">list_insert</a></div><div class="ttdeci">static void list_insert(list_t list, void *previtem, void *newitem)</div><div class="ttdef"><b>Definition:</b> <a href="t__list_8h_source.html#l00127">t_list.h:127</a></div></div>
-<div class="ttc" id="debug_8h_html"><div class="ttname"><a href="debug_8h.html">debug.h</a></div></div>
-<div class="ttc" id="group__netq_html_gab4c90c003808a784ae1ee9322e75627d"><div class="ttname"><a href="group__netq.html#gab4c90c003808a784ae1ee9322e75627d">netq_next</a></div><div class="ttdeci">netq_t * netq_next(netq_t *p)</div><div class="ttdef"><b>Definition:</b> <a href="netq_8c_source.html#l00088">netq.c:88</a></div></div>
-<div class="ttc" id="structnetq__t_html"><div class="ttname"><a href="structnetq__t.html">netq_t</a></div><div class="ttdef"><b>Definition:</b> <a href="netq_8h_source.html#l00038">netq.h:38</a></div></div>
-<div class="ttc" id="group__netq_html_gafcf245cd934e9b8f0909a7ca8940e9cb"><div class="ttname"><a href="group__netq.html#gafcf245cd934e9b8f0909a7ca8940e9cb">netq_node_new</a></div><div class="ttdeci">netq_t * netq_node_new(size_t size)</div><div class="ttdef"><b>Definition:</b> <a href="netq_8c_source.html#l00111">netq.c:111</a></div></div>
-<div class="ttc" id="t__list_8h_html_ae7f0bdad2409695760ffd8de55b6a99b"><div class="ttname"><a href="t__list_8h.html#ae7f0bdad2409695760ffd8de55b6a99b">list_item_next</a></div><div class="ttdeci">static void * list_item_next(void *item)</div><div class="ttdef"><b>Definition:</b> <a href="t__list_8h_source.html#l00137">t_list.h:137</a></div></div>
-<div class="ttc" id="t__list_8h_html_a9c248916bae1f0b13732686786be7108"><div class="ttname"><a href="t__list_8h.html#a9c248916bae1f0b13732686786be7108">list_t</a></div><div class="ttdeci">void ** list_t</div><div class="ttdef"><b>Definition:</b> <a href="t__list_8h_source.html#l00079">t_list.h:79</a></div></div>
-<div class="ttc" id="structnetq__t_html_afe91256ff5267fc680b96efd3bd8635a"><div class="ttname"><a href="structnetq__t.html#afe91256ff5267fc680b96efd3bd8635a">netq_t::t</a></div><div class="ttdeci">clock_time_t t</div><div class="ttdef"><b>Definition:</b> <a href="netq_8h_source.html#l00041">netq.h:41</a></div></div>
-<div class="ttc" id="group__netq_html_ga9eba9e66570dcdfc933c6cf843694444"><div class="ttname"><a href="group__netq.html#ga9eba9e66570dcdfc933c6cf843694444">netq_init</a></div><div class="ttdeci">static void netq_init()</div><div class="ttdef"><b>Definition:</b> <a href="netq_8h_source.html#l00058">netq.h:58</a></div></div>
-<div class="ttc" id="netq_8c_html_a2e23675fa402ca2c66bc97cbd09e44f3"><div class="ttname"><a href="netq_8c.html#a2e23675fa402ca2c66bc97cbd09e44f3">netq_free_node</a></div><div class="ttdeci">static void netq_free_node(netq_t *node)</div><div class="ttdef"><b>Definition:</b> <a href="netq_8c_source.html#l00033">netq.c:33</a></div></div>
-<div class="ttc" id="group__netq_html_gac769de2e30bcf2c2db89ff10822219d4"><div class="ttname"><a href="group__netq.html#gac769de2e30bcf2c2db89ff10822219d4">netq_head</a></div><div class="ttdeci">netq_t * netq_head(list_t queue)</div><div class="ttdef"><b>Definition:</b> <a href="netq_8c_source.html#l00080">netq.c:80</a></div></div>
-<div class="ttc" id="group__netq_html_ga108e6c43e524fd4b23a5d4731631fae3"><div class="ttname"><a href="group__netq.html#ga108e6c43e524fd4b23a5d4731631fae3">netq_pop_first</a></div><div class="ttdeci">netq_t * netq_pop_first(list_t queue)</div><div class="ttdef"><b>Definition:</b> <a href="netq_8c_source.html#l00103">netq.c:103</a></div></div>
-<div class="ttc" id="t__list_8h_html_adb42e31bb4fe0df6ec1aa3494902968d"><div class="ttname"><a href="t__list_8h.html#adb42e31bb4fe0df6ec1aa3494902968d">list_head</a></div><div class="ttdeci">static void * list_head(list_t list)</div><div class="ttdef"><b>Definition:</b> <a href="t__list_8h_source.html#l00096">t_list.h:96</a></div></div>
-<div class="ttc" id="netq_8c_html_a58b119d6b9bb7756ab49afcd34571dab"><div class="ttname"><a href="netq_8c.html#a58b119d6b9bb7756ab49afcd34571dab">netq_malloc_node</a></div><div class="ttdeci">static netq_t * netq_malloc_node(size_t size)</div><div class="ttdef"><b>Definition:</b> <a href="netq_8c_source.html#l00028">netq.c:28</a></div></div>
-<div class="ttc" id="t__list_8h_html_a10de2120be61f445c5989c983c1e133b"><div class="ttname"><a href="t__list_8h.html#a10de2120be61f445c5989c983c1e133b">list_remove</a></div><div class="ttdeci">static void list_remove(list_t list, void *item)</div><div class="ttdef"><b>Definition:</b> <a href="t__list_8h_source.html#l00101">t_list.h:101</a></div></div>
-<div class="ttc" id="netq_8h_html"><div class="ttname"><a href="netq_8h.html">netq.h</a></div></div>
-<div class="ttc" id="debug_8h_html_ae1c22127c92fab70da7bf9cae8536e5c"><div class="ttname"><a href="debug_8h.html#ae1c22127c92fab70da7bf9cae8536e5c">dtls_warn</a></div><div class="ttdeci">#define dtls_warn(...)</div><div class="ttdef"><b>Definition:</b> <a href="debug_8h_source.html#l00136">debug.h:136</a></div></div>
-<div class="ttc" id="group__netq_html_gace12cd802d76d5bd98b2eaedc591fd22"><div class="ttname"><a href="group__netq.html#gace12cd802d76d5bd98b2eaedc591fd22">netq_remove</a></div><div class="ttdeci">void netq_remove(list_t queue, netq_t *p)</div><div class="ttdef"><b>Definition:</b> <a href="netq_8c_source.html#l00096">netq.c:96</a></div></div>
-<div class="ttc" id="group__netq_html_ga9ef9da1a2af266dadef83ddf6c8524d7"><div class="ttname"><a href="group__netq.html#ga9ef9da1a2af266dadef83ddf6c8524d7">netq_node_free</a></div><div class="ttdeci">void netq_node_free(netq_t *node)</div><div class="ttdef"><b>Definition:</b> <a href="netq_8c_source.html#l00127">netq.c:127</a></div></div>
-<div class="ttc" id="group__netq_html_gac72fd2ec9f1e6908c8a10705fb6555e2"><div class="ttname"><a href="group__netq.html#gac72fd2ec9f1e6908c8a10705fb6555e2">netq_delete_all</a></div><div class="ttdeci">void netq_delete_all(list_t queue)</div><div class="ttdef"><b>Definition:</b> <a href="netq_8c_source.html#l00133">netq.c:133</a></div></div>
-<div class="ttc" id="group__netq_html_ga142c8e39fe2cd55250e3c1f0370dfe6b"><div class="ttname"><a href="group__netq.html#ga142c8e39fe2cd55250e3c1f0370dfe6b">netq_insert_node</a></div><div class="ttdeci">int netq_insert_node(list_t queue, netq_t *node)</div><div class="ttdef"><b>Definition:</b> <a href="netq_8c_source.html#l00061">netq.c:61</a></div></div>
-<div class="ttc" id="t__list_8h_html_ab1521a806c1775e743ddefede17673fd"><div class="ttname"><a href="t__list_8h.html#ab1521a806c1775e743ddefede17673fd">list_push</a></div><div class="ttdeci">static void list_push(list_t list, void *item)</div><div class="ttdef"><b>Definition:</b> <a href="t__list_8h_source.html#l00112">t_list.h:112</a></div></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/netq_8h.html b/external/wakaama/examples/shared/tinydtls/doc/html/netq_8h.html
deleted file mode 100644 (file)
index c020d68..0000000
+++ /dev/null
@@ -1,140 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: netq.h File Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#nested-classes">Data Structures</a> &#124;
-<a href="#typedef-members">Typedefs</a> &#124;
-<a href="#func-members">Functions</a>  </div>
-  <div class="headertitle">
-<div class="title">netq.h File Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock"><code>#include &quot;<a class="el" href="tinydtls_8h_source.html">tinydtls.h</a>&quot;</code><br/>
-<code>#include &quot;<a class="el" href="global_8h_source.html">global.h</a>&quot;</code><br/>
-<code>#include &quot;<a class="el" href="dtls_8h_source.html">dtls.h</a>&quot;</code><br/>
-<code>#include &quot;<a class="el" href="dtls__time_8h_source.html">dtls_time.h</a>&quot;</code><br/>
-</div>
-<p><a href="netq_8h_source.html">Go to the source code of this file.</a></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
-Data Structures</h2></td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structnetq__t.html">netq_t</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
-Typedefs</h2></td></tr>
-<tr class="memitem:gaa59d8597860df302584b1e9c448fdfcd"><td class="memItemLeft" align="right" valign="top">typedef unsigned char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__netq.html#gaa59d8597860df302584b1e9c448fdfcd">netq_packet_t</a> [<a class="el" href="global_8h.html#acdbfba15eb1a5692e177d582b4ca1583">DTLS_MAX_BUF</a>]</td></tr>
-<tr class="separator:gaa59d8597860df302584b1e9c448fdfcd"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga4991f2cfa1f79edf8f7d8262c5beeb5b"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structnetq__t.html">netq_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__netq.html#ga4991f2cfa1f79edf8f7d8262c5beeb5b">netq_t</a></td></tr>
-<tr class="separator:ga4991f2cfa1f79edf8f7d8262c5beeb5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga9eba9e66570dcdfc933c6cf843694444"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__netq.html#ga9eba9e66570dcdfc933c6cf843694444">netq_init</a> ()</td></tr>
-<tr class="separator:ga9eba9e66570dcdfc933c6cf843694444"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga142c8e39fe2cd55250e3c1f0370dfe6b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__netq.html#ga142c8e39fe2cd55250e3c1f0370dfe6b">netq_insert_node</a> (<a class="el" href="t__list_8h.html#a9c248916bae1f0b13732686786be7108">list_t</a> queue, <a class="el" href="structnetq__t.html">netq_t</a> *node)</td></tr>
-<tr class="separator:ga142c8e39fe2cd55250e3c1f0370dfe6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga9ef9da1a2af266dadef83ddf6c8524d7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__netq.html#ga9ef9da1a2af266dadef83ddf6c8524d7">netq_node_free</a> (<a class="el" href="structnetq__t.html">netq_t</a> *node)</td></tr>
-<tr class="separator:ga9ef9da1a2af266dadef83ddf6c8524d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gac72fd2ec9f1e6908c8a10705fb6555e2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__netq.html#gac72fd2ec9f1e6908c8a10705fb6555e2">netq_delete_all</a> (<a class="el" href="t__list_8h.html#a9c248916bae1f0b13732686786be7108">list_t</a> queue)</td></tr>
-<tr class="separator:gac72fd2ec9f1e6908c8a10705fb6555e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gafcf245cd934e9b8f0909a7ca8940e9cb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structnetq__t.html">netq_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__netq.html#gafcf245cd934e9b8f0909a7ca8940e9cb">netq_node_new</a> (size_t size)</td></tr>
-<tr class="separator:gafcf245cd934e9b8f0909a7ca8940e9cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gac769de2e30bcf2c2db89ff10822219d4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structnetq__t.html">netq_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__netq.html#gac769de2e30bcf2c2db89ff10822219d4">netq_head</a> (<a class="el" href="t__list_8h.html#a9c248916bae1f0b13732686786be7108">list_t</a> queue)</td></tr>
-<tr class="separator:gac769de2e30bcf2c2db89ff10822219d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gab4c90c003808a784ae1ee9322e75627d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structnetq__t.html">netq_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__netq.html#gab4c90c003808a784ae1ee9322e75627d">netq_next</a> (<a class="el" href="structnetq__t.html">netq_t</a> *p)</td></tr>
-<tr class="separator:gab4c90c003808a784ae1ee9322e75627d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gace12cd802d76d5bd98b2eaedc591fd22"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__netq.html#gace12cd802d76d5bd98b2eaedc591fd22">netq_remove</a> (<a class="el" href="t__list_8h.html#a9c248916bae1f0b13732686786be7108">list_t</a> queue, <a class="el" href="structnetq__t.html">netq_t</a> *p)</td></tr>
-<tr class="separator:gace12cd802d76d5bd98b2eaedc591fd22"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga108e6c43e524fd4b23a5d4731631fae3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structnetq__t.html">netq_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__netq.html#ga108e6c43e524fd4b23a5d4731631fae3">netq_pop_first</a> (<a class="el" href="t__list_8h.html#a9c248916bae1f0b13732686786be7108">list_t</a> queue)</td></tr>
-<tr class="separator:ga108e6c43e524fd4b23a5d4731631fae3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/netq_8h_source.html b/external/wakaama/examples/shared/tinydtls/doc/html/netq_8h_source.html
deleted file mode 100644 (file)
index 8c23bd2..0000000
+++ /dev/null
@@ -1,191 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: netq.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="header">
-  <div class="headertitle">
-<div class="title">netq.h</div>  </div>
-</div><!--header-->
-<div class="contents">
-<a href="netq_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/* netq.h -- Simple packet queue</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> * Copyright (C) 2010--2012 Olaf Bergmann &lt;bergmann@tzi.org&gt;</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> * This file is part of the library tinyDTLS. Please see the file</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> * LICENSE for terms of use.</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;</div>
-<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="preprocessor">#ifndef _DTLS_NETQ_H_</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define _DTLS_NETQ_H_</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="tinydtls_8h.html">tinydtls.h</a>&quot;</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="global_8h.html">global.h</a>&quot;</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="dtls_8h.html">dtls.h</a>&quot;</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="dtls__time_8h.html">dtls_time.h</a>&quot;</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div>
-<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#ifndef NETQ_MAXCNT</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#ifdef DTLS_ECC</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define NETQ_MAXCNT 5 </span></div>
-<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#elif defined(DTLS_PSK)</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define NETQ_MAXCNT 3 </span></div>
-<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="group__netq.html#gaa59d8597860df302584b1e9c448fdfcd">   36</a></span>&#160;<span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="group__netq.html#gaa59d8597860df302584b1e9c448fdfcd">netq_packet_t</a>[<a class="code" href="global_8h.html#acdbfba15eb1a5692e177d582b4ca1583">DTLS_MAX_BUF</a>];</div>
-<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;</div>
-<div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="structnetq__t.html">   38</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structnetq__t.html">netq_t</a> {</div>
-<div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="structnetq__t.html#a89ecfe2e9b464039d390e8746da546cb">   39</a></span>&#160;  <span class="keyword">struct </span><a class="code" href="structnetq__t.html">netq_t</a> *<a class="code" href="structnetq__t.html#a89ecfe2e9b464039d390e8746da546cb">next</a>;</div>
-<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div>
-<div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structnetq__t.html#afe91256ff5267fc680b96efd3bd8635a">   41</a></span>&#160;  <a class="code" href="group__clock.html#ga6e6c13e871b82d881a01d1bc8df69d23">clock_time_t</a> <a class="code" href="structnetq__t.html#afe91256ff5267fc680b96efd3bd8635a">t</a>;           </div>
-<div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="structnetq__t.html#ae0c2648acf87d1e6f2566bc3600771b6">   42</a></span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="structnetq__t.html#ae0c2648acf87d1e6f2566bc3600771b6">timeout</a>;     </div>
-<div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="structnetq__t.html#aaca5f6407bd7b3162d9ee7e7e7b8f0ff">   44</a></span>&#160;  <a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *<a class="code" href="structnetq__t.html#aaca5f6407bd7b3162d9ee7e7e7b8f0ff">peer</a>;        </div>
-<div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="structnetq__t.html#a9998944e43a39a2e5700156876a312e0">   45</a></span>&#160;  uint16_t <a class="code" href="structnetq__t.html#a9998944e43a39a2e5700156876a312e0">epoch</a>;</div>
-<div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="structnetq__t.html#a13d74bc65c8879b894698935fbbe2246">   46</a></span>&#160;  uint8_t <a class="code" href="structnetq__t.html#a13d74bc65c8879b894698935fbbe2246">type</a>;</div>
-<div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="structnetq__t.html#aacd03017f40248c2f48c2b7b9cd92dc8">   47</a></span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="structnetq__t.html#aacd03017f40248c2f48c2b7b9cd92dc8">retransmit_cnt</a>; </div>
-<div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="structnetq__t.html#ac72c9378282becab5a273f612f58c124">   49</a></span>&#160;  <span class="keywordtype">size_t</span> <a class="code" href="structnetq__t.html#ac72c9378282becab5a273f612f58c124">length</a>;        </div>
-<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">#ifndef WITH_CONTIKI</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="structnetq__t.html#a5b4d387623df43fe25a3b11e9d4fb02c">   51</a></span>&#160;<span class="preprocessor"></span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="structnetq__t.html#a5b4d387623df43fe25a3b11e9d4fb02c">data</a>[];     </div>
-<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="preprocessor"></span>  <a class="code" href="group__netq.html#gaa59d8597860df302584b1e9c448fdfcd">netq_packet_t</a> <a class="code" href="structnetq__t.html#a5b4d387623df43fe25a3b11e9d4fb02c">data</a>;       </div>
-<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor"></span>} <a class="code" href="group__netq.html#ga4991f2cfa1f79edf8f7d8262c5beeb5b">netq_t</a>;</div>
-<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;</div>
-<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">#ifndef WITH_CONTIKI</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="group__netq.html#ga9eba9e66570dcdfc933c6cf843694444">   58</a></span>&#160;<span class="preprocessor"></span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__netq.html#ga9eba9e66570dcdfc933c6cf843694444">netq_init</a>()</div>
-<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;{ }</div>
-<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor"></span><span class="keywordtype">void</span> <a class="code" href="group__netq.html#ga9eba9e66570dcdfc933c6cf843694444">netq_init</a>();</div>
-<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__netq.html#ga142c8e39fe2cd55250e3c1f0370dfe6b">netq_insert_node</a>(<a class="code" href="t__list_8h.html#a9c248916bae1f0b13732686786be7108">list_t</a> queue, <a class="code" href="structnetq__t.html">netq_t</a> *node);</div>
-<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;</div>
-<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keywordtype">void</span> <a class="code" href="group__netq.html#ga9ef9da1a2af266dadef83ddf6c8524d7">netq_node_free</a>(<a class="code" href="structnetq__t.html">netq_t</a> *node);</div>
-<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;</div>
-<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="keywordtype">void</span> <a class="code" href="group__netq.html#gac72fd2ec9f1e6908c8a10705fb6555e2">netq_delete_all</a>(<a class="code" href="t__list_8h.html#a9c248916bae1f0b13732686786be7108">list_t</a> queue);</div>
-<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;</div>
-<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<a class="code" href="structnetq__t.html">netq_t</a> *<a class="code" href="group__netq.html#gafcf245cd934e9b8f0909a7ca8940e9cb">netq_node_new</a>(<span class="keywordtype">size_t</span> size);</div>
-<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</div>
-<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<a class="code" href="structnetq__t.html">netq_t</a> *<a class="code" href="group__netq.html#gac769de2e30bcf2c2db89ff10822219d4">netq_head</a>(<a class="code" href="t__list_8h.html#a9c248916bae1f0b13732686786be7108">list_t</a> queue);</div>
-<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div>
-<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<a class="code" href="structnetq__t.html">netq_t</a> *<a class="code" href="group__netq.html#gab4c90c003808a784ae1ee9322e75627d">netq_next</a>(<a class="code" href="structnetq__t.html">netq_t</a> *p);</div>
-<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keywordtype">void</span> <a class="code" href="group__netq.html#gace12cd802d76d5bd98b2eaedc591fd22">netq_remove</a>(<a class="code" href="t__list_8h.html#a9c248916bae1f0b13732686786be7108">list_t</a> queue, <a class="code" href="structnetq__t.html">netq_t</a> *p);</div>
-<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;</div>
-<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;<a class="code" href="structnetq__t.html">netq_t</a> *<a class="code" href="group__netq.html#ga108e6c43e524fd4b23a5d4731631fae3">netq_pop_first</a>(<a class="code" href="t__list_8h.html#a9c248916bae1f0b13732686786be7108">list_t</a> queue);</div>
-<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;</div>
-<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* _DTLS_NETQ_H_ */</span><span class="preprocessor"></span></div>
-<div class="ttc" id="structnetq__t_html_aacd03017f40248c2f48c2b7b9cd92dc8"><div class="ttname"><a href="structnetq__t.html#aacd03017f40248c2f48c2b7b9cd92dc8">netq_t::retransmit_cnt</a></div><div class="ttdeci">unsigned char retransmit_cnt</div><div class="ttdef"><b>Definition:</b> <a href="netq_8h_source.html#l00047">netq.h:47</a></div></div>
-<div class="ttc" id="tinydtls_8h_html"><div class="ttname"><a href="tinydtls_8h.html">tinydtls.h</a></div><div class="ttdoc">public tinydtls API </div></div>
-<div class="ttc" id="structnetq__t_html_a89ecfe2e9b464039d390e8746da546cb"><div class="ttname"><a href="structnetq__t.html#a89ecfe2e9b464039d390e8746da546cb">netq_t::next</a></div><div class="ttdeci">struct netq_t * next</div><div class="ttdef"><b>Definition:</b> <a href="netq_8h_source.html#l00039">netq.h:39</a></div></div>
-<div class="ttc" id="group__netq_html_gab4c90c003808a784ae1ee9322e75627d"><div class="ttname"><a href="group__netq.html#gab4c90c003808a784ae1ee9322e75627d">netq_next</a></div><div class="ttdeci">netq_t * netq_next(netq_t *p)</div><div class="ttdef"><b>Definition:</b> <a href="netq_8c_source.html#l00088">netq.c:88</a></div></div>
-<div class="ttc" id="structnetq__t_html_a5b4d387623df43fe25a3b11e9d4fb02c"><div class="ttname"><a href="structnetq__t.html#a5b4d387623df43fe25a3b11e9d4fb02c">netq_t::data</a></div><div class="ttdeci">unsigned char data[]</div><div class="ttdef"><b>Definition:</b> <a href="netq_8h_source.html#l00051">netq.h:51</a></div></div>
-<div class="ttc" id="structnetq__t_html"><div class="ttname"><a href="structnetq__t.html">netq_t</a></div><div class="ttdef"><b>Definition:</b> <a href="netq_8h_source.html#l00038">netq.h:38</a></div></div>
-<div class="ttc" id="group__netq_html_gafcf245cd934e9b8f0909a7ca8940e9cb"><div class="ttname"><a href="group__netq.html#gafcf245cd934e9b8f0909a7ca8940e9cb">netq_node_new</a></div><div class="ttdeci">netq_t * netq_node_new(size_t size)</div><div class="ttdef"><b>Definition:</b> <a href="netq_8c_source.html#l00111">netq.c:111</a></div></div>
-<div class="ttc" id="global_8h_html"><div class="ttname"><a href="global_8h.html">global.h</a></div></div>
-<div class="ttc" id="group__clock_html_ga6e6c13e871b82d881a01d1bc8df69d23"><div class="ttname"><a href="group__clock.html#ga6e6c13e871b82d881a01d1bc8df69d23">clock_time_t</a></div><div class="ttdeci">uint32_t clock_time_t</div><div class="ttdef"><b>Definition:</b> <a href="dtls__time_8h_source.html#l00055">dtls_time.h:55</a></div></div>
-<div class="ttc" id="t__list_8h_html_a9c248916bae1f0b13732686786be7108"><div class="ttname"><a href="t__list_8h.html#a9c248916bae1f0b13732686786be7108">list_t</a></div><div class="ttdeci">void ** list_t</div><div class="ttdef"><b>Definition:</b> <a href="t__list_8h_source.html#l00079">t_list.h:79</a></div></div>
-<div class="ttc" id="group__netq_html_gaa59d8597860df302584b1e9c448fdfcd"><div class="ttname"><a href="group__netq.html#gaa59d8597860df302584b1e9c448fdfcd">netq_packet_t</a></div><div class="ttdeci">unsigned char netq_packet_t[DTLS_MAX_BUF]</div><div class="ttdef"><b>Definition:</b> <a href="netq_8h_source.html#l00036">netq.h:36</a></div></div>
-<div class="ttc" id="group__netq_html_ga4991f2cfa1f79edf8f7d8262c5beeb5b"><div class="ttname"><a href="group__netq.html#ga4991f2cfa1f79edf8f7d8262c5beeb5b">netq_t</a></div><div class="ttdeci">struct netq_t netq_t</div></div>
-<div class="ttc" id="dtls__time_8h_html"><div class="ttname"><a href="dtls__time_8h.html">dtls_time.h</a></div><div class="ttdoc">Clock Handling. </div></div>
-<div class="ttc" id="structnetq__t_html_afe91256ff5267fc680b96efd3bd8635a"><div class="ttname"><a href="structnetq__t.html#afe91256ff5267fc680b96efd3bd8635a">netq_t::t</a></div><div class="ttdeci">clock_time_t t</div><div class="ttdef"><b>Definition:</b> <a href="netq_8h_source.html#l00041">netq.h:41</a></div></div>
-<div class="ttc" id="group__netq_html_ga9eba9e66570dcdfc933c6cf843694444"><div class="ttname"><a href="group__netq.html#ga9eba9e66570dcdfc933c6cf843694444">netq_init</a></div><div class="ttdeci">static void netq_init()</div><div class="ttdef"><b>Definition:</b> <a href="netq_8h_source.html#l00058">netq.h:58</a></div></div>
-<div class="ttc" id="group__netq_html_gac769de2e30bcf2c2db89ff10822219d4"><div class="ttname"><a href="group__netq.html#gac769de2e30bcf2c2db89ff10822219d4">netq_head</a></div><div class="ttdeci">netq_t * netq_head(list_t queue)</div><div class="ttdef"><b>Definition:</b> <a href="netq_8c_source.html#l00080">netq.c:80</a></div></div>
-<div class="ttc" id="structnetq__t_html_aaca5f6407bd7b3162d9ee7e7e7b8f0ff"><div class="ttname"><a href="structnetq__t.html#aaca5f6407bd7b3162d9ee7e7e7b8f0ff">netq_t::peer</a></div><div class="ttdeci">dtls_peer_t * peer</div><div class="ttdef"><b>Definition:</b> <a href="netq_8h_source.html#l00044">netq.h:44</a></div></div>
-<div class="ttc" id="structnetq__t_html_a9998944e43a39a2e5700156876a312e0"><div class="ttname"><a href="structnetq__t.html#a9998944e43a39a2e5700156876a312e0">netq_t::epoch</a></div><div class="ttdeci">uint16_t epoch</div><div class="ttdef"><b>Definition:</b> <a href="netq_8h_source.html#l00045">netq.h:45</a></div></div>
-<div class="ttc" id="structdtls__peer__t_html"><div class="ttname"><a href="structdtls__peer__t.html">dtls_peer_t</a></div><div class="ttdef"><b>Definition:</b> <a href="peer_8h_source.html#l00052">peer.h:52</a></div></div>
-<div class="ttc" id="dtls_8h_html"><div class="ttname"><a href="dtls_8h.html">dtls.h</a></div><div class="ttdoc">High level DTLS API and visible structures. </div></div>
-<div class="ttc" id="structnetq__t_html_ae0c2648acf87d1e6f2566bc3600771b6"><div class="ttname"><a href="structnetq__t.html#ae0c2648acf87d1e6f2566bc3600771b6">netq_t::timeout</a></div><div class="ttdeci">unsigned int timeout</div><div class="ttdef"><b>Definition:</b> <a href="netq_8h_source.html#l00042">netq.h:42</a></div></div>
-<div class="ttc" id="group__netq_html_ga108e6c43e524fd4b23a5d4731631fae3"><div class="ttname"><a href="group__netq.html#ga108e6c43e524fd4b23a5d4731631fae3">netq_pop_first</a></div><div class="ttdeci">netq_t * netq_pop_first(list_t queue)</div><div class="ttdef"><b>Definition:</b> <a href="netq_8c_source.html#l00103">netq.c:103</a></div></div>
-<div class="ttc" id="structnetq__t_html_a13d74bc65c8879b894698935fbbe2246"><div class="ttname"><a href="structnetq__t.html#a13d74bc65c8879b894698935fbbe2246">netq_t::type</a></div><div class="ttdeci">uint8_t type</div><div class="ttdef"><b>Definition:</b> <a href="netq_8h_source.html#l00046">netq.h:46</a></div></div>
-<div class="ttc" id="group__netq_html_gace12cd802d76d5bd98b2eaedc591fd22"><div class="ttname"><a href="group__netq.html#gace12cd802d76d5bd98b2eaedc591fd22">netq_remove</a></div><div class="ttdeci">void netq_remove(list_t queue, netq_t *p)</div><div class="ttdef"><b>Definition:</b> <a href="netq_8c_source.html#l00096">netq.c:96</a></div></div>
-<div class="ttc" id="group__netq_html_ga9ef9da1a2af266dadef83ddf6c8524d7"><div class="ttname"><a href="group__netq.html#ga9ef9da1a2af266dadef83ddf6c8524d7">netq_node_free</a></div><div class="ttdeci">void netq_node_free(netq_t *node)</div><div class="ttdef"><b>Definition:</b> <a href="netq_8c_source.html#l00127">netq.c:127</a></div></div>
-<div class="ttc" id="global_8h_html_acdbfba15eb1a5692e177d582b4ca1583"><div class="ttname"><a href="global_8h.html#acdbfba15eb1a5692e177d582b4ca1583">DTLS_MAX_BUF</a></div><div class="ttdeci">#define DTLS_MAX_BUF</div><div class="ttdef"><b>Definition:</b> <a href="global_8h_source.html#l00064">global.h:64</a></div></div>
-<div class="ttc" id="structnetq__t_html_ac72c9378282becab5a273f612f58c124"><div class="ttname"><a href="structnetq__t.html#ac72c9378282becab5a273f612f58c124">netq_t::length</a></div><div class="ttdeci">size_t length</div><div class="ttdef"><b>Definition:</b> <a href="netq_8h_source.html#l00049">netq.h:49</a></div></div>
-<div class="ttc" id="group__netq_html_gac72fd2ec9f1e6908c8a10705fb6555e2"><div class="ttname"><a href="group__netq.html#gac72fd2ec9f1e6908c8a10705fb6555e2">netq_delete_all</a></div><div class="ttdeci">void netq_delete_all(list_t queue)</div><div class="ttdef"><b>Definition:</b> <a href="netq_8c_source.html#l00133">netq.c:133</a></div></div>
-<div class="ttc" id="group__netq_html_ga142c8e39fe2cd55250e3c1f0370dfe6b"><div class="ttname"><a href="group__netq.html#ga142c8e39fe2cd55250e3c1f0370dfe6b">netq_insert_node</a></div><div class="ttdeci">int netq_insert_node(list_t queue, netq_t *node)</div><div class="ttdef"><b>Definition:</b> <a href="netq_8c_source.html#l00061">netq.c:61</a></div></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/numeric_8h.html b/external/wakaama/examples/shared/tinydtls/doc/html/numeric_8h.html
deleted file mode 100644 (file)
index bc471aa..0000000
+++ /dev/null
@@ -1,567 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: numeric.h File Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#define-members">Macros</a> &#124;
-<a href="#func-members">Functions</a>  </div>
-  <div class="headertitle">
-<div class="title">numeric.h File Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock"><code>#include &lt;stdint.h&gt;</code><br/>
-</div>
-<p><a href="numeric_8h_source.html">Go to the source code of this file.</a></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
-Macros</h2></td></tr>
-<tr class="memitem:a2d017cd3beb218080a7988e2deed2a11"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="numeric_8h.html#a2d017cd3beb218080a7988e2deed2a11">min</a>(A, B)&#160;&#160;&#160;((A) &lt;= (B) ? (A) : (B))</td></tr>
-<tr class="separator:a2d017cd3beb218080a7988e2deed2a11"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a24e753bacac6be5f30e18f8a2bdefda4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="numeric_8h.html#a24e753bacac6be5f30e18f8a2bdefda4">max</a>(A, B)&#160;&#160;&#160;((A) &lt; (B) ? (B) : (A))</td></tr>
-<tr class="separator:a24e753bacac6be5f30e18f8a2bdefda4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:a7b602967e2fc28b0be02bd4585e255d0"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="numeric_8h.html#a7b602967e2fc28b0be02bd4585e255d0">dtls_int_to_uint8</a> (unsigned char *field, uint8_t value)</td></tr>
-<tr class="separator:a7b602967e2fc28b0be02bd4585e255d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a074d352855e1ffde4c2ddb6a6fea01b9"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="numeric_8h.html#a074d352855e1ffde4c2ddb6a6fea01b9">dtls_int_to_uint16</a> (unsigned char *field, uint16_t value)</td></tr>
-<tr class="separator:a074d352855e1ffde4c2ddb6a6fea01b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aff276cdd846cd194a21e9c61549292f6"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="numeric_8h.html#aff276cdd846cd194a21e9c61549292f6">dtls_int_to_uint24</a> (unsigned char *field, uint32_t value)</td></tr>
-<tr class="separator:aff276cdd846cd194a21e9c61549292f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6914ee523b27539f4e441bede8c072b4"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="numeric_8h.html#a6914ee523b27539f4e441bede8c072b4">dtls_int_to_uint32</a> (unsigned char *field, uint32_t value)</td></tr>
-<tr class="separator:a6914ee523b27539f4e441bede8c072b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:abe324cc4e62d03bdecf457382ba213c8"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="numeric_8h.html#abe324cc4e62d03bdecf457382ba213c8">dtls_int_to_uint48</a> (unsigned char *field, uint64_t value)</td></tr>
-<tr class="separator:abe324cc4e62d03bdecf457382ba213c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab4d80395fb7f4118dfcb101ae94a5e93"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="numeric_8h.html#ab4d80395fb7f4118dfcb101ae94a5e93">dtls_int_to_uint64</a> (unsigned char *field, uint64_t value)</td></tr>
-<tr class="separator:ab4d80395fb7f4118dfcb101ae94a5e93"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7293cc28604d896cfef802b53b0ad99f"><td class="memItemLeft" align="right" valign="top">static uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="numeric_8h.html#a7293cc28604d896cfef802b53b0ad99f">dtls_uint8_to_int</a> (const unsigned char *field)</td></tr>
-<tr class="separator:a7293cc28604d896cfef802b53b0ad99f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae32dd0743658f1aa5a723d5a8357521f"><td class="memItemLeft" align="right" valign="top">static uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="numeric_8h.html#ae32dd0743658f1aa5a723d5a8357521f">dtls_uint16_to_int</a> (const unsigned char *field)</td></tr>
-<tr class="separator:ae32dd0743658f1aa5a723d5a8357521f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a238931e9197ce422acfba569deb2af71"><td class="memItemLeft" align="right" valign="top">static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="numeric_8h.html#a238931e9197ce422acfba569deb2af71">dtls_uint24_to_int</a> (const unsigned char *field)</td></tr>
-<tr class="separator:a238931e9197ce422acfba569deb2af71"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a91f840f763f90c6d88a267011edf86d0"><td class="memItemLeft" align="right" valign="top">static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="numeric_8h.html#a91f840f763f90c6d88a267011edf86d0">dtls_uint32_to_int</a> (const unsigned char *field)</td></tr>
-<tr class="separator:a91f840f763f90c6d88a267011edf86d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae25d1d32eab6fe59318506984ebc23af"><td class="memItemLeft" align="right" valign="top">static uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="numeric_8h.html#ae25d1d32eab6fe59318506984ebc23af">dtls_uint48_to_int</a> (const unsigned char *field)</td></tr>
-<tr class="separator:ae25d1d32eab6fe59318506984ebc23af"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa7dcbb31a4c4319903f41008f1f311ae"><td class="memItemLeft" align="right" valign="top">static uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="numeric_8h.html#aa7dcbb31a4c4319903f41008f1f311ae">dtls_uint64_to_int</a> (const unsigned char *field)</td></tr>
-<tr class="separator:aa7dcbb31a4c4319903f41008f1f311ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<h2 class="groupheader">Macro Definition Documentation</h2>
-<a class="anchor" id="a24e753bacac6be5f30e18f8a2bdefda4"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define max</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">A, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">B&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td>&#160;&#160;&#160;((A) &lt; (B) ? (B) : (A))</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="numeric_8h_source.html#l00036">36</a> of file <a class="el" href="numeric_8h_source.html">numeric.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a2d017cd3beb218080a7988e2deed2a11"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define min</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">A, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">B&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td>&#160;&#160;&#160;((A) &lt;= (B) ? (A) : (B))</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="numeric_8h_source.html#l00032">32</a> of file <a class="el" href="numeric_8h_source.html">numeric.h</a>.</p>
-
-</div>
-</div>
-<h2 class="groupheader">Function Documentation</h2>
-<a class="anchor" id="a074d352855e1ffde4c2ddb6a6fea01b9"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int dtls_int_to_uint16 </td>
-          <td>(</td>
-          <td class="paramtype">unsigned char *&#160;</td>
-          <td class="paramname"><em>field</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">uint16_t&#160;</td>
-          <td class="paramname"><em>value</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="numeric_8h_source.html#l00046">46</a> of file <a class="el" href="numeric_8h_source.html">numeric.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aff276cdd846cd194a21e9c61549292f6"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int dtls_int_to_uint24 </td>
-          <td>(</td>
-          <td class="paramtype">unsigned char *&#160;</td>
-          <td class="paramname"><em>field</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">uint32_t&#160;</td>
-          <td class="paramname"><em>value</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="numeric_8h_source.html#l00053">53</a> of file <a class="el" href="numeric_8h_source.html">numeric.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a6914ee523b27539f4e441bede8c072b4"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int dtls_int_to_uint32 </td>
-          <td>(</td>
-          <td class="paramtype">unsigned char *&#160;</td>
-          <td class="paramname"><em>field</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">uint32_t&#160;</td>
-          <td class="paramname"><em>value</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="numeric_8h_source.html#l00061">61</a> of file <a class="el" href="numeric_8h_source.html">numeric.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="abe324cc4e62d03bdecf457382ba213c8"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int dtls_int_to_uint48 </td>
-          <td>(</td>
-          <td class="paramtype">unsigned char *&#160;</td>
-          <td class="paramname"><em>field</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">uint64_t&#160;</td>
-          <td class="paramname"><em>value</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="numeric_8h_source.html#l00070">70</a> of file <a class="el" href="numeric_8h_source.html">numeric.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ab4d80395fb7f4118dfcb101ae94a5e93"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int dtls_int_to_uint64 </td>
-          <td>(</td>
-          <td class="paramtype">unsigned char *&#160;</td>
-          <td class="paramname"><em>field</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">uint64_t&#160;</td>
-          <td class="paramname"><em>value</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="numeric_8h_source.html#l00081">81</a> of file <a class="el" href="numeric_8h_source.html">numeric.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a7b602967e2fc28b0be02bd4585e255d0"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int dtls_int_to_uint8 </td>
-          <td>(</td>
-          <td class="paramtype">unsigned char *&#160;</td>
-          <td class="paramname"><em>field</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">uint8_t&#160;</td>
-          <td class="paramname"><em>value</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="numeric_8h_source.html#l00040">40</a> of file <a class="el" href="numeric_8h_source.html">numeric.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ae32dd0743658f1aa5a723d5a8357521f"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static uint16_t dtls_uint16_to_int </td>
-          <td>(</td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>field</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="numeric_8h_source.html#l00099">99</a> of file <a class="el" href="numeric_8h_source.html">numeric.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a238931e9197ce422acfba569deb2af71"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static uint32_t dtls_uint24_to_int </td>
-          <td>(</td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>field</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="numeric_8h_source.html#l00105">105</a> of file <a class="el" href="numeric_8h_source.html">numeric.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a91f840f763f90c6d88a267011edf86d0"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static uint32_t dtls_uint32_to_int </td>
-          <td>(</td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>field</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="numeric_8h_source.html#l00112">112</a> of file <a class="el" href="numeric_8h_source.html">numeric.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ae25d1d32eab6fe59318506984ebc23af"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static uint64_t dtls_uint48_to_int </td>
-          <td>(</td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>field</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="numeric_8h_source.html#l00120">120</a> of file <a class="el" href="numeric_8h_source.html">numeric.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aa7dcbb31a4c4319903f41008f1f311ae"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static uint64_t dtls_uint64_to_int </td>
-          <td>(</td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>field</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="numeric_8h_source.html#l00130">130</a> of file <a class="el" href="numeric_8h_source.html">numeric.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a7293cc28604d896cfef802b53b0ad99f"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static uint8_t dtls_uint8_to_int </td>
-          <td>(</td>
-          <td class="paramtype">const unsigned char *&#160;</td>
-          <td class="paramname"><em>field</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="numeric_8h_source.html#l00094">94</a> of file <a class="el" href="numeric_8h_source.html">numeric.h</a>.</p>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/numeric_8h_source.html b/external/wakaama/examples/shared/tinydtls/doc/html/numeric_8h_source.html
deleted file mode 100644 (file)
index 22768b6..0000000
+++ /dev/null
@@ -1,250 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: numeric.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="header">
-  <div class="headertitle">
-<div class="title">numeric.h</div>  </div>
-</div><!--header-->
-<div class="contents">
-<a href="numeric_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/* dtls -- a very basic DTLS implementation</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> * Copyright (C) 2011 Olaf Bergmann &lt;bergmann@tzi.org&gt;</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> * Permission is hereby granted, free of charge, to any person</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> * obtaining a copy of this software and associated documentation</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> * files (the &quot;Software&quot;), to deal in the Software without</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> * restriction, including without limitation the rights to use, copy,</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> * modify, merge, publish, distribute, sublicense, and/or sell copies</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> * of the Software, and to permit persons to whom the Software is</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * furnished to do so, subject to the following conditions:</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * The above copyright notice and this permission notice shall be</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * included in all copies or substantial portions of the Software.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> * THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND,</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment"> * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment"> * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment"> * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment"> * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment"> * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment"> * SOFTWARE.</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div>
-<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#ifndef _DTLS_NUMERIC_H_</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define _DTLS_NUMERIC_H_</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &lt;stdint.h&gt;</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div>
-<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#ifndef min</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="numeric_8h.html#a2d017cd3beb218080a7988e2deed2a11">   32</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define min(A,B) ((A) &lt;= (B) ? (A) : (B))</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#ifndef max</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="numeric_8h.html#a24e753bacac6be5f30e18f8a2bdefda4">   36</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define max(A,B) ((A) &lt; (B) ? (B) : (A))</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="comment">/* this one is for consistency... */</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="numeric_8h.html#a7b602967e2fc28b0be02bd4585e255d0">   40</a></span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="numeric_8h.html#a7b602967e2fc28b0be02bd4585e255d0">dtls_int_to_uint8</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *field, uint8_t value)</div>
-<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;{</div>
-<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;  field[0] = value &amp; 0xff;</div>
-<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;  <span class="keywordflow">return</span> 1;</div>
-<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;}</div>
-<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</div>
-<div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="numeric_8h.html#a074d352855e1ffde4c2ddb6a6fea01b9">   46</a></span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="numeric_8h.html#a074d352855e1ffde4c2ddb6a6fea01b9">dtls_int_to_uint16</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *field, uint16_t value)</div>
-<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;{</div>
-<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;  field[0] = (value &gt;&gt; 8) &amp; 0xff;</div>
-<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;  field[1] = value &amp; 0xff;</div>
-<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;  <span class="keywordflow">return</span> 2;</div>
-<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;}</div>
-<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;</div>
-<div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="numeric_8h.html#aff276cdd846cd194a21e9c61549292f6">   53</a></span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="numeric_8h.html#aff276cdd846cd194a21e9c61549292f6">dtls_int_to_uint24</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *field, uint32_t value)</div>
-<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;{</div>
-<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;  field[0] = (value &gt;&gt; 16) &amp; 0xff;</div>
-<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;  field[1] = (value &gt;&gt; 8) &amp; 0xff;</div>
-<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;  field[2] = value &amp; 0xff;</div>
-<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;  <span class="keywordflow">return</span> 3;</div>
-<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;}</div>
-<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;</div>
-<div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="numeric_8h.html#a6914ee523b27539f4e441bede8c072b4">   61</a></span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="numeric_8h.html#a6914ee523b27539f4e441bede8c072b4">dtls_int_to_uint32</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *field, uint32_t value)</div>
-<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;{</div>
-<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;  field[0] = (value &gt;&gt; 24) &amp; 0xff;</div>
-<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;  field[1] = (value &gt;&gt; 16) &amp; 0xff;</div>
-<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;  field[2] = (value &gt;&gt; 8) &amp; 0xff;</div>
-<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;  field[3] = value &amp; 0xff;</div>
-<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;  <span class="keywordflow">return</span> 4;</div>
-<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;}</div>
-<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div>
-<div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="numeric_8h.html#abe324cc4e62d03bdecf457382ba213c8">   70</a></span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="numeric_8h.html#abe324cc4e62d03bdecf457382ba213c8">dtls_int_to_uint48</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *field, uint64_t value)</div>
-<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;{</div>
-<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;  field[0] = (value &gt;&gt; 40) &amp; 0xff;</div>
-<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;  field[1] = (value &gt;&gt; 32) &amp; 0xff;</div>
-<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;  field[2] = (value &gt;&gt; 24) &amp; 0xff;</div>
-<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;  field[3] = (value &gt;&gt; 16) &amp; 0xff;</div>
-<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;  field[4] = (value &gt;&gt; 8) &amp; 0xff;</div>
-<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;  field[5] = value &amp; 0xff;</div>
-<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;  <span class="keywordflow">return</span> 6;</div>
-<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;}</div>
-<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;</div>
-<div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="numeric_8h.html#ab4d80395fb7f4118dfcb101ae94a5e93">   81</a></span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="numeric_8h.html#ab4d80395fb7f4118dfcb101ae94a5e93">dtls_int_to_uint64</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *field, uint64_t value)</div>
-<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;{</div>
-<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;  field[0] = (value &gt;&gt; 56) &amp; 0xff;</div>
-<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;  field[1] = (value &gt;&gt; 48) &amp; 0xff;</div>
-<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;  field[2] = (value &gt;&gt; 40) &amp; 0xff;</div>
-<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;  field[3] = (value &gt;&gt; 32) &amp; 0xff;</div>
-<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;  field[4] = (value &gt;&gt; 24) &amp; 0xff;</div>
-<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;  field[5] = (value &gt;&gt; 16) &amp; 0xff;</div>
-<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;  field[6] = (value &gt;&gt; 8) &amp; 0xff;</div>
-<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;  field[7] = value &amp; 0xff;</div>
-<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;  <span class="keywordflow">return</span> 8;</div>
-<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;}</div>
-<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;</div>
-<div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="numeric_8h.html#a7293cc28604d896cfef802b53b0ad99f">   94</a></span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> uint8_t <a class="code" href="numeric_8h.html#a7293cc28604d896cfef802b53b0ad99f">dtls_uint8_to_int</a>(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *field)</div>
-<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;{</div>
-<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;  <span class="keywordflow">return</span> (uint8_t)field[0];</div>
-<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;}</div>
-<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;</div>
-<div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="numeric_8h.html#ae32dd0743658f1aa5a723d5a8357521f">   99</a></span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> uint16_t <a class="code" href="numeric_8h.html#ae32dd0743658f1aa5a723d5a8357521f">dtls_uint16_to_int</a>(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *field)</div>
-<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;{</div>
-<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;  <span class="keywordflow">return</span> ((uint16_t)field[0] &lt;&lt; 8)</div>
-<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;     | (uint16_t)field[1];</div>
-<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;}</div>
-<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;</div>
-<div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="numeric_8h.html#a238931e9197ce422acfba569deb2af71">  105</a></span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> uint32_t <a class="code" href="numeric_8h.html#a238931e9197ce422acfba569deb2af71">dtls_uint24_to_int</a>(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *field)</div>
-<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;{</div>
-<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;  <span class="keywordflow">return</span> ((uint32_t)field[0] &lt;&lt; 16)</div>
-<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;     | ((uint32_t)field[1] &lt;&lt; 8)</div>
-<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;     | (uint32_t)field[2];</div>
-<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;}</div>
-<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;</div>
-<div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="numeric_8h.html#a91f840f763f90c6d88a267011edf86d0">  112</a></span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> uint32_t <a class="code" href="numeric_8h.html#a91f840f763f90c6d88a267011edf86d0">dtls_uint32_to_int</a>(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *field)</div>
-<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;{</div>
-<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;  <span class="keywordflow">return</span> ((uint32_t)field[0] &lt;&lt; 24)</div>
-<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;     | ((uint32_t)field[1] &lt;&lt; 16)</div>
-<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;     | ((uint32_t)field[2] &lt;&lt; 8)</div>
-<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;     | (uint32_t)field[3];</div>
-<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;}</div>
-<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;</div>
-<div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="numeric_8h.html#ae25d1d32eab6fe59318506984ebc23af">  120</a></span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> uint64_t <a class="code" href="numeric_8h.html#ae25d1d32eab6fe59318506984ebc23af">dtls_uint48_to_int</a>(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *field)</div>
-<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;{</div>
-<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;  <span class="keywordflow">return</span> ((uint64_t)field[0] &lt;&lt; 40)</div>
-<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;     | ((uint64_t)field[1] &lt;&lt; 32)</div>
-<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;     | ((uint64_t)field[2] &lt;&lt; 24)</div>
-<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;     | ((uint64_t)field[3] &lt;&lt; 16)</div>
-<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;     | ((uint64_t)field[4] &lt;&lt; 8)</div>
-<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;     | (uint64_t)field[5];</div>
-<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;}</div>
-<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;</div>
-<div class="line"><a name="l00130"></a><span class="lineno"><a class="line" href="numeric_8h.html#aa7dcbb31a4c4319903f41008f1f311ae">  130</a></span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> uint64_t <a class="code" href="numeric_8h.html#aa7dcbb31a4c4319903f41008f1f311ae">dtls_uint64_to_int</a>(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *field)</div>
-<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;{</div>
-<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;  <span class="keywordflow">return</span> ((uint64_t)field[0] &lt;&lt; 56)</div>
-<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;     | ((uint64_t)field[1] &lt;&lt; 48)</div>
-<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;     | ((uint64_t)field[2] &lt;&lt; 40)</div>
-<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;     | ((uint64_t)field[3] &lt;&lt; 32)</div>
-<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;     | ((uint64_t)field[4] &lt;&lt; 24)</div>
-<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;     | ((uint64_t)field[5] &lt;&lt; 16)</div>
-<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;     | ((uint64_t)field[6] &lt;&lt; 8)</div>
-<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;     | (uint64_t)field[7];</div>
-<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;}</div>
-<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;</div>
-<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* _DTLS_NUMERIC_H_ */</span><span class="preprocessor"></span></div>
-<div class="ttc" id="numeric_8h_html_a91f840f763f90c6d88a267011edf86d0"><div class="ttname"><a href="numeric_8h.html#a91f840f763f90c6d88a267011edf86d0">dtls_uint32_to_int</a></div><div class="ttdeci">static uint32_t dtls_uint32_to_int(const unsigned char *field)</div><div class="ttdef"><b>Definition:</b> <a href="numeric_8h_source.html#l00112">numeric.h:112</a></div></div>
-<div class="ttc" id="numeric_8h_html_aa7dcbb31a4c4319903f41008f1f311ae"><div class="ttname"><a href="numeric_8h.html#aa7dcbb31a4c4319903f41008f1f311ae">dtls_uint64_to_int</a></div><div class="ttdeci">static uint64_t dtls_uint64_to_int(const unsigned char *field)</div><div class="ttdef"><b>Definition:</b> <a href="numeric_8h_source.html#l00130">numeric.h:130</a></div></div>
-<div class="ttc" id="numeric_8h_html_abe324cc4e62d03bdecf457382ba213c8"><div class="ttname"><a href="numeric_8h.html#abe324cc4e62d03bdecf457382ba213c8">dtls_int_to_uint48</a></div><div class="ttdeci">static int dtls_int_to_uint48(unsigned char *field, uint64_t value)</div><div class="ttdef"><b>Definition:</b> <a href="numeric_8h_source.html#l00070">numeric.h:70</a></div></div>
-<div class="ttc" id="numeric_8h_html_aff276cdd846cd194a21e9c61549292f6"><div class="ttname"><a href="numeric_8h.html#aff276cdd846cd194a21e9c61549292f6">dtls_int_to_uint24</a></div><div class="ttdeci">static int dtls_int_to_uint24(unsigned char *field, uint32_t value)</div><div class="ttdef"><b>Definition:</b> <a href="numeric_8h_source.html#l00053">numeric.h:53</a></div></div>
-<div class="ttc" id="numeric_8h_html_a7293cc28604d896cfef802b53b0ad99f"><div class="ttname"><a href="numeric_8h.html#a7293cc28604d896cfef802b53b0ad99f">dtls_uint8_to_int</a></div><div class="ttdeci">static uint8_t dtls_uint8_to_int(const unsigned char *field)</div><div class="ttdef"><b>Definition:</b> <a href="numeric_8h_source.html#l00094">numeric.h:94</a></div></div>
-<div class="ttc" id="numeric_8h_html_ab4d80395fb7f4118dfcb101ae94a5e93"><div class="ttname"><a href="numeric_8h.html#ab4d80395fb7f4118dfcb101ae94a5e93">dtls_int_to_uint64</a></div><div class="ttdeci">static int dtls_int_to_uint64(unsigned char *field, uint64_t value)</div><div class="ttdef"><b>Definition:</b> <a href="numeric_8h_source.html#l00081">numeric.h:81</a></div></div>
-<div class="ttc" id="numeric_8h_html_a074d352855e1ffde4c2ddb6a6fea01b9"><div class="ttname"><a href="numeric_8h.html#a074d352855e1ffde4c2ddb6a6fea01b9">dtls_int_to_uint16</a></div><div class="ttdeci">static int dtls_int_to_uint16(unsigned char *field, uint16_t value)</div><div class="ttdef"><b>Definition:</b> <a href="numeric_8h_source.html#l00046">numeric.h:46</a></div></div>
-<div class="ttc" id="numeric_8h_html_ae32dd0743658f1aa5a723d5a8357521f"><div class="ttname"><a href="numeric_8h.html#ae32dd0743658f1aa5a723d5a8357521f">dtls_uint16_to_int</a></div><div class="ttdeci">static uint16_t dtls_uint16_to_int(const unsigned char *field)</div><div class="ttdef"><b>Definition:</b> <a href="numeric_8h_source.html#l00099">numeric.h:99</a></div></div>
-<div class="ttc" id="numeric_8h_html_a6914ee523b27539f4e441bede8c072b4"><div class="ttname"><a href="numeric_8h.html#a6914ee523b27539f4e441bede8c072b4">dtls_int_to_uint32</a></div><div class="ttdeci">static int dtls_int_to_uint32(unsigned char *field, uint32_t value)</div><div class="ttdef"><b>Definition:</b> <a href="numeric_8h_source.html#l00061">numeric.h:61</a></div></div>
-<div class="ttc" id="numeric_8h_html_ae25d1d32eab6fe59318506984ebc23af"><div class="ttname"><a href="numeric_8h.html#ae25d1d32eab6fe59318506984ebc23af">dtls_uint48_to_int</a></div><div class="ttdeci">static uint64_t dtls_uint48_to_int(const unsigned char *field)</div><div class="ttdef"><b>Definition:</b> <a href="numeric_8h_source.html#l00120">numeric.h:120</a></div></div>
-<div class="ttc" id="numeric_8h_html_a7b602967e2fc28b0be02bd4585e255d0"><div class="ttname"><a href="numeric_8h.html#a7b602967e2fc28b0be02bd4585e255d0">dtls_int_to_uint8</a></div><div class="ttdeci">static int dtls_int_to_uint8(unsigned char *field, uint8_t value)</div><div class="ttdef"><b>Definition:</b> <a href="numeric_8h_source.html#l00040">numeric.h:40</a></div></div>
-<div class="ttc" id="numeric_8h_html_a238931e9197ce422acfba569deb2af71"><div class="ttname"><a href="numeric_8h.html#a238931e9197ce422acfba569deb2af71">dtls_uint24_to_int</a></div><div class="ttdeci">static uint32_t dtls_uint24_to_int(const unsigned char *field)</div><div class="ttdef"><b>Definition:</b> <a href="numeric_8h_source.html#l00105">numeric.h:105</a></div></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/open.png b/external/wakaama/examples/shared/tinydtls/doc/html/open.png
deleted file mode 100644 (file)
index 30f75c7..0000000
Binary files a/external/wakaama/examples/shared/tinydtls/doc/html/open.png and /dev/null differ
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/peer_8c.html b/external/wakaama/examples/shared/tinydtls/doc/html/peer_8c.html
deleted file mode 100644 (file)
index c74f13d..0000000
+++ /dev/null
@@ -1,203 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: peer.c File Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#func-members">Functions</a>  </div>
-  <div class="headertitle">
-<div class="title">peer.c File Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock"><code>#include &quot;<a class="el" href="global_8h_source.html">global.h</a>&quot;</code><br/>
-<code>#include &quot;<a class="el" href="peer_8h_source.html">peer.h</a>&quot;</code><br/>
-<code>#include &quot;<a class="el" href="debug_8h_source.html">debug.h</a>&quot;</code><br/>
-</div>
-<p><a href="peer_8c_source.html">Go to the source code of this file.</a></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:a0297e9d772bfca004a98462d9c7d2828"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="peer_8c.html#a0297e9d772bfca004a98462d9c7d2828">peer_init</a> ()</td></tr>
-<tr class="separator:a0297e9d772bfca004a98462d9c7d2828"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a89738cd2081b322562b9893c524fb0e1"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="peer_8c.html#a89738cd2081b322562b9893c524fb0e1">dtls_malloc_peer</a> ()</td></tr>
-<tr class="separator:a89738cd2081b322562b9893c524fb0e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a037178c201b2e6b7361570ff700f059d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="peer_8c.html#a037178c201b2e6b7361570ff700f059d">dtls_free_peer</a> (<a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *peer)</td></tr>
-<tr class="separator:a037178c201b2e6b7361570ff700f059d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a209e22be64be13e116711829d21d864c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="peer_8c.html#a209e22be64be13e116711829d21d864c">dtls_new_peer</a> (const <a class="el" href="structsession__t.html">session_t</a> *session)</td></tr>
-<tr class="separator:a209e22be64be13e116711829d21d864c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<h2 class="groupheader">Function Documentation</h2>
-<a class="anchor" id="a037178c201b2e6b7361570ff700f059d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void dtls_free_peer </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *&#160;</td>
-          <td class="paramname"><em>peer</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Releases the storage allocated to <code>peer</code>. </p>
-
-<p>Definition at line <a class="el" href="peer_8c_source.html#l00041">41</a> of file <a class="el" href="peer_8c_source.html">peer.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a89738cd2081b322562b9893c524fb0e1"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static <a class="el" href="structdtls__peer__t.html">dtls_peer_t</a>* dtls_malloc_peer </td>
-          <td>(</td>
-          <td class="paramname"></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="peer_8c_source.html#l00036">36</a> of file <a class="el" href="peer_8c_source.html">peer.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a209e22be64be13e116711829d21d864c"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="structdtls__peer__t.html">dtls_peer_t</a>* dtls_new_peer </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="structsession__t.html">session_t</a> *&#160;</td>
-          <td class="paramname"><em>session</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Creates a new peer for given <code>session</code>. The current configuration is initialized with the cipher suite TLS_NULL_WITH_NULL_NULL (i.e. no security at all). This function returns a pointer to the new peer or NULL on error. The caller is responsible for releasing the storage allocated for this peer using <a class="el" href="peer_8h.html#a037178c201b2e6b7361570ff700f059d">dtls_free_peer()</a>.</p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">session</td><td>The remote peer's address and local interface index. </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>A pointer to a newly created and initialized peer object or NULL on error. </dd></dl>
-
-<p>Definition at line <a class="el" href="peer_8c_source.html#l00072">72</a> of file <a class="el" href="peer_8c_source.html">peer.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a0297e9d772bfca004a98462d9c7d2828"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void peer_init </td>
-          <td>(</td>
-          <td class="paramname"></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="peer_8c_source.html#l00031">31</a> of file <a class="el" href="peer_8c_source.html">peer.c</a>.</p>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/peer_8c_source.html b/external/wakaama/examples/shared/tinydtls/doc/html/peer_8c_source.html
deleted file mode 100644 (file)
index 557b67d..0000000
+++ /dev/null
@@ -1,204 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: peer.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="header">
-  <div class="headertitle">
-<div class="title">peer.c</div>  </div>
-</div><!--header-->
-<div class="contents">
-<a href="peer_8c.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/* dtls -- a very basic DTLS implementation</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> * Copyright (C) 2011--2013 Olaf Bergmann &lt;bergmann@tzi.org&gt;</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> * Permission is hereby granted, free of charge, to any person</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> * obtaining a copy of this software and associated documentation</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> * files (the &quot;Software&quot;), to deal in the Software without</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> * restriction, including without limitation the rights to use, copy,</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> * modify, merge, publish, distribute, sublicense, and/or sell copies</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> * of the Software, and to permit persons to whom the Software is</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * furnished to do so, subject to the following conditions:</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * The above copyright notice and this permission notice shall be</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * included in all copies or substantial portions of the Software.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> * THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND,</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment"> * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment"> * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment"> * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment"> * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment"> * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment"> * SOFTWARE.</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div>
-<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="global_8h.html">global.h</a>&quot;</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="peer_8h.html">peer.h</a>&quot;</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="debug_8h.html">debug.h</a>&quot;</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;</div>
-<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#ifndef WITH_CONTIKI</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"><a class="line" href="peer_8h.html#a0297e9d772bfca004a98462d9c7d2828">   31</a></span>&#160;<span class="preprocessor"></span><span class="keywordtype">void</span> <a class="code" href="peer_8c.html#a0297e9d772bfca004a98462d9c7d2828">peer_init</a>()</div>
-<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;{</div>
-<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;}</div>
-<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div>
-<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *</div>
-<div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="peer_8c.html#a89738cd2081b322562b9893c524fb0e1">   36</a></span>&#160;<a class="code" href="peer_8c.html#a89738cd2081b322562b9893c524fb0e1">dtls_malloc_peer</a>() {</div>
-<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;  <span class="keywordflow">return</span> (<a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *)malloc(<span class="keyword">sizeof</span>(<a class="code" href="structdtls__peer__t.html">dtls_peer_t</a>));</div>
-<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;}</div>
-<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;</div>
-<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="keywordtype">void</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="peer_8h.html#a037178c201b2e6b7361570ff700f059d">   41</a></span>&#160;<a class="code" href="peer_8c.html#a037178c201b2e6b7361570ff700f059d">dtls_free_peer</a>(<a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *<a class="code" href="structnetq__t.html#aaca5f6407bd7b3162d9ee7e7e7b8f0ff">peer</a>) {</div>
-<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;  <a class="code" href="crypto_8c.html#aa17bcdc666796e52788f82ee003bb172">dtls_handshake_free</a>(peer-&gt;<a class="code" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">handshake_params</a>);</div>
-<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;  <a class="code" href="crypto_8c.html#ad54069f2880b3c07185ebba736d02d17">dtls_security_free</a>(peer-&gt;<a class="code" href="structdtls__peer__t.html#a6c85e48495ae7de8ddfc4c4fb2a350af">security_params</a>[0]);</div>
-<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;  <a class="code" href="crypto_8c.html#ad54069f2880b3c07185ebba736d02d17">dtls_security_free</a>(peer-&gt;<a class="code" href="structdtls__peer__t.html#a6c85e48495ae7de8ddfc4c4fb2a350af">security_params</a>[1]);</div>
-<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;  free(peer);</div>
-<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;}</div>
-<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor">#else </span><span class="comment">/* WITH_CONTIKI */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">#include &quot;memb.h&quot;</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;MEMB(peer_storage, <a class="code" href="structdtls__peer__t.html">dtls_peer_t</a>, DTLS_PEER_MAX);</div>
-<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;</div>
-<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keywordtype">void</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<a class="code" href="peer_8c.html#a0297e9d772bfca004a98462d9c7d2828">peer_init</a>() {</div>
-<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;  memb_init(&amp;peer_storage);</div>
-<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;}</div>
-<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;</div>
-<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *</div>
-<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<a class="code" href="peer_8c.html#a89738cd2081b322562b9893c524fb0e1">dtls_malloc_peer</a>() {</div>
-<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;  <span class="keywordflow">return</span> memb_alloc(&amp;peer_storage);</div>
-<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;}</div>
-<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div>
-<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keywordtype">void</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<a class="code" href="peer_8c.html#a037178c201b2e6b7361570ff700f059d">dtls_free_peer</a>(<a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *<a class="code" href="structnetq__t.html#aaca5f6407bd7b3162d9ee7e7e7b8f0ff">peer</a>) {</div>
-<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;  <a class="code" href="crypto_8c.html#aa17bcdc666796e52788f82ee003bb172">dtls_handshake_free</a>(peer-&gt;<a class="code" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">handshake_params</a>);</div>
-<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;  <a class="code" href="crypto_8c.html#ad54069f2880b3c07185ebba736d02d17">dtls_security_free</a>(peer-&gt;<a class="code" href="structdtls__peer__t.html#a6c85e48495ae7de8ddfc4c4fb2a350af">security_params</a>[0]);</div>
-<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;  <a class="code" href="crypto_8c.html#ad54069f2880b3c07185ebba736d02d17">dtls_security_free</a>(peer-&gt;<a class="code" href="structdtls__peer__t.html#a6c85e48495ae7de8ddfc4c4fb2a350af">security_params</a>[1]);</div>
-<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;  memb_free(&amp;peer_storage, peer);</div>
-<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;}</div>
-<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* WITH_CONTIKI */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *</div>
-<div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="peer_8h.html#a209e22be64be13e116711829d21d864c">   72</a></span>&#160;<a class="code" href="peer_8c.html#a209e22be64be13e116711829d21d864c">dtls_new_peer</a>(<span class="keyword">const</span> <a class="code" href="structsession__t.html">session_t</a> *session) {</div>
-<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;  <a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *<a class="code" href="structnetq__t.html#aaca5f6407bd7b3162d9ee7e7e7b8f0ff">peer</a>;</div>
-<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;</div>
-<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;  peer = <a class="code" href="peer_8c.html#a89738cd2081b322562b9893c524fb0e1">dtls_malloc_peer</a>();</div>
-<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;  <span class="keywordflow">if</span> (peer) {</div>
-<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;    memset(peer, 0, <span class="keyword">sizeof</span>(<a class="code" href="structdtls__peer__t.html">dtls_peer_t</a>));</div>
-<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;    memcpy(&amp;peer-&gt;<a class="code" href="structdtls__peer__t.html#a44ebb2ba643269c7e6943f3a9040febe">session</a>, session, <span class="keyword">sizeof</span>(<a class="code" href="structsession__t.html">session_t</a>));</div>
-<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;    peer-&gt;<a class="code" href="structdtls__peer__t.html#a6c85e48495ae7de8ddfc4c4fb2a350af">security_params</a>[0] = <a class="code" href="crypto_8c.html#a1d568085636a04b4706b7e50df802a7b">dtls_security_new</a>();</div>
-<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;</div>
-<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;    <span class="keywordflow">if</span> (!peer-&gt;<a class="code" href="structdtls__peer__t.html#a6c85e48495ae7de8ddfc4c4fb2a350af">security_params</a>[0]) {</div>
-<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;      <a class="code" href="peer_8c.html#a037178c201b2e6b7361570ff700f059d">dtls_free_peer</a>(peer);</div>
-<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;      <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;    }</div>
-<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;</div>
-<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;    <a class="code" href="debug_8c.html#a66cb8756d40a3326315d9b5f003a5a76">dtls_dsrv_log_addr</a>(<a class="code" href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9da87f82ea2bdc3f03d9f6d3355a5f8a020">DTLS_LOG_DEBUG</a>, <span class="stringliteral">&quot;dtls_new_peer&quot;</span>, session);</div>
-<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;  }</div>
-<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;</div>
-<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;  <span class="keywordflow">return</span> <a class="code" href="structnetq__t.html#aaca5f6407bd7b3162d9ee7e7e7b8f0ff">peer</a>;</div>
-<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;}</div>
-<div class="ttc" id="crypto_8c_html_aa17bcdc666796e52788f82ee003bb172"><div class="ttname"><a href="crypto_8c.html#aa17bcdc666796e52788f82ee003bb172">dtls_handshake_free</a></div><div class="ttdeci">void dtls_handshake_free(dtls_handshake_parameters_t *handshake)</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8c_source.html#l00146">crypto.c:146</a></div></div>
-<div class="ttc" id="debug_8h_html"><div class="ttname"><a href="debug_8h.html">debug.h</a></div></div>
-<div class="ttc" id="structsession__t_html"><div class="ttname"><a href="structsession__t.html">session_t</a></div><div class="ttdef"><b>Definition:</b> <a href="session_8h_source.html#l00049">session.h:49</a></div></div>
-<div class="ttc" id="global_8h_html"><div class="ttname"><a href="global_8h.html">global.h</a></div></div>
-<div class="ttc" id="structdtls__peer__t_html_a44ebb2ba643269c7e6943f3a9040febe"><div class="ttname"><a href="structdtls__peer__t.html#a44ebb2ba643269c7e6943f3a9040febe">dtls_peer_t::session</a></div><div class="ttdeci">session_t session</div><div class="ttdef"><b>Definition:</b> <a href="peer_8h_source.html#l00059">peer.h:59</a></div></div>
-<div class="ttc" id="peer_8h_html"><div class="ttname"><a href="peer_8h.html">peer.h</a></div><div class="ttdoc">information about peers in a DTLS session </div></div>
-<div class="ttc" id="debug_8c_html_a66cb8756d40a3326315d9b5f003a5a76"><div class="ttname"><a href="debug_8c.html#a66cb8756d40a3326315d9b5f003a5a76">dtls_dsrv_log_addr</a></div><div class="ttdeci">void dtls_dsrv_log_addr(log_t level, const char *name, const session_t *addr)</div><div class="ttdef"><b>Definition:</b> <a href="debug_8c_source.html#l00277">debug.c:277</a></div></div>
-<div class="ttc" id="peer_8c_html_a89738cd2081b322562b9893c524fb0e1"><div class="ttname"><a href="peer_8c.html#a89738cd2081b322562b9893c524fb0e1">dtls_malloc_peer</a></div><div class="ttdeci">static dtls_peer_t * dtls_malloc_peer()</div><div class="ttdef"><b>Definition:</b> <a href="peer_8c_source.html#l00036">peer.c:36</a></div></div>
-<div class="ttc" id="structdtls__peer__t_html_aa176a7ffe3a780dc97a716dfffb54992"><div class="ttname"><a href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">dtls_peer_t::handshake_params</a></div><div class="ttdeci">dtls_handshake_parameters_t * handshake_params</div><div class="ttdef"><b>Definition:</b> <a href="peer_8h_source.html#l00065">peer.h:65</a></div></div>
-<div class="ttc" id="structnetq__t_html_aaca5f6407bd7b3162d9ee7e7e7b8f0ff"><div class="ttname"><a href="structnetq__t.html#aaca5f6407bd7b3162d9ee7e7e7b8f0ff">netq_t::peer</a></div><div class="ttdeci">dtls_peer_t * peer</div><div class="ttdef"><b>Definition:</b> <a href="netq_8h_source.html#l00044">netq.h:44</a></div></div>
-<div class="ttc" id="structdtls__peer__t_html"><div class="ttname"><a href="structdtls__peer__t.html">dtls_peer_t</a></div><div class="ttdef"><b>Definition:</b> <a href="peer_8h_source.html#l00052">peer.h:52</a></div></div>
-<div class="ttc" id="peer_8c_html_a037178c201b2e6b7361570ff700f059d"><div class="ttname"><a href="peer_8c.html#a037178c201b2e6b7361570ff700f059d">dtls_free_peer</a></div><div class="ttdeci">void dtls_free_peer(dtls_peer_t *peer)</div><div class="ttdef"><b>Definition:</b> <a href="peer_8c_source.html#l00041">peer.c:41</a></div></div>
-<div class="ttc" id="crypto_8c_html_ad54069f2880b3c07185ebba736d02d17"><div class="ttname"><a href="crypto_8c.html#ad54069f2880b3c07185ebba736d02d17">dtls_security_free</a></div><div class="ttdeci">void dtls_security_free(dtls_security_parameters_t *security)</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8c_source.html#l00174">crypto.c:174</a></div></div>
-<div class="ttc" id="structdtls__peer__t_html_a6c85e48495ae7de8ddfc4c4fb2a350af"><div class="ttname"><a href="structdtls__peer__t.html#a6c85e48495ae7de8ddfc4c4fb2a350af">dtls_peer_t::security_params</a></div><div class="ttdeci">dtls_security_parameters_t * security_params[2]</div><div class="ttdef"><b>Definition:</b> <a href="peer_8h_source.html#l00064">peer.h:64</a></div></div>
-<div class="ttc" id="crypto_8c_html_a1d568085636a04b4706b7e50df802a7b"><div class="ttname"><a href="crypto_8c.html#a1d568085636a04b4706b7e50df802a7b">dtls_security_new</a></div><div class="ttdeci">dtls_security_parameters_t * dtls_security_new()</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8c_source.html#l00155">crypto.c:155</a></div></div>
-<div class="ttc" id="peer_8c_html_a0297e9d772bfca004a98462d9c7d2828"><div class="ttname"><a href="peer_8c.html#a0297e9d772bfca004a98462d9c7d2828">peer_init</a></div><div class="ttdeci">void peer_init()</div><div class="ttdef"><b>Definition:</b> <a href="peer_8c_source.html#l00031">peer.c:31</a></div></div>
-<div class="ttc" id="peer_8c_html_a209e22be64be13e116711829d21d864c"><div class="ttname"><a href="peer_8c.html#a209e22be64be13e116711829d21d864c">dtls_new_peer</a></div><div class="ttdeci">dtls_peer_t * dtls_new_peer(const session_t *session)</div><div class="ttdef"><b>Definition:</b> <a href="peer_8c_source.html#l00072">peer.c:72</a></div></div>
-<div class="ttc" id="debug_8h_html_a5cae2fb7fec0dd9e63cf2d755642cd9da87f82ea2bdc3f03d9f6d3355a5f8a020"><div class="ttname"><a href="debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9da87f82ea2bdc3f03d9f6d3355a5f8a020">DTLS_LOG_DEBUG</a></div><div class="ttdef"><b>Definition:</b> <a href="debug_8h_source.html#l00067">debug.h:67</a></div></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/peer_8h.html b/external/wakaama/examples/shared/tinydtls/doc/html/peer_8h.html
deleted file mode 100644 (file)
index c8b4f82..0000000
+++ /dev/null
@@ -1,450 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: peer.h File Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#nested-classes">Data Structures</a> &#124;
-<a href="#typedef-members">Typedefs</a> &#124;
-<a href="#enum-members">Enumerations</a> &#124;
-<a href="#func-members">Functions</a>  </div>
-  <div class="headertitle">
-<div class="title">peer.h File Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p>information about peers in a DTLS session  
-<a href="#details">More...</a></p>
-<div class="textblock"><code>#include &lt;sys/types.h&gt;</code><br/>
-<code>#include &quot;<a class="el" href="tinydtls_8h_source.html">tinydtls.h</a>&quot;</code><br/>
-<code>#include &quot;<a class="el" href="global_8h_source.html">global.h</a>&quot;</code><br/>
-<code>#include &quot;<a class="el" href="session_8h_source.html">session.h</a>&quot;</code><br/>
-<code>#include &quot;<a class="el" href="state_8h_source.html">state.h</a>&quot;</code><br/>
-<code>#include &quot;<a class="el" href="crypto_8h_source.html">crypto.h</a>&quot;</code><br/>
-<code>#include &quot;<a class="el" href="uthash_8h_source.html">uthash.h</a>&quot;</code><br/>
-</div>
-<p><a href="peer_8h_source.html">Go to the source code of this file.</a></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
-Data Structures</h2></td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdtls__peer__t.html">dtls_peer_t</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
-Typedefs</h2></td></tr>
-<tr class="memitem:a6038bb7f08c62ea6f0fd2a0075860055"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structdtls__peer__t.html">dtls_peer_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="peer_8h.html#a6038bb7f08c62ea6f0fd2a0075860055">dtls_peer_t</a></td></tr>
-<tr class="separator:a6038bb7f08c62ea6f0fd2a0075860055"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
-Enumerations</h2></td></tr>
-<tr class="memitem:ae30cd4bcffed73f79f17c09e5a1452c8"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="peer_8h.html#ae30cd4bcffed73f79f17c09e5a1452c8">dtls_peer_type</a> { <a class="el" href="peer_8h.html#ae30cd4bcffed73f79f17c09e5a1452c8afd8391395303e28ee9b375232cb68a1e">DTLS_CLIENT</a> =0, 
-<a class="el" href="peer_8h.html#ae30cd4bcffed73f79f17c09e5a1452c8a7c2a694fc87273c445ad661575b28255">DTLS_SERVER</a>
- }</td></tr>
-<tr class="separator:ae30cd4bcffed73f79f17c09e5a1452c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:af5de0315efd7e8c6b1aecf60078b2dd7"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structdtls__security__parameters__t.html">dtls_security_parameters_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="peer_8h.html#af5de0315efd7e8c6b1aecf60078b2dd7">dtls_security_params_epoch</a> (<a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *peer, uint16_t epoch)</td></tr>
-<tr class="separator:af5de0315efd7e8c6b1aecf60078b2dd7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a48abcad7383e1db957af9b4fed030d52"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structdtls__security__parameters__t.html">dtls_security_parameters_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="peer_8h.html#a48abcad7383e1db957af9b4fed030d52">dtls_security_params</a> (<a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *peer)</td></tr>
-<tr class="separator:a48abcad7383e1db957af9b4fed030d52"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab6e209f206f570eed246530ec7960943"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structdtls__security__parameters__t.html">dtls_security_parameters_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="peer_8h.html#ab6e209f206f570eed246530ec7960943">dtls_security_params_next</a> (<a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *peer)</td></tr>
-<tr class="separator:ab6e209f206f570eed246530ec7960943"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9d0ec25ba319a38b17f30cf156e85c51"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="peer_8h.html#a9d0ec25ba319a38b17f30cf156e85c51">dtls_security_params_free_other</a> (<a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *peer)</td></tr>
-<tr class="separator:a9d0ec25ba319a38b17f30cf156e85c51"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9c37ce3fd7539154289dd17215179e2d"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="peer_8h.html#a9c37ce3fd7539154289dd17215179e2d">dtls_security_params_switch</a> (<a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *peer)</td></tr>
-<tr class="separator:a9c37ce3fd7539154289dd17215179e2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0297e9d772bfca004a98462d9c7d2828"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="peer_8h.html#a0297e9d772bfca004a98462d9c7d2828">peer_init</a> ()</td></tr>
-<tr class="separator:a0297e9d772bfca004a98462d9c7d2828"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a209e22be64be13e116711829d21d864c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="peer_8h.html#a209e22be64be13e116711829d21d864c">dtls_new_peer</a> (const <a class="el" href="structsession__t.html">session_t</a> *session)</td></tr>
-<tr class="separator:a209e22be64be13e116711829d21d864c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a037178c201b2e6b7361570ff700f059d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="peer_8h.html#a037178c201b2e6b7361570ff700f059d">dtls_free_peer</a> (<a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *peer)</td></tr>
-<tr class="separator:a037178c201b2e6b7361570ff700f059d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a64d83f0fe464f0eeb905b913345d0614"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="state_8h.html#aea0e57fd5b857535960534b53361aa35">dtls_state_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="peer_8h.html#a64d83f0fe464f0eeb905b913345d0614">dtls_peer_state</a> (const <a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *peer)</td></tr>
-<tr class="separator:a64d83f0fe464f0eeb905b913345d0614"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aaad8608f29d9a70bf09b7de310185c48"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="peer_8h.html#aaad8608f29d9a70bf09b7de310185c48">dtls_peer_is_connected</a> (const <a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *peer)</td></tr>
-<tr class="separator:aaad8608f29d9a70bf09b7de310185c48"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p>information about peers in a DTLS session </p>
-
-<p>Definition in file <a class="el" href="peer_8h_source.html">peer.h</a>.</p>
-</div><h2 class="groupheader">Typedef Documentation</h2>
-<a class="anchor" id="a6038bb7f08c62ea6f0fd2a0075860055"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef struct <a class="el" href="structdtls__peer__t.html">dtls_peer_t</a>  <a class="el" href="structdtls__peer__t.html">dtls_peer_t</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Holds security parameters, local state and the transport address for each peer. </p>
-
-</div>
-</div>
-<h2 class="groupheader">Enumeration Type Documentation</h2>
-<a class="anchor" id="ae30cd4bcffed73f79f17c09e5a1452c8"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">enum <a class="el" href="peer_8h.html#ae30cd4bcffed73f79f17c09e5a1452c8">dtls_peer_type</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ae30cd4bcffed73f79f17c09e5a1452c8afd8391395303e28ee9b375232cb68a1e"></a>DTLS_CLIENT</em>&#160;</td><td class="fielddoc">
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ae30cd4bcffed73f79f17c09e5a1452c8a7c2a694fc87273c445ad661575b28255"></a>DTLS_SERVER</em>&#160;</td><td class="fielddoc">
-</td></tr>
-</table>
-
-<p>Definition at line <a class="el" href="peer_8h_source.html#l00047">47</a> of file <a class="el" href="peer_8h_source.html">peer.h</a>.</p>
-
-</div>
-</div>
-<h2 class="groupheader">Function Documentation</h2>
-<a class="anchor" id="a037178c201b2e6b7361570ff700f059d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void dtls_free_peer </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *&#160;</td>
-          <td class="paramname"><em>peer</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Releases the storage allocated to <code>peer</code>. </p>
-
-<p>Definition at line <a class="el" href="peer_8c_source.html#l00041">41</a> of file <a class="el" href="peer_8c_source.html">peer.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a209e22be64be13e116711829d21d864c"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="structdtls__peer__t.html">dtls_peer_t</a>* dtls_new_peer </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="structsession__t.html">session_t</a> *&#160;</td>
-          <td class="paramname"><em>session</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Creates a new peer for given <code>session</code>. The current configuration is initialized with the cipher suite TLS_NULL_WITH_NULL_NULL (i.e. no security at all). This function returns a pointer to the new peer or NULL on error. The caller is responsible for releasing the storage allocated for this peer using <a class="el" href="peer_8h.html#a037178c201b2e6b7361570ff700f059d">dtls_free_peer()</a>.</p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">session</td><td>The remote peer's address and local interface index. </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>A pointer to a newly created and initialized peer object or NULL on error. </dd></dl>
-
-<p>Definition at line <a class="el" href="peer_8c_source.html#l00072">72</a> of file <a class="el" href="peer_8c_source.html">peer.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aaad8608f29d9a70bf09b7de310185c48"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int dtls_peer_is_connected </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *&#160;</td>
-          <td class="paramname"><em>peer</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-<p>Checks if given <code>peer</code> is connected. This function returns <code>1</code> if connected, or <code>0</code> otherwise. </p>
-
-<p>Definition at line <a class="el" href="peer_8h_source.html#l00144">144</a> of file <a class="el" href="peer_8h_source.html">peer.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a64d83f0fe464f0eeb905b913345d0614"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static <a class="el" href="state_8h.html#aea0e57fd5b857535960534b53361aa35">dtls_state_t</a> dtls_peer_state </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *&#160;</td>
-          <td class="paramname"><em>peer</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-<p>Returns the current state of <code>peer</code>. </p>
-
-<p>Definition at line <a class="el" href="peer_8h_source.html#l00136">136</a> of file <a class="el" href="peer_8h_source.html">peer.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a48abcad7383e1db957af9b4fed030d52"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static <a class="el" href="structdtls__security__parameters__t.html">dtls_security_parameters_t</a>* dtls_security_params </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *&#160;</td>
-          <td class="paramname"><em>peer</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="peer_8h_source.html#l00079">79</a> of file <a class="el" href="peer_8h_source.html">peer.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="af5de0315efd7e8c6b1aecf60078b2dd7"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static <a class="el" href="structdtls__security__parameters__t.html">dtls_security_parameters_t</a>* dtls_security_params_epoch </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *&#160;</td>
-          <td class="paramname"><em>peer</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">uint16_t&#160;</td>
-          <td class="paramname"><em>epoch</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="peer_8h_source.html#l00068">68</a> of file <a class="el" href="peer_8h_source.html">peer.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a9d0ec25ba319a38b17f30cf156e85c51"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static void dtls_security_params_free_other </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *&#160;</td>
-          <td class="paramname"><em>peer</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="peer_8h_source.html#l00097">97</a> of file <a class="el" href="peer_8h_source.html">peer.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ab6e209f206f570eed246530ec7960943"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static <a class="el" href="structdtls__security__parameters__t.html">dtls_security_parameters_t</a>* dtls_security_params_next </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *&#160;</td>
-          <td class="paramname"><em>peer</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="peer_8h_source.html#l00084">84</a> of file <a class="el" href="peer_8h_source.html">peer.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a9c37ce3fd7539154289dd17215179e2d"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static void dtls_security_params_switch </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *&#160;</td>
-          <td class="paramname"><em>peer</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="peer_8h_source.html#l00109">109</a> of file <a class="el" href="peer_8h_source.html">peer.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a0297e9d772bfca004a98462d9c7d2828"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void peer_init </td>
-          <td>(</td>
-          <td class="paramname"></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="peer_8c_source.html#l00031">31</a> of file <a class="el" href="peer_8c_source.html">peer.c</a>.</p>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/peer_8h_source.html b/external/wakaama/examples/shared/tinydtls/doc/html/peer_8h_source.html
deleted file mode 100644 (file)
index 23be3fb..0000000
+++ /dev/null
@@ -1,253 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: peer.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="header">
-  <div class="headertitle">
-<div class="title">peer.h</div>  </div>
-</div><!--header-->
-<div class="contents">
-<a href="peer_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/* dtls -- a very basic DTLS implementation</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> * Copyright (C) 2011--2013 Olaf Bergmann &lt;bergmann@tzi.org&gt;</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> * Permission is hereby granted, free of charge, to any person</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> * obtaining a copy of this software and associated documentation</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> * files (the &quot;Software&quot;), to deal in the Software without</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> * restriction, including without limitation the rights to use, copy,</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> * modify, merge, publish, distribute, sublicense, and/or sell copies</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> * of the Software, and to permit persons to whom the Software is</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * furnished to do so, subject to the following conditions:</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * The above copyright notice and this permission notice shall be</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * included in all copies or substantial portions of the Software.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> * THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND,</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment"> * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment"> * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment"> * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment"> * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment"> * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment"> * SOFTWARE.</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div>
-<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#ifndef _DTLS_PEER_H_</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define _DTLS_PEER_H_</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#include &lt;sys/types.h&gt;</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div>
-<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="tinydtls_8h.html">tinydtls.h</a>&quot;</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="global_8h.html">global.h</a>&quot;</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="session_8h.html">session.h</a>&quot;</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;</div>
-<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="state_8h.html">state.h</a>&quot;</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="crypto_8h.html">crypto.h</a>&quot;</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;</div>
-<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="preprocessor">#ifndef WITH_CONTIKI</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &quot;<a class="code" href="uthash_8h.html">uthash.h</a>&quot;</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* WITH_CONTIKI */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="peer_8h.html#ae30cd4bcffed73f79f17c09e5a1452c8a7c2a694fc87273c445ad661575b28255">   47</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> { <a class="code" href="peer_8h.html#ae30cd4bcffed73f79f17c09e5a1452c8afd8391395303e28ee9b375232cb68a1e">DTLS_CLIENT</a>=0, <a class="code" href="peer_8h.html#ae30cd4bcffed73f79f17c09e5a1452c8a7c2a694fc87273c445ad661575b28255">DTLS_SERVER</a> } <a class="code" href="peer_8h.html#ae30cd4bcffed73f79f17c09e5a1452c8">dtls_peer_type</a>;</div>
-<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;</div>
-<div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="structdtls__peer__t.html">   52</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> {</div>
-<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="preprocessor">#ifndef WITH_CONTIKI</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="structdtls__peer__t.html#a4241666f9097d15a486840bce28c3fd5">   54</a></span>&#160;<span class="preprocessor"></span>  <a class="code" href="structUT__hash__handle.html">UT_hash_handle</a> <a class="code" href="structdtls__peer__t.html#a4241666f9097d15a486840bce28c3fd5">hh</a>;</div>
-<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#else </span><span class="comment">/* WITH_CONTIKI */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor"></span>  <span class="keyword">struct </span><a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *next;</div>
-<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* WITH_CONTIKI */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="structdtls__peer__t.html#a44ebb2ba643269c7e6943f3a9040febe">   59</a></span>&#160;  <a class="code" href="structsession__t.html">session_t</a> <a class="code" href="structdtls__peer__t.html#a44ebb2ba643269c7e6943f3a9040febe">session</a>;         </div>
-<div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="structdtls__peer__t.html#aeca80f1bcbcfdba89a2ab08e4bc48120">   61</a></span>&#160;  <a class="code" href="peer_8h.html#ae30cd4bcffed73f79f17c09e5a1452c8">dtls_peer_type</a> <a class="code" href="structdtls__peer__t.html#aeca80f1bcbcfdba89a2ab08e4bc48120">role</a>;       </div>
-<div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="structdtls__peer__t.html#a4e23cc3b273813744524c3db1fda9c83">   62</a></span>&#160;  <a class="code" href="state_8h.html#aea0e57fd5b857535960534b53361aa35">dtls_state_t</a> <a class="code" href="structdtls__peer__t.html#a4e23cc3b273813744524c3db1fda9c83">state</a>;        </div>
-<div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="structdtls__peer__t.html#a6c85e48495ae7de8ddfc4c4fb2a350af">   64</a></span>&#160;  <a class="code" href="structdtls__security__parameters__t.html">dtls_security_parameters_t</a> *<a class="code" href="structdtls__peer__t.html#a6c85e48495ae7de8ddfc4c4fb2a350af">security_params</a>[2];</div>
-<div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">   65</a></span>&#160;  <a class="code" href="structdtls__handshake__parameters__t.html">dtls_handshake_parameters_t</a> *<a class="code" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">handshake_params</a>;</div>
-<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;} <a class="code" href="peer_8h.html#a6038bb7f08c62ea6f0fd2a0075860055">dtls_peer_t</a>;</div>
-<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div>
-<div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="peer_8h.html#af5de0315efd7e8c6b1aecf60078b2dd7">   68</a></span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="structdtls__security__parameters__t.html">dtls_security_parameters_t</a> *<a class="code" href="peer_8h.html#af5de0315efd7e8c6b1aecf60078b2dd7">dtls_security_params_epoch</a>(<a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *peer, uint16_t epoch)</div>
-<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;{</div>
-<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;  <span class="keywordflow">if</span> (peer-&gt;<a class="code" href="structdtls__peer__t.html#a6c85e48495ae7de8ddfc4c4fb2a350af">security_params</a>[0] &amp;&amp; peer-&gt;<a class="code" href="structdtls__peer__t.html#a6c85e48495ae7de8ddfc4c4fb2a350af">security_params</a>[0]-&gt;<a class="code" href="structdtls__security__parameters__t.html#a2bce1fa0bf77eeab8fadca824de602da">epoch</a> == epoch) {</div>
-<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;    <span class="keywordflow">return</span> peer-&gt;<a class="code" href="structdtls__peer__t.html#a6c85e48495ae7de8ddfc4c4fb2a350af">security_params</a>[0];</div>
-<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;  } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (peer-&gt;<a class="code" href="structdtls__peer__t.html#a6c85e48495ae7de8ddfc4c4fb2a350af">security_params</a>[1] &amp;&amp; peer-&gt;<a class="code" href="structdtls__peer__t.html#a6c85e48495ae7de8ddfc4c4fb2a350af">security_params</a>[1]-&gt;<a class="code" href="structdtls__security__parameters__t.html#a2bce1fa0bf77eeab8fadca824de602da">epoch</a> == epoch) {</div>
-<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;    <span class="keywordflow">return</span> peer-&gt;<a class="code" href="structdtls__peer__t.html#a6c85e48495ae7de8ddfc4c4fb2a350af">security_params</a>[1];</div>
-<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;  } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;    <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;  }</div>
-<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;}</div>
-<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;</div>
-<div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="peer_8h.html#a48abcad7383e1db957af9b4fed030d52">   79</a></span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="structdtls__security__parameters__t.html">dtls_security_parameters_t</a> *<a class="code" href="peer_8h.html#a48abcad7383e1db957af9b4fed030d52">dtls_security_params</a>(<a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *peer)</div>
-<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;{</div>
-<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;  <span class="keywordflow">return</span> peer-&gt;<a class="code" href="structdtls__peer__t.html#a6c85e48495ae7de8ddfc4c4fb2a350af">security_params</a>[0];</div>
-<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;}</div>
-<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;</div>
-<div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="peer_8h.html#ab6e209f206f570eed246530ec7960943">   84</a></span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="structdtls__security__parameters__t.html">dtls_security_parameters_t</a> *<a class="code" href="peer_8h.html#ab6e209f206f570eed246530ec7960943">dtls_security_params_next</a>(<a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *peer)</div>
-<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;{</div>
-<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;  <span class="keywordflow">if</span> (peer-&gt;<a class="code" href="structdtls__peer__t.html#a6c85e48495ae7de8ddfc4c4fb2a350af">security_params</a>[1])</div>
-<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;    <a class="code" href="crypto_8c.html#ad54069f2880b3c07185ebba736d02d17">dtls_security_free</a>(peer-&gt;<a class="code" href="structdtls__peer__t.html#a6c85e48495ae7de8ddfc4c4fb2a350af">security_params</a>[1]);</div>
-<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;</div>
-<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;  peer-&gt;<a class="code" href="structdtls__peer__t.html#a6c85e48495ae7de8ddfc4c4fb2a350af">security_params</a>[1] = <a class="code" href="crypto_8c.html#a1d568085636a04b4706b7e50df802a7b">dtls_security_new</a>();</div>
-<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;  <span class="keywordflow">if</span> (!peer-&gt;<a class="code" href="structdtls__peer__t.html#a6c85e48495ae7de8ddfc4c4fb2a350af">security_params</a>[1]) {</div>
-<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;    <span class="keywordflow">return</span> NULL;</div>
-<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;  }</div>
-<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;  peer-&gt;<a class="code" href="structdtls__peer__t.html#a6c85e48495ae7de8ddfc4c4fb2a350af">security_params</a>[1]-&gt;<a class="code" href="structdtls__security__parameters__t.html#a2bce1fa0bf77eeab8fadca824de602da">epoch</a> = peer-&gt;<a class="code" href="structdtls__peer__t.html#a6c85e48495ae7de8ddfc4c4fb2a350af">security_params</a>[0]-&gt;<a class="code" href="structdtls__security__parameters__t.html#a2bce1fa0bf77eeab8fadca824de602da">epoch</a> + 1;</div>
-<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;  <span class="keywordflow">return</span> peer-&gt;<a class="code" href="structdtls__peer__t.html#a6c85e48495ae7de8ddfc4c4fb2a350af">security_params</a>[1];</div>
-<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;}</div>
-<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;</div>
-<div class="line"><a name="l00097"></a><span class="lineno"><a class="line" href="peer_8h.html#a9d0ec25ba319a38b17f30cf156e85c51">   97</a></span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="peer_8h.html#a9d0ec25ba319a38b17f30cf156e85c51">dtls_security_params_free_other</a>(<a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *peer)</div>
-<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;{</div>
-<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;  <a class="code" href="structdtls__security__parameters__t.html">dtls_security_parameters_t</a> * security0 = peer-&gt;<a class="code" href="structdtls__peer__t.html#a6c85e48495ae7de8ddfc4c4fb2a350af">security_params</a>[0];</div>
-<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;  <a class="code" href="structdtls__security__parameters__t.html">dtls_security_parameters_t</a> * security1 = peer-&gt;<a class="code" href="structdtls__peer__t.html#a6c85e48495ae7de8ddfc4c4fb2a350af">security_params</a>[1];</div>
-<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;</div>
-<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;  <span class="keywordflow">if</span> (!security0 || !security1 || security0-&gt;<a class="code" href="structdtls__security__parameters__t.html#a2bce1fa0bf77eeab8fadca824de602da">epoch</a> &lt; security1-&gt;<a class="code" href="structdtls__security__parameters__t.html#a2bce1fa0bf77eeab8fadca824de602da">epoch</a>)</div>
-<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;    <span class="keywordflow">return</span>;</div>
-<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;</div>
-<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;  <a class="code" href="crypto_8c.html#ad54069f2880b3c07185ebba736d02d17">dtls_security_free</a>(security1);</div>
-<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;  peer-&gt;<a class="code" href="structdtls__peer__t.html#a6c85e48495ae7de8ddfc4c4fb2a350af">security_params</a>[1] = NULL;</div>
-<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;}</div>
-<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;</div>
-<div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="peer_8h.html#a9c37ce3fd7539154289dd17215179e2d">  109</a></span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="peer_8h.html#a9c37ce3fd7539154289dd17215179e2d">dtls_security_params_switch</a>(<a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *peer)</div>
-<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;{</div>
-<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;  <a class="code" href="structdtls__security__parameters__t.html">dtls_security_parameters_t</a> * security = peer-&gt;<a class="code" href="structdtls__peer__t.html#a6c85e48495ae7de8ddfc4c4fb2a350af">security_params</a>[1];</div>
-<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;</div>
-<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;  peer-&gt;<a class="code" href="structdtls__peer__t.html#a6c85e48495ae7de8ddfc4c4fb2a350af">security_params</a>[1] = peer-&gt;<a class="code" href="structdtls__peer__t.html#a6c85e48495ae7de8ddfc4c4fb2a350af">security_params</a>[0];</div>
-<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;  peer-&gt;<a class="code" href="structdtls__peer__t.html#a6c85e48495ae7de8ddfc4c4fb2a350af">security_params</a>[0] = security;</div>
-<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;}</div>
-<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;</div>
-<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="keywordtype">void</span> <a class="code" href="peer_8h.html#a0297e9d772bfca004a98462d9c7d2828">peer_init</a>();</div>
-<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;</div>
-<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *<a class="code" href="peer_8h.html#a209e22be64be13e116711829d21d864c">dtls_new_peer</a>(<span class="keyword">const</span> <a class="code" href="structsession__t.html">session_t</a> *<a class="code" href="structdtls__peer__t.html#a44ebb2ba643269c7e6943f3a9040febe">session</a>);</div>
-<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;</div>
-<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;<span class="keywordtype">void</span> <a class="code" href="peer_8h.html#a037178c201b2e6b7361570ff700f059d">dtls_free_peer</a>(<a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *peer);</div>
-<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;</div>
-<div class="line"><a name="l00136"></a><span class="lineno"><a class="line" href="peer_8h.html#a64d83f0fe464f0eeb905b913345d0614">  136</a></span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="state_8h.html#aea0e57fd5b857535960534b53361aa35">dtls_state_t</a> <a class="code" href="peer_8h.html#a64d83f0fe464f0eeb905b913345d0614">dtls_peer_state</a>(<span class="keyword">const</span> <a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *peer) {</div>
-<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;  <span class="keywordflow">return</span> peer-&gt;<a class="code" href="structdtls__peer__t.html#a4e23cc3b273813744524c3db1fda9c83">state</a>;</div>
-<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;}</div>
-<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;</div>
-<div class="line"><a name="l00144"></a><span class="lineno"><a class="line" href="peer_8h.html#aaad8608f29d9a70bf09b7de310185c48">  144</a></span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="peer_8h.html#aaad8608f29d9a70bf09b7de310185c48">dtls_peer_is_connected</a>(<span class="keyword">const</span> <a class="code" href="structdtls__peer__t.html">dtls_peer_t</a> *peer) {</div>
-<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;  <span class="keywordflow">return</span> peer-&gt;<a class="code" href="structdtls__peer__t.html#a4e23cc3b273813744524c3db1fda9c83">state</a> == <a class="code" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a953a6aabd0aff0492df164e79815b122">DTLS_STATE_CONNECTED</a>;</div>
-<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;}</div>
-<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;</div>
-<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* _DTLS_PEER_H_ */</span><span class="preprocessor"></span></div>
-<div class="ttc" id="peer_8h_html_a64d83f0fe464f0eeb905b913345d0614"><div class="ttname"><a href="peer_8h.html#a64d83f0fe464f0eeb905b913345d0614">dtls_peer_state</a></div><div class="ttdeci">static dtls_state_t dtls_peer_state(const dtls_peer_t *peer)</div><div class="ttdef"><b>Definition:</b> <a href="peer_8h_source.html#l00136">peer.h:136</a></div></div>
-<div class="ttc" id="tinydtls_8h_html"><div class="ttname"><a href="tinydtls_8h.html">tinydtls.h</a></div><div class="ttdoc">public tinydtls API </div></div>
-<div class="ttc" id="state_8h_html_aea0e57fd5b857535960534b53361aa35"><div class="ttname"><a href="state_8h.html#aea0e57fd5b857535960534b53361aa35">dtls_state_t</a></div><div class="ttdeci">dtls_state_t</div><div class="ttdef"><b>Definition:</b> <a href="state_8h_source.html#l00040">state.h:40</a></div></div>
-<div class="ttc" id="structsession__t_html"><div class="ttname"><a href="structsession__t.html">session_t</a></div><div class="ttdef"><b>Definition:</b> <a href="session_8h_source.html#l00049">session.h:49</a></div></div>
-<div class="ttc" id="crypto_8h_html"><div class="ttname"><a href="crypto_8h.html">crypto.h</a></div></div>
-<div class="ttc" id="session_8h_html"><div class="ttname"><a href="session_8h.html">session.h</a></div></div>
-<div class="ttc" id="peer_8h_html_a6038bb7f08c62ea6f0fd2a0075860055"><div class="ttname"><a href="peer_8h.html#a6038bb7f08c62ea6f0fd2a0075860055">dtls_peer_t</a></div><div class="ttdeci">struct dtls_peer_t dtls_peer_t</div></div>
-<div class="ttc" id="peer_8h_html_a0297e9d772bfca004a98462d9c7d2828"><div class="ttname"><a href="peer_8h.html#a0297e9d772bfca004a98462d9c7d2828">peer_init</a></div><div class="ttdeci">void peer_init()</div><div class="ttdef"><b>Definition:</b> <a href="peer_8c_source.html#l00031">peer.c:31</a></div></div>
-<div class="ttc" id="peer_8h_html_ae30cd4bcffed73f79f17c09e5a1452c8a7c2a694fc87273c445ad661575b28255"><div class="ttname"><a href="peer_8h.html#ae30cd4bcffed73f79f17c09e5a1452c8a7c2a694fc87273c445ad661575b28255">DTLS_SERVER</a></div><div class="ttdef"><b>Definition:</b> <a href="peer_8h_source.html#l00047">peer.h:47</a></div></div>
-<div class="ttc" id="structdtls__peer__t_html_a4e23cc3b273813744524c3db1fda9c83"><div class="ttname"><a href="structdtls__peer__t.html#a4e23cc3b273813744524c3db1fda9c83">dtls_peer_t::state</a></div><div class="ttdeci">dtls_state_t state</div><div class="ttdef"><b>Definition:</b> <a href="peer_8h_source.html#l00062">peer.h:62</a></div></div>
-<div class="ttc" id="structUT__hash__handle_html"><div class="ttname"><a href="structUT__hash__handle.html">UT_hash_handle</a></div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00961">uthash.h:961</a></div></div>
-<div class="ttc" id="peer_8h_html_af5de0315efd7e8c6b1aecf60078b2dd7"><div class="ttname"><a href="peer_8h.html#af5de0315efd7e8c6b1aecf60078b2dd7">dtls_security_params_epoch</a></div><div class="ttdeci">static dtls_security_parameters_t * dtls_security_params_epoch(dtls_peer_t *peer, uint16_t epoch)</div><div class="ttdef"><b>Definition:</b> <a href="peer_8h_source.html#l00068">peer.h:68</a></div></div>
-<div class="ttc" id="global_8h_html"><div class="ttname"><a href="global_8h.html">global.h</a></div></div>
-<div class="ttc" id="peer_8h_html_a209e22be64be13e116711829d21d864c"><div class="ttname"><a href="peer_8h.html#a209e22be64be13e116711829d21d864c">dtls_new_peer</a></div><div class="ttdeci">dtls_peer_t * dtls_new_peer(const session_t *session)</div><div class="ttdef"><b>Definition:</b> <a href="peer_8c_source.html#l00072">peer.c:72</a></div></div>
-<div class="ttc" id="structdtls__peer__t_html_a44ebb2ba643269c7e6943f3a9040febe"><div class="ttname"><a href="structdtls__peer__t.html#a44ebb2ba643269c7e6943f3a9040febe">dtls_peer_t::session</a></div><div class="ttdeci">session_t session</div><div class="ttdef"><b>Definition:</b> <a href="peer_8h_source.html#l00059">peer.h:59</a></div></div>
-<div class="ttc" id="peer_8h_html_a9d0ec25ba319a38b17f30cf156e85c51"><div class="ttname"><a href="peer_8h.html#a9d0ec25ba319a38b17f30cf156e85c51">dtls_security_params_free_other</a></div><div class="ttdeci">static void dtls_security_params_free_other(dtls_peer_t *peer)</div><div class="ttdef"><b>Definition:</b> <a href="peer_8h_source.html#l00097">peer.h:97</a></div></div>
-<div class="ttc" id="structdtls__peer__t_html_aa176a7ffe3a780dc97a716dfffb54992"><div class="ttname"><a href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">dtls_peer_t::handshake_params</a></div><div class="ttdeci">dtls_handshake_parameters_t * handshake_params</div><div class="ttdef"><b>Definition:</b> <a href="peer_8h_source.html#l00065">peer.h:65</a></div></div>
-<div class="ttc" id="structdtls__peer__t_html"><div class="ttname"><a href="structdtls__peer__t.html">dtls_peer_t</a></div><div class="ttdef"><b>Definition:</b> <a href="peer_8h_source.html#l00052">peer.h:52</a></div></div>
-<div class="ttc" id="peer_8h_html_a48abcad7383e1db957af9b4fed030d52"><div class="ttname"><a href="peer_8h.html#a48abcad7383e1db957af9b4fed030d52">dtls_security_params</a></div><div class="ttdeci">static dtls_security_parameters_t * dtls_security_params(dtls_peer_t *peer)</div><div class="ttdef"><b>Definition:</b> <a href="peer_8h_source.html#l00079">peer.h:79</a></div></div>
-<div class="ttc" id="peer_8h_html_ae30cd4bcffed73f79f17c09e5a1452c8afd8391395303e28ee9b375232cb68a1e"><div class="ttname"><a href="peer_8h.html#ae30cd4bcffed73f79f17c09e5a1452c8afd8391395303e28ee9b375232cb68a1e">DTLS_CLIENT</a></div><div class="ttdef"><b>Definition:</b> <a href="peer_8h_source.html#l00047">peer.h:47</a></div></div>
-<div class="ttc" id="peer_8h_html_a9c37ce3fd7539154289dd17215179e2d"><div class="ttname"><a href="peer_8h.html#a9c37ce3fd7539154289dd17215179e2d">dtls_security_params_switch</a></div><div class="ttdeci">static void dtls_security_params_switch(dtls_peer_t *peer)</div><div class="ttdef"><b>Definition:</b> <a href="peer_8h_source.html#l00109">peer.h:109</a></div></div>
-<div class="ttc" id="peer_8h_html_ae30cd4bcffed73f79f17c09e5a1452c8"><div class="ttname"><a href="peer_8h.html#ae30cd4bcffed73f79f17c09e5a1452c8">dtls_peer_type</a></div><div class="ttdeci">dtls_peer_type</div><div class="ttdef"><b>Definition:</b> <a href="peer_8h_source.html#l00047">peer.h:47</a></div></div>
-<div class="ttc" id="crypto_8c_html_ad54069f2880b3c07185ebba736d02d17"><div class="ttname"><a href="crypto_8c.html#ad54069f2880b3c07185ebba736d02d17">dtls_security_free</a></div><div class="ttdeci">void dtls_security_free(dtls_security_parameters_t *security)</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8c_source.html#l00174">crypto.c:174</a></div></div>
-<div class="ttc" id="structdtls__peer__t_html_a6c85e48495ae7de8ddfc4c4fb2a350af"><div class="ttname"><a href="structdtls__peer__t.html#a6c85e48495ae7de8ddfc4c4fb2a350af">dtls_peer_t::security_params</a></div><div class="ttdeci">dtls_security_parameters_t * security_params[2]</div><div class="ttdef"><b>Definition:</b> <a href="peer_8h_source.html#l00064">peer.h:64</a></div></div>
-<div class="ttc" id="state_8h_html"><div class="ttname"><a href="state_8h.html">state.h</a></div><div class="ttdoc">state information for DTLS FSM </div></div>
-<div class="ttc" id="structdtls__peer__t_html_a4241666f9097d15a486840bce28c3fd5"><div class="ttname"><a href="structdtls__peer__t.html#a4241666f9097d15a486840bce28c3fd5">dtls_peer_t::hh</a></div><div class="ttdeci">UT_hash_handle hh</div><div class="ttdef"><b>Definition:</b> <a href="peer_8h_source.html#l00054">peer.h:54</a></div></div>
-<div class="ttc" id="crypto_8c_html_a1d568085636a04b4706b7e50df802a7b"><div class="ttname"><a href="crypto_8c.html#a1d568085636a04b4706b7e50df802a7b">dtls_security_new</a></div><div class="ttdeci">dtls_security_parameters_t * dtls_security_new()</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8c_source.html#l00155">crypto.c:155</a></div></div>
-<div class="ttc" id="state_8h_html_aea0e57fd5b857535960534b53361aa35a953a6aabd0aff0492df164e79815b122"><div class="ttname"><a href="state_8h.html#aea0e57fd5b857535960534b53361aa35a953a6aabd0aff0492df164e79815b122">DTLS_STATE_CONNECTED</a></div><div class="ttdef"><b>Definition:</b> <a href="state_8h_source.html#l00049">state.h:49</a></div></div>
-<div class="ttc" id="peer_8h_html_ab6e209f206f570eed246530ec7960943"><div class="ttname"><a href="peer_8h.html#ab6e209f206f570eed246530ec7960943">dtls_security_params_next</a></div><div class="ttdeci">static dtls_security_parameters_t * dtls_security_params_next(dtls_peer_t *peer)</div><div class="ttdef"><b>Definition:</b> <a href="peer_8h_source.html#l00084">peer.h:84</a></div></div>
-<div class="ttc" id="structdtls__security__parameters__t_html"><div class="ttname"><a href="structdtls__security__parameters__t.html">dtls_security_parameters_t</a></div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00099">crypto.h:99</a></div></div>
-<div class="ttc" id="structdtls__security__parameters__t_html_a2bce1fa0bf77eeab8fadca824de602da"><div class="ttname"><a href="structdtls__security__parameters__t.html#a2bce1fa0bf77eeab8fadca824de602da">dtls_security_parameters_t::epoch</a></div><div class="ttdeci">uint16_t epoch</div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00103">crypto.h:103</a></div></div>
-<div class="ttc" id="structdtls__handshake__parameters__t_html"><div class="ttname"><a href="structdtls__handshake__parameters__t.html">dtls_handshake_parameters_t</a></div><div class="ttdef"><b>Definition:</b> <a href="crypto_8h_source.html#l00115">crypto.h:115</a></div></div>
-<div class="ttc" id="peer_8h_html_a037178c201b2e6b7361570ff700f059d"><div class="ttname"><a href="peer_8h.html#a037178c201b2e6b7361570ff700f059d">dtls_free_peer</a></div><div class="ttdeci">void dtls_free_peer(dtls_peer_t *peer)</div><div class="ttdef"><b>Definition:</b> <a href="peer_8c_source.html#l00041">peer.c:41</a></div></div>
-<div class="ttc" id="peer_8h_html_aaad8608f29d9a70bf09b7de310185c48"><div class="ttname"><a href="peer_8h.html#aaad8608f29d9a70bf09b7de310185c48">dtls_peer_is_connected</a></div><div class="ttdeci">static int dtls_peer_is_connected(const dtls_peer_t *peer)</div><div class="ttdef"><b>Definition:</b> <a href="peer_8h_source.html#l00144">peer.h:144</a></div></div>
-<div class="ttc" id="structdtls__peer__t_html_aeca80f1bcbcfdba89a2ab08e4bc48120"><div class="ttname"><a href="structdtls__peer__t.html#aeca80f1bcbcfdba89a2ab08e4bc48120">dtls_peer_t::role</a></div><div class="ttdeci">dtls_peer_type role</div><div class="ttdef"><b>Definition:</b> <a href="peer_8h_source.html#l00061">peer.h:61</a></div></div>
-<div class="ttc" id="uthash_8h_html"><div class="ttname"><a href="uthash_8h.html">uthash.h</a></div></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/prng_8h.html b/external/wakaama/examples/shared/tinydtls/doc/html/prng_8h.html
deleted file mode 100644 (file)
index f36a8df..0000000
+++ /dev/null
@@ -1,117 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: prng.h File Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#func-members">Functions</a>  </div>
-  <div class="headertitle">
-<div class="title">prng.h File Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p>Pseudo Random Numbers.  
-<a href="#details">More...</a></p>
-<div class="textblock"><code>#include &quot;<a class="el" href="tinydtls_8h_source.html">tinydtls.h</a>&quot;</code><br/>
-<code>#include &lt;stdlib.h&gt;</code><br/>
-</div>
-<p><a href="prng_8h_source.html">Go to the source code of this file.</a></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga3f4036a1abfcec552ab583a2dc37be6c"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__prng.html#ga3f4036a1abfcec552ab583a2dc37be6c">dtls_prng</a> (unsigned char *buf, size_t len)</td></tr>
-<tr class="separator:ga3f4036a1abfcec552ab583a2dc37be6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gac68680277206146d06c9e5468f260ee0"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__prng.html#gac68680277206146d06c9e5468f260ee0">dtls_prng_init</a> (unsigned short seed)</td></tr>
-<tr class="separator:gac68680277206146d06c9e5468f260ee0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p>Pseudo Random Numbers. </p>
-
-<p>Definition in file <a class="el" href="prng_8h_source.html">prng.h</a>.</p>
-</div></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/prng_8h_source.html b/external/wakaama/examples/shared/tinydtls/doc/html/prng_8h_source.html
deleted file mode 100644 (file)
index 6656e62..0000000
+++ /dev/null
@@ -1,165 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: prng.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="header">
-  <div class="headertitle">
-<div class="title">prng.h</div>  </div>
-</div><!--header-->
-<div class="contents">
-<a href="prng_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/* prng.h -- Pseudo Random Numbers</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> * Copyright (C) 2010--2012 Olaf Bergmann &lt;bergmann@tzi.org&gt;</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> * This file is part of the library tinydtls. Please see</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> * README for terms of use. </span></div>
-<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;</div>
-<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="preprocessor">#ifndef _DTLS_PRNG_H_</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define _DTLS_PRNG_H_</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="tinydtls_8h.html">tinydtls.h</a>&quot;</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;</div>
-<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#ifndef WITH_CONTIKI</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &lt;stdlib.h&gt;</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;</div>
-<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="group__prng.html#ga3f4036a1abfcec552ab583a2dc37be6c">   33</a></span>&#160;<a class="code" href="group__prng.html#ga3f4036a1abfcec552ab583a2dc37be6c">dtls_prng</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *buf, <span class="keywordtype">size_t</span> len) {</div>
-<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;  <span class="keywordflow">while</span> (len--)</div>
-<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;    *buf++ = rand() &amp; 0xFF;</div>
-<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;  <span class="keywordflow">return</span> 1;</div>
-<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;}</div>
-<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;</div>
-<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="group__prng.html#gac68680277206146d06c9e5468f260ee0">   40</a></span>&#160;<a class="code" href="group__prng.html#gac68680277206146d06c9e5468f260ee0">dtls_prng_init</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> seed) {</div>
-<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;    srand(seed);</div>
-<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;}</div>
-<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="preprocessor">#else </span><span class="comment">/* WITH_CONTIKI */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &lt;string.h&gt;</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="preprocessor">#include &quot;random.h&quot;</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;</div>
-<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor">#ifdef HAVE_PRNG</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="preprocessor"></span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<a class="code" href="group__prng.html#ga3f4036a1abfcec552ab583a2dc37be6c">dtls_prng</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *buf, <span class="keywordtype">size_t</span> len)</div>
-<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;{</div>
-<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;    <span class="keywordflow">return</span> contiki_prng_impl(buf, len);</div>
-<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;}</div>
-<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">int</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<a class="code" href="group__prng.html#ga3f4036a1abfcec552ab583a2dc37be6c">dtls_prng</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *buf, <span class="keywordtype">size_t</span> len) {</div>
-<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> v = random_rand();</div>
-<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;  <span class="keywordflow">while</span> (len &gt; <span class="keyword">sizeof</span>(v)) {</div>
-<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;    memcpy(buf, &amp;v, <span class="keyword">sizeof</span>(v));</div>
-<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;    len -= <span class="keyword">sizeof</span>(v);</div>
-<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;    buf += <span class="keyword">sizeof</span>(v);</div>
-<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;    v = random_rand();</div>
-<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;  }</div>
-<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div>
-<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;  memcpy(buf, &amp;v, len);</div>
-<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;  <span class="keywordflow">return</span> 1;</div>
-<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;}</div>
-<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* HAVE_PRNG */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<a class="code" href="group__prng.html#gac68680277206146d06c9e5468f260ee0">dtls_prng_init</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> seed) {</div>
-<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;  <span class="comment">/* random_init() messes with the radio interface of the CC2538 and</span></div>
-<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="comment">   * therefore must not be called after the radio has been</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="comment">   * initialized. */</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="preprocessor">#ifndef CONTIKI_TARGET_CC2538DK</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="preprocessor"></span>    random_init(seed);</div>
-<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="preprocessor"></span>}</div>
-<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* WITH_CONTIKI */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* _DTLS_PRNG_H_ */</span><span class="preprocessor"></span></div>
-<div class="ttc" id="tinydtls_8h_html"><div class="ttname"><a href="tinydtls_8h.html">tinydtls.h</a></div><div class="ttdoc">public tinydtls API </div></div>
-<div class="ttc" id="group__prng_html_gac68680277206146d06c9e5468f260ee0"><div class="ttname"><a href="group__prng.html#gac68680277206146d06c9e5468f260ee0">dtls_prng_init</a></div><div class="ttdeci">static void dtls_prng_init(unsigned short seed)</div><div class="ttdef"><b>Definition:</b> <a href="prng_8h_source.html#l00040">prng.h:40</a></div></div>
-<div class="ttc" id="group__prng_html_ga3f4036a1abfcec552ab583a2dc37be6c"><div class="ttname"><a href="group__prng.html#ga3f4036a1abfcec552ab583a2dc37be6c">dtls_prng</a></div><div class="ttdeci">static int dtls_prng(unsigned char *buf, size_t len)</div><div class="ttdef"><b>Definition:</b> <a href="prng_8h_source.html#l00033">prng.h:33</a></div></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/all_0.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/all_0.html
deleted file mode 100644 (file)
index 17b6da8..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="all_0.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/all_0.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/all_0.js
deleted file mode 100644 (file)
index 340bbb2..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-var searchData=
-[
-  ['_5f_5fattribute_5f_5f',['__attribute__',['../dtls_8h.html#ad09246453a4dabd919c7541484046a87',1,'dtls.h']]],
-  ['_5fcastasgn',['_CASTASGN',['../utlist_8h.html#a1eb4a3192390405087ef1bb6c57241e3',1,'utlist.h']]],
-  ['_5fdtls_5faddress_5fequals_5fimpl',['_dtls_address_equals_impl',['../session_8c.html#af9b9333222aabb1440f5c7846f7be85f',1,'session.c']]],
-  ['_5fnext',['_NEXT',['../utlist_8h.html#aec696573e92f2ebd0a1641d77bb5b0fe',1,'utlist.h']]],
-  ['_5fnextasgn',['_NEXTASGN',['../utlist_8h.html#a93e2d161c8ad8350100a4fad092ef058',1,'utlist.h']]],
-  ['_5fprev',['_PREV',['../utlist_8h.html#ade8452ec59d6bf7ef23770ee4d96f8d5',1,'utlist.h']]],
-  ['_5fprevasgn',['_PREVASGN',['../utlist_8h.html#a6f6acf0ac7f07dcb26cef2110fef496a',1,'utlist.h']]],
-  ['_5frs',['_RS',['../utlist_8h.html#a9916f2c26fd7f6f7edb1f6baf400f315',1,'utlist.h']]],
-  ['_5fsv',['_SV',['../utlist_8h.html#a9eded80a8b98df631e889eb72b77c7a4',1,'utlist.h']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/all_1.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/all_1.html
deleted file mode 100644 (file)
index e290644..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="all_1.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/all_1.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/all_1.js
deleted file mode 100644 (file)
index ce7cf86..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-var searchData=
-[
-  ['a_5fdata_5flen',['A_DATA_LEN',['../dtls_8c.html#aee0f4f3d8541ea6ab9c204761cc6082e',1,'A_DATA_LEN():&#160;dtls.c'],['../dtls_8c.html#aee0f4f3d8541ea6ab9c204761cc6082e',1,'A_DATA_LEN():&#160;dtls.c']]],
-  ['add_5fauth_5fdata',['add_auth_data',['../ccm_8c.html#a59faf5a2a638dc03c01605d4bebe0bcc',1,'ccm.c']]],
-  ['addr',['addr',['../structsession__t.html#a0bb4423cd29b415a4cf6c32d5d9a43e4',1,'session_t']]],
-  ['aes128',['AES128',['../crypto_8h.html#a41f1aa1e1380c5f51d9af32c0a53f7b1a1832208b0a725185016b59150ff74fc4',1,'crypto.h']]],
-  ['aes128_5fccm_5ft',['aes128_ccm_t',['../structaes128__ccm__t.html',1,'']]],
-  ['alert_2eh',['alert.h',['../alert_8h.html',1,'']]],
-  ['app',['app',['../structdtls__context__t.html#ab37722ec6b82dd3120827812f212a51e',1,'dtls_context_t']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/all_10.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/all_10.html
deleted file mode 100644 (file)
index c55c836..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="all_10.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/all_10.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/all_10.js
deleted file mode 100644 (file)
index 1669042..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-var searchData=
-[
-  ['r_5fkey_5foffset',['R_KEY_OFFSET',['../dtls_8c.html#ab7a17e13b17da97cbef046b20cd7280f',1,'dtls.c']]],
-  ['random',['random',['../structdtls__handshake__parameters__t.html#a5c4e7bb5d4d890200a176cfe13c6fb9a',1,'dtls_handshake_parameters_t']]],
-  ['read',['read',['../structdtls__handler__t.html#a48f28d381286b493fe6dd8eab5cbaa88',1,'dtls_handler_t']]],
-  ['readbuf',['readbuf',['../structdtls__context__t.html#ad6facbcd3c19ac8e1c79b1664dcf2434',1,'dtls_context_t']]],
-  ['retransmit_5fcnt',['retransmit_cnt',['../structnetq__t.html#aacd03017f40248c2f48c2b7b9cd92dc8',1,'netq_t']]],
-  ['role',['role',['../structdtls__peer__t.html#aeca80f1bcbcfdba89a2ab08e4bc48120',1,'dtls_peer_t']]],
-  ['rseq',['rseq',['../structdtls__security__parameters__t.html#a100dc82ee41004df1d9f211873332f87',1,'dtls_security_parameters_t']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/all_11.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/all_11.html
deleted file mode 100644 (file)
index 6f3943a..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="all_11.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/all_11.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/all_11.js
deleted file mode 100644 (file)
index 9eeb481..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-var searchData=
-[
-  ['s_5fkey_5foffset',['S_KEY_OFFSET',['../dtls_8c.html#a2cf5795397ac5779f281543fc0f44ae9',1,'dtls.c']]],
-  ['sa',['sa',['../structsession__t.html#a8d0a30ccc98425675a1b0e92e96eaa6a',1,'session_t']]],
-  ['security_5fparams',['security_params',['../structdtls__peer__t.html#a6c85e48495ae7de8ddfc4c4fb2a350af',1,'dtls_peer_t']]],
-  ['server',['server',['../structdtls__handshake__parameters__t.html#a17344d2dab22a9c2c7f8bc9ef9137036',1,'dtls_handshake_parameters_t']]],
-  ['session',['session',['../structdtls__peer__t.html#a44ebb2ba643269c7e6943f3a9040febe',1,'dtls_peer_t']]],
-  ['session_2ec',['session.c',['../session_8c.html',1,'']]],
-  ['session_2eh',['session.h',['../session_8h.html',1,'']]],
-  ['session_5ft',['session_t',['../structsession__t.html',1,'']]],
-  ['set_5fcounter',['SET_COUNTER',['../ccm_8c.html#a13d9e1fa611f50a7176fd6da7b1b4994',1,'ccm.c']]],
-  ['signature',['signature',['../structUT__hash__table.html#a87d1ab3f3ede1809c6a485972d20b25f',1,'UT_hash_table']]],
-  ['sin',['sin',['../structsession__t.html#a86093095c1ab36b12180f9215fa2375e',1,'session_t']]],
-  ['sin6',['sin6',['../structsession__t.html#a2f337ce1989f3a9b5afeef1a95506bde',1,'session_t']]],
-  ['size',['size',['../structsession__t.html#aed21682e9f971221d9f35f1266dea125',1,'session_t']]],
-  ['skip_5fvar_5ffield',['SKIP_VAR_FIELD',['../dtls_8c.html#a09a0896d586ff27855ced6930cc17023',1,'dtls.c']]],
-  ['st',['st',['../structsession__t.html#ac45985b6941c1fd25dbf4e48ff44fb8d',1,'session_t']]],
-  ['state',['state',['../structdtls__peer__t.html#a4e23cc3b273813744524c3db1fda9c83',1,'dtls_peer_t']]],
-  ['state_2eh',['state.h',['../state_8h.html',1,'']]],
-  ['stdc_5fheaders',['STDC_HEADERS',['../config_8h.html#a550e5c272cc3cf3814651721167dcd23',1,'STDC_HEADERS():&#160;config.h'],['../dtls__config_8h.html#a550e5c272cc3cf3814651721167dcd23',1,'STDC_HEADERS():&#160;dtls_config.h']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/all_12.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/all_12.html
deleted file mode 100644 (file)
index 3c7c89e..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="all_12.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/all_12.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/all_12.js
deleted file mode 100644 (file)
index aeb7693..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-var searchData=
-[
-  ['t',['t',['../structnetq__t.html#afe91256ff5267fc680b96efd3bd8635a',1,'netq_t']]],
-  ['t_5flist_2eh',['t_list.h',['../t__list_8h.html',1,'']]],
-  ['tail',['tail',['../structUT__hash__table.html#a00a889a5e1ebaeec0a83ec2701df1992',1,'UT_hash_table']]],
-  ['tbl',['tbl',['../structUT__hash__handle.html#ad2035ee3b2aa55b22e352341372a5e73',1,'UT_hash_handle']]],
-  ['timeout',['timeout',['../structnetq__t.html#ae0c2648acf87d1e6f2566bc3600771b6',1,'netq_t']]],
-  ['tinydtls_2eh',['tinydtls.h',['../tinydtls_8h.html',1,'']]],
-  ['tls_5fcert_5ftype_5fraw_5fpublic_5fkey',['TLS_CERT_TYPE_RAW_PUBLIC_KEY',['../global_8h.html#af36d51830256b7d1bf4dbaa8590c19e4',1,'global.h']]],
-  ['tls_5fclient_5fcertificate_5ftype_5fecdsa_5fsign',['TLS_CLIENT_CERTIFICATE_TYPE_ECDSA_SIGN',['../global_8h.html#aaace8dce4341d910140609a96bb300db',1,'global.h']]],
-  ['tls_5fcompression_5fnull',['TLS_COMPRESSION_NULL',['../global_8h.html#a1ff555e0b1443c4cb4d17ac2161d89b2ac5b79ee16e8c0e46873fa63fdb1ab9ca',1,'global.h']]],
-  ['tls_5fec_5fcurve_5ftype_5fnamed_5fcurve',['TLS_EC_CURVE_TYPE_NAMED_CURVE',['../global_8h.html#ac97469cc46ceeb148ee92f47a26ebcf6',1,'global.h']]],
-  ['tls_5fecdhe_5fecdsa_5fwith_5faes_5f128_5fccm_5f8',['TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8',['../global_8h.html#ada7e71454d685b693df45b2c1ea0c59ba197892e216f63ddbc91c2b006a2d4c1e',1,'global.h']]],
-  ['tls_5fext_5fclient_5fcertificate_5ftype',['TLS_EXT_CLIENT_CERTIFICATE_TYPE',['../global_8h.html#a0074adc0b2543a913a597e510caf27b0',1,'global.h']]],
-  ['tls_5fext_5fec_5fpoint_5fformats',['TLS_EXT_EC_POINT_FORMATS',['../global_8h.html#a5d17863db920927ef8160547541b58e3',1,'global.h']]],
-  ['tls_5fext_5fec_5fpoint_5fformats_5funcompressed',['TLS_EXT_EC_POINT_FORMATS_UNCOMPRESSED',['../global_8h.html#af086ed2d0aea096be56bf7e46f8f72a6',1,'global.h']]],
-  ['tls_5fext_5felliptic_5fcurves',['TLS_EXT_ELLIPTIC_CURVES',['../global_8h.html#a7e080d630a40510f655bf6982c555063',1,'global.h']]],
-  ['tls_5fext_5felliptic_5fcurves_5fsecp256r1',['TLS_EXT_ELLIPTIC_CURVES_SECP256R1',['../global_8h.html#a8095691f33c0ce6b22d205640ccc9417',1,'global.h']]],
-  ['tls_5fext_5fencrypt_5fthen_5fmac',['TLS_EXT_ENCRYPT_THEN_MAC',['../global_8h.html#ae136afe82bd9031a4c1c604de0cb0118',1,'global.h']]],
-  ['tls_5fext_5fserver_5fcertificate_5ftype',['TLS_EXT_SERVER_CERTIFICATE_TYPE',['../global_8h.html#ad465b86d1841ddd6c2209ff304895a95',1,'global.h']]],
-  ['tls_5fext_5fsig_5fhash_5falgo',['TLS_EXT_SIG_HASH_ALGO',['../global_8h.html#a0249393d6894a15ac56962b2335add24',1,'global.h']]],
-  ['tls_5fext_5fsig_5fhash_5falgo_5fecdsa',['TLS_EXT_SIG_HASH_ALGO_ECDSA',['../global_8h.html#af126227a026a7af436a4323db6d02ecc',1,'global.h']]],
-  ['tls_5fext_5fsig_5fhash_5falgo_5fsha256',['TLS_EXT_SIG_HASH_ALGO_SHA256',['../global_8h.html#aa347771eab2eabd24c4b9311fa61c4c9',1,'global.h']]],
-  ['tls_5fnull_5fwith_5fnull_5fnull',['TLS_NULL_WITH_NULL_NULL',['../global_8h.html#ada7e71454d685b693df45b2c1ea0c59bacf33de998fd00f096eebbb0742d80abd',1,'global.h']]],
-  ['tls_5fpsk_5fwith_5faes_5f128_5fccm_5f8',['TLS_PSK_WITH_AES_128_CCM_8',['../global_8h.html#ada7e71454d685b693df45b2c1ea0c59ba39a3062f136db88f648ce514a591fac8',1,'global.h']]],
-  ['tmp',['tmp',['../structdtls__handshake__parameters__t.html#ac27a2063a8136615971f8d591afdd01f',1,'dtls_handshake_parameters_t']]],
-  ['type',['type',['../structnetq__t.html#a13d74bc65c8879b894698935fbbe2246',1,'netq_t']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/all_13.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/all_13.html
deleted file mode 100644 (file)
index 0bd629b..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="all_13.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/all_13.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/all_13.js
deleted file mode 100644 (file)
index 25d52f1..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-var searchData=
-[
-  ['uint16',['uint16',['../global_8h.html#a5e90b30856b81913af89565b55751da5',1,'global.h']]],
-  ['uint24',['uint24',['../global_8h.html#aabc56baaf04f922a1ea0dda7691fec0a',1,'global.h']]],
-  ['uint32',['uint32',['../global_8h.html#ab27072920285996a3e16d2e5e3d366be',1,'global.h']]],
-  ['uint48',['uint48',['../global_8h.html#a0749f1df578b26eccab986b0d8abaa56',1,'global.h']]],
-  ['uint8',['uint8',['../global_8h.html#adde6aaee8457bee49c2a92621fe22b79',1,'global.h']]],
-  ['update_5fhs_5fhash',['update_hs_hash',['../dtls_8c.html#a3db09acb5894f17f4745d7556555bea7',1,'dtls.c']]],
-  ['ut_5fhash_5fbucket',['UT_hash_bucket',['../structUT__hash__bucket.html',1,'UT_hash_bucket'],['../uthash_8h.html#a3ba3da0ca59a082c35a0d6b52e803ddf',1,'UT_hash_bucket():&#160;uthash.h']]],
-  ['ut_5fhash_5fhandle',['UT_hash_handle',['../structUT__hash__handle.html',1,'UT_hash_handle'],['../uthash_8h.html#a0e3a99ed9f776349720d0c362f956fb6',1,'UT_hash_handle():&#160;uthash.h']]],
-  ['ut_5fhash_5ftable',['UT_hash_table',['../structUT__hash__table.html',1,'UT_hash_table'],['../uthash_8h.html#a0758074b9942c2ad076610b3e0ce548e',1,'UT_hash_table():&#160;uthash.h']]],
-  ['uthash_2eh',['uthash.h',['../uthash_8h.html',1,'']]],
-  ['uthash_5fexpand_5ffyi',['uthash_expand_fyi',['../uthash_8h.html#a86ea78714da520989a6f7a764b4d71b4',1,'uthash.h']]],
-  ['uthash_5ffatal',['uthash_fatal',['../uthash_8h.html#a03b52301b0ed976b6981ef33613320c1',1,'uthash.h']]],
-  ['uthash_5ffree',['uthash_free',['../uthash_8h.html#a56cdf8c254fc700332c8e6a7263b4657',1,'uthash.h']]],
-  ['uthash_5fmalloc',['uthash_malloc',['../uthash_8h.html#a861013aff36c0448f1888a2b0b5836d8',1,'uthash.h']]],
-  ['uthash_5fnoexpand_5ffyi',['uthash_noexpand_fyi',['../uthash_8h.html#a7cc237d8f87de3836b5390856cfc5c86',1,'uthash.h']]],
-  ['uthash_5fversion',['UTHASH_VERSION',['../uthash_8h.html#aa56cef9cb86dc1f4b5d27ee3a691077e',1,'uthash.h']]],
-  ['utlist_2eh',['utlist.h',['../utlist_8h.html',1,'']]],
-  ['utlist_5fversion',['UTLIST_VERSION',['../utlist_8h.html#a9f3779f3c49ddf609c97f1c3d1f29730',1,'utlist.h']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/all_14.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/all_14.html
deleted file mode 100644 (file)
index 2ad638b..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="all_14.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/all_14.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/all_14.js
deleted file mode 100644 (file)
index bed5508..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-var searchData=
-[
-  ['verify_5fext_5fcert_5ftype',['verify_ext_cert_type',['../dtls_8c.html#af073bf7cefa5e49e0c939e853678d417',1,'dtls.c']]],
-  ['verify_5fext_5fec_5fpoint_5fformats',['verify_ext_ec_point_formats',['../dtls_8c.html#a04a3580764ffd4f253ce6be858806c95',1,'dtls.c']]],
-  ['verify_5fext_5feliptic_5fcurves',['verify_ext_eliptic_curves',['../dtls_8c.html#ad699a00b7ff5a71fa5b7fbc79a4dd9a8',1,'dtls.c']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/all_15.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/all_15.html
deleted file mode 100644 (file)
index d3b5274..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="all_15.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/all_15.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/all_15.js
deleted file mode 100644 (file)
index 6605820..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-var searchData=
-[
-  ['with_5fsha256',['WITH_SHA256',['../global_8h.html#a4da6212f220f78c713aa5e91f989e7d7',1,'global.h']]],
-  ['write',['write',['../structdtls__handler__t.html#a161ad99d77bd3b963bcd473eb3cbefe2',1,'dtls_handler_t']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/all_2.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/all_2.html
deleted file mode 100644 (file)
index 95ded12..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="all_2.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/all_2.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/all_2.js
deleted file mode 100644 (file)
index 368696a..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-var searchData=
-[
-  ['block0',['block0',['../ccm_8c.html#a1dfe92428f63772e3907a26435e54354',1,'ccm.c']]],
-  ['buckets',['buckets',['../structUT__hash__table.html#a04556bbef9c9a1c40b1bc0d17a2a6e0b',1,'UT_hash_table']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/all_3.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/all_3.html
deleted file mode 100644 (file)
index 4d312d0..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="all_3.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/all_3.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/all_3.js
deleted file mode 100644 (file)
index 5e7ecce..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-var searchData=
-[
-  ['calculate_5fkey_5fblock',['calculate_key_block',['../dtls_8c.html#a94199c9fa65db19e0f761e3ff973eb4b',1,'dtls.c']]],
-  ['call',['CALL',['../dtls_8c.html#a3e132aba78de736930255d40ef3f2d34',1,'dtls.c']]],
-  ['ccm_2ec',['ccm.c',['../ccm_8c.html',1,'']]],
-  ['ccm_2eh',['ccm.h',['../ccm_8h.html',1,'']]],
-  ['ccm_5fflags',['CCM_FLAGS',['../ccm_8c.html#a18f6fffa08314e79c95e2de10e7409cb',1,'ccm.c']]],
-  ['cdl_5fdelete',['CDL_DELETE',['../utlist_8h.html#a60fd7696c4d0865f53a07579a7b08235',1,'utlist.h']]],
-  ['cdl_5fforeach',['CDL_FOREACH',['../utlist_8h.html#a795df7857792d7e811709a060c911a36',1,'utlist.h']]],
-  ['cdl_5fforeach_5fsafe',['CDL_FOREACH_SAFE',['../utlist_8h.html#abdb80106f7733e37fbe4f62e9d97ccfd',1,'utlist.h']]],
-  ['cdl_5fprepend',['CDL_PREPEND',['../utlist_8h.html#a6c6a7232d281eab4b18563b92e5653bd',1,'utlist.h']]],
-  ['cdl_5fsearch',['CDL_SEARCH',['../utlist_8h.html#afb329a0bdf1fa0b644317e9d84082e1e',1,'utlist.h']]],
-  ['cdl_5fsearch_5fscalar',['CDL_SEARCH_SCALAR',['../utlist_8h.html#ad064cddb894b478b3c3cd23719f58651',1,'utlist.h']]],
-  ['cdl_5fsort',['CDL_SORT',['../utlist_8h.html#a13add78e5524efe1ae6bfb1631b2dc17',1,'utlist.h']]],
-  ['cert_5fasn1_5fheader',['cert_asn1_header',['../dtls_8c.html#aecdb18ea2b899994542ec46b23528738',1,'dtls.c']]],
-  ['check_5fcertificate_5frequest',['check_certificate_request',['../dtls_8c.html#a61ddc44bfdb8a92b72911a402aa0164e',1,'dtls.c']]],
-  ['check_5fclient_5fcertificate_5fverify',['check_client_certificate_verify',['../dtls_8c.html#a017195b30506fbdf32fff55af9276a02',1,'dtls.c']]],
-  ['check_5fclient_5fkeyexchange',['check_client_keyexchange',['../dtls_8c.html#ab9251eac8015afc7985ff4398657ea3f',1,'dtls.c']]],
-  ['check_5ffinished',['check_finished',['../dtls_8c.html#a91b2653747ca1e4058ae3b350019188b',1,'dtls.c']]],
-  ['check_5fserver_5fcertificate',['check_server_certificate',['../dtls_8c.html#a88db0e7ffa0836761bef7b62ac3d2fb7',1,'dtls.c']]],
-  ['check_5fserver_5fhello',['check_server_hello',['../dtls_8c.html#afcc64c0abfd9b157b71a47e5a5a78b26',1,'dtls.c']]],
-  ['check_5fserver_5fhello_5fverify_5frequest',['check_server_hello_verify_request',['../dtls_8c.html#a2b598b29d3148bfc02e826d94bbc0642',1,'dtls.c']]],
-  ['check_5fserver_5fhellodone',['check_server_hellodone',['../dtls_8c.html#aca393c29148080d4dfa343c8ec283928',1,'dtls.c']]],
-  ['check_5fserver_5fkey_5fexchange_5fecdsa',['check_server_key_exchange_ecdsa',['../dtls_8c.html#a3de5b3956733293d3e19d83d3cc8d9bb',1,'dtls.c']]],
-  ['check_5fserver_5fkey_5fexchange_5fpsk',['check_server_key_exchange_psk',['../dtls_8c.html#a915dccbe7e71d52d2650378f3aaad054',1,'dtls.c']]],
-  ['check_5fstack',['check_stack',['../debug_8h.html#a4a3c60a1e54594e78cd207c57ddb1378',1,'debug.h']]],
-  ['cipher',['cipher',['../structdtls__security__parameters__t.html#a21d9fac709d739535b0cbecce4c18830',1,'dtls_security_parameters_t::cipher()'],['../structdtls__handshake__parameters__t.html#a5cc61a98763800b5b4e7617307649933',1,'dtls_handshake_parameters_t::cipher()']]],
-  ['cipher_5fcontext',['cipher_context',['../crypto_8c.html#a9fd792e4bb85e55082e4bf32de0d4bdb',1,'crypto.c']]],
-  ['cipher_5fcontext_5fmutex',['cipher_context_mutex',['../crypto_8c.html#ad4a90eac1ed6a277c837d7f9dc0a923c',1,'crypto.c']]],
-  ['clear_5fhs_5fhash',['clear_hs_hash',['../dtls_8c.html#a82181208ec1e9f42896f0606e0036c1d',1,'dtls.c']]],
-  ['client',['client',['../structdtls__handshake__parameters__t.html#af37f38ce7c5f5e4ab62f16aacc2035f9',1,'dtls_handshake_parameters_t']]],
-  ['clienthello',['CLIENTHELLO',['../dtls_8c.html#a0800e26c09602d197e929fcc8ba783d5',1,'dtls.c']]],
-  ['clock_20handling',['Clock Handling',['../group__clock.html',1,'']]],
-  ['clock_5fsecond',['CLOCK_SECOND',['../group__clock.html#gae3ced0551b26c9b99cb45a86f34d100a',1,'dtls_time.h']]],
-  ['clock_5ftime_5ft',['clock_time_t',['../group__clock.html#ga6e6c13e871b82d881a01d1bc8df69d23',1,'dtls_time.h']]],
-  ['compression',['compression',['../structdtls__security__parameters__t.html#a6a72df7ab1151f81e49d464175fcaf2a',1,'dtls_security_parameters_t::compression()'],['../structdtls__handshake__parameters__t.html#a67f85371953c8ae07ec110cb39c13125',1,'dtls_handshake_parameters_t::compression()']]],
-  ['compression_5fmethods',['compression_methods',['../dtls_8c.html#ae35671d94ccea5f335546ce409aed601',1,'dtls.c']]],
-  ['config_2eh',['config.h',['../config_8h.html',1,'']]],
-  ['contiki',['Contiki',['../group__contiki.html',1,'']]],
-  ['contiki_2dconfig_2eh',['contiki-config.h',['../contiki-config_8h.html',1,'']]],
-  ['cookie_5fsecret',['cookie_secret',['../structdtls__context__t.html#adb7dc6a53a7e00f2c4bbf726973e002f',1,'dtls_context_t']]],
-  ['cookie_5fsecret_5fage',['cookie_secret_age',['../structdtls__context__t.html#a3f26099dbb3588ae9a86d26f69ec08f8',1,'dtls_context_t']]],
-  ['copy_5fhs_5fhash',['copy_hs_hash',['../dtls_8c.html#a22ab7a79391c2204337237949d69dad8',1,'dtls.c']]],
-  ['count',['count',['../structUT__hash__bucket.html#a5d20cc12bdcbde360398910eefb45634',1,'UT_hash_bucket']]],
-  ['crypto_2ec',['crypto.c',['../crypto_8c.html',1,'']]],
-  ['crypto_2eh',['crypto.h',['../crypto_8h.html',1,'']]],
-  ['crypto_5finit',['crypto_init',['../crypto_8c.html#a86e6ce9d4b4afcef355836955697f52c',1,'crypto_init():&#160;crypto.c'],['../crypto_8h.html#a86e6ce9d4b4afcef355836955697f52c',1,'crypto_init():&#160;crypto.c']]],
-  ['ctx',['ctx',['../structaes128__ccm__t.html#a5bdf410f025e4177ced456059bc8a371',1,'aes128_ccm_t']]],
-  ['curve',['curve',['../structdtls__ecdsa__key__t.html#ad78834cca7158114bd78d3d0acb4a548',1,'dtls_ecdsa_key_t']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/all_4.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/all_4.html
deleted file mode 100644 (file)
index d72a910..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="all_4.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/all_4.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/all_4.js
deleted file mode 100644 (file)
index d4d6c5b..0000000
+++ /dev/null
@@ -1,330 +0,0 @@
-var searchData=
-[
-  ['data',['data',['../structdtls__cipher__context__t.html#a02da63201e2ac7bc508e3bb54c5761dc',1,'dtls_cipher_context_t::data()'],['../structdtls__hmac__context__t.html#a84c35513fa655d8456be215f4509bb40',1,'dtls_hmac_context_t::data()'],['../structnetq__t.html#a5b4d387623df43fe25a3b11e9d4fb02c',1,'netq_t::data()']]],
-  ['debug_2ec',['debug.c',['../debug_8c.html',1,'']]],
-  ['debug_2eh',['debug.h',['../debug_8h.html',1,'']]],
-  ['decltype',['DECLTYPE',['../uthash_8h.html#a716ba290563c2d955cb0c90d85874073',1,'uthash.h']]],
-  ['decltype_5fassign',['DECLTYPE_ASSIGN',['../uthash_8h.html#a3c736f2f2dd643f2987b2bc323e269ba',1,'uthash.h']]],
-  ['decrypt_5fverify',['decrypt_verify',['../dtls_8c.html#adc4e7aa5066240a362341bbdb998bc71',1,'dtls.c']]],
-  ['dl_5fappend',['DL_APPEND',['../utlist_8h.html#a17d40c945e1dc55490feb2fe160670c8',1,'utlist.h']]],
-  ['dl_5fdelete',['DL_DELETE',['../utlist_8h.html#aad429903354ffe8cdf4ca2e9d0ae89cc',1,'utlist.h']]],
-  ['dl_5fforeach',['DL_FOREACH',['../utlist_8h.html#abb0c2851c5f0567be7b8827ce5168ef7',1,'utlist.h']]],
-  ['dl_5fforeach_5fsafe',['DL_FOREACH_SAFE',['../utlist_8h.html#a3bb0c84a69846d2f019a97ea0b4709aa',1,'utlist.h']]],
-  ['dl_5fprepend',['DL_PREPEND',['../utlist_8h.html#a78be4dea3344ba1b1c7fe1b893c0fdfa',1,'utlist.h']]],
-  ['dl_5fsearch',['DL_SEARCH',['../utlist_8h.html#a819373d14278b52c313b743acc292ba0',1,'utlist.h']]],
-  ['dl_5fsearch_5fscalar',['DL_SEARCH_SCALAR',['../utlist_8h.html#a172fce2d647fdedadf0f8080e0441c5b',1,'utlist.h']]],
-  ['dl_5fsort',['DL_SORT',['../utlist_8h.html#ad966f284f615a2ced4028258fa08f8f3',1,'utlist.h']]],
-  ['do_5fclient_5fauth',['do_client_auth',['../structdtls__handshake__parameters__t.html#ab17efe8550600d945ced029e43ca86d6',1,'dtls_handshake_parameters_t']]],
-  ['dsrv_5flog',['dsrv_log',['../debug_8c.html#ace8ca7929ecfc486c3ef40828c79bfe5',1,'dsrv_log(log_t level, char *format,...):&#160;debug.c'],['../debug_8h.html#ace8ca7929ecfc486c3ef40828c79bfe5',1,'dsrv_log(log_t level, char *format,...):&#160;debug.c']]],
-  ['dsrv_5fprint_5faddr',['dsrv_print_addr',['../debug_8c.html#aa6c8e3e1a02e7cb1567391d3a5ca8bf2',1,'debug.c']]],
-  ['dtls_2ec',['dtls.c',['../dtls_8c.html',1,'']]],
-  ['dtls_2eh',['dtls.h',['../dtls_8h.html',1,'']]],
-  ['dtls_5fadd_5fecdsa_5fsignature_5felem',['dtls_add_ecdsa_signature_elem',['../dtls_8c.html#a7d7af4d19c7abef4583c1667ec449a5d',1,'dtls.c']]],
-  ['dtls_5fadd_5fpeer',['dtls_add_peer',['../dtls_8c.html#ae4a2961a027959f907145f82ca9107c3',1,'dtls.c']]],
-  ['dtls_5falert',['dtls_alert',['../debug_8h.html#ab22e3494f6186183820142ba279fe9ae',1,'debug.h']]],
-  ['dtls_5falert_5faccess_5fdenied',['DTLS_ALERT_ACCESS_DENIED',['../alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdad86305f8c32e7600fcafc0abcedd0a11',1,'alert.h']]],
-  ['dtls_5falert_5fbad_5fcertificate',['DTLS_ALERT_BAD_CERTIFICATE',['../alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdaaf5d5f80170bcf70000c18876e7bdb5c',1,'alert.h']]],
-  ['dtls_5falert_5fbad_5frecord_5fmac',['DTLS_ALERT_BAD_RECORD_MAC',['../alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda4005b89a3396b23037f8033b29268eca',1,'alert.h']]],
-  ['dtls_5falert_5fcertificate_5fexpired',['DTLS_ALERT_CERTIFICATE_EXPIRED',['../alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda845dc73ad17d0fb919489cc110633782',1,'alert.h']]],
-  ['dtls_5falert_5fcertificate_5frevoked',['DTLS_ALERT_CERTIFICATE_REVOKED',['../alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda2e000f966c0ff01cf198ea862aa5cfe1',1,'alert.h']]],
-  ['dtls_5falert_5fcertificate_5funknown',['DTLS_ALERT_CERTIFICATE_UNKNOWN',['../alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda450355820da8d9eff4dd6d17eb52585d',1,'alert.h']]],
-  ['dtls_5falert_5fclose_5fnotify',['DTLS_ALERT_CLOSE_NOTIFY',['../alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda6bbae4f2f3747af4cdbe80c4a1061800',1,'alert.h']]],
-  ['dtls_5falert_5fcreate',['dtls_alert_create',['../alert_8h.html#a4242f419ffdd4b83bfaa2a0935ed2b6d',1,'alert.h']]],
-  ['dtls_5falert_5fdecode_5ferror',['DTLS_ALERT_DECODE_ERROR',['../alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdae3249841cb226881ce6dadffb9f22649',1,'alert.h']]],
-  ['dtls_5falert_5fdecompression_5ffailure',['DTLS_ALERT_DECOMPRESSION_FAILURE',['../alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdaaf4ca9003cf380ae80a46b925b482888',1,'alert.h']]],
-  ['dtls_5falert_5fdecrypt_5ferror',['DTLS_ALERT_DECRYPT_ERROR',['../alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda56a136f4d20b3ce9fb967eedb37371e0',1,'alert.h']]],
-  ['dtls_5falert_5ffatal_5fcreate',['dtls_alert_fatal_create',['../alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df',1,'alert.h']]],
-  ['dtls_5falert_5fhandshake_5ffailure',['DTLS_ALERT_HANDSHAKE_FAILURE',['../alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdaea5ed33e912421eb48afb73ce0a6014d',1,'alert.h']]],
-  ['dtls_5falert_5fillegal_5fparameter',['DTLS_ALERT_ILLEGAL_PARAMETER',['../alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda880948aace26b2da8acde4c29ababcfc',1,'alert.h']]],
-  ['dtls_5falert_5finsufficient_5fsecurity',['DTLS_ALERT_INSUFFICIENT_SECURITY',['../alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda2cc56008c097883058c0e2e8ecc6751e',1,'alert.h']]],
-  ['dtls_5falert_5finternal_5ferror',['DTLS_ALERT_INTERNAL_ERROR',['../alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda22948f7c825b68cc18c79bd3634c8f58',1,'alert.h']]],
-  ['dtls_5falert_5flevel_5ffatal',['DTLS_ALERT_LEVEL_FATAL',['../alert_8h.html#ab6264d1b950719f1c2e00b122cad871fabd07bcf63c24aa5f1b9706a4197ceaf4',1,'alert.h']]],
-  ['dtls_5falert_5flevel_5ft',['dtls_alert_level_t',['../alert_8h.html#ab6264d1b950719f1c2e00b122cad871f',1,'alert.h']]],
-  ['dtls_5falert_5flevel_5fwarning',['DTLS_ALERT_LEVEL_WARNING',['../alert_8h.html#ab6264d1b950719f1c2e00b122cad871fa0f670b55dcb4ab291b869827d3c62ee7',1,'alert.h']]],
-  ['dtls_5falert_5fno_5frenegotiation',['DTLS_ALERT_NO_RENEGOTIATION',['../alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda8939a5d1777bf0dbdd8fa44e335137ab',1,'alert.h']]],
-  ['dtls_5falert_5fprotocol_5fversion',['DTLS_ALERT_PROTOCOL_VERSION',['../alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdaa392c9a6bb02b01386a1c34dc1947652',1,'alert.h']]],
-  ['dtls_5falert_5frecord_5foverflow',['DTLS_ALERT_RECORD_OVERFLOW',['../alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdad4d94666f310fb6982c26c70eddd6d12',1,'alert.h']]],
-  ['dtls_5falert_5fsend_5ffrom_5ferr',['dtls_alert_send_from_err',['../dtls_8c.html#a4c7a26bc520ac2ac88b4758e0fb84f1e',1,'dtls.c']]],
-  ['dtls_5falert_5ft',['dtls_alert_t',['../alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbd',1,'alert.h']]],
-  ['dtls_5falert_5funexpected_5fmessage',['DTLS_ALERT_UNEXPECTED_MESSAGE',['../alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda7b9032725373912bd7fda54af8704d8a',1,'alert.h']]],
-  ['dtls_5falert_5funknown_5fca',['DTLS_ALERT_UNKNOWN_CA',['../alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdaf8b7bd9f8a6c02080f4b1af566bc1a2f',1,'alert.h']]],
-  ['dtls_5falert_5funsupported_5fcertificate',['DTLS_ALERT_UNSUPPORTED_CERTIFICATE',['../alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda0de27a30ca57e1a93a066e8dc6b6beab',1,'alert.h']]],
-  ['dtls_5falert_5funsupported_5fextension',['DTLS_ALERT_UNSUPPORTED_EXTENSION',['../alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda8512357ac6a83788ea76feb2ed9e2efc',1,'alert.h']]],
-  ['dtls_5falert_5fuser_5fcanceled',['DTLS_ALERT_USER_CANCELED',['../alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda98631510b0a19a786fb4bc896ed37638',1,'alert.h']]],
-  ['dtls_5fblk_5flength',['DTLS_BLK_LENGTH',['../crypto_8h.html#ae86031f934f3f5f3af42dad5ff8e8757',1,'crypto.h']]],
-  ['dtls_5fccm_5fblocksize',['DTLS_CCM_BLOCKSIZE',['../ccm_8h.html#a5c46c97c6c3ef5d4e5bd616dbd064859',1,'ccm.h']]],
-  ['dtls_5fccm_5fdecrypt',['dtls_ccm_decrypt',['../crypto_8c.html#a64f692530b9bb934f8852ca27c9ca2a1',1,'crypto.c']]],
-  ['dtls_5fccm_5fdecrypt_5fmessage',['dtls_ccm_decrypt_message',['../ccm_8c.html#aa3e92bdeca1d0730d48b8a85181d5b6d',1,'dtls_ccm_decrypt_message(rijndael_ctx *ctx, size_t M, size_t L, unsigned char nonce[DTLS_CCM_BLOCKSIZE], unsigned char *msg, size_t lm, const unsigned char *aad, size_t la):&#160;ccm.c'],['../ccm_8h.html#aa3e92bdeca1d0730d48b8a85181d5b6d',1,'dtls_ccm_decrypt_message(rijndael_ctx *ctx, size_t M, size_t L, unsigned char nonce[DTLS_CCM_BLOCKSIZE], unsigned char *msg, size_t lm, const unsigned char *aad, size_t la):&#160;ccm.c']]],
-  ['dtls_5fccm_5fencrypt',['dtls_ccm_encrypt',['../crypto_8c.html#a8b75c06a8e364132816aaddb81db0f2c',1,'crypto.c']]],
-  ['dtls_5fccm_5fencrypt_5fmessage',['dtls_ccm_encrypt_message',['../ccm_8c.html#a40f4f23b5687e18dc1bce1c19101da42',1,'dtls_ccm_encrypt_message(rijndael_ctx *ctx, size_t M, size_t L, unsigned char nonce[DTLS_CCM_BLOCKSIZE], unsigned char *msg, size_t lm, const unsigned char *aad, size_t la):&#160;ccm.c'],['../ccm_8h.html#a40f4f23b5687e18dc1bce1c19101da42',1,'dtls_ccm_encrypt_message(rijndael_ctx *ctx, size_t M, size_t L, unsigned char nonce[DTLS_CCM_BLOCKSIZE], unsigned char *msg, size_t lm, const unsigned char *aad, size_t la):&#160;ccm.c']]],
-  ['dtls_5fccm_5fmax',['DTLS_CCM_MAX',['../ccm_8h.html#a84305b079fda12bfa1323b41b3c50849',1,'ccm.h']]],
-  ['dtls_5fccm_5fnonce_5fsize',['DTLS_CCM_NONCE_SIZE',['../ccm_8h.html#a2d0e7515c26737872fe840958ed140ac',1,'ccm.h']]],
-  ['dtls_5fce_5flength',['DTLS_CE_LENGTH',['../dtls_8c.html#a6570b93f9f19e6abceef85c566fe3696',1,'dtls.c']]],
-  ['dtls_5fch_5flength',['DTLS_CH_LENGTH',['../dtls_8c.html#affe47ee08ad0e6a54d4f0c2a7f412675',1,'dtls.c']]],
-  ['dtls_5fch_5flength_5fmax',['DTLS_CH_LENGTH_MAX',['../dtls_8c.html#aa5a4609da11d9496490853de9c2bf6fa',1,'dtls.c']]],
-  ['dtls_5fcheck_5fecdsa_5fsignature_5felem',['dtls_check_ecdsa_signature_elem',['../dtls_8c.html#af8409ba213cb87dbf9ed16ef87995c54',1,'dtls.c']]],
-  ['dtls_5fcheck_5fretransmit',['dtls_check_retransmit',['../dtls_8c.html#ab50d1ee589e91d07032d0a65768dee82',1,'dtls_check_retransmit(dtls_context_t *context, clock_time_t *next):&#160;dtls.c'],['../dtls_8h.html#ab50d1ee589e91d07032d0a65768dee82',1,'dtls_check_retransmit(dtls_context_t *context, clock_time_t *next):&#160;dtls.c']]],
-  ['dtls_5fcheck_5ftls_5fextension',['dtls_check_tls_extension',['../dtls_8c.html#ad8c8390d0a1592207c4ea6dd0a623a9a',1,'dtls.c']]],
-  ['dtls_5fcipher_5fcontext_5fget',['dtls_cipher_context_get',['../crypto_8c.html#a5e6fa88c169e5d7289052600fc445c29',1,'crypto.c']]],
-  ['dtls_5fcipher_5fcontext_5frelease',['dtls_cipher_context_release',['../crypto_8c.html#af65bc79ab89b4e162a0d30938d13109e',1,'crypto.c']]],
-  ['dtls_5fcipher_5fcontext_5ft',['dtls_cipher_context_t',['../structdtls__cipher__context__t.html',1,'dtls_cipher_context_t'],['../crypto_8h.html#a99482a87021e817524d15c33e89e309c',1,'dtls_cipher_context_t():&#160;crypto.h']]],
-  ['dtls_5fcipher_5ft',['dtls_cipher_t',['../global_8h.html#ada7e71454d685b693df45b2c1ea0c59b',1,'global.h']]],
-  ['dtls_5fckxec_5flength',['DTLS_CKXEC_LENGTH',['../dtls_8c.html#a5ddccf12706c8d18d80b7759454ca164',1,'dtls.c']]],
-  ['dtls_5fckxpsk_5flength_5fmin',['DTLS_CKXPSK_LENGTH_MIN',['../dtls_8c.html#a674da4ca826bf1206ec8053f4c9eb336',1,'dtls.c']]],
-  ['dtls_5fclient',['DTLS_CLIENT',['../peer_8h.html#ae30cd4bcffed73f79f17c09e5a1452c8afd8391395303e28ee9b375232cb68a1e',1,'peer.h']]],
-  ['dtls_5fclient_5fhello_5ft',['dtls_client_hello_t',['../dtls_8h.html#aa9ebc35a08295c2ae09d4248ba8e6456',1,'dtls.h']]],
-  ['dtls_5fclock_5finit',['dtls_clock_init',['../group__clock.html#ga8b340ad858b708dbc7bf40f784935c90',1,'dtls_clock_init(void):&#160;dtls_time.c'],['../group__clock.html#ga8b340ad858b708dbc7bf40f784935c90',1,'dtls_clock_init(void):&#160;dtls_time.c']]],
-  ['dtls_5fclock_5foffset',['dtls_clock_offset',['../dtls__time_8c.html#adaab7b20ee4eea0874f480b262c4a2e1',1,'dtls_time.c']]],
-  ['dtls_5fclose',['dtls_close',['../dtls_8c.html#aa90f5eb6954137d5e098e29143c2586a',1,'dtls_close(dtls_context_t *ctx, const session_t *remote):&#160;dtls.c'],['../dtls_8h.html#aa90f5eb6954137d5e098e29143c2586a',1,'dtls_close(dtls_context_t *ctx, const session_t *remote):&#160;dtls.c']]],
-  ['dtls_5fcompression_5ft',['dtls_compression_t',['../global_8h.html#a1ff555e0b1443c4cb4d17ac2161d89b2',1,'global.h']]],
-  ['dtls_5fconfig_2eh',['dtls_config.h',['../dtls__config_8h.html',1,'']]],
-  ['dtls_5fconnect',['dtls_connect',['../dtls_8c.html#a187f5e145bb869a732fbed426929a4e9',1,'dtls_connect(dtls_context_t *ctx, const session_t *dst):&#160;dtls.c'],['../dtls_8h.html#a187f5e145bb869a732fbed426929a4e9',1,'dtls_connect(dtls_context_t *ctx, const session_t *dst):&#160;dtls.c']]],
-  ['dtls_5fconnect_5fpeer',['dtls_connect_peer',['../dtls_8c.html#ad60bf1197fa1a074f91aed508cfefa62',1,'dtls_connect_peer(dtls_context_t *ctx, dtls_peer_t *peer):&#160;dtls.c'],['../dtls_8h.html#ad60bf1197fa1a074f91aed508cfefa62',1,'dtls_connect_peer(dtls_context_t *ctx, dtls_peer_t *peer):&#160;dtls.c']]],
-  ['dtls_5fcontext_5ft',['dtls_context_t',['../structdtls__context__t.html',1,'dtls_context_t'],['../dtls_8h.html#a407c66c58bfc87651714de4103bee135',1,'dtls_context_t():&#160;dtls.h']]],
-  ['dtls_5fcookie_5flength',['DTLS_COOKIE_LENGTH',['../dtls_8h.html#a09e4f571633bdb724236ac68459715b6',1,'dtls.h']]],
-  ['dtls_5fcookie_5flength_5fmax',['DTLS_COOKIE_LENGTH_MAX',['../dtls_8c.html#abd652cf0e4512727591d3ec8ca066ace',1,'dtls.c']]],
-  ['dtls_5fcookie_5fsecret_5flength',['DTLS_COOKIE_SECRET_LENGTH',['../dtls_8h.html#a44ec206b1d84aa3d83281a92ed7cc238',1,'dtls.h']]],
-  ['dtls_5fcreate_5fcookie',['dtls_create_cookie',['../dtls_8c.html#a45841106ebcb5b1373c0312842b90943',1,'dtls.c']]],
-  ['dtls_5fcredentials_5ftype_5ft',['dtls_credentials_type_t',['../dtls_8h.html#a36eda3add5e2d12a3b5e2b6fe7038e01',1,'dtls_credentials_type_t():&#160;dtls.h'],['../dtls_8h.html#adb4c778ddcbf9ac28ef277b20adbfa33',1,'dtls_credentials_type_t():&#160;dtls.h']]],
-  ['dtls_5fcrit',['dtls_crit',['../debug_8h.html#ad4c9c94c054579b73789fead587c8514',1,'debug.h']]],
-  ['dtls_5fcrypto_5falg',['dtls_crypto_alg',['../crypto_8h.html#a41f1aa1e1380c5f51d9af32c0a53f7b1',1,'crypto.h']]],
-  ['dtls_5fct_5falert',['DTLS_CT_ALERT',['../dtls_8h.html#af8ce2230240b6d3c36b216ef459baff1',1,'dtls.h']]],
-  ['dtls_5fct_5fapplication_5fdata',['DTLS_CT_APPLICATION_DATA',['../dtls_8h.html#a2e3ff1e96b8b7db8a3648beba35bfd0c',1,'dtls.h']]],
-  ['dtls_5fct_5fchange_5fcipher_5fspec',['DTLS_CT_CHANGE_CIPHER_SPEC',['../dtls_8h.html#a3114c327a12e3850e97c4cf8a0cc5c9d',1,'dtls.h']]],
-  ['dtls_5fct_5fhandshake',['DTLS_CT_HANDSHAKE',['../dtls_8h.html#a76965db5ec449b3c8a9a54c24a4d45dc',1,'dtls.h']]],
-  ['dtls_5fcv_5flength',['DTLS_CV_LENGTH',['../dtls_8c.html#a0bcce8fa79dc3187eb5f1655798ac816',1,'dtls.c']]],
-  ['dtls_5fdebug',['dtls_debug',['../debug_8h.html#a0f158325426415d9efb5a36bebf45844',1,'debug.h']]],
-  ['dtls_5fdebug_5fdump',['dtls_debug_dump',['../debug_8h.html#ab27d2c7cae1e8022e93562ecda9140b6',1,'debug.h']]],
-  ['dtls_5fdebug_5fhexdump',['dtls_debug_hexdump',['../debug_8h.html#a24b1e8ecaa65f684d879ed9d5c37119d',1,'debug.h']]],
-  ['dtls_5fdebug_5fkeyblock',['dtls_debug_keyblock',['../dtls_8c.html#a4b3eda5556d76e045b42b93055944ddd',1,'dtls.c']]],
-  ['dtls_5fdecrypt',['dtls_decrypt',['../crypto_8c.html#aac32554190e3970917a31ff01eed4080',1,'dtls_decrypt(const unsigned char *src, size_t length, unsigned char *buf, unsigned char *nounce, unsigned char *key, size_t keylen, const unsigned char *aad, size_t la):&#160;crypto.c'],['../crypto_8h.html#a3a99a8753c2eb9baf1e03fe0ffbb813b',1,'dtls_decrypt(const unsigned char *src, size_t length, unsigned char *buf, unsigned char *nounce, unsigned char *key, size_t keylen, const unsigned char *a_data, size_t a_data_length):&#160;crypto.c']]],
-  ['dtls_5fdefault_5fmax_5fretransmit',['DTLS_DEFAULT_MAX_RETRANSMIT',['../global_8h.html#a9fc59fb51c2e3cb4da6fb19bc8cad080',1,'global.h']]],
-  ['dtls_5fdestroy_5fpeer',['dtls_destroy_peer',['../dtls_8c.html#a81061928e291b6a3e7701f6a7f51b6f3',1,'dtls.c']]],
-  ['dtls_5fdsrv_5fhexdump_5flog',['dtls_dsrv_hexdump_log',['../debug_8c.html#a8badc2780b90e28c6c4e1a3b410b31cc',1,'dtls_dsrv_hexdump_log(log_t level, const char *name, const unsigned char *buf, size_t length, int extend):&#160;debug.c'],['../debug_8h.html#a8badc2780b90e28c6c4e1a3b410b31cc',1,'dtls_dsrv_hexdump_log(log_t level, const char *name, const unsigned char *buf, size_t length, int extend):&#160;debug.c']]],
-  ['dtls_5fdsrv_5flog_5faddr',['dtls_dsrv_log_addr',['../debug_8c.html#a66cb8756d40a3326315d9b5f003a5a76',1,'dtls_dsrv_log_addr(log_t level, const char *name, const session_t *addr):&#160;debug.c'],['../debug_8h.html#a66cb8756d40a3326315d9b5f003a5a76',1,'dtls_dsrv_log_addr(log_t level, const char *name, const session_t *addr):&#160;debug.c']]],
-  ['dtls_5fec_5fkey_5ffrom_5fuint32',['dtls_ec_key_from_uint32',['../crypto_8c.html#a8cefde2bc97452f889600c6b17ff04a6',1,'crypto.c']]],
-  ['dtls_5fec_5fkey_5ffrom_5fuint32_5fasn1',['dtls_ec_key_from_uint32_asn1',['../crypto_8c.html#a5ae24f3621f545752732e318840d7e2b',1,'dtls_ec_key_from_uint32_asn1(const uint32_t *key, size_t key_size, unsigned char *buf):&#160;crypto.c'],['../crypto_8h.html#a5ae24f3621f545752732e318840d7e2b',1,'dtls_ec_key_from_uint32_asn1(const uint32_t *key, size_t key_size, unsigned char *buf):&#160;crypto.c']]],
-  ['dtls_5fec_5fkey_5fsize',['DTLS_EC_KEY_SIZE',['../crypto_8h.html#a9b039263057e157e1427c5d316133c3d',1,'crypto.h']]],
-  ['dtls_5fec_5fkey_5fto_5fuint32',['dtls_ec_key_to_uint32',['../crypto_8c.html#aaa510b41aa69dc5f93a1bf5bdde4a9c4',1,'crypto.c']]],
-  ['dtls_5fecc',['DTLS_ECC',['../dtls__config_8h.html#a1b77fedd334a66611747922038c930d6',1,'DTLS_ECC():&#160;dtls_config.h'],['../tinydtls_8h.html#a1b77fedd334a66611747922038c930d6',1,'DTLS_ECC():&#160;tinydtls.h']]],
-  ['dtls_5fecdh_5fcurve',['dtls_ecdh_curve',['../crypto_8h.html#a3710d42871d602387a5147c05bf9f1ef',1,'crypto.h']]],
-  ['dtls_5fecdh_5fcurve_5fsecp256r1',['DTLS_ECDH_CURVE_SECP256R1',['../crypto_8h.html#a3710d42871d602387a5147c05bf9f1efa517a66bf6725327c3240add3537f34ff',1,'crypto.h']]],
-  ['dtls_5fecdh_5fpre_5fmaster_5fsecret',['dtls_ecdh_pre_master_secret',['../crypto_8c.html#a5f9937088ea2e1d19e7d472fecae9aaa',1,'dtls_ecdh_pre_master_secret(unsigned char *priv_key, unsigned char *pub_key_x, unsigned char *pub_key_y, size_t key_size, unsigned char *result, size_t result_len):&#160;crypto.c'],['../crypto_8h.html#a5f9937088ea2e1d19e7d472fecae9aaa',1,'dtls_ecdh_pre_master_secret(unsigned char *priv_key, unsigned char *pub_key_x, unsigned char *pub_key_y, size_t key_size, unsigned char *result, size_t result_len):&#160;crypto.c']]],
-  ['dtls_5fecdsa_5fcreate_5fsig',['dtls_ecdsa_create_sig',['../crypto_8c.html#afa2d9b2a195a1d8e8c56b1af8cb7bc82',1,'dtls_ecdsa_create_sig(const unsigned char *priv_key, size_t key_size, const unsigned char *client_random, size_t client_random_size, const unsigned char *server_random, size_t server_random_size, const unsigned char *keyx_params, size_t keyx_params_size, uint32_t point_r[9], uint32_t point_s[9]):&#160;crypto.c'],['../crypto_8h.html#afa2d9b2a195a1d8e8c56b1af8cb7bc82',1,'dtls_ecdsa_create_sig(const unsigned char *priv_key, size_t key_size, const unsigned char *client_random, size_t client_random_size, const unsigned char *server_random, size_t server_random_size, const unsigned char *keyx_params, size_t keyx_params_size, uint32_t point_r[9], uint32_t point_s[9]):&#160;crypto.c']]],
-  ['dtls_5fecdsa_5fcreate_5fsig_5fhash',['dtls_ecdsa_create_sig_hash',['../crypto_8c.html#a49f03039780664684d110d83a228b163',1,'dtls_ecdsa_create_sig_hash(const unsigned char *priv_key, size_t key_size, const unsigned char *sign_hash, size_t sign_hash_size, uint32_t point_r[9], uint32_t point_s[9]):&#160;crypto.c'],['../crypto_8h.html#a49f03039780664684d110d83a228b163',1,'dtls_ecdsa_create_sig_hash(const unsigned char *priv_key, size_t key_size, const unsigned char *sign_hash, size_t sign_hash_size, uint32_t point_r[9], uint32_t point_s[9]):&#160;crypto.c']]],
-  ['dtls_5fecdsa_5fgenerate_5fkey',['dtls_ecdsa_generate_key',['../crypto_8c.html#a982fc9e78cd10d9323756b15b72c7970',1,'dtls_ecdsa_generate_key(unsigned char *priv_key, unsigned char *pub_key_x, unsigned char *pub_key_y, size_t key_size):&#160;crypto.c'],['../crypto_8h.html#a982fc9e78cd10d9323756b15b72c7970',1,'dtls_ecdsa_generate_key(unsigned char *priv_key, unsigned char *pub_key_x, unsigned char *pub_key_y, size_t key_size):&#160;crypto.c']]],
-  ['dtls_5fecdsa_5fkey_5ft',['dtls_ecdsa_key_t',['../structdtls__ecdsa__key__t.html',1,'dtls_ecdsa_key_t'],['../dtls_8h.html#a472601639fcded4630fbd087f986ad10',1,'dtls_ecdsa_key_t():&#160;dtls.h']]],
-  ['dtls_5fecdsa_5fverify_5fsig',['dtls_ecdsa_verify_sig',['../crypto_8c.html#a035860da45ba2586a95c8ef7f539a3c9',1,'dtls_ecdsa_verify_sig(const unsigned char *pub_key_x, const unsigned char *pub_key_y, size_t key_size, const unsigned char *client_random, size_t client_random_size, const unsigned char *server_random, size_t server_random_size, const unsigned char *keyx_params, size_t keyx_params_size, unsigned char *result_r, unsigned char *result_s):&#160;crypto.c'],['../crypto_8h.html#a035860da45ba2586a95c8ef7f539a3c9',1,'dtls_ecdsa_verify_sig(const unsigned char *pub_key_x, const unsigned char *pub_key_y, size_t key_size, const unsigned char *client_random, size_t client_random_size, const unsigned char *server_random, size_t server_random_size, const unsigned char *keyx_params, size_t keyx_params_size, unsigned char *result_r, unsigned char *result_s):&#160;crypto.c']]],
-  ['dtls_5fecdsa_5fverify_5fsig_5fhash',['dtls_ecdsa_verify_sig_hash',['../crypto_8c.html#a802b3a2b267747a76d4557c6c9a899d7',1,'dtls_ecdsa_verify_sig_hash(const unsigned char *pub_key_x, const unsigned char *pub_key_y, size_t key_size, const unsigned char *sign_hash, size_t sign_hash_size, unsigned char *result_r, unsigned char *result_s):&#160;crypto.c'],['../crypto_8h.html#a802b3a2b267747a76d4557c6c9a899d7',1,'dtls_ecdsa_verify_sig_hash(const unsigned char *pub_key_x, const unsigned char *pub_key_y, size_t key_size, const unsigned char *sign_hash, size_t sign_hash_size, unsigned char *result_r, unsigned char *result_s):&#160;crypto.c']]],
-  ['dtls_5femerg',['dtls_emerg',['../debug_8h.html#a94fa8dba0861075ba507ea0417fd83c8',1,'debug.h']]],
-  ['dtls_5fencrypt',['dtls_encrypt',['../crypto_8c.html#ad58098f0e821f81b4f1a6672ead17ac5',1,'dtls_encrypt(const unsigned char *src, size_t length, unsigned char *buf, unsigned char *nounce, unsigned char *key, size_t keylen, const unsigned char *aad, size_t la):&#160;crypto.c'],['../crypto_8h.html#a288c4ec1a5110ab3f44ab3cb7c289e69',1,'dtls_encrypt(const unsigned char *src, size_t length, unsigned char *buf, unsigned char *nounce, unsigned char *key, size_t keylen, const unsigned char *aad, size_t aad_length):&#160;crypto.c']]],
-  ['dtls_5fevent_5fconnect',['DTLS_EVENT_CONNECT',['../alert_8h.html#aec2aa0683b1a39b4b1abba357b06f844',1,'alert.h']]],
-  ['dtls_5fevent_5fconnected',['DTLS_EVENT_CONNECTED',['../alert_8h.html#a5bed06f27f571d7c7d9b9f212c3a0b22',1,'alert.h']]],
-  ['dtls_5fevent_5frenegotiate',['DTLS_EVENT_RENEGOTIATE',['../alert_8h.html#a06e52ce3a2909c8f5a3d47d2c0346124',1,'alert.h']]],
-  ['dtls_5ffin_5flength',['DTLS_FIN_LENGTH',['../dtls_8c.html#a21644ea2de742395df1e3b3281ba4f63',1,'dtls.c']]],
-  ['dtls_5ffls',['dtls_fls',['../global_8h.html#ae10dcc6b71efe025c990ac2f3d8a48b8',1,'global.h']]],
-  ['dtls_5ffree_5fcontext',['dtls_free_context',['../dtls_8c.html#a3171c099d25ed29e31326526b8e1de84',1,'dtls_free_context(dtls_context_t *ctx):&#160;dtls.c'],['../dtls_8h.html#a3171c099d25ed29e31326526b8e1de84',1,'dtls_free_context(dtls_context_t *ctx):&#160;dtls.c']]],
-  ['dtls_5ffree_5fpeer',['dtls_free_peer',['../peer_8c.html#a037178c201b2e6b7361570ff700f059d',1,'dtls_free_peer(dtls_peer_t *peer):&#160;peer.c'],['../peer_8h.html#a037178c201b2e6b7361570ff700f059d',1,'dtls_free_peer(dtls_peer_t *peer):&#160;peer.c']]],
-  ['dtls_5fget_5fapp_5fdata',['dtls_get_app_data',['../dtls_8h.html#a95f7eb485bb814aa308e2612681176d9',1,'dtls.h']]],
-  ['dtls_5fget_5fcontent_5ftype',['dtls_get_content_type',['../dtls_8c.html#aa02d6b65a8864468c2b8cfbe79084467',1,'dtls.c']]],
-  ['dtls_5fget_5fcookie',['dtls_get_cookie',['../dtls_8c.html#a8546683053c19be38b23aa9042139f4b',1,'dtls.c']]],
-  ['dtls_5fget_5fepoch',['dtls_get_epoch',['../dtls_8c.html#a175d8e65080497463d13caf20e961500',1,'dtls.c']]],
-  ['dtls_5fget_5ffragment_5flength',['dtls_get_fragment_length',['../dtls_8c.html#aad633ed0a80e25b3884d119a8d8aeaff',1,'dtls.c']]],
-  ['dtls_5fget_5flog_5flevel',['dtls_get_log_level',['../debug_8c.html#a0af8abc8cf3864ea04954b3537c7e07f',1,'dtls_get_log_level():&#160;debug.c'],['../debug_8h.html#a0af8abc8cf3864ea04954b3537c7e07f',1,'dtls_get_log_level():&#160;debug.c']]],
-  ['dtls_5fget_5fpeer',['dtls_get_peer',['../dtls_8c.html#a70333bea2db35153177347b5c7700cab',1,'dtls_get_peer(const dtls_context_t *ctx, const session_t *session):&#160;dtls.c'],['../dtls_8h.html#a3fd062108e5d0f48627ae644546824a6',1,'dtls_get_peer(const dtls_context_t *context, const session_t *session):&#160;dtls.c']]],
-  ['dtls_5fget_5fsequence_5fnumber',['dtls_get_sequence_number',['../dtls_8c.html#a41f28f63e60a1a0b45a77d62bb5380e7',1,'dtls.c']]],
-  ['dtls_5fget_5fversion',['dtls_get_version',['../dtls_8c.html#a22d6bcdee257de4be562aee0be9c87fb',1,'dtls.c']]],
-  ['dtls_5fhandle_5fmessage',['dtls_handle_message',['../dtls_8c.html#ae272fea7269714fe7a67d6da64961731',1,'dtls_handle_message(dtls_context_t *ctx, session_t *session, uint8 *msg, int msglen):&#160;dtls.c'],['../dtls_8h.html#ae272fea7269714fe7a67d6da64961731',1,'dtls_handle_message(dtls_context_t *ctx, session_t *session, uint8 *msg, int msglen):&#160;dtls.c']]],
-  ['dtls_5fhandler_5ft',['dtls_handler_t',['../structdtls__handler__t.html',1,'']]],
-  ['dtls_5fhandshake_5fdealloc',['dtls_handshake_dealloc',['../crypto_8c.html#a120f7f398e1a71a5f16e5447842bcfb3',1,'crypto.c']]],
-  ['dtls_5fhandshake_5ffree',['dtls_handshake_free',['../crypto_8c.html#aa17bcdc666796e52788f82ee003bb172',1,'dtls_handshake_free(dtls_handshake_parameters_t *handshake):&#160;crypto.c'],['../crypto_8h.html#aa17bcdc666796e52788f82ee003bb172',1,'dtls_handshake_free(dtls_handshake_parameters_t *handshake):&#160;crypto.c']]],
-  ['dtls_5fhandshake_5fheader',['DTLS_HANDSHAKE_HEADER',['../dtls_8c.html#a2cc930733d35ea870c7a0a131bee0d7a',1,'dtls.c']]],
-  ['dtls_5fhandshake_5fheader_5ft',['dtls_handshake_header_t',['../dtls_8h.html#a5c6625ffcf61189392768253e8919a45',1,'dtls.h']]],
-  ['dtls_5fhandshake_5fmalloc',['dtls_handshake_malloc',['../crypto_8c.html#aa1b91000e339073fd2a9344957c22cbe',1,'crypto.c']]],
-  ['dtls_5fhandshake_5fnew',['dtls_handshake_new',['../crypto_8c.html#a25930cdb27a6ffcf05e2c2a9c95a6af8',1,'dtls_handshake_new():&#160;crypto.c'],['../crypto_8h.html#a25930cdb27a6ffcf05e2c2a9c95a6af8',1,'dtls_handshake_new():&#160;crypto.c']]],
-  ['dtls_5fhandshake_5fparameters_5fecdsa_5ft',['dtls_handshake_parameters_ecdsa_t',['../structdtls__handshake__parameters__ecdsa__t.html',1,'']]],
-  ['dtls_5fhandshake_5fparameters_5fpsk_5ft',['dtls_handshake_parameters_psk_t',['../structdtls__handshake__parameters__psk__t.html',1,'']]],
-  ['dtls_5fhandshake_5fparameters_5ft',['dtls_handshake_parameters_t',['../structdtls__handshake__parameters__t.html',1,'']]],
-  ['dtls_5fhandshake_5ftype_5fto_5fname',['dtls_handshake_type_to_name',['../dtls_8c.html#a00707f0f82235a2432338e77dae0911d',1,'dtls.c']]],
-  ['dtls_5fhash_5fctx',['dtls_hash_ctx',['../hmac_8h.html#abb19650a510c73117da0e9b88d68f159',1,'hmac.h']]],
-  ['dtls_5fhash_5fctx_5fsize',['DTLS_HASH_CTX_SIZE',['../hmac_8h.html#a7fb242dc4ddd717e5eb67d4bf89618d5',1,'hmac.h']]],
-  ['dtls_5fhash_5ffinalize',['dtls_hash_finalize',['../hmac_8h.html#a96801bbb62f4c9c872b22cd8e438e51e',1,'hmac.h']]],
-  ['dtls_5fhash_5finit',['dtls_hash_init',['../hmac_8h.html#afe0af64930ac5d6a51289df6d1eb4f52',1,'hmac.h']]],
-  ['dtls_5fhash_5ft',['dtls_hash_t',['../hmac_8h.html#afa00f0cbe1b7783992467c1c204320b5',1,'hmac.h']]],
-  ['dtls_5fhash_5fupdate',['dtls_hash_update',['../hmac_8h.html#adb5ad07ab9a1adcdfdc20e13aa37bee6',1,'hmac.h']]],
-  ['dtls_5fhashfunc_5ft',['dtls_hashfunc_t',['../group__HMAC.html#ga698cfa036e69361a93dcdd9b19579b23',1,'hmac.h']]],
-  ['dtls_5fhello_5fverify_5ft',['dtls_hello_verify_t',['../dtls_8h.html#abd61d526ef995e63a6debfd8ddda9e98',1,'dtls.h']]],
-  ['dtls_5fhmac_5fblocksize',['DTLS_HMAC_BLOCKSIZE',['../group__HMAC.html#gab1f8617a558ef0f758439c96d3a4650e',1,'hmac.h']]],
-  ['dtls_5fhmac_5fcontext_5ffree',['dtls_hmac_context_free',['../hmac_8c.html#a8613e734d3fafa81035f8f30000325a7',1,'hmac.c']]],
-  ['dtls_5fhmac_5fcontext_5fnew',['dtls_hmac_context_new',['../hmac_8c.html#affb72973a7bb7b389a4b7382d435fcef',1,'hmac.c']]],
-  ['dtls_5fhmac_5fcontext_5ft',['dtls_hmac_context_t',['../structdtls__hmac__context__t.html',1,'']]],
-  ['dtls_5fhmac_5fdigest_5fsize',['DTLS_HMAC_DIGEST_SIZE',['../group__HMAC.html#ga060019cf2dab9903d58118fe1abe7018',1,'hmac.h']]],
-  ['dtls_5fhmac_5ffinalize',['dtls_hmac_finalize',['../group__HMAC.html#gab98c992f3f9cc3c2d75077ddd46049bf',1,'dtls_hmac_finalize(dtls_hmac_context_t *ctx, unsigned char *result):&#160;hmac.c'],['../group__HMAC.html#gab98c992f3f9cc3c2d75077ddd46049bf',1,'dtls_hmac_finalize(dtls_hmac_context_t *ctx, unsigned char *result):&#160;hmac.c']]],
-  ['dtls_5fhmac_5ffree',['dtls_hmac_free',['../group__HMAC.html#ga5b1a3c1dcb5461bda44dd70f7bd33181',1,'dtls_hmac_free(dtls_hmac_context_t *ctx):&#160;hmac.c'],['../group__HMAC.html#ga5b1a3c1dcb5461bda44dd70f7bd33181',1,'dtls_hmac_free(dtls_hmac_context_t *ctx):&#160;hmac.c']]],
-  ['dtls_5fhmac_5finit',['dtls_hmac_init',['../group__HMAC.html#gaa1eb35fcb2c2eb69eebaefa8eb4a790d',1,'dtls_hmac_init(dtls_hmac_context_t *ctx, const unsigned char *key, size_t klen):&#160;hmac.c'],['../group__HMAC.html#gaa1eb35fcb2c2eb69eebaefa8eb4a790d',1,'dtls_hmac_init(dtls_hmac_context_t *ctx, const unsigned char *key, size_t klen):&#160;hmac.c']]],
-  ['dtls_5fhmac_5fmax',['DTLS_HMAC_MAX',['../group__HMAC.html#ga3e84ddbef6bf0084252e16e6c547e332',1,'hmac.h']]],
-  ['dtls_5fhmac_5fnew',['dtls_hmac_new',['../group__HMAC.html#gac3e9ef037800963783e618eafd046702',1,'dtls_hmac_new(const unsigned char *key, size_t klen):&#160;hmac.c'],['../group__HMAC.html#gac3e9ef037800963783e618eafd046702',1,'dtls_hmac_new(const unsigned char *key, size_t klen):&#160;hmac.c']]],
-  ['dtls_5fhmac_5fstorage_5finit',['dtls_hmac_storage_init',['../hmac_8h.html#a51d5982243691c9e7fa56142c3a8d5d8',1,'hmac.h']]],
-  ['dtls_5fhmac_5fupdate',['dtls_hmac_update',['../group__HMAC.html#ga1ef9c88a0a2053b442413a9cea3deb73',1,'dtls_hmac_update(dtls_hmac_context_t *ctx, const unsigned char *input, size_t ilen):&#160;hmac.c'],['../group__HMAC.html#ga1ef9c88a0a2053b442413a9cea3deb73',1,'dtls_hmac_update(dtls_hmac_context_t *ctx, const unsigned char *input, size_t ilen):&#160;hmac.c']]],
-  ['dtls_5fhs_5flength',['DTLS_HS_LENGTH',['../dtls_8c.html#a520419d1976b301c508721faed549b4f',1,'dtls.c']]],
-  ['dtls_5fhs_5fstate_5ft',['dtls_hs_state_t',['../structdtls__hs__state__t.html',1,'']]],
-  ['dtls_5fht_5fcertificate',['DTLS_HT_CERTIFICATE',['../dtls_8h.html#a55a0a899d7f151e7f53b76fe8a82c10e',1,'dtls.h']]],
-  ['dtls_5fht_5fcertificate_5frequest',['DTLS_HT_CERTIFICATE_REQUEST',['../dtls_8h.html#a6f49d7b0a6e9190d71d51b1ee9ff3bd5',1,'dtls.h']]],
-  ['dtls_5fht_5fcertificate_5fverify',['DTLS_HT_CERTIFICATE_VERIFY',['../dtls_8h.html#a9abc650dd8339a227ddd165ede9350d0',1,'dtls.h']]],
-  ['dtls_5fht_5fclient_5fhello',['DTLS_HT_CLIENT_HELLO',['../dtls_8h.html#a25f0afef67a1fd8d9e3e61074d11e2f5',1,'dtls.h']]],
-  ['dtls_5fht_5fclient_5fkey_5fexchange',['DTLS_HT_CLIENT_KEY_EXCHANGE',['../dtls_8h.html#a577885c74492a460729a451f33a894c4',1,'dtls.h']]],
-  ['dtls_5fht_5ffinished',['DTLS_HT_FINISHED',['../dtls_8h.html#a16b49d03e041d43b60e1b7bacf35daad',1,'dtls.h']]],
-  ['dtls_5fht_5fhello_5frequest',['DTLS_HT_HELLO_REQUEST',['../dtls_8h.html#a66566dfd30b8ab388c08b4cde6c667cc',1,'dtls.h']]],
-  ['dtls_5fht_5fhello_5fverify_5frequest',['DTLS_HT_HELLO_VERIFY_REQUEST',['../dtls_8h.html#ab04f98f1863c785fabd97925c9746f7d',1,'dtls.h']]],
-  ['dtls_5fht_5fserver_5fhello',['DTLS_HT_SERVER_HELLO',['../dtls_8h.html#ad5882a5ff4073ffefa266bb2c4a1ee3c',1,'dtls.h']]],
-  ['dtls_5fht_5fserver_5fhello_5fdone',['DTLS_HT_SERVER_HELLO_DONE',['../dtls_8h.html#a44399f223a3e1c8a8bf3fc638a06a4d7',1,'dtls.h']]],
-  ['dtls_5fht_5fserver_5fkey_5fexchange',['DTLS_HT_SERVER_KEY_EXCHANGE',['../dtls_8h.html#aab327e17614cf2902c5fc6169466613f',1,'dtls.h']]],
-  ['dtls_5fhv_5flength',['DTLS_HV_LENGTH',['../dtls_8c.html#a85d3d5311baabdaa06b7824528eef4e5',1,'dtls.c']]],
-  ['dtls_5finfo',['dtls_info',['../debug_8h.html#afde5692e7a590b0dd016d5753284c175',1,'debug.h']]],
-  ['dtls_5finit',['dtls_init',['../dtls_8c.html#ac203466e393ac9030d405c8f0496e9cd',1,'dtls_init():&#160;dtls.c'],['../dtls_8h.html#ac203466e393ac9030d405c8f0496e9cd',1,'dtls_init():&#160;dtls.c']]],
-  ['dtls_5fint_5fto_5fuint16',['dtls_int_to_uint16',['../numeric_8h.html#a074d352855e1ffde4c2ddb6a6fea01b9',1,'numeric.h']]],
-  ['dtls_5fint_5fto_5fuint24',['dtls_int_to_uint24',['../numeric_8h.html#aff276cdd846cd194a21e9c61549292f6',1,'numeric.h']]],
-  ['dtls_5fint_5fto_5fuint32',['dtls_int_to_uint32',['../numeric_8h.html#a6914ee523b27539f4e441bede8c072b4',1,'numeric.h']]],
-  ['dtls_5fint_5fto_5fuint48',['dtls_int_to_uint48',['../numeric_8h.html#abe324cc4e62d03bdecf457382ba213c8',1,'numeric.h']]],
-  ['dtls_5fint_5fto_5fuint64',['dtls_int_to_uint64',['../numeric_8h.html#ab4d80395fb7f4118dfcb101ae94a5e93',1,'numeric.h']]],
-  ['dtls_5fint_5fto_5fuint8',['dtls_int_to_uint8',['../numeric_8h.html#a7b602967e2fc28b0be02bd4585e255d0',1,'numeric.h']]],
-  ['dtls_5fiv_5flength',['DTLS_IV_LENGTH',['../crypto_8h.html#a8106002d0d69d8da810321c65ac71385',1,'crypto.h']]],
-  ['dtls_5fkb_5fclient_5fiv',['dtls_kb_client_iv',['../crypto_8h.html#a1d3c04e5d39477a525b5255ab3240094',1,'crypto.h']]],
-  ['dtls_5fkb_5fclient_5fmac_5fsecret',['dtls_kb_client_mac_secret',['../crypto_8h.html#a72899232c09d09b86326c6f234addc02',1,'crypto.h']]],
-  ['dtls_5fkb_5fclient_5fwrite_5fkey',['dtls_kb_client_write_key',['../crypto_8h.html#ab5659b0737d72a2fa1b1335952f9c305',1,'crypto.h']]],
-  ['dtls_5fkb_5fdigest_5fsize',['dtls_kb_digest_size',['../crypto_8h.html#a5c3cbd4d9e514757deda211e97c9c758',1,'crypto.h']]],
-  ['dtls_5fkb_5fiv_5fsize',['dtls_kb_iv_size',['../crypto_8h.html#adcdadf1870e2acb2993b1a8726d26997',1,'crypto.h']]],
-  ['dtls_5fkb_5fkey_5fsize',['dtls_kb_key_size',['../crypto_8h.html#a726ef8efa2e072c3c5e1ea1019e716aa',1,'crypto.h']]],
-  ['dtls_5fkb_5flocal_5fiv',['dtls_kb_local_iv',['../crypto_8h.html#ae23208578ac21350cb5915d11da0a2e3',1,'crypto.h']]],
-  ['dtls_5fkb_5flocal_5fmac_5fsecret',['dtls_kb_local_mac_secret',['../crypto_8h.html#aa60519b0e9b775ccb0bdb46762f43418',1,'crypto.h']]],
-  ['dtls_5fkb_5flocal_5fwrite_5fkey',['dtls_kb_local_write_key',['../crypto_8h.html#a7c9e39188a2e50eb942ce8c7cd8add36',1,'crypto.h']]],
-  ['dtls_5fkb_5fmac_5fsecret_5fsize',['dtls_kb_mac_secret_size',['../crypto_8h.html#a1f320854c9f4e9b2105649b3624976b0',1,'crypto.h']]],
-  ['dtls_5fkb_5fremote_5fiv',['dtls_kb_remote_iv',['../crypto_8h.html#a7119d3239c34d7e7f219200792339541',1,'crypto.h']]],
-  ['dtls_5fkb_5fremote_5fmac_5fsecret',['dtls_kb_remote_mac_secret',['../crypto_8h.html#acf318c989f5bb90b863154abbc408b66',1,'crypto.h']]],
-  ['dtls_5fkb_5fremote_5fwrite_5fkey',['dtls_kb_remote_write_key',['../crypto_8h.html#addc8fcbbdd80ba924d0ded2a6bae97f4',1,'crypto.h']]],
-  ['dtls_5fkb_5fserver_5fiv',['dtls_kb_server_iv',['../crypto_8h.html#acdd95c24ec6aebf14dac6ee4386a79be',1,'crypto.h']]],
-  ['dtls_5fkb_5fserver_5fmac_5fsecret',['dtls_kb_server_mac_secret',['../crypto_8h.html#ac8fdf3770dcd956ca10d1044a57a7a3a',1,'crypto.h']]],
-  ['dtls_5fkb_5fserver_5fwrite_5fkey',['dtls_kb_server_write_key',['../crypto_8h.html#aea906786dcfa12acb320df731c8db7f6',1,'crypto.h']]],
-  ['dtls_5fkb_5fsize',['dtls_kb_size',['../crypto_8h.html#a147bfdc558c2ec69ffdf388ae19ae01c',1,'crypto.h']]],
-  ['dtls_5fkey_5flength',['DTLS_KEY_LENGTH',['../crypto_8h.html#a829b5d5e4d693fdb3de335a0e2017076',1,'crypto.h']]],
-  ['dtls_5flog_5falert',['DTLS_LOG_ALERT',['../debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9da5d02ea1ea67cb762b8821f35d7cccd9e',1,'debug.h']]],
-  ['dtls_5flog_5fcrit',['DTLS_LOG_CRIT',['../debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9dae376c811a8735fe72f67131ba1a1428d',1,'debug.h']]],
-  ['dtls_5flog_5fdebug',['DTLS_LOG_DEBUG',['../debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9da87f82ea2bdc3f03d9f6d3355a5f8a020',1,'debug.h']]],
-  ['dtls_5flog_5femerg',['DTLS_LOG_EMERG',['../debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9daaa080e6de827addce6dc6af232ecba3e',1,'debug.h']]],
-  ['dtls_5flog_5finfo',['DTLS_LOG_INFO',['../debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9da9b79f1b32df348f97ce4366d0f0454c7',1,'debug.h']]],
-  ['dtls_5flog_5fnotice',['DTLS_LOG_NOTICE',['../debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9da5f9ff4e9574b821a0c43261c9a9dca09',1,'debug.h']]],
-  ['dtls_5flog_5fwarn',['DTLS_LOG_WARN',['../debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9dafd78dbf760d741729305d83727c14c70',1,'debug.h']]],
-  ['dtls_5fmac',['dtls_mac',['../crypto_8c.html#a1423f8111df1533241178461c10b50e3',1,'dtls_mac(dtls_hmac_context_t *hmac_ctx, const unsigned char *record, const unsigned char *packet, size_t length, unsigned char *buf):&#160;crypto.c'],['../crypto_8h.html#a1423f8111df1533241178461c10b50e3',1,'dtls_mac(dtls_hmac_context_t *hmac_ctx, const unsigned char *record, const unsigned char *packet, size_t length, unsigned char *buf):&#160;crypto.c']]],
-  ['dtls_5fmac_5fkey_5flength',['DTLS_MAC_KEY_LENGTH',['../crypto_8h.html#a5962b0d908f9b15406ca53d27a33e08a',1,'crypto.h']]],
-  ['dtls_5fmac_5flength',['DTLS_MAC_LENGTH',['../crypto_8h.html#a4fa04874a476a8cc5048372b6d584dbe',1,'crypto.h']]],
-  ['dtls_5fmalloc_5fpeer',['dtls_malloc_peer',['../peer_8c.html#a89738cd2081b322562b9893c524fb0e1',1,'peer.c']]],
-  ['dtls_5fmaster_5fsecret_5flength',['DTLS_MASTER_SECRET_LENGTH',['../crypto_8h.html#a2648582ddf4c82abc01d8388bd3f15db',1,'crypto.h']]],
-  ['dtls_5fmax_5fbuf',['DTLS_MAX_BUF',['../global_8h.html#acdbfba15eb1a5692e177d582b4ca1583',1,'global.h']]],
-  ['dtls_5fnew_5fcontext',['dtls_new_context',['../dtls_8c.html#a11f53d301448aa8f1dbcfaf77441bd9c',1,'dtls_new_context(void *app_data):&#160;dtls.c'],['../dtls_8h.html#a11f53d301448aa8f1dbcfaf77441bd9c',1,'dtls_new_context(void *app_data):&#160;dtls.c']]],
-  ['dtls_5fnew_5fpeer',['dtls_new_peer',['../peer_8c.html#a209e22be64be13e116711829d21d864c',1,'dtls_new_peer(const session_t *session):&#160;peer.c'],['../peer_8h.html#a209e22be64be13e116711829d21d864c',1,'dtls_new_peer(const session_t *session):&#160;peer.c']]],
-  ['dtls_5fnotice',['dtls_notice',['../debug_8h.html#add9bf011215b9fc36abc5c80722c876e',1,'debug.h']]],
-  ['dtls_5fp_5fhash',['dtls_p_hash',['../crypto_8c.html#aea7bd0a10cf289c033216a97c0ee701e',1,'dtls_p_hash(dtls_hashfunc_t h, const unsigned char *key, size_t keylen, const unsigned char *label, size_t labellen, const unsigned char *random1, size_t random1len, const unsigned char *random2, size_t random2len, unsigned char *buf, size_t buflen):&#160;crypto.c'],['../crypto_8h.html#aea7bd0a10cf289c033216a97c0ee701e',1,'dtls_p_hash(dtls_hashfunc_t h, const unsigned char *key, size_t keylen, const unsigned char *label, size_t labellen, const unsigned char *random1, size_t random1len, const unsigned char *random2, size_t random2len, unsigned char *buf, size_t buflen):&#160;crypto.c']]],
-  ['dtls_5fpackage_5fname',['dtls_package_name',['../debug_8c.html#a6ae22adf81d9aaf0a2ed74f7f7437971',1,'dtls_package_name():&#160;debug.c'],['../debug_8h.html#a6ae22adf81d9aaf0a2ed74f7f7437971',1,'dtls_package_name():&#160;debug.c']]],
-  ['dtls_5fpackage_5fversion',['dtls_package_version',['../debug_8c.html#aab7b9dac4484be50856ab8b8a827d235',1,'dtls_package_version():&#160;debug.c'],['../debug_8h.html#aab7b9dac4484be50856ab8b8a827d235',1,'dtls_package_version():&#160;debug.c']]],
-  ['dtls_5fpeer_5fis_5fconnected',['dtls_peer_is_connected',['../peer_8h.html#aaad8608f29d9a70bf09b7de310185c48',1,'peer.h']]],
-  ['dtls_5fpeer_5fstate',['dtls_peer_state',['../peer_8h.html#a64d83f0fe464f0eeb905b913345d0614',1,'peer.h']]],
-  ['dtls_5fpeer_5ft',['dtls_peer_t',['../structdtls__peer__t.html',1,'dtls_peer_t'],['../peer_8h.html#a6038bb7f08c62ea6f0fd2a0075860055',1,'dtls_peer_t():&#160;peer.h']]],
-  ['dtls_5fpeer_5ftype',['dtls_peer_type',['../peer_8h.html#ae30cd4bcffed73f79f17c09e5a1452c8',1,'peer.h']]],
-  ['dtls_5fprepare_5frecord',['dtls_prepare_record',['../dtls_8c.html#ab9733484b9a23775b1bc8b3d723282e5',1,'dtls.c']]],
-  ['dtls_5fprf',['dtls_prf',['../crypto_8c.html#a5e47576e502b5a6255f1b489a4915512',1,'dtls_prf(const unsigned char *key, size_t keylen, const unsigned char *label, size_t labellen, const unsigned char *random1, size_t random1len, const unsigned char *random2, size_t random2len, unsigned char *buf, size_t buflen):&#160;crypto.c'],['../crypto_8h.html#a5e47576e502b5a6255f1b489a4915512',1,'dtls_prf(const unsigned char *key, size_t keylen, const unsigned char *label, size_t labellen, const unsigned char *random1, size_t random1len, const unsigned char *random2, size_t random2len, unsigned char *buf, size_t buflen):&#160;crypto.c']]],
-  ['dtls_5fprng',['dtls_prng',['../group__prng.html#ga3f4036a1abfcec552ab583a2dc37be6c',1,'prng.h']]],
-  ['dtls_5fprng_5finit',['dtls_prng_init',['../group__prng.html#gac68680277206146d06c9e5468f260ee0',1,'prng.h']]],
-  ['dtls_5fpsk',['DTLS_PSK',['../dtls__config_8h.html#a5ce72e9d11801559b799b999f50c49cf',1,'DTLS_PSK():&#160;dtls_config.h'],['../tinydtls_8h.html#a5ce72e9d11801559b799b999f50c49cf',1,'DTLS_PSK():&#160;tinydtls.h']]],
-  ['dtls_5fpsk_5fhint',['DTLS_PSK_HINT',['../dtls_8h.html#a36eda3add5e2d12a3b5e2b6fe7038e01a53b5588e3c87ce19b1340baf193d130c',1,'dtls.h']]],
-  ['dtls_5fpsk_5fidentity',['DTLS_PSK_IDENTITY',['../dtls_8h.html#a36eda3add5e2d12a3b5e2b6fe7038e01adb8cac45614b2bc4e66970b64043cfc2',1,'dtls.h']]],
-  ['dtls_5fpsk_5fkey',['DTLS_PSK_KEY',['../dtls_8h.html#a36eda3add5e2d12a3b5e2b6fe7038e01a1d64c04f18b370cf742595dc91098db4',1,'dtls.h']]],
-  ['dtls_5fpsk_5fmax_5fclient_5fidentity_5flen',['DTLS_PSK_MAX_CLIENT_IDENTITY_LEN',['../crypto_8h.html#ab96c8e0773a14d1ce1621eed1a78e2bd',1,'crypto.h']]],
-  ['dtls_5fpsk_5fmax_5fkey_5flen',['DTLS_PSK_MAX_KEY_LEN',['../crypto_8h.html#a59cd7c0b8724e1f9b910611623396080',1,'crypto.h']]],
-  ['dtls_5fpsk_5fpre_5fmaster_5fsecret',['dtls_psk_pre_master_secret',['../crypto_8c.html#aa53dfed4868e257d2485024b5c170bae',1,'dtls_psk_pre_master_secret(unsigned char *key, size_t keylen, unsigned char *result, size_t result_len):&#160;crypto.c'],['../crypto_8h.html#aa53dfed4868e257d2485024b5c170bae',1,'dtls_psk_pre_master_secret(unsigned char *key, size_t keylen, unsigned char *result, size_t result_len):&#160;crypto.c']]],
-  ['dtls_5frandom_5flength',['DTLS_RANDOM_LENGTH',['../crypto_8h.html#a5a0bdff7c0889f35601b4935098508a0',1,'crypto.h']]],
-  ['dtls_5frecord_5fheader',['DTLS_RECORD_HEADER',['../dtls_8c.html#a35d050593196252c1826ac2e82cbac0b',1,'dtls.c']]],
-  ['dtls_5frecord_5fheader_5ft',['dtls_record_header_t',['../dtls_8h.html#a81936df7abb2c16aa897e3018aa24399',1,'dtls.h']]],
-  ['dtls_5frenegotiate',['dtls_renegotiate',['../dtls_8c.html#a5676a0ceeeabd1ec38d378212f7af4a1',1,'dtls_renegotiate(dtls_context_t *ctx, const session_t *dst):&#160;dtls.c'],['../dtls_8h.html#a5676a0ceeeabd1ec38d378212f7af4a1',1,'dtls_renegotiate(dtls_context_t *ctx, const session_t *dst):&#160;dtls.c']]],
-  ['dtls_5fretransmit',['dtls_retransmit',['../dtls_8c.html#aa57a9ccb1344c5baf8bd3adf35f3beeb',1,'dtls.c']]],
-  ['dtls_5frh_5flength',['DTLS_RH_LENGTH',['../dtls_8c.html#ae97c368900c13dc7074c09e8848afa8f',1,'dtls.c']]],
-  ['dtls_5fsecurity_5fdealloc',['dtls_security_dealloc',['../crypto_8c.html#a444e2410b15ce27c6201204476d20497',1,'crypto.c']]],
-  ['dtls_5fsecurity_5ffree',['dtls_security_free',['../crypto_8c.html#ad54069f2880b3c07185ebba736d02d17',1,'dtls_security_free(dtls_security_parameters_t *security):&#160;crypto.c'],['../crypto_8h.html#ad54069f2880b3c07185ebba736d02d17',1,'dtls_security_free(dtls_security_parameters_t *security):&#160;crypto.c']]],
-  ['dtls_5fsecurity_5fmalloc',['dtls_security_malloc',['../crypto_8c.html#aa58fc0b3953c6048834855a364432d8c',1,'crypto.c']]],
-  ['dtls_5fsecurity_5fnew',['dtls_security_new',['../crypto_8c.html#a1d568085636a04b4706b7e50df802a7b',1,'dtls_security_new():&#160;crypto.c'],['../crypto_8h.html#a1d568085636a04b4706b7e50df802a7b',1,'dtls_security_new():&#160;crypto.c']]],
-  ['dtls_5fsecurity_5fparameters_5ft',['dtls_security_parameters_t',['../structdtls__security__parameters__t.html',1,'']]],
-  ['dtls_5fsecurity_5fparams',['dtls_security_params',['../peer_8h.html#a48abcad7383e1db957af9b4fed030d52',1,'peer.h']]],
-  ['dtls_5fsecurity_5fparams_5fepoch',['dtls_security_params_epoch',['../peer_8h.html#af5de0315efd7e8c6b1aecf60078b2dd7',1,'peer.h']]],
-  ['dtls_5fsecurity_5fparams_5ffree_5fother',['dtls_security_params_free_other',['../peer_8h.html#a9d0ec25ba319a38b17f30cf156e85c51',1,'peer.h']]],
-  ['dtls_5fsecurity_5fparams_5fnext',['dtls_security_params_next',['../peer_8h.html#ab6e209f206f570eed246530ec7960943',1,'peer.h']]],
-  ['dtls_5fsecurity_5fparams_5fswitch',['dtls_security_params_switch',['../peer_8h.html#a9c37ce3fd7539154289dd17215179e2d',1,'peer.h']]],
-  ['dtls_5fsend',['dtls_send',['../dtls_8c.html#afdd0d094bfd136f65455e23fda087cd6',1,'dtls.c']]],
-  ['dtls_5fsend_5falert',['dtls_send_alert',['../dtls_8c.html#a4aac4fa55afe2d19342136acaaaf9641',1,'dtls.c']]],
-  ['dtls_5fsend_5fccs',['dtls_send_ccs',['../dtls_8c.html#a9cfb3c9e63f378d0d8e3d3d0c60537a5',1,'dtls.c']]],
-  ['dtls_5fsend_5fcertificate_5fecdsa',['dtls_send_certificate_ecdsa',['../dtls_8c.html#a6b92c487825aa888acc0b55f5adc0220',1,'dtls.c']]],
-  ['dtls_5fsend_5fcertificate_5fverify_5fecdh',['dtls_send_certificate_verify_ecdh',['../dtls_8c.html#adfe6fc0d0d66e9ffaef25c2c126b1c34',1,'dtls.c']]],
-  ['dtls_5fsend_5fclient_5fhello',['dtls_send_client_hello',['../dtls_8c.html#aecd3ffe8bf8a3970d3e091ce8e7c6476',1,'dtls.c']]],
-  ['dtls_5fsend_5fclient_5fkey_5fexchange',['dtls_send_client_key_exchange',['../dtls_8c.html#a12e4cab07baba9eae2a0182f4e0bf72d',1,'dtls.c']]],
-  ['dtls_5fsend_5ffinished',['dtls_send_finished',['../dtls_8c.html#a112e0d83a0e576b5d22df60241900a67',1,'dtls.c']]],
-  ['dtls_5fsend_5fhandshake_5fmsg',['dtls_send_handshake_msg',['../dtls_8c.html#a872c53139e76cab7ec387cc54ae1a11b',1,'dtls.c']]],
-  ['dtls_5fsend_5fhandshake_5fmsg_5fhash',['dtls_send_handshake_msg_hash',['../dtls_8c.html#a4f06884f659f6a5120be7e0b86d29880',1,'dtls.c']]],
-  ['dtls_5fsend_5fhello_5frequest',['dtls_send_hello_request',['../dtls_8c.html#ab3af0ee4375c0da833aacec49c6fd8ad',1,'dtls.c']]],
-  ['dtls_5fsend_5fmulti',['dtls_send_multi',['../dtls_8c.html#aa89745c0af073102c9c350d28a84214d',1,'dtls.c']]],
-  ['dtls_5fsend_5fserver_5fcertificate_5frequest',['dtls_send_server_certificate_request',['../dtls_8c.html#a51ab17e2a5ac1566ba4249b787bb98a3',1,'dtls.c']]],
-  ['dtls_5fsend_5fserver_5fhello',['dtls_send_server_hello',['../dtls_8c.html#a7730a402edfca00c35bc1c7c09eb2fb9',1,'dtls.c']]],
-  ['dtls_5fsend_5fserver_5fhello_5fdone',['dtls_send_server_hello_done',['../dtls_8c.html#ad6ebff8518bb1d53ba888baf6898ee21',1,'dtls.c']]],
-  ['dtls_5fsend_5fserver_5fhello_5fmsgs',['dtls_send_server_hello_msgs',['../dtls_8c.html#afc54bc2ed42b4b65ad8f01abca9a8772',1,'dtls.c']]],
-  ['dtls_5fsend_5fserver_5fkey_5fexchange_5fecdh',['dtls_send_server_key_exchange_ecdh',['../dtls_8c.html#a80275f06c14cbbc18095bc2f61022d15',1,'dtls.c']]],
-  ['dtls_5fsend_5fserver_5fkey_5fexchange_5fpsk',['dtls_send_server_key_exchange_psk',['../dtls_8c.html#a00f6591bce49f6122dab9827c8774ba3',1,'dtls.c']]],
-  ['dtls_5fserver',['DTLS_SERVER',['../peer_8h.html#ae30cd4bcffed73f79f17c09e5a1452c8a7c2a694fc87273c445ad661575b28255',1,'peer.h']]],
-  ['dtls_5fsession_5fequals',['dtls_session_equals',['../session_8c.html#a96f4d60f388d56d37b3e69261bea2417',1,'dtls_session_equals(const session_t *a, const session_t *b):&#160;session.c'],['../session_8h.html#a96f4d60f388d56d37b3e69261bea2417',1,'dtls_session_equals(const session_t *a, const session_t *b):&#160;session.c']]],
-  ['dtls_5fsession_5finit',['dtls_session_init',['../session_8c.html#af5aad44a94929b1ebfbb3c6334e9e501',1,'dtls_session_init(session_t *sess):&#160;session.c'],['../session_8h.html#af5aad44a94929b1ebfbb3c6334e9e501',1,'dtls_session_init(session_t *sess):&#160;session.c']]],
-  ['dtls_5fset_5fapp_5fdata',['dtls_set_app_data',['../dtls_8h.html#a89611ebcb02bb3bbf56dfb583937586e',1,'dtls.h']]],
-  ['dtls_5fset_5fcontent_5ftype',['dtls_set_content_type',['../dtls_8c.html#a8e0ab8b3ce70468c29820cafe96cd365',1,'dtls.c']]],
-  ['dtls_5fset_5fhandler',['dtls_set_handler',['../dtls_8h.html#ab0e3223c87b79e4946b19538b24634da',1,'dtls.h']]],
-  ['dtls_5fset_5fhandshake_5fheader',['dtls_set_handshake_header',['../dtls_8c.html#ab43d3a34ddaf0f5bfaa2b0b3e76e25d1',1,'dtls.c']]],
-  ['dtls_5fset_5flength',['dtls_set_length',['../dtls_8c.html#a9f723101896941fa44ea701c4dfd3591',1,'dtls.c']]],
-  ['dtls_5fset_5flog_5flevel',['dtls_set_log_level',['../debug_8c.html#ae081a7241940f0195295cc37f39c1d02',1,'dtls_set_log_level(log_t level):&#160;debug.c'],['../debug_8h.html#ae081a7241940f0195295cc37f39c1d02',1,'dtls_set_log_level(log_t level):&#160;debug.c']]],
-  ['dtls_5fset_5frecord_5fheader',['dtls_set_record_header',['../dtls_8c.html#a734cf32b1c8b99e21d57006da24fd808',1,'dtls.c']]],
-  ['dtls_5fset_5fversion',['dtls_set_version',['../dtls_8c.html#aebefc949b2298e7de7b95b715874d407',1,'dtls.c']]],
-  ['dtls_5fsh_5flength',['DTLS_SH_LENGTH',['../dtls_8c.html#afcca5dc5ebcc9eb8141ca0b49b647676',1,'dtls.c']]],
-  ['dtls_5fskexec_5flength',['DTLS_SKEXEC_LENGTH',['../dtls_8c.html#ad9481c39cd66eac3059df28aef1e9843',1,'dtls.c']]],
-  ['dtls_5fskexecpsk_5flength_5fmax',['DTLS_SKEXECPSK_LENGTH_MAX',['../dtls_8c.html#a8a4dc9af457241380a01c8e38fdc4e2d',1,'dtls.c']]],
-  ['dtls_5fskexecpsk_5flength_5fmin',['DTLS_SKEXECPSK_LENGTH_MIN',['../dtls_8c.html#a4c0c656efcfd0e33595914171e51ae6d',1,'dtls.c']]],
-  ['dtls_5fstate_5fclienthello',['DTLS_STATE_CLIENTHELLO',['../state_8h.html#aea0e57fd5b857535960534b53361aa35a1a76f1e49c80d22df9673f8471d1ec53',1,'state.h']]],
-  ['dtls_5fstate_5fclosed',['DTLS_STATE_CLOSED',['../state_8h.html#aea0e57fd5b857535960534b53361aa35a88bc0f5ff63003f57a59700dc4b55553',1,'state.h']]],
-  ['dtls_5fstate_5fclosing',['DTLS_STATE_CLOSING',['../state_8h.html#aea0e57fd5b857535960534b53361aa35a4aa3fcce37191fc2a915aa330efd381b',1,'state.h']]],
-  ['dtls_5fstate_5fconnected',['DTLS_STATE_CONNECTED',['../state_8h.html#aea0e57fd5b857535960534b53361aa35a953a6aabd0aff0492df164e79815b122',1,'state.h']]],
-  ['dtls_5fstate_5ffinished',['DTLS_STATE_FINISHED',['../state_8h.html#aea0e57fd5b857535960534b53361aa35afe3ae5ff9df44c8101223efec2916c0b',1,'state.h']]],
-  ['dtls_5fstate_5finit',['DTLS_STATE_INIT',['../state_8h.html#aea0e57fd5b857535960534b53361aa35afa23f2a7b1313abfb472a55a17cc26b8',1,'state.h']]],
-  ['dtls_5fstate_5ft',['dtls_state_t',['../state_8h.html#aea0e57fd5b857535960534b53361aa35',1,'state.h']]],
-  ['dtls_5fstate_5fwait_5fcertificateverify',['DTLS_STATE_WAIT_CERTIFICATEVERIFY',['../state_8h.html#aea0e57fd5b857535960534b53361aa35a1bb7cd2cdb77a9cdc5a5df541e8d99c4',1,'state.h']]],
-  ['dtls_5fstate_5fwait_5fchangecipherspec',['DTLS_STATE_WAIT_CHANGECIPHERSPEC',['../state_8h.html#aea0e57fd5b857535960534b53361aa35ab3436ceaa0f47131771c288b8b5f1840',1,'state.h']]],
-  ['dtls_5fstate_5fwait_5fclientcertificate',['DTLS_STATE_WAIT_CLIENTCERTIFICATE',['../state_8h.html#aea0e57fd5b857535960534b53361aa35abdb6292772d18296f76c90fdc2533ab9',1,'state.h']]],
-  ['dtls_5fstate_5fwait_5fclienthello',['DTLS_STATE_WAIT_CLIENTHELLO',['../state_8h.html#aea0e57fd5b857535960534b53361aa35a84b76c7a571c4b1d659e26d4e540c151',1,'state.h']]],
-  ['dtls_5fstate_5fwait_5fclientkeyexchange',['DTLS_STATE_WAIT_CLIENTKEYEXCHANGE',['../state_8h.html#aea0e57fd5b857535960534b53361aa35aa013ec95c846eaebd37acecc1a2f8a05',1,'state.h']]],
-  ['dtls_5fstate_5fwait_5ffinished',['DTLS_STATE_WAIT_FINISHED',['../state_8h.html#aea0e57fd5b857535960534b53361aa35a8c1ffc1652e7c5ba25239fe1f3a430ba',1,'state.h']]],
-  ['dtls_5fstate_5fwait_5fservercertificate',['DTLS_STATE_WAIT_SERVERCERTIFICATE',['../state_8h.html#aea0e57fd5b857535960534b53361aa35aa58cb54cde33e338814177a41ca2df6b',1,'state.h']]],
-  ['dtls_5fstate_5fwait_5fserverhellodone',['DTLS_STATE_WAIT_SERVERHELLODONE',['../state_8h.html#aea0e57fd5b857535960534b53361aa35a5c55da9c6de8eb986de811cf2135a1a0',1,'state.h']]],
-  ['dtls_5fstate_5fwait_5fserverkeyexchange',['DTLS_STATE_WAIT_SERVERKEYEXCHANGE',['../state_8h.html#aea0e57fd5b857535960534b53361aa35a97f1fd8aadc13e8d721d5e40d42a0330',1,'state.h']]],
-  ['dtls_5fstop_5fretransmission',['dtls_stop_retransmission',['../dtls_8c.html#a3742f5067d1b0693d6a41e70d4ecd5b5',1,'dtls.c']]],
-  ['dtls_5fstrnlen',['dtls_strnlen',['../debug_8c.html#a2ff663644d9ffbc6ac64b2da6cde5bfa',1,'debug.c']]],
-  ['dtls_5ftick_5ft',['dtls_tick_t',['../group__clock.html#gaded617551180951f4841969e396a8012',1,'dtls_time.h']]],
-  ['dtls_5fticks',['dtls_ticks',['../group__clock.html#ga1834985745ba5d3dd03f7e7498e3a304',1,'dtls_ticks(dtls_tick_t *t):&#160;dtls_time.c'],['../group__clock.html#ga1834985745ba5d3dd03f7e7498e3a304',1,'dtls_ticks(dtls_tick_t *t):&#160;dtls_time.c']]],
-  ['dtls_5fticks_5fper_5fsecond',['DTLS_TICKS_PER_SECOND',['../group__clock.html#gae8610d63d209a8bf7858afc427db6168',1,'dtls_time.h']]],
-  ['dtls_5ftime_2ec',['dtls_time.c',['../dtls__time_8c.html',1,'']]],
-  ['dtls_5ftime_2eh',['dtls_time.h',['../dtls__time_8h.html',1,'']]],
-  ['dtls_5fuint16_5fto_5fint',['dtls_uint16_to_int',['../numeric_8h.html#ae32dd0743658f1aa5a723d5a8357521f',1,'numeric.h']]],
-  ['dtls_5fuint24_5fto_5fint',['dtls_uint24_to_int',['../numeric_8h.html#a238931e9197ce422acfba569deb2af71',1,'numeric.h']]],
-  ['dtls_5fuint32_5fto_5fint',['dtls_uint32_to_int',['../numeric_8h.html#a91f840f763f90c6d88a267011edf86d0',1,'numeric.h']]],
-  ['dtls_5fuint48_5fto_5fint',['dtls_uint48_to_int',['../numeric_8h.html#ae25d1d32eab6fe59318506984ebc23af',1,'numeric.h']]],
-  ['dtls_5fuint64_5fto_5fint',['dtls_uint64_to_int',['../numeric_8h.html#aa7dcbb31a4c4319903f41008f1f311ae',1,'numeric.h']]],
-  ['dtls_5fuint8_5fto_5fint',['dtls_uint8_to_int',['../numeric_8h.html#a7293cc28604d896cfef802b53b0ad99f',1,'numeric.h']]],
-  ['dtls_5fupdate_5fparameters',['dtls_update_parameters',['../dtls_8c.html#a63f2c7e75b86bb2839b8fedf3fa9c93d',1,'dtls.c']]],
-  ['dtls_20usage',['DTLS Usage',['../group__dtls__usage.html',1,'']]],
-  ['dtls_5fverify_5fpeer',['dtls_verify_peer',['../dtls_8c.html#a604f68a801e55b884f7f7f1d2f1b9c9f',1,'dtls.c']]],
-  ['dtls_5fversion',['DTLS_VERSION',['../dtls_8h.html#af0c44db3bf3a6a52e9ed271218daeaa6',1,'dtls.h']]],
-  ['dtls_5fwarn',['dtls_warn',['../debug_8h.html#ae1c22127c92fab70da7bf9cae8536e5c',1,'debug.h']]],
-  ['dtls_5fwrite',['dtls_write',['../dtls_8c.html#a1e338587fb19c794c8d19bc2801f2eb2',1,'dtls_write(struct dtls_context_t *ctx, session_t *dst, uint8 *buf, size_t len):&#160;dtls.c'],['../dtls_8h.html#a4743f51c3197d290fc9a88e1f3a64928',1,'dtls_write(struct dtls_context_t *ctx, session_t *session, uint8 *buf, size_t len):&#160;dtls.c']]],
-  ['dtlsv12',['DTLSv12',['../global_8h.html#a6b9b983a346a3e94eff205f8eab2bce0',1,'global.h']]],
-  ['dump',['dump',['../debug_8c.html#a7ee74b9f3941b0ec63f35da6b83fa240',1,'dump(unsigned char *buf, size_t len):&#160;debug.c'],['../debug_8h.html#a7ee74b9f3941b0ec63f35da6b83fa240',1,'dump(unsigned char *buf, size_t len):&#160;debug.c']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/all_5.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/all_5.html
deleted file mode 100644 (file)
index 99ef726..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="all_5.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/all_5.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/all_5.js
deleted file mode 100644 (file)
index 2a8f277..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-var searchData=
-[
-  ['elmt_5ffrom_5fhh',['ELMT_FROM_HH',['../uthash_8h.html#a568e95048979b8b3e4ea1567fd91c186',1,'uthash.h']]],
-  ['encrypt',['encrypt',['../ccm_8c.html#a983462ca57ee8fe54249c77281f6559e',1,'ccm.c']]],
-  ['epoch',['epoch',['../structdtls__security__parameters__t.html#a2bce1fa0bf77eeab8fadca824de602da',1,'dtls_security_parameters_t::epoch()'],['../structnetq__t.html#a9998944e43a39a2e5700156876a312e0',1,'netq_t::epoch()']]],
-  ['equals',['equals',['../global_8h.html#a8277c276ecd5cd2f998f08fd344d90ef',1,'global.h']]],
-  ['event',['event',['../structdtls__handler__t.html#aae2db3733c5f0a0eea9a635490bdfe59',1,'dtls_handler_t']]],
-  ['expand_5fmult',['expand_mult',['../structUT__hash__bucket.html#a9b739c1b69c141e8198c0c64af643b2b',1,'UT_hash_bucket']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/all_6.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/all_6.html
deleted file mode 100644 (file)
index 6133ab3..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="all_6.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/all_6.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/all_6.js
deleted file mode 100644 (file)
index 14f234c..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-var searchData=
-[
-  ['finalize_5fhs_5fhash',['finalize_hs_hash',['../dtls_8c.html#adb41bf916dc34af5cd79003a9243b727',1,'dtls.c']]],
-  ['free_5fcontext',['free_context',['../dtls_8c.html#aa2f1fb16f297640b319ff0d864139ea5',1,'dtls.c']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/all_7.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/all_7.html
deleted file mode 100644 (file)
index 5748125..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="all_7.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/all_7.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/all_7.js
deleted file mode 100644 (file)
index d2abbe4..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-var searchData=
-[
-  ['get16bits',['get16bits',['../uthash_8h.html#abc7d71657be8975a51684e41029b7964',1,'uthash.h']]],
-  ['global_2eh',['global.h',['../global_8h.html',1,'']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/all_8.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/all_8.html
deleted file mode 100644 (file)
index 0179bdd..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="all_8.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/all_8.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/all_8.js
deleted file mode 100644 (file)
index 2c768e7..0000000
+++ /dev/null
@@ -1,106 +0,0 @@
-var searchData=
-[
-  ['h',['h',['../structdtls__context__t.html#a460737bda0d200538c00ef7877b339cd',1,'dtls_context_t']]],
-  ['handle_5falert',['handle_alert',['../dtls_8c.html#a445994c602b105608f277c6fc066301d',1,'dtls.c']]],
-  ['handle_5fccs',['handle_ccs',['../dtls_8c.html#a4d7a16c9d0cd28666a2cc8ec471aa664',1,'dtls.c']]],
-  ['handle_5fhandshake',['handle_handshake',['../dtls_8c.html#ab199f50f39a96464ff7b532f2635ce9d',1,'dtls.c']]],
-  ['handle_5fhandshake_5fmsg',['handle_handshake_msg',['../dtls_8c.html#a24e7d6ad9fc0d87b7285615123bdd43d',1,'dtls.c']]],
-  ['handshake',['HANDSHAKE',['../dtls_8c.html#a354c84e6c783c5d0cdbf905c27e77dc4',1,'dtls.c']]],
-  ['handshake_5fparams',['handshake_params',['../structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992',1,'dtls_peer_t']]],
-  ['hash_5fadd',['HASH_ADD',['../uthash_8h.html#aaf01358e257c8d838eb5e4b189f0c399',1,'uthash.h']]],
-  ['hash_5fadd_5fint',['HASH_ADD_INT',['../uthash_8h.html#acf85835471af894e354efb7e346698f3',1,'uthash.h']]],
-  ['hash_5fadd_5fkeyptr',['HASH_ADD_KEYPTR',['../uthash_8h.html#a0b7468360b5c788762cdb2ccf9cd4d26',1,'uthash.h']]],
-  ['hash_5fadd_5fpeer',['HASH_ADD_PEER',['../dtls_8c.html#acf0d50c9f224c0677988f13e947e9523',1,'dtls.c']]],
-  ['hash_5fadd_5fptr',['HASH_ADD_PTR',['../uthash_8h.html#a2ad1f84ef1ba9df99fa2ada38cb61823',1,'uthash.h']]],
-  ['hash_5fadd_5fstr',['HASH_ADD_STR',['../uthash_8h.html#a9724951736f3985f74df17638c8a7885',1,'uthash.h']]],
-  ['hash_5fadd_5fto_5fbkt',['HASH_ADD_TO_BKT',['../uthash_8h.html#a78e11adee321f45c5cb31ff2d6eb0348',1,'uthash.h']]],
-  ['hash_5fber',['HASH_BER',['../uthash_8h.html#a7271bf51d7fe2cf2c183578aee73601e',1,'uthash.h']]],
-  ['hash_5fbkt_5fcapacity_5fthresh',['HASH_BKT_CAPACITY_THRESH',['../uthash_8h.html#a8ae3e6473261f6c4b78c030c94f5d68f',1,'uthash.h']]],
-  ['hash_5fbloom_5fadd',['HASH_BLOOM_ADD',['../uthash_8h.html#acaad947212056cd8bfe3d660265fb2db',1,'uthash.h']]],
-  ['hash_5fbloom_5ffree',['HASH_BLOOM_FREE',['../uthash_8h.html#ad6847ad938fc26bfd0726d7f159efd0a',1,'uthash.h']]],
-  ['hash_5fbloom_5fmake',['HASH_BLOOM_MAKE',['../uthash_8h.html#a254f427772a1fe7a2480a8302af8f8b8',1,'uthash.h']]],
-  ['hash_5fbloom_5fsignature',['HASH_BLOOM_SIGNATURE',['../uthash_8h.html#a18a33f4269f05c1e81ce54edbc0ffca6',1,'uthash.h']]],
-  ['hash_5fbloom_5ftest',['HASH_BLOOM_TEST',['../uthash_8h.html#a06bfbf880899d54da35487d0d39c1009',1,'uthash.h']]],
-  ['hash_5fclear',['HASH_CLEAR',['../uthash_8h.html#a0512b3f7a824275579ec82643ef2cc23',1,'uthash.h']]],
-  ['hash_5fcnt',['HASH_CNT',['../uthash_8h.html#a6ea9e661cd8c35eff1fdcd5731127edd',1,'uthash.h']]],
-  ['hash_5fcount',['HASH_COUNT',['../uthash_8h.html#a7d3edf55a3ee4da1a0e1b477c314342f',1,'uthash.h']]],
-  ['hash_5fdel',['HASH_DEL',['../uthash_8h.html#a48b7ed374602dcb236501aa23a971f05',1,'uthash.h']]],
-  ['hash_5fdel_5fin_5fbkt',['HASH_DEL_IN_BKT',['../uthash_8h.html#a1b2d6f694f98cf6350cdd18225cb3f78',1,'uthash.h']]],
-  ['hash_5fdel_5fpeer',['HASH_DEL_PEER',['../dtls_8c.html#a0844494b0b76acb7bcf832ae74fb25c0',1,'dtls.c']]],
-  ['hash_5fdelete',['HASH_DELETE',['../uthash_8h.html#a3f83117e1108d63844a58d2d79c3b980',1,'uthash.h']]],
-  ['hash_5femit_5fkey',['HASH_EMIT_KEY',['../uthash_8h.html#a44f9d46e2cc79652492e5dd3e6c40a15',1,'uthash.h']]],
-  ['hash_5fexpand_5fbuckets',['HASH_EXPAND_BUCKETS',['../uthash_8h.html#a6439fd6271474e61b1840fbf83132f03',1,'uthash.h']]],
-  ['hash_5ffcn',['HASH_FCN',['../uthash_8h.html#abd3356419b386c379116393700a751d3',1,'uthash.h']]],
-  ['hash_5ffind',['HASH_FIND',['../uthash_8h.html#ad4a1cd39c3044936c0e49d3f372c9dbf',1,'uthash.h']]],
-  ['hash_5ffind_5fin_5fbkt',['HASH_FIND_IN_BKT',['../uthash_8h.html#a42ae87cc63106a82601808f19329502c',1,'uthash.h']]],
-  ['hash_5ffind_5fint',['HASH_FIND_INT',['../uthash_8h.html#aadcb19b940348f3141bd51505ede0142',1,'uthash.h']]],
-  ['hash_5ffind_5fpeer',['HASH_FIND_PEER',['../dtls_8c.html#a0ce6e5416f5479558116b881d3eb1ad6',1,'dtls.c']]],
-  ['hash_5ffind_5fptr',['HASH_FIND_PTR',['../uthash_8h.html#a26a887f8e31952034becac0cf446f6c3',1,'uthash.h']]],
-  ['hash_5ffind_5fstr',['HASH_FIND_STR',['../uthash_8h.html#a214529083adfab2fa8cd402d2eeb0a84',1,'uthash.h']]],
-  ['hash_5ffnv',['HASH_FNV',['../uthash_8h.html#ac99f9a353421537527a80b392089dd9d',1,'uthash.h']]],
-  ['hash_5ffsck',['HASH_FSCK',['../uthash_8h.html#a7d882fadb26a4e6c13c134d8be4d0759',1,'uthash.h']]],
-  ['hash_5finitial_5fnum_5fbuckets',['HASH_INITIAL_NUM_BUCKETS',['../uthash_8h.html#a361cdc5e8d6d8fe5fae6912588ae15d0',1,'uthash.h']]],
-  ['hash_5finitial_5fnum_5fbuckets_5flog2',['HASH_INITIAL_NUM_BUCKETS_LOG2',['../uthash_8h.html#a0b39a5cf1d6c05c43bd8530db2ec908c',1,'uthash.h']]],
-  ['hash_5fiter',['HASH_ITER',['../uthash_8h.html#a4d524042f1fcb976d8bccae9e4cc63d6',1,'uthash.h']]],
-  ['hash_5fjen',['HASH_JEN',['../uthash_8h.html#aa16e3ae6125d7f10d3deb4695e0ee51e',1,'uthash.h']]],
-  ['hash_5fjen_5fmix',['HASH_JEN_MIX',['../uthash_8h.html#a6d37144e54d2bd49eb88fbfd04c59dc5',1,'uthash.h']]],
-  ['hash_5fkeycmp',['HASH_KEYCMP',['../uthash_8h.html#a35c9b682ebb7a8cbf284b9f0a9594095',1,'uthash.h']]],
-  ['hash_5fmake_5ftable',['HASH_MAKE_TABLE',['../uthash_8h.html#aeba971430f623b6334f565d9c7ec9de5',1,'uthash.h']]],
-  ['hash_5fmd5',['HASH_MD5',['../group__HMAC.html#gga698cfa036e69361a93dcdd9b19579b23a45c78681038e51d5f54554130b0b79ab',1,'hmac.h']]],
-  ['hash_5fnone',['HASH_NONE',['../group__HMAC.html#gga698cfa036e69361a93dcdd9b19579b23a065bed423473d8a44394cd4415de3018',1,'hmac.h']]],
-  ['hash_5foat',['HASH_OAT',['../uthash_8h.html#abc7040b698211c1993441fb4165fa0b4',1,'uthash.h']]],
-  ['hash_5fsax',['HASH_SAX',['../uthash_8h.html#aa4cb140b45415e7bf57237525388af79',1,'uthash.h']]],
-  ['hash_5fselect',['HASH_SELECT',['../uthash_8h.html#ad190366f7a476ece79bd628240a5fc93',1,'uthash.h']]],
-  ['hash_5fsfh',['HASH_SFH',['../uthash_8h.html#ab595698a74642684dace0dfa47dab445',1,'uthash.h']]],
-  ['hash_5fsha1',['HASH_SHA1',['../group__HMAC.html#gga698cfa036e69361a93dcdd9b19579b23a25c481ea5e9f16f9b40fe773528aef03',1,'hmac.h']]],
-  ['hash_5fsha224',['HASH_SHA224',['../group__HMAC.html#gga698cfa036e69361a93dcdd9b19579b23a0a7940bf3dbc032d803b1b688e5570e5',1,'hmac.h']]],
-  ['hash_5fsha256',['HASH_SHA256',['../group__HMAC.html#gga698cfa036e69361a93dcdd9b19579b23a3690b7a5bf11282bcdaa199c11408dd3',1,'hmac.h']]],
-  ['hash_5fsha384',['HASH_SHA384',['../group__HMAC.html#gga698cfa036e69361a93dcdd9b19579b23abb45ce56a912f1175c413afcb3e1f970',1,'hmac.h']]],
-  ['hash_5fsha512',['HASH_SHA512',['../group__HMAC.html#gga698cfa036e69361a93dcdd9b19579b23a6d06d1ec4dbf3aa876fda6ca1c5b0f66',1,'hmac.h']]],
-  ['hash_5fsignature',['HASH_SIGNATURE',['../uthash_8h.html#a4a7a46b9b92a9c73e4f9321e8e6b6bb2',1,'uthash.h']]],
-  ['hash_5fsort',['HASH_SORT',['../uthash_8h.html#a88d2ab40956878caacd02c214f7e8f15',1,'uthash.h']]],
-  ['hash_5fsrt',['HASH_SRT',['../uthash_8h.html#a388b4071dcff005154f431d3d3025fbd',1,'uthash.h']]],
-  ['hash_5fto_5fbkt',['HASH_TO_BKT',['../uthash_8h.html#a4d7691544128a6ef265f3e4fa5ed3113',1,'uthash.h']]],
-  ['hashv',['hashv',['../structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323',1,'UT_hash_handle']]],
-  ['have_5farpa_5finet_5fh',['HAVE_ARPA_INET_H',['../config_8h.html#a7d1a71461e07569d0c9003da24c30a59',1,'HAVE_ARPA_INET_H():&#160;config.h'],['../dtls__config_8h.html#a7d1a71461e07569d0c9003da24c30a59',1,'HAVE_ARPA_INET_H():&#160;dtls_config.h']]],
-  ['have_5fassert_5fh',['HAVE_ASSERT_H',['../config_8h.html#ad0eabe2e5407bc73450eb15b657983cd',1,'HAVE_ASSERT_H():&#160;config.h'],['../dtls__config_8h.html#ad0eabe2e5407bc73450eb15b657983cd',1,'HAVE_ASSERT_H():&#160;dtls_config.h']]],
-  ['have_5ffcntl_5fh',['HAVE_FCNTL_H',['../config_8h.html#a765d75020849aa0a9b6becd9a5b7a193',1,'HAVE_FCNTL_H():&#160;config.h'],['../dtls__config_8h.html#a765d75020849aa0a9b6becd9a5b7a193',1,'HAVE_FCNTL_H():&#160;dtls_config.h']]],
-  ['have_5finttypes_5fh',['HAVE_INTTYPES_H',['../config_8h.html#ab90a030ff2790ebdc176660a6dd2a478',1,'HAVE_INTTYPES_H():&#160;config.h'],['../dtls__config_8h.html#ab90a030ff2790ebdc176660a6dd2a478',1,'HAVE_INTTYPES_H():&#160;dtls_config.h']]],
-  ['have_5fmalloc',['HAVE_MALLOC',['../config_8h.html#a14503280ca0cb757db915eea09282bfc',1,'HAVE_MALLOC():&#160;config.h'],['../dtls__config_8h.html#a14503280ca0cb757db915eea09282bfc',1,'HAVE_MALLOC():&#160;dtls_config.h']]],
-  ['have_5fmemory_5fh',['HAVE_MEMORY_H',['../config_8h.html#ae93a78f9d076138897af441c9f86f285',1,'HAVE_MEMORY_H():&#160;config.h'],['../dtls__config_8h.html#ae93a78f9d076138897af441c9f86f285',1,'HAVE_MEMORY_H():&#160;dtls_config.h']]],
-  ['have_5fmemset',['HAVE_MEMSET',['../config_8h.html#a3df52e9809253860c385be6f3a160607',1,'HAVE_MEMSET():&#160;config.h'],['../dtls__config_8h.html#a3df52e9809253860c385be6f3a160607',1,'HAVE_MEMSET():&#160;dtls_config.h']]],
-  ['have_5fnetdb_5fh',['HAVE_NETDB_H',['../config_8h.html#a9fe2d1d4726a6b846483a2276866dc6e',1,'HAVE_NETDB_H():&#160;config.h'],['../dtls__config_8h.html#a9fe2d1d4726a6b846483a2276866dc6e',1,'HAVE_NETDB_H():&#160;dtls_config.h']]],
-  ['have_5fnetinet_5fin_5fh',['HAVE_NETINET_IN_H',['../config_8h.html#a0938658b988a082864efcee2d1b2bfd2',1,'HAVE_NETINET_IN_H():&#160;config.h'],['../dtls__config_8h.html#a0938658b988a082864efcee2d1b2bfd2',1,'HAVE_NETINET_IN_H():&#160;dtls_config.h']]],
-  ['have_5fselect',['HAVE_SELECT',['../config_8h.html#aee3a7313d861afa18971031528fd0cd5',1,'HAVE_SELECT():&#160;config.h'],['../dtls__config_8h.html#aee3a7313d861afa18971031528fd0cd5',1,'HAVE_SELECT():&#160;dtls_config.h']]],
-  ['have_5fsocket',['HAVE_SOCKET',['../config_8h.html#a4cd6234bfe3f7c10968a1151f43ce280',1,'HAVE_SOCKET():&#160;config.h'],['../dtls__config_8h.html#a4cd6234bfe3f7c10968a1151f43ce280',1,'HAVE_SOCKET():&#160;dtls_config.h']]],
-  ['have_5fstddef_5fh',['HAVE_STDDEF_H',['../config_8h.html#a0e6b9a04ae66b7846715e51a0a2dccff',1,'HAVE_STDDEF_H():&#160;config.h'],['../dtls__config_8h.html#a0e6b9a04ae66b7846715e51a0a2dccff',1,'HAVE_STDDEF_H():&#160;dtls_config.h']]],
-  ['have_5fstdint_5fh',['HAVE_STDINT_H',['../config_8h.html#ab6cd6d1c63c1e26ea2d4537b77148354',1,'HAVE_STDINT_H():&#160;config.h'],['../dtls__config_8h.html#ab6cd6d1c63c1e26ea2d4537b77148354',1,'HAVE_STDINT_H():&#160;dtls_config.h']]],
-  ['have_5fstdlib_5fh',['HAVE_STDLIB_H',['../config_8h.html#a9e0e434ec1a6ddbd97db12b5a32905e0',1,'HAVE_STDLIB_H():&#160;config.h'],['../dtls__config_8h.html#a9e0e434ec1a6ddbd97db12b5a32905e0',1,'HAVE_STDLIB_H():&#160;dtls_config.h']]],
-  ['have_5fstrdup',['HAVE_STRDUP',['../config_8h.html#a41b838eb3b86a0ebbd0981e92a759c0f',1,'HAVE_STRDUP():&#160;config.h'],['../dtls__config_8h.html#a41b838eb3b86a0ebbd0981e92a759c0f',1,'HAVE_STRDUP():&#160;dtls_config.h']]],
-  ['have_5fstrerror',['HAVE_STRERROR',['../config_8h.html#a992653625041edef146772df96f7bca9',1,'HAVE_STRERROR():&#160;config.h'],['../dtls__config_8h.html#a992653625041edef146772df96f7bca9',1,'HAVE_STRERROR():&#160;dtls_config.h']]],
-  ['have_5fstring_5fh',['HAVE_STRING_H',['../config_8h.html#ad4c234dd1625255dc626a15886306e7d',1,'HAVE_STRING_H():&#160;config.h'],['../dtls__config_8h.html#ad4c234dd1625255dc626a15886306e7d',1,'HAVE_STRING_H():&#160;dtls_config.h']]],
-  ['have_5fstrings_5fh',['HAVE_STRINGS_H',['../config_8h.html#a405d10d46190bcb0320524c54eafc850',1,'HAVE_STRINGS_H():&#160;config.h'],['../dtls__config_8h.html#a405d10d46190bcb0320524c54eafc850',1,'HAVE_STRINGS_H():&#160;dtls_config.h']]],
-  ['have_5fstrnlen',['HAVE_STRNLEN',['../config_8h.html#a9bee6d8db098b2230690f8e8db9ffb74',1,'HAVE_STRNLEN():&#160;config.h'],['../dtls__config_8h.html#a9bee6d8db098b2230690f8e8db9ffb74',1,'HAVE_STRNLEN():&#160;dtls_config.h']]],
-  ['have_5fsys_5fparam_5fh',['HAVE_SYS_PARAM_H',['../config_8h.html#a05aa9fc25e1231d8eb347390558e4e22',1,'HAVE_SYS_PARAM_H():&#160;config.h'],['../dtls__config_8h.html#a05aa9fc25e1231d8eb347390558e4e22',1,'HAVE_SYS_PARAM_H():&#160;dtls_config.h']]],
-  ['have_5fsys_5fsocket_5fh',['HAVE_SYS_SOCKET_H',['../config_8h.html#afb96c2bc08ebf33cca68c714f624a58d',1,'HAVE_SYS_SOCKET_H():&#160;config.h'],['../dtls__config_8h.html#afb96c2bc08ebf33cca68c714f624a58d',1,'HAVE_SYS_SOCKET_H():&#160;dtls_config.h']]],
-  ['have_5fsys_5fstat_5fh',['HAVE_SYS_STAT_H',['../config_8h.html#ace156430ba007d19b4348a950d0c692b',1,'HAVE_SYS_STAT_H():&#160;config.h'],['../dtls__config_8h.html#ace156430ba007d19b4348a950d0c692b',1,'HAVE_SYS_STAT_H():&#160;dtls_config.h']]],
-  ['have_5fsys_5ftime_5fh',['HAVE_SYS_TIME_H',['../config_8h.html#a2aae46056558e9d6fef6380f9678ffe3',1,'HAVE_SYS_TIME_H():&#160;config.h'],['../dtls__config_8h.html#a2aae46056558e9d6fef6380f9678ffe3',1,'HAVE_SYS_TIME_H():&#160;dtls_config.h']]],
-  ['have_5fsys_5ftypes_5fh',['HAVE_SYS_TYPES_H',['../config_8h.html#a69dc70bea5d1f8bd2be9740e974fa666',1,'HAVE_SYS_TYPES_H():&#160;config.h'],['../dtls__config_8h.html#a69dc70bea5d1f8bd2be9740e974fa666',1,'HAVE_SYS_TYPES_H():&#160;dtls_config.h']]],
-  ['have_5ftime_5fh',['HAVE_TIME_H',['../config_8h.html#a2397007ae170bf57faa808bacaaa2499',1,'HAVE_TIME_H():&#160;config.h'],['../dtls__config_8h.html#a2397007ae170bf57faa808bacaaa2499',1,'HAVE_TIME_H():&#160;dtls_config.h']]],
-  ['have_5funistd_5fh',['HAVE_UNISTD_H',['../config_8h.html#a219b06937831d0da94d801ab13987639',1,'HAVE_UNISTD_H():&#160;config.h'],['../dtls__config_8h.html#a219b06937831d0da94d801ab13987639',1,'HAVE_UNISTD_H():&#160;dtls_config.h']]],
-  ['have_5fvprintf',['HAVE_VPRINTF',['../config_8h.html#a11e8ffa0e0ee1d52812402f2eac05fa7',1,'HAVE_VPRINTF():&#160;config.h'],['../dtls__config_8h.html#a11e8ffa0e0ee1d52812402f2eac05fa7',1,'HAVE_VPRINTF():&#160;dtls_config.h']]],
-  ['hexdump',['hexdump',['../debug_8c.html#af5fe8134d8875eb856a4cd99313ec1b0',1,'hexdump(const unsigned char *packet, int length):&#160;debug.c'],['../debug_8h.html#af5fe8134d8875eb856a4cd99313ec1b0',1,'hexdump(const unsigned char *packet, int length):&#160;debug.c']]],
-  ['hh',['hh',['../structdtls__peer__t.html#a4241666f9097d15a486840bce28c3fd5',1,'dtls_peer_t']]],
-  ['hh_5fhead',['hh_head',['../structUT__hash__bucket.html#a785a785132212378bb28fb4341cfecaf',1,'UT_hash_bucket']]],
-  ['hh_5fnext',['hh_next',['../structUT__hash__handle.html#a4f6989385499ba6f594b0f0facd28325',1,'UT_hash_handle']]],
-  ['hh_5fprev',['hh_prev',['../structUT__hash__handle.html#a3ec03e34d7975d5c1981c44b324619b2',1,'UT_hash_handle']]],
-  ['hho',['hho',['../structUT__hash__table.html#afd05f4d9e45354fb010367ae9e1bddb6',1,'UT_hash_table']]],
-  ['high',['HIGH',['../dtls_8c.html#aa5a8f0d3793bb3b194ca364b596ab01d',1,'dtls.c']]],
-  ['hmac_2ec',['hmac.c',['../hmac_8c.html',1,'']]],
-  ['hmac_2eh',['hmac.h',['../hmac_8h.html',1,'']]],
-  ['hmac_5fupdate_5fseed',['HMAC_UPDATE_SEED',['../crypto_8c.html#ab7ea6d487f3c6e67106df7f4d281804a',1,'crypto.c']]],
-  ['hs_5fhash',['hs_hash',['../structdtls__hs__state__t.html#a991b95919538531d730f74045e4fe3b1',1,'dtls_hs_state_t']]],
-  ['hs_5fhdr_5flength',['HS_HDR_LENGTH',['../dtls_8c.html#a76388c15f1b77d3c5b9d8068e8c0a087',1,'dtls.c']]],
-  ['hs_5fstate',['hs_state',['../structdtls__handshake__parameters__t.html#a56e7392a649731166fc82a523b0eb027',1,'dtls_handshake_parameters_t']]],
-  ['hv_5fhdr_5flength',['HV_HDR_LENGTH',['../dtls_8c.html#a07a808dc78df3141fe5caba2a3e2226b',1,'dtls.c']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/all_9.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/all_9.html
deleted file mode 100644 (file)
index cd46d44..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="all_9.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/all_9.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/all_9.js
deleted file mode 100644 (file)
index 4eeaf91..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-var searchData=
-[
-  ['id_5flength',['id_length',['../structdtls__handshake__parameters__psk__t.html#a39ae0d1ead76e8bd5a3631ae8677be1b',1,'dtls_handshake_parameters_psk_t']]],
-  ['ideal_5fchain_5fmaxlen',['ideal_chain_maxlen',['../structUT__hash__table.html#a5f1cec93d5d753ba02097c797e4d67ad',1,'UT_hash_table']]],
-  ['identity',['identity',['../structdtls__handshake__parameters__psk__t.html#a6cce0754e4b9cf5469ddfec595be3084',1,'dtls_handshake_parameters_psk_t']]],
-  ['ifindex',['ifindex',['../structsession__t.html#aafc69fe43548bd69c0e15aa82e73f3ff',1,'session_t']]],
-  ['ineff_5fexpands',['ineff_expands',['../structUT__hash__table.html#a216c7d98cf40a0064bee94aa8a5bf1b7',1,'UT_hash_table']]],
-  ['is_5fecdsa_5fclient_5fauth_5fsupported',['is_ecdsa_client_auth_supported',['../dtls_8c.html#a599f0d6e9134869e55b64c4f8720ebfa',1,'dtls.c']]],
-  ['is_5fecdsa_5fsupported',['is_ecdsa_supported',['../dtls_8c.html#abb41f4bb9b8e4218ef5115ce70ebdc21',1,'dtls.c']]],
-  ['is_5fpsk_5fsupported',['is_psk_supported',['../dtls_8c.html#a3bbccb275cb23e84c0a148a157955770',1,'dtls.c']]],
-  ['is_5frecord',['is_record',['../dtls_8c.html#aaafa285eb634873480c0ff429edd8064',1,'dtls.c']]],
-  ['is_5ftls_5fecdhe_5fecdsa_5fwith_5faes_5f128_5fccm_5f8',['is_tls_ecdhe_ecdsa_with_aes_128_ccm_8',['../dtls_8c.html#a8098a728e5fff33ceeb7f57ebd48a212',1,'dtls.c']]],
-  ['is_5ftls_5fpsk_5fwith_5faes_5f128_5fccm_5f8',['is_tls_psk_with_aes_128_ccm_8',['../dtls_8c.html#a8bb6e8bb947b943d2af4c1886a8e72ba',1,'dtls.c']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/all_a.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/all_a.html
deleted file mode 100644 (file)
index eab6553..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="all_a.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/all_a.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/all_a.js
deleted file mode 100644 (file)
index 72c10eb..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-var searchData=
-[
-  ['keyed_2dhash_20message_20authentication_20code_20_28hmac_29',['Keyed-Hash Message Authentication Code (HMAC)',['../group__HMAC.html',1,'']]],
-  ['key',['key',['../structUT__hash__handle.html#a40690fc15aeaeba8f25385f05f84dd4d',1,'UT_hash_handle']]],
-  ['key_5fblock',['key_block',['../structdtls__security__parameters__t.html#a1c3a56ea4af8ff71e1ffe77221541f4d',1,'dtls_security_parameters_t']]],
-  ['keylen',['keylen',['../structUT__hash__handle.html#af2abdc405972a6bbdee2ade2c0f346c4',1,'UT_hash_handle']]],
-  ['keyx',['keyx',['../structdtls__handshake__parameters__t.html#a483b158f8fc86e45e7c0fc603a66925f',1,'dtls_handshake_parameters_t']]],
-  ['known_5fcipher',['known_cipher',['../dtls_8c.html#a37965d10b44a63ea6adbf28b9dc79b75',1,'dtls.c']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/all_b.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/all_b.html
deleted file mode 100644 (file)
index a2c161e..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="all_b.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/all_b.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/all_b.js
deleted file mode 100644 (file)
index ab56c14..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-var searchData=
-[
-  ['ldecltype',['LDECLTYPE',['../utlist_8h.html#ae8c9864192170d02fd996abaa1589611',1,'utlist.h']]],
-  ['length',['length',['../structnetq__t.html#ac72c9378282becab5a273f612f58c124',1,'netq_t']]],
-  ['list',['list',['../structlist.html',1,'']]],
-  ['list_5fadd',['list_add',['../t__list_8h.html#aee4e6fc5d9a6133555e7373c654b2120',1,'t_list.h']]],
-  ['list_5fconcat',['LIST_CONCAT',['../t__list_8h.html#ad8951367826c57390a9f9892e0fc2659',1,'t_list.h']]],
-  ['list_5fhead',['list_head',['../t__list_8h.html#adb42e31bb4fe0df6ec1aa3494902968d',1,'t_list.h']]],
-  ['list_5finsert',['list_insert',['../t__list_8h.html#a0d4152f6de47bfefa600867056bc3355',1,'t_list.h']]],
-  ['list_5fitem_5fnext',['list_item_next',['../t__list_8h.html#ae7f0bdad2409695760ffd8de55b6a99b',1,'t_list.h']]],
-  ['list_5fpop',['list_pop',['../t__list_8h.html#a5ba6a8506e0226ab945349e25ef65d56',1,'t_list.h']]],
-  ['list_5fpush',['list_push',['../t__list_8h.html#ab1521a806c1775e743ddefede17673fd',1,'t_list.h']]],
-  ['list_5fremove',['list_remove',['../t__list_8h.html#a10de2120be61f445c5989c983c1e133b',1,'t_list.h']]],
-  ['list_5fstruct',['LIST_STRUCT',['../structdtls__handshake__parameters__t.html#a44c54027bff617597d51f4fc862a1dc4',1,'dtls_handshake_parameters_t::LIST_STRUCT()'],['../structdtls__context__t.html#adf4e86be64bd4a07936ddbba5f6fa6af',1,'dtls_context_t::LIST_STRUCT()'],['../t__list_8h.html#ab5acb500a887e1957292f3dddc5c9b79',1,'LIST_STRUCT():&#160;t_list.h']]],
-  ['list_5fstruct_5finit',['LIST_STRUCT_INIT',['../t__list_8h.html#adcb86fe4485a0f8ea79541117641f730',1,'t_list.h']]],
-  ['list_5ft',['list_t',['../t__list_8h.html#a9c248916bae1f0b13732686786be7108',1,'t_list.h']]],
-  ['ll_5fappend',['LL_APPEND',['../utlist_8h.html#ace33c571c3df78e721a99a4494983855',1,'utlist.h']]],
-  ['ll_5fappend_5fvs2008',['LL_APPEND_VS2008',['../utlist_8h.html#a3c301ddde2cfd8c32df4137c902b66f3',1,'utlist.h']]],
-  ['ll_5fdelete',['LL_DELETE',['../utlist_8h.html#a34a4e54d488753465f6e87bb63b93c0e',1,'utlist.h']]],
-  ['ll_5fdelete_5fvs2008',['LL_DELETE_VS2008',['../utlist_8h.html#a832d4d46464fb2dada9e198ad4f70cdf',1,'utlist.h']]],
-  ['ll_5fforeach',['LL_FOREACH',['../utlist_8h.html#a487c0ce49f397e1743caae16a797e4bb',1,'utlist.h']]],
-  ['ll_5fforeach_5fsafe',['LL_FOREACH_SAFE',['../utlist_8h.html#ad0a695664d31f0b929fd50b39ebcf0ef',1,'utlist.h']]],
-  ['ll_5fprepend',['LL_PREPEND',['../utlist_8h.html#a851fb4b583b0dc000097eeee6dd551d4',1,'utlist.h']]],
-  ['ll_5fsearch',['LL_SEARCH',['../utlist_8h.html#af7a5ae66c9386c4b89403d9ca038adcb',1,'utlist.h']]],
-  ['ll_5fsearch_5fscalar',['LL_SEARCH_SCALAR',['../utlist_8h.html#a8c5c97079c5b259e4c0ff7c563b0f8ed',1,'utlist.h']]],
-  ['ll_5fsort',['LL_SORT',['../utlist_8h.html#a0b2137d4a0c157cb7a1a30d9340ece31',1,'utlist.h']]],
-  ['log2_5fnum_5fbuckets',['log2_num_buckets',['../structUT__hash__table.html#ae376a7f3fac525f3a9d03b6beec8d12f',1,'UT_hash_table']]],
-  ['log_5ft',['log_t',['../debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9d',1,'debug.h']]],
-  ['loglevels',['loglevels',['../debug_8c.html#aea3c9cd7c28ac0ebbc7473771751ed92',1,'debug.c']]],
-  ['low',['LOW',['../dtls_8c.html#a69edf0296cf64026686d4ff4424d4e8f',1,'dtls.c']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/all_c.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/all_c.html
deleted file mode 100644 (file)
index bdd3ee2..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="all_c.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/all_c.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/all_c.js
deleted file mode 100644 (file)
index ab4c3b4..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-var searchData=
-[
-  ['mac',['mac',['../ccm_8c.html#af90d9a6bdae478b53926bf6f1bd6c9d5',1,'ccm.c']]],
-  ['malloc_5fcontext',['malloc_context',['../dtls_8c.html#a9e02f1c6e70dab40e56d5131a259521a',1,'dtls.c']]],
-  ['mask_5fl',['MASK_L',['../ccm_8c.html#a46e95fc2cb115ab9c342707ec443265f',1,'ccm.c']]],
-  ['master_5fsecret',['master_secret',['../structdtls__handshake__parameters__t.html#a21ba88c7b062772beb75c5570d257898',1,'dtls_handshake_parameters_t']]],
-  ['max',['max',['../numeric_8h.html#a24e753bacac6be5f30e18f8a2bdefda4',1,'numeric.h']]],
-  ['max_5fkeyblock_5flength',['MAX_KEYBLOCK_LENGTH',['../crypto_8h.html#a0df6db4f8c29f2b0aa5a1363b4f9127f',1,'crypto.h']]],
-  ['maxlog',['maxlog',['../debug_8c.html#a7a6dbd5278e0c21ff9434dc3de7b955d',1,'debug.c']]],
-  ['memxor',['memxor',['../global_8h.html#a6c31c5d8a0fe09547a192100d2a00dc5',1,'global.h']]],
-  ['min',['min',['../debug_8c.html#ac6afabdc09a49a433ee19d8a9486056d',1,'min():&#160;debug.c'],['../numeric_8h.html#a2d017cd3beb218080a7988e2deed2a11',1,'min():&#160;numeric.h']]],
-  ['mseq_5fr',['mseq_r',['../structdtls__hs__state__t.html#a4e2184c917d1ad46d308e8770193f542',1,'dtls_hs_state_t']]],
-  ['mseq_5fs',['mseq_s',['../structdtls__hs__state__t.html#a694ce15382e7504a750a1b102ad8ec32',1,'dtls_hs_state_t']]],
-  ['must_5fhash',['MUST_HASH',['../dtls_8c.html#a9279d8f0e7c7b30f968ed085b5a3136f',1,'dtls.c']]],
-  ['mycookie',['mycookie',['../dtls_8c.html#a97496e1be0f2fe54873b35ee8bf0d462',1,'dtls.c']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/all_d.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/all_d.html
deleted file mode 100644 (file)
index d510933..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="all_d.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/all_d.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/all_d.js
deleted file mode 100644 (file)
index f982d79..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-var searchData=
-[
-  ['network_20packet_20queue',['Network Packet Queue',['../group__netq.html',1,'']]],
-  ['netq_2ec',['netq.c',['../netq_8c.html',1,'']]],
-  ['netq_2eh',['netq.h',['../netq_8h.html',1,'']]],
-  ['netq_5fdelete_5fall',['netq_delete_all',['../group__netq.html#gac72fd2ec9f1e6908c8a10705fb6555e2',1,'netq_delete_all(list_t queue):&#160;netq.c'],['../group__netq.html#gac72fd2ec9f1e6908c8a10705fb6555e2',1,'netq_delete_all(list_t queue):&#160;netq.c']]],
-  ['netq_5ffree_5fnode',['netq_free_node',['../netq_8c.html#a2e23675fa402ca2c66bc97cbd09e44f3',1,'netq.c']]],
-  ['netq_5fhead',['netq_head',['../group__netq.html#gac769de2e30bcf2c2db89ff10822219d4',1,'netq_head(list_t queue):&#160;netq.c'],['../group__netq.html#gac769de2e30bcf2c2db89ff10822219d4',1,'netq_head(list_t queue):&#160;netq.c']]],
-  ['netq_5finit',['netq_init',['../group__netq.html#ga9eba9e66570dcdfc933c6cf843694444',1,'netq.h']]],
-  ['netq_5finsert_5fnode',['netq_insert_node',['../group__netq.html#ga142c8e39fe2cd55250e3c1f0370dfe6b',1,'netq_insert_node(list_t queue, netq_t *node):&#160;netq.c'],['../group__netq.html#ga142c8e39fe2cd55250e3c1f0370dfe6b',1,'netq_insert_node(list_t queue, netq_t *node):&#160;netq.c']]],
-  ['netq_5fmalloc_5fnode',['netq_malloc_node',['../netq_8c.html#a58b119d6b9bb7756ab49afcd34571dab',1,'netq.c']]],
-  ['netq_5fnext',['netq_next',['../group__netq.html#gab4c90c003808a784ae1ee9322e75627d',1,'netq_next(netq_t *p):&#160;netq.c'],['../group__netq.html#gab4c90c003808a784ae1ee9322e75627d',1,'netq_next(netq_t *p):&#160;netq.c']]],
-  ['netq_5fnode_5ffree',['netq_node_free',['../group__netq.html#ga9ef9da1a2af266dadef83ddf6c8524d7',1,'netq_node_free(netq_t *node):&#160;netq.c'],['../group__netq.html#ga9ef9da1a2af266dadef83ddf6c8524d7',1,'netq_node_free(netq_t *node):&#160;netq.c']]],
-  ['netq_5fnode_5fnew',['netq_node_new',['../group__netq.html#gafcf245cd934e9b8f0909a7ca8940e9cb',1,'netq_node_new(size_t size):&#160;netq.c'],['../group__netq.html#gafcf245cd934e9b8f0909a7ca8940e9cb',1,'netq_node_new(size_t size):&#160;netq.c']]],
-  ['netq_5fpacket_5ft',['netq_packet_t',['../group__netq.html#gaa59d8597860df302584b1e9c448fdfcd',1,'netq.h']]],
-  ['netq_5fpop_5ffirst',['netq_pop_first',['../group__netq.html#ga108e6c43e524fd4b23a5d4731631fae3',1,'netq_pop_first(list_t queue):&#160;netq.c'],['../group__netq.html#ga108e6c43e524fd4b23a5d4731631fae3',1,'netq_pop_first(list_t queue):&#160;netq.c']]],
-  ['netq_5fremove',['netq_remove',['../group__netq.html#gace12cd802d76d5bd98b2eaedc591fd22',1,'netq_remove(list_t queue, netq_t *p):&#160;netq.c'],['../group__netq.html#gace12cd802d76d5bd98b2eaedc591fd22',1,'netq_remove(list_t queue, netq_t *p):&#160;netq.c']]],
-  ['netq_5ft',['netq_t',['../structnetq__t.html',1,'netq_t'],['../group__netq.html#ga4991f2cfa1f79edf8f7d8262c5beeb5b',1,'netq_t():&#160;netq.h']]],
-  ['next',['next',['../structnetq__t.html#a89ecfe2e9b464039d390e8746da546cb',1,'netq_t::next()'],['../structlist.html#a1900fe79e875e2838625b2eb60837f8f',1,'list::next()'],['../structUT__hash__handle.html#a93bc88ffe97f85ea0d9e0056b7118942',1,'UT_hash_handle::next()']]],
-  ['noexpand',['noexpand',['../structUT__hash__table.html#a635661789933752e7b83dac84430eae1',1,'UT_hash_table']]],
-  ['nonideal_5fitems',['nonideal_items',['../structUT__hash__table.html#a8cb66cfb259a204cda59a815e4db664f',1,'UT_hash_table']]],
-  ['num_5fbuckets',['num_buckets',['../structUT__hash__table.html#a3ed04b6233facaedf910672578d86339',1,'UT_hash_table']]],
-  ['num_5fitems',['num_items',['../structUT__hash__table.html#a74534cc14f080c96f94d8f5da83d9d76',1,'UT_hash_table']]],
-  ['numeric_2eh',['numeric.h',['../numeric_8h.html',1,'']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/all_e.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/all_e.html
deleted file mode 100644 (file)
index 3cda017..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="all_e.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/all_e.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/all_e.js
deleted file mode 100644 (file)
index 1a33b64..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-var searchData=
-[
-  ['other_5feph_5fpub_5fx',['other_eph_pub_x',['../structdtls__handshake__parameters__ecdsa__t.html#aa941f98cb3a6dd1dd3c52fb68c37921f',1,'dtls_handshake_parameters_ecdsa_t']]],
-  ['other_5feph_5fpub_5fy',['other_eph_pub_y',['../structdtls__handshake__parameters__ecdsa__t.html#a56047d51afb4a38924db2000af74e83a',1,'dtls_handshake_parameters_ecdsa_t']]],
-  ['other_5fpub_5fx',['other_pub_x',['../structdtls__handshake__parameters__ecdsa__t.html#a0d0470e6d450f955ef574f22cb74c5bf',1,'dtls_handshake_parameters_ecdsa_t']]],
-  ['other_5fpub_5fy',['other_pub_y',['../structdtls__handshake__parameters__ecdsa__t.html#af1fde768658a37d6e3a469842e0854b0',1,'dtls_handshake_parameters_ecdsa_t']]],
-  ['own_5feph_5fpriv',['own_eph_priv',['../structdtls__handshake__parameters__ecdsa__t.html#aaa5b9eb0a00a615f7910294ed0739b5b',1,'dtls_handshake_parameters_ecdsa_t']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/all_f.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/all_f.html
deleted file mode 100644 (file)
index 7419b02..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="all_f.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/all_f.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/all_f.js
deleted file mode 100644 (file)
index 00c9b58..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-var searchData=
-[
-  ['package_5fbugreport',['PACKAGE_BUGREPORT',['../config_8h.html#a1d1d2d7f8d2f95b376954d649ab03233',1,'PACKAGE_BUGREPORT():&#160;config.h'],['../dtls__config_8h.html#a1d1d2d7f8d2f95b376954d649ab03233',1,'PACKAGE_BUGREPORT():&#160;dtls_config.h']]],
-  ['package_5fname',['PACKAGE_NAME',['../config_8h.html#a1c0439e4355794c09b64274849eb0279',1,'PACKAGE_NAME():&#160;config.h'],['../dtls__config_8h.html#a1c0439e4355794c09b64274849eb0279',1,'PACKAGE_NAME():&#160;dtls_config.h']]],
-  ['package_5fstring',['PACKAGE_STRING',['../config_8h.html#ac73e6f903c16eca7710f92e36e1c6fbf',1,'PACKAGE_STRING():&#160;config.h'],['../dtls__config_8h.html#ac73e6f903c16eca7710f92e36e1c6fbf',1,'PACKAGE_STRING():&#160;dtls_config.h']]],
-  ['package_5ftarname',['PACKAGE_TARNAME',['../config_8h.html#af415af6bfede0e8d5453708afe68651c',1,'PACKAGE_TARNAME():&#160;config.h'],['../dtls__config_8h.html#af415af6bfede0e8d5453708afe68651c',1,'PACKAGE_TARNAME():&#160;dtls_config.h']]],
-  ['package_5furl',['PACKAGE_URL',['../config_8h.html#a5c93853116d5a50307b6744f147840aa',1,'PACKAGE_URL():&#160;config.h'],['../dtls__config_8h.html#a5c93853116d5a50307b6744f147840aa',1,'PACKAGE_URL():&#160;dtls_config.h']]],
-  ['package_5fversion',['PACKAGE_VERSION',['../config_8h.html#aa326a05d5e30f9e9a4bb0b4469d5d0c0',1,'PACKAGE_VERSION():&#160;config.h'],['../dtls__config_8h.html#aa326a05d5e30f9e9a4bb0b4469d5d0c0',1,'PACKAGE_VERSION():&#160;dtls_config.h']]],
-  ['pad',['pad',['../structdtls__hmac__context__t.html#aba13422e176f7d16f3f251634ca7f868',1,'dtls_hmac_context_t']]],
-  ['peer',['peer',['../structnetq__t.html#aaca5f6407bd7b3162d9ee7e7e7b8f0ff',1,'netq_t']]],
-  ['peer_2ec',['peer.c',['../peer_8c.html',1,'']]],
-  ['peer_2eh',['peer.h',['../peer_8h.html',1,'']]],
-  ['peer_5finit',['peer_init',['../peer_8c.html#a0297e9d772bfca004a98462d9c7d2828',1,'peer_init():&#160;peer.c'],['../peer_8h.html#a0297e9d772bfca004a98462d9c7d2828',1,'peer_init():&#160;peer.c']]],
-  ['peers',['peers',['../structdtls__context__t.html#a417fa8ac04478292f0539d2da0fec088',1,'dtls_context_t']]],
-  ['prev',['prev',['../structUT__hash__handle.html#abaf54a69367933df2d45575f48ca6a58',1,'UT_hash_handle']]],
-  ['prf_5flabel',['PRF_LABEL',['../dtls_8c.html#abac8adda40bcb694e059e38f6ac115f9',1,'dtls.c']]],
-  ['prf_5flabel_5fclient',['prf_label_client',['../dtls_8c.html#abba2a2562813493d98b5671a4c5c082b',1,'dtls.c']]],
-  ['prf_5flabel_5ffinished',['prf_label_finished',['../dtls_8c.html#a45d793d73836bf96dacb1d558f81b6c7',1,'dtls.c']]],
-  ['prf_5flabel_5fkey',['prf_label_key',['../dtls_8c.html#a42886cd9a1fd728f47ea40d38dfabcda',1,'dtls.c']]],
-  ['prf_5flabel_5fmaster',['prf_label_master',['../dtls_8c.html#a784ec579660900e758a9b7de84150c9b',1,'dtls.c']]],
-  ['prf_5flabel_5fserver',['prf_label_server',['../dtls_8c.html#aacf8643991dec574dcb09a280357ae4f',1,'dtls.c']]],
-  ['prf_5flabel_5fsize',['PRF_LABEL_SIZE',['../dtls_8c.html#a83b260e812e69f1dae18497d167770a9',1,'dtls.c']]],
-  ['print_5ftimestamp',['print_timestamp',['../debug_8c.html#a4ac5b294de82b336108ebd436b271b17',1,'debug.c']]],
-  ['printf',['PRINTF',['../debug_8h.html#a1f464e950a4fa11e8821b5c725921a15',1,'debug.h']]],
-  ['priv_5fkey',['priv_key',['../structdtls__ecdsa__key__t.html#a91769609f44590f193d726187ab366de',1,'dtls_ecdsa_key_t']]],
-  ['pseudo_20random_20numbers',['Pseudo Random Numbers',['../group__prng.html',1,'']]],
-  ['prng_2eh',['prng.h',['../prng_8h.html',1,'']]],
-  ['pub_5fkey_5fx',['pub_key_x',['../structdtls__ecdsa__key__t.html#aa54efc762737c1b94eaebae1262d4221',1,'dtls_ecdsa_key_t']]],
-  ['pub_5fkey_5fy',['pub_key_y',['../structdtls__ecdsa__key__t.html#aaceb7ea4b4f9e74fb2ec85c49746132f',1,'dtls_ecdsa_key_t']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/classes_0.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/classes_0.html
deleted file mode 100644 (file)
index fabdc03..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="classes_0.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/classes_0.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/classes_0.js
deleted file mode 100644 (file)
index 2a0a0d0..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-var searchData=
-[
-  ['aes128_5fccm_5ft',['aes128_ccm_t',['../structaes128__ccm__t.html',1,'']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/classes_1.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/classes_1.html
deleted file mode 100644 (file)
index 800b6ae..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="classes_1.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/classes_1.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/classes_1.js
deleted file mode 100644 (file)
index 2440129..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-var searchData=
-[
-  ['dtls_5fcipher_5fcontext_5ft',['dtls_cipher_context_t',['../structdtls__cipher__context__t.html',1,'']]],
-  ['dtls_5fcontext_5ft',['dtls_context_t',['../structdtls__context__t.html',1,'']]],
-  ['dtls_5fecdsa_5fkey_5ft',['dtls_ecdsa_key_t',['../structdtls__ecdsa__key__t.html',1,'']]],
-  ['dtls_5fhandler_5ft',['dtls_handler_t',['../structdtls__handler__t.html',1,'']]],
-  ['dtls_5fhandshake_5fparameters_5fecdsa_5ft',['dtls_handshake_parameters_ecdsa_t',['../structdtls__handshake__parameters__ecdsa__t.html',1,'']]],
-  ['dtls_5fhandshake_5fparameters_5fpsk_5ft',['dtls_handshake_parameters_psk_t',['../structdtls__handshake__parameters__psk__t.html',1,'']]],
-  ['dtls_5fhandshake_5fparameters_5ft',['dtls_handshake_parameters_t',['../structdtls__handshake__parameters__t.html',1,'']]],
-  ['dtls_5fhmac_5fcontext_5ft',['dtls_hmac_context_t',['../structdtls__hmac__context__t.html',1,'']]],
-  ['dtls_5fhs_5fstate_5ft',['dtls_hs_state_t',['../structdtls__hs__state__t.html',1,'']]],
-  ['dtls_5fpeer_5ft',['dtls_peer_t',['../structdtls__peer__t.html',1,'']]],
-  ['dtls_5fsecurity_5fparameters_5ft',['dtls_security_parameters_t',['../structdtls__security__parameters__t.html',1,'']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/classes_2.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/classes_2.html
deleted file mode 100644 (file)
index f65d263..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="classes_2.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/classes_2.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/classes_2.js
deleted file mode 100644 (file)
index ee6a535..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-var searchData=
-[
-  ['list',['list',['../structlist.html',1,'']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/classes_3.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/classes_3.html
deleted file mode 100644 (file)
index 927e837..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="classes_3.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/classes_3.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/classes_3.js
deleted file mode 100644 (file)
index bce81f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-var searchData=
-[
-  ['netq_5ft',['netq_t',['../structnetq__t.html',1,'']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/classes_4.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/classes_4.html
deleted file mode 100644 (file)
index a447290..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="classes_4.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/classes_4.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/classes_4.js
deleted file mode 100644 (file)
index 7cf41ec..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-var searchData=
-[
-  ['session_5ft',['session_t',['../structsession__t.html',1,'']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/classes_5.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/classes_5.html
deleted file mode 100644 (file)
index 63484c4..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="classes_5.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/classes_5.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/classes_5.js
deleted file mode 100644 (file)
index cafa98c..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-var searchData=
-[
-  ['ut_5fhash_5fbucket',['UT_hash_bucket',['../structUT__hash__bucket.html',1,'']]],
-  ['ut_5fhash_5fhandle',['UT_hash_handle',['../structUT__hash__handle.html',1,'']]],
-  ['ut_5fhash_5ftable',['UT_hash_table',['../structUT__hash__table.html',1,'']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/close.png b/external/wakaama/examples/shared/tinydtls/doc/html/search/close.png
deleted file mode 100644 (file)
index 9342d3d..0000000
Binary files a/external/wakaama/examples/shared/tinydtls/doc/html/search/close.png and /dev/null differ
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/defines_0.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/defines_0.html
deleted file mode 100644 (file)
index c2f0b46..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="defines_0.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/defines_0.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/defines_0.js
deleted file mode 100644 (file)
index 9eb7b8c..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-var searchData=
-[
-  ['_5fcastasgn',['_CASTASGN',['../utlist_8h.html#a1eb4a3192390405087ef1bb6c57241e3',1,'utlist.h']]],
-  ['_5fnext',['_NEXT',['../utlist_8h.html#aec696573e92f2ebd0a1641d77bb5b0fe',1,'utlist.h']]],
-  ['_5fnextasgn',['_NEXTASGN',['../utlist_8h.html#a93e2d161c8ad8350100a4fad092ef058',1,'utlist.h']]],
-  ['_5fprev',['_PREV',['../utlist_8h.html#ade8452ec59d6bf7ef23770ee4d96f8d5',1,'utlist.h']]],
-  ['_5fprevasgn',['_PREVASGN',['../utlist_8h.html#a6f6acf0ac7f07dcb26cef2110fef496a',1,'utlist.h']]],
-  ['_5frs',['_RS',['../utlist_8h.html#a9916f2c26fd7f6f7edb1f6baf400f315',1,'utlist.h']]],
-  ['_5fsv',['_SV',['../utlist_8h.html#a9eded80a8b98df631e889eb72b77c7a4',1,'utlist.h']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/defines_1.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/defines_1.html
deleted file mode 100644 (file)
index 9e1d9fa..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="defines_1.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/defines_1.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/defines_1.js
deleted file mode 100644 (file)
index f224ede..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-var searchData=
-[
-  ['a_5fdata_5flen',['A_DATA_LEN',['../dtls_8c.html#aee0f4f3d8541ea6ab9c204761cc6082e',1,'A_DATA_LEN():&#160;dtls.c'],['../dtls_8c.html#aee0f4f3d8541ea6ab9c204761cc6082e',1,'A_DATA_LEN():&#160;dtls.c']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/defines_2.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/defines_2.html
deleted file mode 100644 (file)
index 6ef4b98..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="defines_2.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/defines_2.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/defines_2.js
deleted file mode 100644 (file)
index 1bd2b5a..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-var searchData=
-[
-  ['call',['CALL',['../dtls_8c.html#a3e132aba78de736930255d40ef3f2d34',1,'dtls.c']]],
-  ['ccm_5fflags',['CCM_FLAGS',['../ccm_8c.html#a18f6fffa08314e79c95e2de10e7409cb',1,'ccm.c']]],
-  ['cdl_5fdelete',['CDL_DELETE',['../utlist_8h.html#a60fd7696c4d0865f53a07579a7b08235',1,'utlist.h']]],
-  ['cdl_5fforeach',['CDL_FOREACH',['../utlist_8h.html#a795df7857792d7e811709a060c911a36',1,'utlist.h']]],
-  ['cdl_5fforeach_5fsafe',['CDL_FOREACH_SAFE',['../utlist_8h.html#abdb80106f7733e37fbe4f62e9d97ccfd',1,'utlist.h']]],
-  ['cdl_5fprepend',['CDL_PREPEND',['../utlist_8h.html#a6c6a7232d281eab4b18563b92e5653bd',1,'utlist.h']]],
-  ['cdl_5fsearch',['CDL_SEARCH',['../utlist_8h.html#afb329a0bdf1fa0b644317e9d84082e1e',1,'utlist.h']]],
-  ['cdl_5fsearch_5fscalar',['CDL_SEARCH_SCALAR',['../utlist_8h.html#ad064cddb894b478b3c3cd23719f58651',1,'utlist.h']]],
-  ['cdl_5fsort',['CDL_SORT',['../utlist_8h.html#a13add78e5524efe1ae6bfb1631b2dc17',1,'utlist.h']]],
-  ['clienthello',['CLIENTHELLO',['../dtls_8c.html#a0800e26c09602d197e929fcc8ba783d5',1,'dtls.c']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/defines_3.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/defines_3.html
deleted file mode 100644 (file)
index e575d66..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="defines_3.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/defines_3.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/defines_3.js
deleted file mode 100644 (file)
index a8c7b95..0000000
+++ /dev/null
@@ -1,106 +0,0 @@
-var searchData=
-[
-  ['decltype',['DECLTYPE',['../uthash_8h.html#a716ba290563c2d955cb0c90d85874073',1,'uthash.h']]],
-  ['decltype_5fassign',['DECLTYPE_ASSIGN',['../uthash_8h.html#a3c736f2f2dd643f2987b2bc323e269ba',1,'uthash.h']]],
-  ['dl_5fappend',['DL_APPEND',['../utlist_8h.html#a17d40c945e1dc55490feb2fe160670c8',1,'utlist.h']]],
-  ['dl_5fdelete',['DL_DELETE',['../utlist_8h.html#aad429903354ffe8cdf4ca2e9d0ae89cc',1,'utlist.h']]],
-  ['dl_5fforeach',['DL_FOREACH',['../utlist_8h.html#abb0c2851c5f0567be7b8827ce5168ef7',1,'utlist.h']]],
-  ['dl_5fforeach_5fsafe',['DL_FOREACH_SAFE',['../utlist_8h.html#a3bb0c84a69846d2f019a97ea0b4709aa',1,'utlist.h']]],
-  ['dl_5fprepend',['DL_PREPEND',['../utlist_8h.html#a78be4dea3344ba1b1c7fe1b893c0fdfa',1,'utlist.h']]],
-  ['dl_5fsearch',['DL_SEARCH',['../utlist_8h.html#a819373d14278b52c313b743acc292ba0',1,'utlist.h']]],
-  ['dl_5fsearch_5fscalar',['DL_SEARCH_SCALAR',['../utlist_8h.html#a172fce2d647fdedadf0f8080e0441c5b',1,'utlist.h']]],
-  ['dl_5fsort',['DL_SORT',['../utlist_8h.html#ad966f284f615a2ced4028258fa08f8f3',1,'utlist.h']]],
-  ['dtls_5falert',['dtls_alert',['../debug_8h.html#ab22e3494f6186183820142ba279fe9ae',1,'debug.h']]],
-  ['dtls_5fblk_5flength',['DTLS_BLK_LENGTH',['../crypto_8h.html#ae86031f934f3f5f3af42dad5ff8e8757',1,'crypto.h']]],
-  ['dtls_5fccm_5fblocksize',['DTLS_CCM_BLOCKSIZE',['../ccm_8h.html#a5c46c97c6c3ef5d4e5bd616dbd064859',1,'ccm.h']]],
-  ['dtls_5fccm_5fmax',['DTLS_CCM_MAX',['../ccm_8h.html#a84305b079fda12bfa1323b41b3c50849',1,'ccm.h']]],
-  ['dtls_5fccm_5fnonce_5fsize',['DTLS_CCM_NONCE_SIZE',['../ccm_8h.html#a2d0e7515c26737872fe840958ed140ac',1,'ccm.h']]],
-  ['dtls_5fce_5flength',['DTLS_CE_LENGTH',['../dtls_8c.html#a6570b93f9f19e6abceef85c566fe3696',1,'dtls.c']]],
-  ['dtls_5fch_5flength',['DTLS_CH_LENGTH',['../dtls_8c.html#affe47ee08ad0e6a54d4f0c2a7f412675',1,'dtls.c']]],
-  ['dtls_5fch_5flength_5fmax',['DTLS_CH_LENGTH_MAX',['../dtls_8c.html#aa5a4609da11d9496490853de9c2bf6fa',1,'dtls.c']]],
-  ['dtls_5fckxec_5flength',['DTLS_CKXEC_LENGTH',['../dtls_8c.html#a5ddccf12706c8d18d80b7759454ca164',1,'dtls.c']]],
-  ['dtls_5fckxpsk_5flength_5fmin',['DTLS_CKXPSK_LENGTH_MIN',['../dtls_8c.html#a674da4ca826bf1206ec8053f4c9eb336',1,'dtls.c']]],
-  ['dtls_5fcookie_5flength',['DTLS_COOKIE_LENGTH',['../dtls_8h.html#a09e4f571633bdb724236ac68459715b6',1,'dtls.h']]],
-  ['dtls_5fcookie_5flength_5fmax',['DTLS_COOKIE_LENGTH_MAX',['../dtls_8c.html#abd652cf0e4512727591d3ec8ca066ace',1,'dtls.c']]],
-  ['dtls_5fcookie_5fsecret_5flength',['DTLS_COOKIE_SECRET_LENGTH',['../dtls_8h.html#a44ec206b1d84aa3d83281a92ed7cc238',1,'dtls.h']]],
-  ['dtls_5fcrit',['dtls_crit',['../debug_8h.html#ad4c9c94c054579b73789fead587c8514',1,'debug.h']]],
-  ['dtls_5fct_5falert',['DTLS_CT_ALERT',['../dtls_8h.html#af8ce2230240b6d3c36b216ef459baff1',1,'dtls.h']]],
-  ['dtls_5fct_5fapplication_5fdata',['DTLS_CT_APPLICATION_DATA',['../dtls_8h.html#a2e3ff1e96b8b7db8a3648beba35bfd0c',1,'dtls.h']]],
-  ['dtls_5fct_5fchange_5fcipher_5fspec',['DTLS_CT_CHANGE_CIPHER_SPEC',['../dtls_8h.html#a3114c327a12e3850e97c4cf8a0cc5c9d',1,'dtls.h']]],
-  ['dtls_5fct_5fhandshake',['DTLS_CT_HANDSHAKE',['../dtls_8h.html#a76965db5ec449b3c8a9a54c24a4d45dc',1,'dtls.h']]],
-  ['dtls_5fcv_5flength',['DTLS_CV_LENGTH',['../dtls_8c.html#a0bcce8fa79dc3187eb5f1655798ac816',1,'dtls.c']]],
-  ['dtls_5fdebug',['dtls_debug',['../debug_8h.html#a0f158325426415d9efb5a36bebf45844',1,'debug.h']]],
-  ['dtls_5fdebug_5fdump',['dtls_debug_dump',['../debug_8h.html#ab27d2c7cae1e8022e93562ecda9140b6',1,'debug.h']]],
-  ['dtls_5fdebug_5fhexdump',['dtls_debug_hexdump',['../debug_8h.html#a24b1e8ecaa65f684d879ed9d5c37119d',1,'debug.h']]],
-  ['dtls_5fdefault_5fmax_5fretransmit',['DTLS_DEFAULT_MAX_RETRANSMIT',['../global_8h.html#a9fc59fb51c2e3cb4da6fb19bc8cad080',1,'global.h']]],
-  ['dtls_5fec_5fkey_5fsize',['DTLS_EC_KEY_SIZE',['../crypto_8h.html#a9b039263057e157e1427c5d316133c3d',1,'crypto.h']]],
-  ['dtls_5fecc',['DTLS_ECC',['../dtls__config_8h.html#a1b77fedd334a66611747922038c930d6',1,'DTLS_ECC():&#160;dtls_config.h'],['../tinydtls_8h.html#a1b77fedd334a66611747922038c930d6',1,'DTLS_ECC():&#160;tinydtls.h']]],
-  ['dtls_5femerg',['dtls_emerg',['../debug_8h.html#a94fa8dba0861075ba507ea0417fd83c8',1,'debug.h']]],
-  ['dtls_5fevent_5fconnect',['DTLS_EVENT_CONNECT',['../alert_8h.html#aec2aa0683b1a39b4b1abba357b06f844',1,'alert.h']]],
-  ['dtls_5fevent_5fconnected',['DTLS_EVENT_CONNECTED',['../alert_8h.html#a5bed06f27f571d7c7d9b9f212c3a0b22',1,'alert.h']]],
-  ['dtls_5fevent_5frenegotiate',['DTLS_EVENT_RENEGOTIATE',['../alert_8h.html#a06e52ce3a2909c8f5a3d47d2c0346124',1,'alert.h']]],
-  ['dtls_5ffin_5flength',['DTLS_FIN_LENGTH',['../dtls_8c.html#a21644ea2de742395df1e3b3281ba4f63',1,'dtls.c']]],
-  ['dtls_5fget_5fapp_5fdata',['dtls_get_app_data',['../dtls_8h.html#a95f7eb485bb814aa308e2612681176d9',1,'dtls.h']]],
-  ['dtls_5fget_5fcontent_5ftype',['dtls_get_content_type',['../dtls_8c.html#aa02d6b65a8864468c2b8cfbe79084467',1,'dtls.c']]],
-  ['dtls_5fget_5fepoch',['dtls_get_epoch',['../dtls_8c.html#a175d8e65080497463d13caf20e961500',1,'dtls.c']]],
-  ['dtls_5fget_5ffragment_5flength',['dtls_get_fragment_length',['../dtls_8c.html#aad633ed0a80e25b3884d119a8d8aeaff',1,'dtls.c']]],
-  ['dtls_5fget_5fsequence_5fnumber',['dtls_get_sequence_number',['../dtls_8c.html#a41f28f63e60a1a0b45a77d62bb5380e7',1,'dtls.c']]],
-  ['dtls_5fget_5fversion',['dtls_get_version',['../dtls_8c.html#a22d6bcdee257de4be562aee0be9c87fb',1,'dtls.c']]],
-  ['dtls_5fhandshake_5fheader',['DTLS_HANDSHAKE_HEADER',['../dtls_8c.html#a2cc930733d35ea870c7a0a131bee0d7a',1,'dtls.c']]],
-  ['dtls_5fhash_5fctx_5fsize',['DTLS_HASH_CTX_SIZE',['../hmac_8h.html#a7fb242dc4ddd717e5eb67d4bf89618d5',1,'hmac.h']]],
-  ['dtls_5fhs_5flength',['DTLS_HS_LENGTH',['../dtls_8c.html#a520419d1976b301c508721faed549b4f',1,'dtls.c']]],
-  ['dtls_5fht_5fcertificate',['DTLS_HT_CERTIFICATE',['../dtls_8h.html#a55a0a899d7f151e7f53b76fe8a82c10e',1,'dtls.h']]],
-  ['dtls_5fht_5fcertificate_5frequest',['DTLS_HT_CERTIFICATE_REQUEST',['../dtls_8h.html#a6f49d7b0a6e9190d71d51b1ee9ff3bd5',1,'dtls.h']]],
-  ['dtls_5fht_5fcertificate_5fverify',['DTLS_HT_CERTIFICATE_VERIFY',['../dtls_8h.html#a9abc650dd8339a227ddd165ede9350d0',1,'dtls.h']]],
-  ['dtls_5fht_5fclient_5fhello',['DTLS_HT_CLIENT_HELLO',['../dtls_8h.html#a25f0afef67a1fd8d9e3e61074d11e2f5',1,'dtls.h']]],
-  ['dtls_5fht_5fclient_5fkey_5fexchange',['DTLS_HT_CLIENT_KEY_EXCHANGE',['../dtls_8h.html#a577885c74492a460729a451f33a894c4',1,'dtls.h']]],
-  ['dtls_5fht_5ffinished',['DTLS_HT_FINISHED',['../dtls_8h.html#a16b49d03e041d43b60e1b7bacf35daad',1,'dtls.h']]],
-  ['dtls_5fht_5fhello_5frequest',['DTLS_HT_HELLO_REQUEST',['../dtls_8h.html#a66566dfd30b8ab388c08b4cde6c667cc',1,'dtls.h']]],
-  ['dtls_5fht_5fhello_5fverify_5frequest',['DTLS_HT_HELLO_VERIFY_REQUEST',['../dtls_8h.html#ab04f98f1863c785fabd97925c9746f7d',1,'dtls.h']]],
-  ['dtls_5fht_5fserver_5fhello',['DTLS_HT_SERVER_HELLO',['../dtls_8h.html#ad5882a5ff4073ffefa266bb2c4a1ee3c',1,'dtls.h']]],
-  ['dtls_5fht_5fserver_5fhello_5fdone',['DTLS_HT_SERVER_HELLO_DONE',['../dtls_8h.html#a44399f223a3e1c8a8bf3fc638a06a4d7',1,'dtls.h']]],
-  ['dtls_5fht_5fserver_5fkey_5fexchange',['DTLS_HT_SERVER_KEY_EXCHANGE',['../dtls_8h.html#aab327e17614cf2902c5fc6169466613f',1,'dtls.h']]],
-  ['dtls_5fhv_5flength',['DTLS_HV_LENGTH',['../dtls_8c.html#a85d3d5311baabdaa06b7824528eef4e5',1,'dtls.c']]],
-  ['dtls_5finfo',['dtls_info',['../debug_8h.html#afde5692e7a590b0dd016d5753284c175',1,'debug.h']]],
-  ['dtls_5fiv_5flength',['DTLS_IV_LENGTH',['../crypto_8h.html#a8106002d0d69d8da810321c65ac71385',1,'crypto.h']]],
-  ['dtls_5fkb_5fclient_5fiv',['dtls_kb_client_iv',['../crypto_8h.html#a1d3c04e5d39477a525b5255ab3240094',1,'crypto.h']]],
-  ['dtls_5fkb_5fclient_5fmac_5fsecret',['dtls_kb_client_mac_secret',['../crypto_8h.html#a72899232c09d09b86326c6f234addc02',1,'crypto.h']]],
-  ['dtls_5fkb_5fclient_5fwrite_5fkey',['dtls_kb_client_write_key',['../crypto_8h.html#ab5659b0737d72a2fa1b1335952f9c305',1,'crypto.h']]],
-  ['dtls_5fkb_5fdigest_5fsize',['dtls_kb_digest_size',['../crypto_8h.html#a5c3cbd4d9e514757deda211e97c9c758',1,'crypto.h']]],
-  ['dtls_5fkb_5fiv_5fsize',['dtls_kb_iv_size',['../crypto_8h.html#adcdadf1870e2acb2993b1a8726d26997',1,'crypto.h']]],
-  ['dtls_5fkb_5fkey_5fsize',['dtls_kb_key_size',['../crypto_8h.html#a726ef8efa2e072c3c5e1ea1019e716aa',1,'crypto.h']]],
-  ['dtls_5fkb_5flocal_5fiv',['dtls_kb_local_iv',['../crypto_8h.html#ae23208578ac21350cb5915d11da0a2e3',1,'crypto.h']]],
-  ['dtls_5fkb_5flocal_5fmac_5fsecret',['dtls_kb_local_mac_secret',['../crypto_8h.html#aa60519b0e9b775ccb0bdb46762f43418',1,'crypto.h']]],
-  ['dtls_5fkb_5flocal_5fwrite_5fkey',['dtls_kb_local_write_key',['../crypto_8h.html#a7c9e39188a2e50eb942ce8c7cd8add36',1,'crypto.h']]],
-  ['dtls_5fkb_5fmac_5fsecret_5fsize',['dtls_kb_mac_secret_size',['../crypto_8h.html#a1f320854c9f4e9b2105649b3624976b0',1,'crypto.h']]],
-  ['dtls_5fkb_5fremote_5fiv',['dtls_kb_remote_iv',['../crypto_8h.html#a7119d3239c34d7e7f219200792339541',1,'crypto.h']]],
-  ['dtls_5fkb_5fremote_5fmac_5fsecret',['dtls_kb_remote_mac_secret',['../crypto_8h.html#acf318c989f5bb90b863154abbc408b66',1,'crypto.h']]],
-  ['dtls_5fkb_5fremote_5fwrite_5fkey',['dtls_kb_remote_write_key',['../crypto_8h.html#addc8fcbbdd80ba924d0ded2a6bae97f4',1,'crypto.h']]],
-  ['dtls_5fkb_5fserver_5fiv',['dtls_kb_server_iv',['../crypto_8h.html#acdd95c24ec6aebf14dac6ee4386a79be',1,'crypto.h']]],
-  ['dtls_5fkb_5fserver_5fmac_5fsecret',['dtls_kb_server_mac_secret',['../crypto_8h.html#ac8fdf3770dcd956ca10d1044a57a7a3a',1,'crypto.h']]],
-  ['dtls_5fkb_5fserver_5fwrite_5fkey',['dtls_kb_server_write_key',['../crypto_8h.html#aea906786dcfa12acb320df731c8db7f6',1,'crypto.h']]],
-  ['dtls_5fkb_5fsize',['dtls_kb_size',['../crypto_8h.html#a147bfdc558c2ec69ffdf388ae19ae01c',1,'crypto.h']]],
-  ['dtls_5fkey_5flength',['DTLS_KEY_LENGTH',['../crypto_8h.html#a829b5d5e4d693fdb3de335a0e2017076',1,'crypto.h']]],
-  ['dtls_5fmac_5fkey_5flength',['DTLS_MAC_KEY_LENGTH',['../crypto_8h.html#a5962b0d908f9b15406ca53d27a33e08a',1,'crypto.h']]],
-  ['dtls_5fmac_5flength',['DTLS_MAC_LENGTH',['../crypto_8h.html#a4fa04874a476a8cc5048372b6d584dbe',1,'crypto.h']]],
-  ['dtls_5fmaster_5fsecret_5flength',['DTLS_MASTER_SECRET_LENGTH',['../crypto_8h.html#a2648582ddf4c82abc01d8388bd3f15db',1,'crypto.h']]],
-  ['dtls_5fmax_5fbuf',['DTLS_MAX_BUF',['../global_8h.html#acdbfba15eb1a5692e177d582b4ca1583',1,'global.h']]],
-  ['dtls_5fnotice',['dtls_notice',['../debug_8h.html#add9bf011215b9fc36abc5c80722c876e',1,'debug.h']]],
-  ['dtls_5fpsk',['DTLS_PSK',['../dtls__config_8h.html#a5ce72e9d11801559b799b999f50c49cf',1,'DTLS_PSK():&#160;dtls_config.h'],['../tinydtls_8h.html#a5ce72e9d11801559b799b999f50c49cf',1,'DTLS_PSK():&#160;tinydtls.h']]],
-  ['dtls_5fpsk_5fmax_5fclient_5fidentity_5flen',['DTLS_PSK_MAX_CLIENT_IDENTITY_LEN',['../crypto_8h.html#ab96c8e0773a14d1ce1621eed1a78e2bd',1,'crypto.h']]],
-  ['dtls_5fpsk_5fmax_5fkey_5flen',['DTLS_PSK_MAX_KEY_LEN',['../crypto_8h.html#a59cd7c0b8724e1f9b910611623396080',1,'crypto.h']]],
-  ['dtls_5frandom_5flength',['DTLS_RANDOM_LENGTH',['../crypto_8h.html#a5a0bdff7c0889f35601b4935098508a0',1,'crypto.h']]],
-  ['dtls_5frecord_5fheader',['DTLS_RECORD_HEADER',['../dtls_8c.html#a35d050593196252c1826ac2e82cbac0b',1,'dtls.c']]],
-  ['dtls_5frh_5flength',['DTLS_RH_LENGTH',['../dtls_8c.html#ae97c368900c13dc7074c09e8848afa8f',1,'dtls.c']]],
-  ['dtls_5fset_5fapp_5fdata',['dtls_set_app_data',['../dtls_8h.html#a89611ebcb02bb3bbf56dfb583937586e',1,'dtls.h']]],
-  ['dtls_5fset_5fcontent_5ftype',['dtls_set_content_type',['../dtls_8c.html#a8e0ab8b3ce70468c29820cafe96cd365',1,'dtls.c']]],
-  ['dtls_5fset_5flength',['dtls_set_length',['../dtls_8c.html#a9f723101896941fa44ea701c4dfd3591',1,'dtls.c']]],
-  ['dtls_5fset_5fversion',['dtls_set_version',['../dtls_8c.html#aebefc949b2298e7de7b95b715874d407',1,'dtls.c']]],
-  ['dtls_5fsh_5flength',['DTLS_SH_LENGTH',['../dtls_8c.html#afcca5dc5ebcc9eb8141ca0b49b647676',1,'dtls.c']]],
-  ['dtls_5fskexec_5flength',['DTLS_SKEXEC_LENGTH',['../dtls_8c.html#ad9481c39cd66eac3059df28aef1e9843',1,'dtls.c']]],
-  ['dtls_5fskexecpsk_5flength_5fmax',['DTLS_SKEXECPSK_LENGTH_MAX',['../dtls_8c.html#a8a4dc9af457241380a01c8e38fdc4e2d',1,'dtls.c']]],
-  ['dtls_5fskexecpsk_5flength_5fmin',['DTLS_SKEXECPSK_LENGTH_MIN',['../dtls_8c.html#a4c0c656efcfd0e33595914171e51ae6d',1,'dtls.c']]],
-  ['dtls_5fversion',['DTLS_VERSION',['../dtls_8h.html#af0c44db3bf3a6a52e9ed271218daeaa6',1,'dtls.h']]],
-  ['dtls_5fwarn',['dtls_warn',['../debug_8h.html#ae1c22127c92fab70da7bf9cae8536e5c',1,'debug.h']]],
-  ['dtlsv12',['DTLSv12',['../global_8h.html#a6b9b983a346a3e94eff205f8eab2bce0',1,'global.h']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/defines_4.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/defines_4.html
deleted file mode 100644 (file)
index 90e654d..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="defines_4.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/defines_4.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/defines_4.js
deleted file mode 100644 (file)
index 097cd6e..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-var searchData=
-[
-  ['elmt_5ffrom_5fhh',['ELMT_FROM_HH',['../uthash_8h.html#a568e95048979b8b3e4ea1567fd91c186',1,'uthash.h']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/defines_5.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/defines_5.html
deleted file mode 100644 (file)
index e02f8a2..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="defines_5.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/defines_5.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/defines_5.js
deleted file mode 100644 (file)
index 466041e..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-var searchData=
-[
-  ['get16bits',['get16bits',['../uthash_8h.html#abc7d71657be8975a51684e41029b7964',1,'uthash.h']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/defines_6.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/defines_6.html
deleted file mode 100644 (file)
index 52aef19..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="defines_6.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/defines_6.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/defines_6.js
deleted file mode 100644 (file)
index 19aa8f1..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-var searchData=
-[
-  ['handshake',['HANDSHAKE',['../dtls_8c.html#a354c84e6c783c5d0cdbf905c27e77dc4',1,'dtls.c']]],
-  ['hash_5fadd',['HASH_ADD',['../uthash_8h.html#aaf01358e257c8d838eb5e4b189f0c399',1,'uthash.h']]],
-  ['hash_5fadd_5fint',['HASH_ADD_INT',['../uthash_8h.html#acf85835471af894e354efb7e346698f3',1,'uthash.h']]],
-  ['hash_5fadd_5fkeyptr',['HASH_ADD_KEYPTR',['../uthash_8h.html#a0b7468360b5c788762cdb2ccf9cd4d26',1,'uthash.h']]],
-  ['hash_5fadd_5fpeer',['HASH_ADD_PEER',['../dtls_8c.html#acf0d50c9f224c0677988f13e947e9523',1,'dtls.c']]],
-  ['hash_5fadd_5fptr',['HASH_ADD_PTR',['../uthash_8h.html#a2ad1f84ef1ba9df99fa2ada38cb61823',1,'uthash.h']]],
-  ['hash_5fadd_5fstr',['HASH_ADD_STR',['../uthash_8h.html#a9724951736f3985f74df17638c8a7885',1,'uthash.h']]],
-  ['hash_5fadd_5fto_5fbkt',['HASH_ADD_TO_BKT',['../uthash_8h.html#a78e11adee321f45c5cb31ff2d6eb0348',1,'uthash.h']]],
-  ['hash_5fber',['HASH_BER',['../uthash_8h.html#a7271bf51d7fe2cf2c183578aee73601e',1,'uthash.h']]],
-  ['hash_5fbkt_5fcapacity_5fthresh',['HASH_BKT_CAPACITY_THRESH',['../uthash_8h.html#a8ae3e6473261f6c4b78c030c94f5d68f',1,'uthash.h']]],
-  ['hash_5fbloom_5fadd',['HASH_BLOOM_ADD',['../uthash_8h.html#acaad947212056cd8bfe3d660265fb2db',1,'uthash.h']]],
-  ['hash_5fbloom_5ffree',['HASH_BLOOM_FREE',['../uthash_8h.html#ad6847ad938fc26bfd0726d7f159efd0a',1,'uthash.h']]],
-  ['hash_5fbloom_5fmake',['HASH_BLOOM_MAKE',['../uthash_8h.html#a254f427772a1fe7a2480a8302af8f8b8',1,'uthash.h']]],
-  ['hash_5fbloom_5fsignature',['HASH_BLOOM_SIGNATURE',['../uthash_8h.html#a18a33f4269f05c1e81ce54edbc0ffca6',1,'uthash.h']]],
-  ['hash_5fbloom_5ftest',['HASH_BLOOM_TEST',['../uthash_8h.html#a06bfbf880899d54da35487d0d39c1009',1,'uthash.h']]],
-  ['hash_5fclear',['HASH_CLEAR',['../uthash_8h.html#a0512b3f7a824275579ec82643ef2cc23',1,'uthash.h']]],
-  ['hash_5fcnt',['HASH_CNT',['../uthash_8h.html#a6ea9e661cd8c35eff1fdcd5731127edd',1,'uthash.h']]],
-  ['hash_5fcount',['HASH_COUNT',['../uthash_8h.html#a7d3edf55a3ee4da1a0e1b477c314342f',1,'uthash.h']]],
-  ['hash_5fdel',['HASH_DEL',['../uthash_8h.html#a48b7ed374602dcb236501aa23a971f05',1,'uthash.h']]],
-  ['hash_5fdel_5fin_5fbkt',['HASH_DEL_IN_BKT',['../uthash_8h.html#a1b2d6f694f98cf6350cdd18225cb3f78',1,'uthash.h']]],
-  ['hash_5fdel_5fpeer',['HASH_DEL_PEER',['../dtls_8c.html#a0844494b0b76acb7bcf832ae74fb25c0',1,'dtls.c']]],
-  ['hash_5fdelete',['HASH_DELETE',['../uthash_8h.html#a3f83117e1108d63844a58d2d79c3b980',1,'uthash.h']]],
-  ['hash_5femit_5fkey',['HASH_EMIT_KEY',['../uthash_8h.html#a44f9d46e2cc79652492e5dd3e6c40a15',1,'uthash.h']]],
-  ['hash_5fexpand_5fbuckets',['HASH_EXPAND_BUCKETS',['../uthash_8h.html#a6439fd6271474e61b1840fbf83132f03',1,'uthash.h']]],
-  ['hash_5ffcn',['HASH_FCN',['../uthash_8h.html#abd3356419b386c379116393700a751d3',1,'uthash.h']]],
-  ['hash_5ffind',['HASH_FIND',['../uthash_8h.html#ad4a1cd39c3044936c0e49d3f372c9dbf',1,'uthash.h']]],
-  ['hash_5ffind_5fin_5fbkt',['HASH_FIND_IN_BKT',['../uthash_8h.html#a42ae87cc63106a82601808f19329502c',1,'uthash.h']]],
-  ['hash_5ffind_5fint',['HASH_FIND_INT',['../uthash_8h.html#aadcb19b940348f3141bd51505ede0142',1,'uthash.h']]],
-  ['hash_5ffind_5fpeer',['HASH_FIND_PEER',['../dtls_8c.html#a0ce6e5416f5479558116b881d3eb1ad6',1,'dtls.c']]],
-  ['hash_5ffind_5fptr',['HASH_FIND_PTR',['../uthash_8h.html#a26a887f8e31952034becac0cf446f6c3',1,'uthash.h']]],
-  ['hash_5ffind_5fstr',['HASH_FIND_STR',['../uthash_8h.html#a214529083adfab2fa8cd402d2eeb0a84',1,'uthash.h']]],
-  ['hash_5ffnv',['HASH_FNV',['../uthash_8h.html#ac99f9a353421537527a80b392089dd9d',1,'uthash.h']]],
-  ['hash_5ffsck',['HASH_FSCK',['../uthash_8h.html#a7d882fadb26a4e6c13c134d8be4d0759',1,'uthash.h']]],
-  ['hash_5finitial_5fnum_5fbuckets',['HASH_INITIAL_NUM_BUCKETS',['../uthash_8h.html#a361cdc5e8d6d8fe5fae6912588ae15d0',1,'uthash.h']]],
-  ['hash_5finitial_5fnum_5fbuckets_5flog2',['HASH_INITIAL_NUM_BUCKETS_LOG2',['../uthash_8h.html#a0b39a5cf1d6c05c43bd8530db2ec908c',1,'uthash.h']]],
-  ['hash_5fiter',['HASH_ITER',['../uthash_8h.html#a4d524042f1fcb976d8bccae9e4cc63d6',1,'uthash.h']]],
-  ['hash_5fjen',['HASH_JEN',['../uthash_8h.html#aa16e3ae6125d7f10d3deb4695e0ee51e',1,'uthash.h']]],
-  ['hash_5fjen_5fmix',['HASH_JEN_MIX',['../uthash_8h.html#a6d37144e54d2bd49eb88fbfd04c59dc5',1,'uthash.h']]],
-  ['hash_5fkeycmp',['HASH_KEYCMP',['../uthash_8h.html#a35c9b682ebb7a8cbf284b9f0a9594095',1,'uthash.h']]],
-  ['hash_5fmake_5ftable',['HASH_MAKE_TABLE',['../uthash_8h.html#aeba971430f623b6334f565d9c7ec9de5',1,'uthash.h']]],
-  ['hash_5foat',['HASH_OAT',['../uthash_8h.html#abc7040b698211c1993441fb4165fa0b4',1,'uthash.h']]],
-  ['hash_5fsax',['HASH_SAX',['../uthash_8h.html#aa4cb140b45415e7bf57237525388af79',1,'uthash.h']]],
-  ['hash_5fselect',['HASH_SELECT',['../uthash_8h.html#ad190366f7a476ece79bd628240a5fc93',1,'uthash.h']]],
-  ['hash_5fsfh',['HASH_SFH',['../uthash_8h.html#ab595698a74642684dace0dfa47dab445',1,'uthash.h']]],
-  ['hash_5fsignature',['HASH_SIGNATURE',['../uthash_8h.html#a4a7a46b9b92a9c73e4f9321e8e6b6bb2',1,'uthash.h']]],
-  ['hash_5fsort',['HASH_SORT',['../uthash_8h.html#a88d2ab40956878caacd02c214f7e8f15',1,'uthash.h']]],
-  ['hash_5fsrt',['HASH_SRT',['../uthash_8h.html#a388b4071dcff005154f431d3d3025fbd',1,'uthash.h']]],
-  ['hash_5fto_5fbkt',['HASH_TO_BKT',['../uthash_8h.html#a4d7691544128a6ef265f3e4fa5ed3113',1,'uthash.h']]],
-  ['have_5farpa_5finet_5fh',['HAVE_ARPA_INET_H',['../config_8h.html#a7d1a71461e07569d0c9003da24c30a59',1,'HAVE_ARPA_INET_H():&#160;config.h'],['../dtls__config_8h.html#a7d1a71461e07569d0c9003da24c30a59',1,'HAVE_ARPA_INET_H():&#160;dtls_config.h']]],
-  ['have_5fassert_5fh',['HAVE_ASSERT_H',['../config_8h.html#ad0eabe2e5407bc73450eb15b657983cd',1,'HAVE_ASSERT_H():&#160;config.h'],['../dtls__config_8h.html#ad0eabe2e5407bc73450eb15b657983cd',1,'HAVE_ASSERT_H():&#160;dtls_config.h']]],
-  ['have_5ffcntl_5fh',['HAVE_FCNTL_H',['../config_8h.html#a765d75020849aa0a9b6becd9a5b7a193',1,'HAVE_FCNTL_H():&#160;config.h'],['../dtls__config_8h.html#a765d75020849aa0a9b6becd9a5b7a193',1,'HAVE_FCNTL_H():&#160;dtls_config.h']]],
-  ['have_5finttypes_5fh',['HAVE_INTTYPES_H',['../config_8h.html#ab90a030ff2790ebdc176660a6dd2a478',1,'HAVE_INTTYPES_H():&#160;config.h'],['../dtls__config_8h.html#ab90a030ff2790ebdc176660a6dd2a478',1,'HAVE_INTTYPES_H():&#160;dtls_config.h']]],
-  ['have_5fmalloc',['HAVE_MALLOC',['../config_8h.html#a14503280ca0cb757db915eea09282bfc',1,'HAVE_MALLOC():&#160;config.h'],['../dtls__config_8h.html#a14503280ca0cb757db915eea09282bfc',1,'HAVE_MALLOC():&#160;dtls_config.h']]],
-  ['have_5fmemory_5fh',['HAVE_MEMORY_H',['../config_8h.html#ae93a78f9d076138897af441c9f86f285',1,'HAVE_MEMORY_H():&#160;config.h'],['../dtls__config_8h.html#ae93a78f9d076138897af441c9f86f285',1,'HAVE_MEMORY_H():&#160;dtls_config.h']]],
-  ['have_5fmemset',['HAVE_MEMSET',['../config_8h.html#a3df52e9809253860c385be6f3a160607',1,'HAVE_MEMSET():&#160;config.h'],['../dtls__config_8h.html#a3df52e9809253860c385be6f3a160607',1,'HAVE_MEMSET():&#160;dtls_config.h']]],
-  ['have_5fnetdb_5fh',['HAVE_NETDB_H',['../config_8h.html#a9fe2d1d4726a6b846483a2276866dc6e',1,'HAVE_NETDB_H():&#160;config.h'],['../dtls__config_8h.html#a9fe2d1d4726a6b846483a2276866dc6e',1,'HAVE_NETDB_H():&#160;dtls_config.h']]],
-  ['have_5fnetinet_5fin_5fh',['HAVE_NETINET_IN_H',['../config_8h.html#a0938658b988a082864efcee2d1b2bfd2',1,'HAVE_NETINET_IN_H():&#160;config.h'],['../dtls__config_8h.html#a0938658b988a082864efcee2d1b2bfd2',1,'HAVE_NETINET_IN_H():&#160;dtls_config.h']]],
-  ['have_5fselect',['HAVE_SELECT',['../config_8h.html#aee3a7313d861afa18971031528fd0cd5',1,'HAVE_SELECT():&#160;config.h'],['../dtls__config_8h.html#aee3a7313d861afa18971031528fd0cd5',1,'HAVE_SELECT():&#160;dtls_config.h']]],
-  ['have_5fsocket',['HAVE_SOCKET',['../config_8h.html#a4cd6234bfe3f7c10968a1151f43ce280',1,'HAVE_SOCKET():&#160;config.h'],['../dtls__config_8h.html#a4cd6234bfe3f7c10968a1151f43ce280',1,'HAVE_SOCKET():&#160;dtls_config.h']]],
-  ['have_5fstddef_5fh',['HAVE_STDDEF_H',['../config_8h.html#a0e6b9a04ae66b7846715e51a0a2dccff',1,'HAVE_STDDEF_H():&#160;config.h'],['../dtls__config_8h.html#a0e6b9a04ae66b7846715e51a0a2dccff',1,'HAVE_STDDEF_H():&#160;dtls_config.h']]],
-  ['have_5fstdint_5fh',['HAVE_STDINT_H',['../config_8h.html#ab6cd6d1c63c1e26ea2d4537b77148354',1,'HAVE_STDINT_H():&#160;config.h'],['../dtls__config_8h.html#ab6cd6d1c63c1e26ea2d4537b77148354',1,'HAVE_STDINT_H():&#160;dtls_config.h']]],
-  ['have_5fstdlib_5fh',['HAVE_STDLIB_H',['../config_8h.html#a9e0e434ec1a6ddbd97db12b5a32905e0',1,'HAVE_STDLIB_H():&#160;config.h'],['../dtls__config_8h.html#a9e0e434ec1a6ddbd97db12b5a32905e0',1,'HAVE_STDLIB_H():&#160;dtls_config.h']]],
-  ['have_5fstrdup',['HAVE_STRDUP',['../config_8h.html#a41b838eb3b86a0ebbd0981e92a759c0f',1,'HAVE_STRDUP():&#160;config.h'],['../dtls__config_8h.html#a41b838eb3b86a0ebbd0981e92a759c0f',1,'HAVE_STRDUP():&#160;dtls_config.h']]],
-  ['have_5fstrerror',['HAVE_STRERROR',['../config_8h.html#a992653625041edef146772df96f7bca9',1,'HAVE_STRERROR():&#160;config.h'],['../dtls__config_8h.html#a992653625041edef146772df96f7bca9',1,'HAVE_STRERROR():&#160;dtls_config.h']]],
-  ['have_5fstring_5fh',['HAVE_STRING_H',['../config_8h.html#ad4c234dd1625255dc626a15886306e7d',1,'HAVE_STRING_H():&#160;config.h'],['../dtls__config_8h.html#ad4c234dd1625255dc626a15886306e7d',1,'HAVE_STRING_H():&#160;dtls_config.h']]],
-  ['have_5fstrings_5fh',['HAVE_STRINGS_H',['../config_8h.html#a405d10d46190bcb0320524c54eafc850',1,'HAVE_STRINGS_H():&#160;config.h'],['../dtls__config_8h.html#a405d10d46190bcb0320524c54eafc850',1,'HAVE_STRINGS_H():&#160;dtls_config.h']]],
-  ['have_5fstrnlen',['HAVE_STRNLEN',['../config_8h.html#a9bee6d8db098b2230690f8e8db9ffb74',1,'HAVE_STRNLEN():&#160;config.h'],['../dtls__config_8h.html#a9bee6d8db098b2230690f8e8db9ffb74',1,'HAVE_STRNLEN():&#160;dtls_config.h']]],
-  ['have_5fsys_5fparam_5fh',['HAVE_SYS_PARAM_H',['../config_8h.html#a05aa9fc25e1231d8eb347390558e4e22',1,'HAVE_SYS_PARAM_H():&#160;config.h'],['../dtls__config_8h.html#a05aa9fc25e1231d8eb347390558e4e22',1,'HAVE_SYS_PARAM_H():&#160;dtls_config.h']]],
-  ['have_5fsys_5fsocket_5fh',['HAVE_SYS_SOCKET_H',['../config_8h.html#afb96c2bc08ebf33cca68c714f624a58d',1,'HAVE_SYS_SOCKET_H():&#160;config.h'],['../dtls__config_8h.html#afb96c2bc08ebf33cca68c714f624a58d',1,'HAVE_SYS_SOCKET_H():&#160;dtls_config.h']]],
-  ['have_5fsys_5fstat_5fh',['HAVE_SYS_STAT_H',['../config_8h.html#ace156430ba007d19b4348a950d0c692b',1,'HAVE_SYS_STAT_H():&#160;config.h'],['../dtls__config_8h.html#ace156430ba007d19b4348a950d0c692b',1,'HAVE_SYS_STAT_H():&#160;dtls_config.h']]],
-  ['have_5fsys_5ftime_5fh',['HAVE_SYS_TIME_H',['../config_8h.html#a2aae46056558e9d6fef6380f9678ffe3',1,'HAVE_SYS_TIME_H():&#160;config.h'],['../dtls__config_8h.html#a2aae46056558e9d6fef6380f9678ffe3',1,'HAVE_SYS_TIME_H():&#160;dtls_config.h']]],
-  ['have_5fsys_5ftypes_5fh',['HAVE_SYS_TYPES_H',['../config_8h.html#a69dc70bea5d1f8bd2be9740e974fa666',1,'HAVE_SYS_TYPES_H():&#160;config.h'],['../dtls__config_8h.html#a69dc70bea5d1f8bd2be9740e974fa666',1,'HAVE_SYS_TYPES_H():&#160;dtls_config.h']]],
-  ['have_5ftime_5fh',['HAVE_TIME_H',['../config_8h.html#a2397007ae170bf57faa808bacaaa2499',1,'HAVE_TIME_H():&#160;config.h'],['../dtls__config_8h.html#a2397007ae170bf57faa808bacaaa2499',1,'HAVE_TIME_H():&#160;dtls_config.h']]],
-  ['have_5funistd_5fh',['HAVE_UNISTD_H',['../config_8h.html#a219b06937831d0da94d801ab13987639',1,'HAVE_UNISTD_H():&#160;config.h'],['../dtls__config_8h.html#a219b06937831d0da94d801ab13987639',1,'HAVE_UNISTD_H():&#160;dtls_config.h']]],
-  ['have_5fvprintf',['HAVE_VPRINTF',['../config_8h.html#a11e8ffa0e0ee1d52812402f2eac05fa7',1,'HAVE_VPRINTF():&#160;config.h'],['../dtls__config_8h.html#a11e8ffa0e0ee1d52812402f2eac05fa7',1,'HAVE_VPRINTF():&#160;dtls_config.h']]],
-  ['high',['HIGH',['../dtls_8c.html#aa5a8f0d3793bb3b194ca364b596ab01d',1,'dtls.c']]],
-  ['hmac_5fupdate_5fseed',['HMAC_UPDATE_SEED',['../crypto_8c.html#ab7ea6d487f3c6e67106df7f4d281804a',1,'crypto.c']]],
-  ['hs_5fhdr_5flength',['HS_HDR_LENGTH',['../dtls_8c.html#a76388c15f1b77d3c5b9d8068e8c0a087',1,'dtls.c']]],
-  ['hv_5fhdr_5flength',['HV_HDR_LENGTH',['../dtls_8c.html#a07a808dc78df3141fe5caba2a3e2226b',1,'dtls.c']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/defines_7.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/defines_7.html
deleted file mode 100644 (file)
index 1a4527c..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="defines_7.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/defines_7.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/defines_7.js
deleted file mode 100644 (file)
index 620440b..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-var searchData=
-[
-  ['ldecltype',['LDECLTYPE',['../utlist_8h.html#ae8c9864192170d02fd996abaa1589611',1,'utlist.h']]],
-  ['list_5fconcat',['LIST_CONCAT',['../t__list_8h.html#ad8951367826c57390a9f9892e0fc2659',1,'t_list.h']]],
-  ['list_5fstruct',['LIST_STRUCT',['../t__list_8h.html#ab5acb500a887e1957292f3dddc5c9b79',1,'t_list.h']]],
-  ['list_5fstruct_5finit',['LIST_STRUCT_INIT',['../t__list_8h.html#adcb86fe4485a0f8ea79541117641f730',1,'t_list.h']]],
-  ['ll_5fappend',['LL_APPEND',['../utlist_8h.html#ace33c571c3df78e721a99a4494983855',1,'utlist.h']]],
-  ['ll_5fappend_5fvs2008',['LL_APPEND_VS2008',['../utlist_8h.html#a3c301ddde2cfd8c32df4137c902b66f3',1,'utlist.h']]],
-  ['ll_5fdelete',['LL_DELETE',['../utlist_8h.html#a34a4e54d488753465f6e87bb63b93c0e',1,'utlist.h']]],
-  ['ll_5fdelete_5fvs2008',['LL_DELETE_VS2008',['../utlist_8h.html#a832d4d46464fb2dada9e198ad4f70cdf',1,'utlist.h']]],
-  ['ll_5fforeach',['LL_FOREACH',['../utlist_8h.html#a487c0ce49f397e1743caae16a797e4bb',1,'utlist.h']]],
-  ['ll_5fforeach_5fsafe',['LL_FOREACH_SAFE',['../utlist_8h.html#ad0a695664d31f0b929fd50b39ebcf0ef',1,'utlist.h']]],
-  ['ll_5fprepend',['LL_PREPEND',['../utlist_8h.html#a851fb4b583b0dc000097eeee6dd551d4',1,'utlist.h']]],
-  ['ll_5fsearch',['LL_SEARCH',['../utlist_8h.html#af7a5ae66c9386c4b89403d9ca038adcb',1,'utlist.h']]],
-  ['ll_5fsearch_5fscalar',['LL_SEARCH_SCALAR',['../utlist_8h.html#a8c5c97079c5b259e4c0ff7c563b0f8ed',1,'utlist.h']]],
-  ['ll_5fsort',['LL_SORT',['../utlist_8h.html#a0b2137d4a0c157cb7a1a30d9340ece31',1,'utlist.h']]],
-  ['low',['LOW',['../dtls_8c.html#a69edf0296cf64026686d4ff4424d4e8f',1,'dtls.c']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/defines_8.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/defines_8.html
deleted file mode 100644 (file)
index 66764b7..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="defines_8.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/defines_8.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/defines_8.js
deleted file mode 100644 (file)
index b07b7ee..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-var searchData=
-[
-  ['mask_5fl',['MASK_L',['../ccm_8c.html#a46e95fc2cb115ab9c342707ec443265f',1,'ccm.c']]],
-  ['max',['max',['../numeric_8h.html#a24e753bacac6be5f30e18f8a2bdefda4',1,'numeric.h']]],
-  ['max_5fkeyblock_5flength',['MAX_KEYBLOCK_LENGTH',['../crypto_8h.html#a0df6db4f8c29f2b0aa5a1363b4f9127f',1,'crypto.h']]],
-  ['min',['min',['../debug_8c.html#ac6afabdc09a49a433ee19d8a9486056d',1,'min():&#160;debug.c'],['../numeric_8h.html#a2d017cd3beb218080a7988e2deed2a11',1,'min():&#160;numeric.h']]],
-  ['must_5fhash',['MUST_HASH',['../dtls_8c.html#a9279d8f0e7c7b30f968ed085b5a3136f',1,'dtls.c']]],
-  ['mycookie',['mycookie',['../dtls_8c.html#a97496e1be0f2fe54873b35ee8bf0d462',1,'dtls.c']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/defines_9.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/defines_9.html
deleted file mode 100644 (file)
index f6fd783..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="defines_9.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/defines_9.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/defines_9.js
deleted file mode 100644 (file)
index 773159e..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-var searchData=
-[
-  ['package_5fbugreport',['PACKAGE_BUGREPORT',['../config_8h.html#a1d1d2d7f8d2f95b376954d649ab03233',1,'PACKAGE_BUGREPORT():&#160;config.h'],['../dtls__config_8h.html#a1d1d2d7f8d2f95b376954d649ab03233',1,'PACKAGE_BUGREPORT():&#160;dtls_config.h']]],
-  ['package_5fname',['PACKAGE_NAME',['../config_8h.html#a1c0439e4355794c09b64274849eb0279',1,'PACKAGE_NAME():&#160;config.h'],['../dtls__config_8h.html#a1c0439e4355794c09b64274849eb0279',1,'PACKAGE_NAME():&#160;dtls_config.h']]],
-  ['package_5fstring',['PACKAGE_STRING',['../config_8h.html#ac73e6f903c16eca7710f92e36e1c6fbf',1,'PACKAGE_STRING():&#160;config.h'],['../dtls__config_8h.html#ac73e6f903c16eca7710f92e36e1c6fbf',1,'PACKAGE_STRING():&#160;dtls_config.h']]],
-  ['package_5ftarname',['PACKAGE_TARNAME',['../config_8h.html#af415af6bfede0e8d5453708afe68651c',1,'PACKAGE_TARNAME():&#160;config.h'],['../dtls__config_8h.html#af415af6bfede0e8d5453708afe68651c',1,'PACKAGE_TARNAME():&#160;dtls_config.h']]],
-  ['package_5furl',['PACKAGE_URL',['../config_8h.html#a5c93853116d5a50307b6744f147840aa',1,'PACKAGE_URL():&#160;config.h'],['../dtls__config_8h.html#a5c93853116d5a50307b6744f147840aa',1,'PACKAGE_URL():&#160;dtls_config.h']]],
-  ['package_5fversion',['PACKAGE_VERSION',['../config_8h.html#aa326a05d5e30f9e9a4bb0b4469d5d0c0',1,'PACKAGE_VERSION():&#160;config.h'],['../dtls__config_8h.html#aa326a05d5e30f9e9a4bb0b4469d5d0c0',1,'PACKAGE_VERSION():&#160;dtls_config.h']]],
-  ['prf_5flabel',['PRF_LABEL',['../dtls_8c.html#abac8adda40bcb694e059e38f6ac115f9',1,'dtls.c']]],
-  ['prf_5flabel_5fsize',['PRF_LABEL_SIZE',['../dtls_8c.html#a83b260e812e69f1dae18497d167770a9',1,'dtls.c']]],
-  ['printf',['PRINTF',['../debug_8h.html#a1f464e950a4fa11e8821b5c725921a15',1,'debug.h']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/defines_a.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/defines_a.html
deleted file mode 100644 (file)
index c28019f..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="defines_a.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/defines_a.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/defines_a.js
deleted file mode 100644 (file)
index 806930b..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-var searchData=
-[
-  ['r_5fkey_5foffset',['R_KEY_OFFSET',['../dtls_8c.html#ab7a17e13b17da97cbef046b20cd7280f',1,'dtls.c']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/defines_b.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/defines_b.html
deleted file mode 100644 (file)
index 6e8f2d0..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="defines_b.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/defines_b.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/defines_b.js
deleted file mode 100644 (file)
index 75f6638..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-var searchData=
-[
-  ['s_5fkey_5foffset',['S_KEY_OFFSET',['../dtls_8c.html#a2cf5795397ac5779f281543fc0f44ae9',1,'dtls.c']]],
-  ['set_5fcounter',['SET_COUNTER',['../ccm_8c.html#a13d9e1fa611f50a7176fd6da7b1b4994',1,'ccm.c']]],
-  ['skip_5fvar_5ffield',['SKIP_VAR_FIELD',['../dtls_8c.html#a09a0896d586ff27855ced6930cc17023',1,'dtls.c']]],
-  ['stdc_5fheaders',['STDC_HEADERS',['../config_8h.html#a550e5c272cc3cf3814651721167dcd23',1,'STDC_HEADERS():&#160;config.h'],['../dtls__config_8h.html#a550e5c272cc3cf3814651721167dcd23',1,'STDC_HEADERS():&#160;dtls_config.h']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/defines_c.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/defines_c.html
deleted file mode 100644 (file)
index 52fbffa..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="defines_c.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/defines_c.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/defines_c.js
deleted file mode 100644 (file)
index f555803..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-var searchData=
-[
-  ['tls_5fcert_5ftype_5fraw_5fpublic_5fkey',['TLS_CERT_TYPE_RAW_PUBLIC_KEY',['../global_8h.html#af36d51830256b7d1bf4dbaa8590c19e4',1,'global.h']]],
-  ['tls_5fclient_5fcertificate_5ftype_5fecdsa_5fsign',['TLS_CLIENT_CERTIFICATE_TYPE_ECDSA_SIGN',['../global_8h.html#aaace8dce4341d910140609a96bb300db',1,'global.h']]],
-  ['tls_5fec_5fcurve_5ftype_5fnamed_5fcurve',['TLS_EC_CURVE_TYPE_NAMED_CURVE',['../global_8h.html#ac97469cc46ceeb148ee92f47a26ebcf6',1,'global.h']]],
-  ['tls_5fext_5fclient_5fcertificate_5ftype',['TLS_EXT_CLIENT_CERTIFICATE_TYPE',['../global_8h.html#a0074adc0b2543a913a597e510caf27b0',1,'global.h']]],
-  ['tls_5fext_5fec_5fpoint_5fformats',['TLS_EXT_EC_POINT_FORMATS',['../global_8h.html#a5d17863db920927ef8160547541b58e3',1,'global.h']]],
-  ['tls_5fext_5fec_5fpoint_5fformats_5funcompressed',['TLS_EXT_EC_POINT_FORMATS_UNCOMPRESSED',['../global_8h.html#af086ed2d0aea096be56bf7e46f8f72a6',1,'global.h']]],
-  ['tls_5fext_5felliptic_5fcurves',['TLS_EXT_ELLIPTIC_CURVES',['../global_8h.html#a7e080d630a40510f655bf6982c555063',1,'global.h']]],
-  ['tls_5fext_5felliptic_5fcurves_5fsecp256r1',['TLS_EXT_ELLIPTIC_CURVES_SECP256R1',['../global_8h.html#a8095691f33c0ce6b22d205640ccc9417',1,'global.h']]],
-  ['tls_5fext_5fencrypt_5fthen_5fmac',['TLS_EXT_ENCRYPT_THEN_MAC',['../global_8h.html#ae136afe82bd9031a4c1c604de0cb0118',1,'global.h']]],
-  ['tls_5fext_5fserver_5fcertificate_5ftype',['TLS_EXT_SERVER_CERTIFICATE_TYPE',['../global_8h.html#ad465b86d1841ddd6c2209ff304895a95',1,'global.h']]],
-  ['tls_5fext_5fsig_5fhash_5falgo',['TLS_EXT_SIG_HASH_ALGO',['../global_8h.html#a0249393d6894a15ac56962b2335add24',1,'global.h']]],
-  ['tls_5fext_5fsig_5fhash_5falgo_5fecdsa',['TLS_EXT_SIG_HASH_ALGO_ECDSA',['../global_8h.html#af126227a026a7af436a4323db6d02ecc',1,'global.h']]],
-  ['tls_5fext_5fsig_5fhash_5falgo_5fsha256',['TLS_EXT_SIG_HASH_ALGO_SHA256',['../global_8h.html#aa347771eab2eabd24c4b9311fa61c4c9',1,'global.h']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/defines_d.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/defines_d.html
deleted file mode 100644 (file)
index 434e878..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="defines_d.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/defines_d.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/defines_d.js
deleted file mode 100644 (file)
index 50f9908..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-var searchData=
-[
-  ['uthash_5fexpand_5ffyi',['uthash_expand_fyi',['../uthash_8h.html#a86ea78714da520989a6f7a764b4d71b4',1,'uthash.h']]],
-  ['uthash_5ffatal',['uthash_fatal',['../uthash_8h.html#a03b52301b0ed976b6981ef33613320c1',1,'uthash.h']]],
-  ['uthash_5ffree',['uthash_free',['../uthash_8h.html#a56cdf8c254fc700332c8e6a7263b4657',1,'uthash.h']]],
-  ['uthash_5fmalloc',['uthash_malloc',['../uthash_8h.html#a861013aff36c0448f1888a2b0b5836d8',1,'uthash.h']]],
-  ['uthash_5fnoexpand_5ffyi',['uthash_noexpand_fyi',['../uthash_8h.html#a7cc237d8f87de3836b5390856cfc5c86',1,'uthash.h']]],
-  ['uthash_5fversion',['UTHASH_VERSION',['../uthash_8h.html#aa56cef9cb86dc1f4b5d27ee3a691077e',1,'uthash.h']]],
-  ['utlist_5fversion',['UTLIST_VERSION',['../utlist_8h.html#a9f3779f3c49ddf609c97f1c3d1f29730',1,'utlist.h']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/defines_e.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/defines_e.html
deleted file mode 100644 (file)
index 897e317..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="defines_e.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/defines_e.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/defines_e.js
deleted file mode 100644 (file)
index 4f983d2..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-var searchData=
-[
-  ['with_5fsha256',['WITH_SHA256',['../global_8h.html#a4da6212f220f78c713aa5e91f989e7d7',1,'global.h']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/enums_0.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/enums_0.html
deleted file mode 100644 (file)
index b4cbe1e..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="enums_0.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/enums_0.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/enums_0.js
deleted file mode 100644 (file)
index b1bd961..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-var searchData=
-[
-  ['dtls_5falert_5flevel_5ft',['dtls_alert_level_t',['../alert_8h.html#ab6264d1b950719f1c2e00b122cad871f',1,'alert.h']]],
-  ['dtls_5falert_5ft',['dtls_alert_t',['../alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbd',1,'alert.h']]],
-  ['dtls_5fcipher_5ft',['dtls_cipher_t',['../global_8h.html#ada7e71454d685b693df45b2c1ea0c59b',1,'global.h']]],
-  ['dtls_5fcompression_5ft',['dtls_compression_t',['../global_8h.html#a1ff555e0b1443c4cb4d17ac2161d89b2',1,'global.h']]],
-  ['dtls_5fcredentials_5ftype_5ft',['dtls_credentials_type_t',['../dtls_8h.html#a36eda3add5e2d12a3b5e2b6fe7038e01',1,'dtls.h']]],
-  ['dtls_5fcrypto_5falg',['dtls_crypto_alg',['../crypto_8h.html#a41f1aa1e1380c5f51d9af32c0a53f7b1',1,'crypto.h']]],
-  ['dtls_5fecdh_5fcurve',['dtls_ecdh_curve',['../crypto_8h.html#a3710d42871d602387a5147c05bf9f1ef',1,'crypto.h']]],
-  ['dtls_5fhashfunc_5ft',['dtls_hashfunc_t',['../group__HMAC.html#ga698cfa036e69361a93dcdd9b19579b23',1,'hmac.h']]],
-  ['dtls_5fpeer_5ftype',['dtls_peer_type',['../peer_8h.html#ae30cd4bcffed73f79f17c09e5a1452c8',1,'peer.h']]],
-  ['dtls_5fstate_5ft',['dtls_state_t',['../state_8h.html#aea0e57fd5b857535960534b53361aa35',1,'state.h']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/enums_1.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/enums_1.html
deleted file mode 100644 (file)
index 2af2a03..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="enums_1.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/enums_1.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/enums_1.js
deleted file mode 100644 (file)
index 38bcf76..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-var searchData=
-[
-  ['log_5ft',['log_t',['../debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9d',1,'debug.h']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/enumvalues_0.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/enumvalues_0.html
deleted file mode 100644 (file)
index 3e00fcf..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="enumvalues_0.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/enumvalues_0.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/enumvalues_0.js
deleted file mode 100644 (file)
index 8a2a06c..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-var searchData=
-[
-  ['aes128',['AES128',['../crypto_8h.html#a41f1aa1e1380c5f51d9af32c0a53f7b1a1832208b0a725185016b59150ff74fc4',1,'crypto.h']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/enumvalues_1.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/enumvalues_1.html
deleted file mode 100644 (file)
index 0e575c9..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="enumvalues_1.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/enumvalues_1.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/enumvalues_1.js
deleted file mode 100644 (file)
index 50a1853..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-var searchData=
-[
-  ['dtls_5falert_5faccess_5fdenied',['DTLS_ALERT_ACCESS_DENIED',['../alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdad86305f8c32e7600fcafc0abcedd0a11',1,'alert.h']]],
-  ['dtls_5falert_5fbad_5fcertificate',['DTLS_ALERT_BAD_CERTIFICATE',['../alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdaaf5d5f80170bcf70000c18876e7bdb5c',1,'alert.h']]],
-  ['dtls_5falert_5fbad_5frecord_5fmac',['DTLS_ALERT_BAD_RECORD_MAC',['../alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda4005b89a3396b23037f8033b29268eca',1,'alert.h']]],
-  ['dtls_5falert_5fcertificate_5fexpired',['DTLS_ALERT_CERTIFICATE_EXPIRED',['../alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda845dc73ad17d0fb919489cc110633782',1,'alert.h']]],
-  ['dtls_5falert_5fcertificate_5frevoked',['DTLS_ALERT_CERTIFICATE_REVOKED',['../alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda2e000f966c0ff01cf198ea862aa5cfe1',1,'alert.h']]],
-  ['dtls_5falert_5fcertificate_5funknown',['DTLS_ALERT_CERTIFICATE_UNKNOWN',['../alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda450355820da8d9eff4dd6d17eb52585d',1,'alert.h']]],
-  ['dtls_5falert_5fclose_5fnotify',['DTLS_ALERT_CLOSE_NOTIFY',['../alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda6bbae4f2f3747af4cdbe80c4a1061800',1,'alert.h']]],
-  ['dtls_5falert_5fdecode_5ferror',['DTLS_ALERT_DECODE_ERROR',['../alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdae3249841cb226881ce6dadffb9f22649',1,'alert.h']]],
-  ['dtls_5falert_5fdecompression_5ffailure',['DTLS_ALERT_DECOMPRESSION_FAILURE',['../alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdaaf4ca9003cf380ae80a46b925b482888',1,'alert.h']]],
-  ['dtls_5falert_5fdecrypt_5ferror',['DTLS_ALERT_DECRYPT_ERROR',['../alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda56a136f4d20b3ce9fb967eedb37371e0',1,'alert.h']]],
-  ['dtls_5falert_5fhandshake_5ffailure',['DTLS_ALERT_HANDSHAKE_FAILURE',['../alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdaea5ed33e912421eb48afb73ce0a6014d',1,'alert.h']]],
-  ['dtls_5falert_5fillegal_5fparameter',['DTLS_ALERT_ILLEGAL_PARAMETER',['../alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda880948aace26b2da8acde4c29ababcfc',1,'alert.h']]],
-  ['dtls_5falert_5finsufficient_5fsecurity',['DTLS_ALERT_INSUFFICIENT_SECURITY',['../alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda2cc56008c097883058c0e2e8ecc6751e',1,'alert.h']]],
-  ['dtls_5falert_5finternal_5ferror',['DTLS_ALERT_INTERNAL_ERROR',['../alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda22948f7c825b68cc18c79bd3634c8f58',1,'alert.h']]],
-  ['dtls_5falert_5flevel_5ffatal',['DTLS_ALERT_LEVEL_FATAL',['../alert_8h.html#ab6264d1b950719f1c2e00b122cad871fabd07bcf63c24aa5f1b9706a4197ceaf4',1,'alert.h']]],
-  ['dtls_5falert_5flevel_5fwarning',['DTLS_ALERT_LEVEL_WARNING',['../alert_8h.html#ab6264d1b950719f1c2e00b122cad871fa0f670b55dcb4ab291b869827d3c62ee7',1,'alert.h']]],
-  ['dtls_5falert_5fno_5frenegotiation',['DTLS_ALERT_NO_RENEGOTIATION',['../alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda8939a5d1777bf0dbdd8fa44e335137ab',1,'alert.h']]],
-  ['dtls_5falert_5fprotocol_5fversion',['DTLS_ALERT_PROTOCOL_VERSION',['../alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdaa392c9a6bb02b01386a1c34dc1947652',1,'alert.h']]],
-  ['dtls_5falert_5frecord_5foverflow',['DTLS_ALERT_RECORD_OVERFLOW',['../alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdad4d94666f310fb6982c26c70eddd6d12',1,'alert.h']]],
-  ['dtls_5falert_5funexpected_5fmessage',['DTLS_ALERT_UNEXPECTED_MESSAGE',['../alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda7b9032725373912bd7fda54af8704d8a',1,'alert.h']]],
-  ['dtls_5falert_5funknown_5fca',['DTLS_ALERT_UNKNOWN_CA',['../alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbdaf8b7bd9f8a6c02080f4b1af566bc1a2f',1,'alert.h']]],
-  ['dtls_5falert_5funsupported_5fcertificate',['DTLS_ALERT_UNSUPPORTED_CERTIFICATE',['../alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda0de27a30ca57e1a93a066e8dc6b6beab',1,'alert.h']]],
-  ['dtls_5falert_5funsupported_5fextension',['DTLS_ALERT_UNSUPPORTED_EXTENSION',['../alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda8512357ac6a83788ea76feb2ed9e2efc',1,'alert.h']]],
-  ['dtls_5falert_5fuser_5fcanceled',['DTLS_ALERT_USER_CANCELED',['../alert_8h.html#a41c9f2d4035bc6bf5a0f437842a9ecbda98631510b0a19a786fb4bc896ed37638',1,'alert.h']]],
-  ['dtls_5fclient',['DTLS_CLIENT',['../peer_8h.html#ae30cd4bcffed73f79f17c09e5a1452c8afd8391395303e28ee9b375232cb68a1e',1,'peer.h']]],
-  ['dtls_5fecdh_5fcurve_5fsecp256r1',['DTLS_ECDH_CURVE_SECP256R1',['../crypto_8h.html#a3710d42871d602387a5147c05bf9f1efa517a66bf6725327c3240add3537f34ff',1,'crypto.h']]],
-  ['dtls_5flog_5falert',['DTLS_LOG_ALERT',['../debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9da5d02ea1ea67cb762b8821f35d7cccd9e',1,'debug.h']]],
-  ['dtls_5flog_5fcrit',['DTLS_LOG_CRIT',['../debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9dae376c811a8735fe72f67131ba1a1428d',1,'debug.h']]],
-  ['dtls_5flog_5fdebug',['DTLS_LOG_DEBUG',['../debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9da87f82ea2bdc3f03d9f6d3355a5f8a020',1,'debug.h']]],
-  ['dtls_5flog_5femerg',['DTLS_LOG_EMERG',['../debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9daaa080e6de827addce6dc6af232ecba3e',1,'debug.h']]],
-  ['dtls_5flog_5finfo',['DTLS_LOG_INFO',['../debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9da9b79f1b32df348f97ce4366d0f0454c7',1,'debug.h']]],
-  ['dtls_5flog_5fnotice',['DTLS_LOG_NOTICE',['../debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9da5f9ff4e9574b821a0c43261c9a9dca09',1,'debug.h']]],
-  ['dtls_5flog_5fwarn',['DTLS_LOG_WARN',['../debug_8h.html#a5cae2fb7fec0dd9e63cf2d755642cd9dafd78dbf760d741729305d83727c14c70',1,'debug.h']]],
-  ['dtls_5fpsk_5fhint',['DTLS_PSK_HINT',['../dtls_8h.html#a36eda3add5e2d12a3b5e2b6fe7038e01a53b5588e3c87ce19b1340baf193d130c',1,'dtls.h']]],
-  ['dtls_5fpsk_5fidentity',['DTLS_PSK_IDENTITY',['../dtls_8h.html#a36eda3add5e2d12a3b5e2b6fe7038e01adb8cac45614b2bc4e66970b64043cfc2',1,'dtls.h']]],
-  ['dtls_5fpsk_5fkey',['DTLS_PSK_KEY',['../dtls_8h.html#a36eda3add5e2d12a3b5e2b6fe7038e01a1d64c04f18b370cf742595dc91098db4',1,'dtls.h']]],
-  ['dtls_5fserver',['DTLS_SERVER',['../peer_8h.html#ae30cd4bcffed73f79f17c09e5a1452c8a7c2a694fc87273c445ad661575b28255',1,'peer.h']]],
-  ['dtls_5fstate_5fclienthello',['DTLS_STATE_CLIENTHELLO',['../state_8h.html#aea0e57fd5b857535960534b53361aa35a1a76f1e49c80d22df9673f8471d1ec53',1,'state.h']]],
-  ['dtls_5fstate_5fclosed',['DTLS_STATE_CLOSED',['../state_8h.html#aea0e57fd5b857535960534b53361aa35a88bc0f5ff63003f57a59700dc4b55553',1,'state.h']]],
-  ['dtls_5fstate_5fclosing',['DTLS_STATE_CLOSING',['../state_8h.html#aea0e57fd5b857535960534b53361aa35a4aa3fcce37191fc2a915aa330efd381b',1,'state.h']]],
-  ['dtls_5fstate_5fconnected',['DTLS_STATE_CONNECTED',['../state_8h.html#aea0e57fd5b857535960534b53361aa35a953a6aabd0aff0492df164e79815b122',1,'state.h']]],
-  ['dtls_5fstate_5ffinished',['DTLS_STATE_FINISHED',['../state_8h.html#aea0e57fd5b857535960534b53361aa35afe3ae5ff9df44c8101223efec2916c0b',1,'state.h']]],
-  ['dtls_5fstate_5finit',['DTLS_STATE_INIT',['../state_8h.html#aea0e57fd5b857535960534b53361aa35afa23f2a7b1313abfb472a55a17cc26b8',1,'state.h']]],
-  ['dtls_5fstate_5fwait_5fcertificateverify',['DTLS_STATE_WAIT_CERTIFICATEVERIFY',['../state_8h.html#aea0e57fd5b857535960534b53361aa35a1bb7cd2cdb77a9cdc5a5df541e8d99c4',1,'state.h']]],
-  ['dtls_5fstate_5fwait_5fchangecipherspec',['DTLS_STATE_WAIT_CHANGECIPHERSPEC',['../state_8h.html#aea0e57fd5b857535960534b53361aa35ab3436ceaa0f47131771c288b8b5f1840',1,'state.h']]],
-  ['dtls_5fstate_5fwait_5fclientcertificate',['DTLS_STATE_WAIT_CLIENTCERTIFICATE',['../state_8h.html#aea0e57fd5b857535960534b53361aa35abdb6292772d18296f76c90fdc2533ab9',1,'state.h']]],
-  ['dtls_5fstate_5fwait_5fclienthello',['DTLS_STATE_WAIT_CLIENTHELLO',['../state_8h.html#aea0e57fd5b857535960534b53361aa35a84b76c7a571c4b1d659e26d4e540c151',1,'state.h']]],
-  ['dtls_5fstate_5fwait_5fclientkeyexchange',['DTLS_STATE_WAIT_CLIENTKEYEXCHANGE',['../state_8h.html#aea0e57fd5b857535960534b53361aa35aa013ec95c846eaebd37acecc1a2f8a05',1,'state.h']]],
-  ['dtls_5fstate_5fwait_5ffinished',['DTLS_STATE_WAIT_FINISHED',['../state_8h.html#aea0e57fd5b857535960534b53361aa35a8c1ffc1652e7c5ba25239fe1f3a430ba',1,'state.h']]],
-  ['dtls_5fstate_5fwait_5fservercertificate',['DTLS_STATE_WAIT_SERVERCERTIFICATE',['../state_8h.html#aea0e57fd5b857535960534b53361aa35aa58cb54cde33e338814177a41ca2df6b',1,'state.h']]],
-  ['dtls_5fstate_5fwait_5fserverhellodone',['DTLS_STATE_WAIT_SERVERHELLODONE',['../state_8h.html#aea0e57fd5b857535960534b53361aa35a5c55da9c6de8eb986de811cf2135a1a0',1,'state.h']]],
-  ['dtls_5fstate_5fwait_5fserverkeyexchange',['DTLS_STATE_WAIT_SERVERKEYEXCHANGE',['../state_8h.html#aea0e57fd5b857535960534b53361aa35a97f1fd8aadc13e8d721d5e40d42a0330',1,'state.h']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/enumvalues_2.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/enumvalues_2.html
deleted file mode 100644 (file)
index e59f4ac..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="enumvalues_2.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/enumvalues_2.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/enumvalues_2.js
deleted file mode 100644 (file)
index bf57632..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-var searchData=
-[
-  ['hash_5fmd5',['HASH_MD5',['../group__HMAC.html#gga698cfa036e69361a93dcdd9b19579b23a45c78681038e51d5f54554130b0b79ab',1,'hmac.h']]],
-  ['hash_5fnone',['HASH_NONE',['../group__HMAC.html#gga698cfa036e69361a93dcdd9b19579b23a065bed423473d8a44394cd4415de3018',1,'hmac.h']]],
-  ['hash_5fsha1',['HASH_SHA1',['../group__HMAC.html#gga698cfa036e69361a93dcdd9b19579b23a25c481ea5e9f16f9b40fe773528aef03',1,'hmac.h']]],
-  ['hash_5fsha224',['HASH_SHA224',['../group__HMAC.html#gga698cfa036e69361a93dcdd9b19579b23a0a7940bf3dbc032d803b1b688e5570e5',1,'hmac.h']]],
-  ['hash_5fsha256',['HASH_SHA256',['../group__HMAC.html#gga698cfa036e69361a93dcdd9b19579b23a3690b7a5bf11282bcdaa199c11408dd3',1,'hmac.h']]],
-  ['hash_5fsha384',['HASH_SHA384',['../group__HMAC.html#gga698cfa036e69361a93dcdd9b19579b23abb45ce56a912f1175c413afcb3e1f970',1,'hmac.h']]],
-  ['hash_5fsha512',['HASH_SHA512',['../group__HMAC.html#gga698cfa036e69361a93dcdd9b19579b23a6d06d1ec4dbf3aa876fda6ca1c5b0f66',1,'hmac.h']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/enumvalues_3.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/enumvalues_3.html
deleted file mode 100644 (file)
index 0a2d754..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="enumvalues_3.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/enumvalues_3.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/enumvalues_3.js
deleted file mode 100644 (file)
index 9ddd429..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-var searchData=
-[
-  ['tls_5fcompression_5fnull',['TLS_COMPRESSION_NULL',['../global_8h.html#a1ff555e0b1443c4cb4d17ac2161d89b2ac5b79ee16e8c0e46873fa63fdb1ab9ca',1,'global.h']]],
-  ['tls_5fecdhe_5fecdsa_5fwith_5faes_5f128_5fccm_5f8',['TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8',['../global_8h.html#ada7e71454d685b693df45b2c1ea0c59ba197892e216f63ddbc91c2b006a2d4c1e',1,'global.h']]],
-  ['tls_5fnull_5fwith_5fnull_5fnull',['TLS_NULL_WITH_NULL_NULL',['../global_8h.html#ada7e71454d685b693df45b2c1ea0c59bacf33de998fd00f096eebbb0742d80abd',1,'global.h']]],
-  ['tls_5fpsk_5fwith_5faes_5f128_5fccm_5f8',['TLS_PSK_WITH_AES_128_CCM_8',['../global_8h.html#ada7e71454d685b693df45b2c1ea0c59ba39a3062f136db88f648ce514a591fac8',1,'global.h']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/files_0.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/files_0.html
deleted file mode 100644 (file)
index c7aa36c..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="files_0.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/files_0.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/files_0.js
deleted file mode 100644 (file)
index ad87f49..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-var searchData=
-[
-  ['alert_2eh',['alert.h',['../alert_8h.html',1,'']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/files_1.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/files_1.html
deleted file mode 100644 (file)
index eca1c80..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="files_1.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/files_1.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/files_1.js
deleted file mode 100644 (file)
index d531c19..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-var searchData=
-[
-  ['ccm_2ec',['ccm.c',['../ccm_8c.html',1,'']]],
-  ['ccm_2eh',['ccm.h',['../ccm_8h.html',1,'']]],
-  ['config_2eh',['config.h',['../config_8h.html',1,'']]],
-  ['contiki_2dconfig_2eh',['contiki-config.h',['../contiki-config_8h.html',1,'']]],
-  ['crypto_2ec',['crypto.c',['../crypto_8c.html',1,'']]],
-  ['crypto_2eh',['crypto.h',['../crypto_8h.html',1,'']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/files_2.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/files_2.html
deleted file mode 100644 (file)
index 04a8a46..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="files_2.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/files_2.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/files_2.js
deleted file mode 100644 (file)
index 6fc5d3b..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-var searchData=
-[
-  ['debug_2ec',['debug.c',['../debug_8c.html',1,'']]],
-  ['debug_2eh',['debug.h',['../debug_8h.html',1,'']]],
-  ['dtls_2ec',['dtls.c',['../dtls_8c.html',1,'']]],
-  ['dtls_2eh',['dtls.h',['../dtls_8h.html',1,'']]],
-  ['dtls_5fconfig_2eh',['dtls_config.h',['../dtls__config_8h.html',1,'']]],
-  ['dtls_5ftime_2ec',['dtls_time.c',['../dtls__time_8c.html',1,'']]],
-  ['dtls_5ftime_2eh',['dtls_time.h',['../dtls__time_8h.html',1,'']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/files_3.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/files_3.html
deleted file mode 100644 (file)
index 0dc9a56..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="files_3.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/files_3.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/files_3.js
deleted file mode 100644 (file)
index 0297448..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-var searchData=
-[
-  ['global_2eh',['global.h',['../global_8h.html',1,'']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/files_4.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/files_4.html
deleted file mode 100644 (file)
index 891b5da..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="files_4.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/files_4.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/files_4.js
deleted file mode 100644 (file)
index d324dee..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-var searchData=
-[
-  ['hmac_2ec',['hmac.c',['../hmac_8c.html',1,'']]],
-  ['hmac_2eh',['hmac.h',['../hmac_8h.html',1,'']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/files_5.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/files_5.html
deleted file mode 100644 (file)
index 1741195..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="files_5.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/files_5.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/files_5.js
deleted file mode 100644 (file)
index 83ab568..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-var searchData=
-[
-  ['netq_2ec',['netq.c',['../netq_8c.html',1,'']]],
-  ['netq_2eh',['netq.h',['../netq_8h.html',1,'']]],
-  ['numeric_2eh',['numeric.h',['../numeric_8h.html',1,'']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/files_6.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/files_6.html
deleted file mode 100644 (file)
index 262d3da..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="files_6.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/files_6.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/files_6.js
deleted file mode 100644 (file)
index d5ce1f3..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-var searchData=
-[
-  ['peer_2ec',['peer.c',['../peer_8c.html',1,'']]],
-  ['peer_2eh',['peer.h',['../peer_8h.html',1,'']]],
-  ['prng_2eh',['prng.h',['../prng_8h.html',1,'']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/files_7.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/files_7.html
deleted file mode 100644 (file)
index c535572..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="files_7.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/files_7.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/files_7.js
deleted file mode 100644 (file)
index 7c31e74..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-var searchData=
-[
-  ['session_2ec',['session.c',['../session_8c.html',1,'']]],
-  ['session_2eh',['session.h',['../session_8h.html',1,'']]],
-  ['state_2eh',['state.h',['../state_8h.html',1,'']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/files_8.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/files_8.html
deleted file mode 100644 (file)
index 21c328a..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="files_8.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/files_8.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/files_8.js
deleted file mode 100644 (file)
index 579dbad..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-var searchData=
-[
-  ['t_5flist_2eh',['t_list.h',['../t__list_8h.html',1,'']]],
-  ['tinydtls_2eh',['tinydtls.h',['../tinydtls_8h.html',1,'']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/files_9.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/files_9.html
deleted file mode 100644 (file)
index 00a5201..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="files_9.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/files_9.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/files_9.js
deleted file mode 100644 (file)
index ae11e60..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-var searchData=
-[
-  ['uthash_2eh',['uthash.h',['../uthash_8h.html',1,'']]],
-  ['utlist_2eh',['utlist.h',['../utlist_8h.html',1,'']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/functions_0.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/functions_0.html
deleted file mode 100644 (file)
index 16a5a52..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="functions_0.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/functions_0.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/functions_0.js
deleted file mode 100644 (file)
index 6f24458..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-var searchData=
-[
-  ['_5f_5fattribute_5f_5f',['__attribute__',['../dtls_8h.html#ad09246453a4dabd919c7541484046a87',1,'dtls.h']]],
-  ['_5fdtls_5faddress_5fequals_5fimpl',['_dtls_address_equals_impl',['../session_8c.html#af9b9333222aabb1440f5c7846f7be85f',1,'session.c']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/functions_1.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/functions_1.html
deleted file mode 100644 (file)
index 3b4eacf..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="functions_1.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/functions_1.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/functions_1.js
deleted file mode 100644 (file)
index fe32eb3..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-var searchData=
-[
-  ['add_5fauth_5fdata',['add_auth_data',['../ccm_8c.html#a59faf5a2a638dc03c01605d4bebe0bcc',1,'ccm.c']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/functions_2.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/functions_2.html
deleted file mode 100644 (file)
index 78be8b4..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="functions_2.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/functions_2.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/functions_2.js
deleted file mode 100644 (file)
index c91749b..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-var searchData=
-[
-  ['block0',['block0',['../ccm_8c.html#a1dfe92428f63772e3907a26435e54354',1,'ccm.c']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/functions_3.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/functions_3.html
deleted file mode 100644 (file)
index ebf2eeb..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="functions_3.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/functions_3.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/functions_3.js
deleted file mode 100644 (file)
index 7e3a083..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-var searchData=
-[
-  ['calculate_5fkey_5fblock',['calculate_key_block',['../dtls_8c.html#a94199c9fa65db19e0f761e3ff973eb4b',1,'dtls.c']]],
-  ['check_5fcertificate_5frequest',['check_certificate_request',['../dtls_8c.html#a61ddc44bfdb8a92b72911a402aa0164e',1,'dtls.c']]],
-  ['check_5fclient_5fcertificate_5fverify',['check_client_certificate_verify',['../dtls_8c.html#a017195b30506fbdf32fff55af9276a02',1,'dtls.c']]],
-  ['check_5fclient_5fkeyexchange',['check_client_keyexchange',['../dtls_8c.html#ab9251eac8015afc7985ff4398657ea3f',1,'dtls.c']]],
-  ['check_5ffinished',['check_finished',['../dtls_8c.html#a91b2653747ca1e4058ae3b350019188b',1,'dtls.c']]],
-  ['check_5fserver_5fcertificate',['check_server_certificate',['../dtls_8c.html#a88db0e7ffa0836761bef7b62ac3d2fb7',1,'dtls.c']]],
-  ['check_5fserver_5fhello',['check_server_hello',['../dtls_8c.html#afcc64c0abfd9b157b71a47e5a5a78b26',1,'dtls.c']]],
-  ['check_5fserver_5fhello_5fverify_5frequest',['check_server_hello_verify_request',['../dtls_8c.html#a2b598b29d3148bfc02e826d94bbc0642',1,'dtls.c']]],
-  ['check_5fserver_5fhellodone',['check_server_hellodone',['../dtls_8c.html#aca393c29148080d4dfa343c8ec283928',1,'dtls.c']]],
-  ['check_5fserver_5fkey_5fexchange_5fecdsa',['check_server_key_exchange_ecdsa',['../dtls_8c.html#a3de5b3956733293d3e19d83d3cc8d9bb',1,'dtls.c']]],
-  ['check_5fserver_5fkey_5fexchange_5fpsk',['check_server_key_exchange_psk',['../dtls_8c.html#a915dccbe7e71d52d2650378f3aaad054',1,'dtls.c']]],
-  ['check_5fstack',['check_stack',['../debug_8h.html#a4a3c60a1e54594e78cd207c57ddb1378',1,'debug.h']]],
-  ['clear_5fhs_5fhash',['clear_hs_hash',['../dtls_8c.html#a82181208ec1e9f42896f0606e0036c1d',1,'dtls.c']]],
-  ['copy_5fhs_5fhash',['copy_hs_hash',['../dtls_8c.html#a22ab7a79391c2204337237949d69dad8',1,'dtls.c']]],
-  ['crypto_5finit',['crypto_init',['../crypto_8c.html#a86e6ce9d4b4afcef355836955697f52c',1,'crypto_init():&#160;crypto.c'],['../crypto_8h.html#a86e6ce9d4b4afcef355836955697f52c',1,'crypto_init():&#160;crypto.c']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/functions_4.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/functions_4.html
deleted file mode 100644 (file)
index 7317ea9..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="functions_4.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/functions_4.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/functions_4.js
deleted file mode 100644 (file)
index 3c24fd8..0000000
+++ /dev/null
@@ -1,132 +0,0 @@
-var searchData=
-[
-  ['decrypt_5fverify',['decrypt_verify',['../dtls_8c.html#adc4e7aa5066240a362341bbdb998bc71',1,'dtls.c']]],
-  ['dsrv_5flog',['dsrv_log',['../debug_8c.html#ace8ca7929ecfc486c3ef40828c79bfe5',1,'dsrv_log(log_t level, char *format,...):&#160;debug.c'],['../debug_8h.html#ace8ca7929ecfc486c3ef40828c79bfe5',1,'dsrv_log(log_t level, char *format,...):&#160;debug.c']]],
-  ['dsrv_5fprint_5faddr',['dsrv_print_addr',['../debug_8c.html#aa6c8e3e1a02e7cb1567391d3a5ca8bf2',1,'debug.c']]],
-  ['dtls_5fadd_5fecdsa_5fsignature_5felem',['dtls_add_ecdsa_signature_elem',['../dtls_8c.html#a7d7af4d19c7abef4583c1667ec449a5d',1,'dtls.c']]],
-  ['dtls_5fadd_5fpeer',['dtls_add_peer',['../dtls_8c.html#ae4a2961a027959f907145f82ca9107c3',1,'dtls.c']]],
-  ['dtls_5falert_5fcreate',['dtls_alert_create',['../alert_8h.html#a4242f419ffdd4b83bfaa2a0935ed2b6d',1,'alert.h']]],
-  ['dtls_5falert_5ffatal_5fcreate',['dtls_alert_fatal_create',['../alert_8h.html#a9b9a52e7d4bb621be12878c7dfc8f5df',1,'alert.h']]],
-  ['dtls_5falert_5fsend_5ffrom_5ferr',['dtls_alert_send_from_err',['../dtls_8c.html#a4c7a26bc520ac2ac88b4758e0fb84f1e',1,'dtls.c']]],
-  ['dtls_5fccm_5fdecrypt',['dtls_ccm_decrypt',['../crypto_8c.html#a64f692530b9bb934f8852ca27c9ca2a1',1,'crypto.c']]],
-  ['dtls_5fccm_5fdecrypt_5fmessage',['dtls_ccm_decrypt_message',['../ccm_8c.html#aa3e92bdeca1d0730d48b8a85181d5b6d',1,'dtls_ccm_decrypt_message(rijndael_ctx *ctx, size_t M, size_t L, unsigned char nonce[DTLS_CCM_BLOCKSIZE], unsigned char *msg, size_t lm, const unsigned char *aad, size_t la):&#160;ccm.c'],['../ccm_8h.html#aa3e92bdeca1d0730d48b8a85181d5b6d',1,'dtls_ccm_decrypt_message(rijndael_ctx *ctx, size_t M, size_t L, unsigned char nonce[DTLS_CCM_BLOCKSIZE], unsigned char *msg, size_t lm, const unsigned char *aad, size_t la):&#160;ccm.c']]],
-  ['dtls_5fccm_5fencrypt',['dtls_ccm_encrypt',['../crypto_8c.html#a8b75c06a8e364132816aaddb81db0f2c',1,'crypto.c']]],
-  ['dtls_5fccm_5fencrypt_5fmessage',['dtls_ccm_encrypt_message',['../ccm_8c.html#a40f4f23b5687e18dc1bce1c19101da42',1,'dtls_ccm_encrypt_message(rijndael_ctx *ctx, size_t M, size_t L, unsigned char nonce[DTLS_CCM_BLOCKSIZE], unsigned char *msg, size_t lm, const unsigned char *aad, size_t la):&#160;ccm.c'],['../ccm_8h.html#a40f4f23b5687e18dc1bce1c19101da42',1,'dtls_ccm_encrypt_message(rijndael_ctx *ctx, size_t M, size_t L, unsigned char nonce[DTLS_CCM_BLOCKSIZE], unsigned char *msg, size_t lm, const unsigned char *aad, size_t la):&#160;ccm.c']]],
-  ['dtls_5fcheck_5fecdsa_5fsignature_5felem',['dtls_check_ecdsa_signature_elem',['../dtls_8c.html#af8409ba213cb87dbf9ed16ef87995c54',1,'dtls.c']]],
-  ['dtls_5fcheck_5fretransmit',['dtls_check_retransmit',['../dtls_8c.html#ab50d1ee589e91d07032d0a65768dee82',1,'dtls_check_retransmit(dtls_context_t *context, clock_time_t *next):&#160;dtls.c'],['../dtls_8h.html#ab50d1ee589e91d07032d0a65768dee82',1,'dtls_check_retransmit(dtls_context_t *context, clock_time_t *next):&#160;dtls.c']]],
-  ['dtls_5fcheck_5ftls_5fextension',['dtls_check_tls_extension',['../dtls_8c.html#ad8c8390d0a1592207c4ea6dd0a623a9a',1,'dtls.c']]],
-  ['dtls_5fcipher_5fcontext_5fget',['dtls_cipher_context_get',['../crypto_8c.html#a5e6fa88c169e5d7289052600fc445c29',1,'crypto.c']]],
-  ['dtls_5fcipher_5fcontext_5frelease',['dtls_cipher_context_release',['../crypto_8c.html#af65bc79ab89b4e162a0d30938d13109e',1,'crypto.c']]],
-  ['dtls_5fclock_5finit',['dtls_clock_init',['../group__clock.html#ga8b340ad858b708dbc7bf40f784935c90',1,'dtls_clock_init(void):&#160;dtls_time.c'],['../group__clock.html#ga8b340ad858b708dbc7bf40f784935c90',1,'dtls_clock_init(void):&#160;dtls_time.c']]],
-  ['dtls_5fclose',['dtls_close',['../dtls_8c.html#aa90f5eb6954137d5e098e29143c2586a',1,'dtls_close(dtls_context_t *ctx, const session_t *remote):&#160;dtls.c'],['../dtls_8h.html#aa90f5eb6954137d5e098e29143c2586a',1,'dtls_close(dtls_context_t *ctx, const session_t *remote):&#160;dtls.c']]],
-  ['dtls_5fconnect',['dtls_connect',['../dtls_8c.html#a187f5e145bb869a732fbed426929a4e9',1,'dtls_connect(dtls_context_t *ctx, const session_t *dst):&#160;dtls.c'],['../dtls_8h.html#a187f5e145bb869a732fbed426929a4e9',1,'dtls_connect(dtls_context_t *ctx, const session_t *dst):&#160;dtls.c']]],
-  ['dtls_5fconnect_5fpeer',['dtls_connect_peer',['../dtls_8c.html#ad60bf1197fa1a074f91aed508cfefa62',1,'dtls_connect_peer(dtls_context_t *ctx, dtls_peer_t *peer):&#160;dtls.c'],['../dtls_8h.html#ad60bf1197fa1a074f91aed508cfefa62',1,'dtls_connect_peer(dtls_context_t *ctx, dtls_peer_t *peer):&#160;dtls.c']]],
-  ['dtls_5fcreate_5fcookie',['dtls_create_cookie',['../dtls_8c.html#a45841106ebcb5b1373c0312842b90943',1,'dtls.c']]],
-  ['dtls_5fdebug_5fkeyblock',['dtls_debug_keyblock',['../dtls_8c.html#a4b3eda5556d76e045b42b93055944ddd',1,'dtls.c']]],
-  ['dtls_5fdecrypt',['dtls_decrypt',['../crypto_8c.html#aac32554190e3970917a31ff01eed4080',1,'dtls_decrypt(const unsigned char *src, size_t length, unsigned char *buf, unsigned char *nounce, unsigned char *key, size_t keylen, const unsigned char *aad, size_t la):&#160;crypto.c'],['../crypto_8h.html#a3a99a8753c2eb9baf1e03fe0ffbb813b',1,'dtls_decrypt(const unsigned char *src, size_t length, unsigned char *buf, unsigned char *nounce, unsigned char *key, size_t keylen, const unsigned char *a_data, size_t a_data_length):&#160;crypto.c']]],
-  ['dtls_5fdestroy_5fpeer',['dtls_destroy_peer',['../dtls_8c.html#a81061928e291b6a3e7701f6a7f51b6f3',1,'dtls.c']]],
-  ['dtls_5fdsrv_5fhexdump_5flog',['dtls_dsrv_hexdump_log',['../debug_8c.html#a8badc2780b90e28c6c4e1a3b410b31cc',1,'dtls_dsrv_hexdump_log(log_t level, const char *name, const unsigned char *buf, size_t length, int extend):&#160;debug.c'],['../debug_8h.html#a8badc2780b90e28c6c4e1a3b410b31cc',1,'dtls_dsrv_hexdump_log(log_t level, const char *name, const unsigned char *buf, size_t length, int extend):&#160;debug.c']]],
-  ['dtls_5fdsrv_5flog_5faddr',['dtls_dsrv_log_addr',['../debug_8c.html#a66cb8756d40a3326315d9b5f003a5a76',1,'dtls_dsrv_log_addr(log_t level, const char *name, const session_t *addr):&#160;debug.c'],['../debug_8h.html#a66cb8756d40a3326315d9b5f003a5a76',1,'dtls_dsrv_log_addr(log_t level, const char *name, const session_t *addr):&#160;debug.c']]],
-  ['dtls_5fec_5fkey_5ffrom_5fuint32',['dtls_ec_key_from_uint32',['../crypto_8c.html#a8cefde2bc97452f889600c6b17ff04a6',1,'crypto.c']]],
-  ['dtls_5fec_5fkey_5ffrom_5fuint32_5fasn1',['dtls_ec_key_from_uint32_asn1',['../crypto_8c.html#a5ae24f3621f545752732e318840d7e2b',1,'dtls_ec_key_from_uint32_asn1(const uint32_t *key, size_t key_size, unsigned char *buf):&#160;crypto.c'],['../crypto_8h.html#a5ae24f3621f545752732e318840d7e2b',1,'dtls_ec_key_from_uint32_asn1(const uint32_t *key, size_t key_size, unsigned char *buf):&#160;crypto.c']]],
-  ['dtls_5fec_5fkey_5fto_5fuint32',['dtls_ec_key_to_uint32',['../crypto_8c.html#aaa510b41aa69dc5f93a1bf5bdde4a9c4',1,'crypto.c']]],
-  ['dtls_5fecdh_5fpre_5fmaster_5fsecret',['dtls_ecdh_pre_master_secret',['../crypto_8c.html#a5f9937088ea2e1d19e7d472fecae9aaa',1,'dtls_ecdh_pre_master_secret(unsigned char *priv_key, unsigned char *pub_key_x, unsigned char *pub_key_y, size_t key_size, unsigned char *result, size_t result_len):&#160;crypto.c'],['../crypto_8h.html#a5f9937088ea2e1d19e7d472fecae9aaa',1,'dtls_ecdh_pre_master_secret(unsigned char *priv_key, unsigned char *pub_key_x, unsigned char *pub_key_y, size_t key_size, unsigned char *result, size_t result_len):&#160;crypto.c']]],
-  ['dtls_5fecdsa_5fcreate_5fsig',['dtls_ecdsa_create_sig',['../crypto_8c.html#afa2d9b2a195a1d8e8c56b1af8cb7bc82',1,'dtls_ecdsa_create_sig(const unsigned char *priv_key, size_t key_size, const unsigned char *client_random, size_t client_random_size, const unsigned char *server_random, size_t server_random_size, const unsigned char *keyx_params, size_t keyx_params_size, uint32_t point_r[9], uint32_t point_s[9]):&#160;crypto.c'],['../crypto_8h.html#afa2d9b2a195a1d8e8c56b1af8cb7bc82',1,'dtls_ecdsa_create_sig(const unsigned char *priv_key, size_t key_size, const unsigned char *client_random, size_t client_random_size, const unsigned char *server_random, size_t server_random_size, const unsigned char *keyx_params, size_t keyx_params_size, uint32_t point_r[9], uint32_t point_s[9]):&#160;crypto.c']]],
-  ['dtls_5fecdsa_5fcreate_5fsig_5fhash',['dtls_ecdsa_create_sig_hash',['../crypto_8c.html#a49f03039780664684d110d83a228b163',1,'dtls_ecdsa_create_sig_hash(const unsigned char *priv_key, size_t key_size, const unsigned char *sign_hash, size_t sign_hash_size, uint32_t point_r[9], uint32_t point_s[9]):&#160;crypto.c'],['../crypto_8h.html#a49f03039780664684d110d83a228b163',1,'dtls_ecdsa_create_sig_hash(const unsigned char *priv_key, size_t key_size, const unsigned char *sign_hash, size_t sign_hash_size, uint32_t point_r[9], uint32_t point_s[9]):&#160;crypto.c']]],
-  ['dtls_5fecdsa_5fgenerate_5fkey',['dtls_ecdsa_generate_key',['../crypto_8c.html#a982fc9e78cd10d9323756b15b72c7970',1,'dtls_ecdsa_generate_key(unsigned char *priv_key, unsigned char *pub_key_x, unsigned char *pub_key_y, size_t key_size):&#160;crypto.c'],['../crypto_8h.html#a982fc9e78cd10d9323756b15b72c7970',1,'dtls_ecdsa_generate_key(unsigned char *priv_key, unsigned char *pub_key_x, unsigned char *pub_key_y, size_t key_size):&#160;crypto.c']]],
-  ['dtls_5fecdsa_5fverify_5fsig',['dtls_ecdsa_verify_sig',['../crypto_8c.html#a035860da45ba2586a95c8ef7f539a3c9',1,'dtls_ecdsa_verify_sig(const unsigned char *pub_key_x, const unsigned char *pub_key_y, size_t key_size, const unsigned char *client_random, size_t client_random_size, const unsigned char *server_random, size_t server_random_size, const unsigned char *keyx_params, size_t keyx_params_size, unsigned char *result_r, unsigned char *result_s):&#160;crypto.c'],['../crypto_8h.html#a035860da45ba2586a95c8ef7f539a3c9',1,'dtls_ecdsa_verify_sig(const unsigned char *pub_key_x, const unsigned char *pub_key_y, size_t key_size, const unsigned char *client_random, size_t client_random_size, const unsigned char *server_random, size_t server_random_size, const unsigned char *keyx_params, size_t keyx_params_size, unsigned char *result_r, unsigned char *result_s):&#160;crypto.c']]],
-  ['dtls_5fecdsa_5fverify_5fsig_5fhash',['dtls_ecdsa_verify_sig_hash',['../crypto_8c.html#a802b3a2b267747a76d4557c6c9a899d7',1,'dtls_ecdsa_verify_sig_hash(const unsigned char *pub_key_x, const unsigned char *pub_key_y, size_t key_size, const unsigned char *sign_hash, size_t sign_hash_size, unsigned char *result_r, unsigned char *result_s):&#160;crypto.c'],['../crypto_8h.html#a802b3a2b267747a76d4557c6c9a899d7',1,'dtls_ecdsa_verify_sig_hash(const unsigned char *pub_key_x, const unsigned char *pub_key_y, size_t key_size, const unsigned char *sign_hash, size_t sign_hash_size, unsigned char *result_r, unsigned char *result_s):&#160;crypto.c']]],
-  ['dtls_5fencrypt',['dtls_encrypt',['../crypto_8c.html#ad58098f0e821f81b4f1a6672ead17ac5',1,'dtls_encrypt(const unsigned char *src, size_t length, unsigned char *buf, unsigned char *nounce, unsigned char *key, size_t keylen, const unsigned char *aad, size_t la):&#160;crypto.c'],['../crypto_8h.html#a288c4ec1a5110ab3f44ab3cb7c289e69',1,'dtls_encrypt(const unsigned char *src, size_t length, unsigned char *buf, unsigned char *nounce, unsigned char *key, size_t keylen, const unsigned char *aad, size_t aad_length):&#160;crypto.c']]],
-  ['dtls_5ffls',['dtls_fls',['../global_8h.html#ae10dcc6b71efe025c990ac2f3d8a48b8',1,'global.h']]],
-  ['dtls_5ffree_5fcontext',['dtls_free_context',['../dtls_8c.html#a3171c099d25ed29e31326526b8e1de84',1,'dtls_free_context(dtls_context_t *ctx):&#160;dtls.c'],['../dtls_8h.html#a3171c099d25ed29e31326526b8e1de84',1,'dtls_free_context(dtls_context_t *ctx):&#160;dtls.c']]],
-  ['dtls_5ffree_5fpeer',['dtls_free_peer',['../peer_8c.html#a037178c201b2e6b7361570ff700f059d',1,'dtls_free_peer(dtls_peer_t *peer):&#160;peer.c'],['../peer_8h.html#a037178c201b2e6b7361570ff700f059d',1,'dtls_free_peer(dtls_peer_t *peer):&#160;peer.c']]],
-  ['dtls_5fget_5fcookie',['dtls_get_cookie',['../dtls_8c.html#a8546683053c19be38b23aa9042139f4b',1,'dtls.c']]],
-  ['dtls_5fget_5flog_5flevel',['dtls_get_log_level',['../debug_8c.html#a0af8abc8cf3864ea04954b3537c7e07f',1,'dtls_get_log_level():&#160;debug.c'],['../debug_8h.html#a0af8abc8cf3864ea04954b3537c7e07f',1,'dtls_get_log_level():&#160;debug.c']]],
-  ['dtls_5fget_5fpeer',['dtls_get_peer',['../dtls_8c.html#a70333bea2db35153177347b5c7700cab',1,'dtls_get_peer(const dtls_context_t *ctx, const session_t *session):&#160;dtls.c'],['../dtls_8h.html#a3fd062108e5d0f48627ae644546824a6',1,'dtls_get_peer(const dtls_context_t *context, const session_t *session):&#160;dtls.c']]],
-  ['dtls_5fhandle_5fmessage',['dtls_handle_message',['../dtls_8c.html#ae272fea7269714fe7a67d6da64961731',1,'dtls_handle_message(dtls_context_t *ctx, session_t *session, uint8 *msg, int msglen):&#160;dtls.c'],['../dtls_8h.html#ae272fea7269714fe7a67d6da64961731',1,'dtls_handle_message(dtls_context_t *ctx, session_t *session, uint8 *msg, int msglen):&#160;dtls.c']]],
-  ['dtls_5fhandshake_5fdealloc',['dtls_handshake_dealloc',['../crypto_8c.html#a120f7f398e1a71a5f16e5447842bcfb3',1,'crypto.c']]],
-  ['dtls_5fhandshake_5ffree',['dtls_handshake_free',['../crypto_8c.html#aa17bcdc666796e52788f82ee003bb172',1,'dtls_handshake_free(dtls_handshake_parameters_t *handshake):&#160;crypto.c'],['../crypto_8h.html#aa17bcdc666796e52788f82ee003bb172',1,'dtls_handshake_free(dtls_handshake_parameters_t *handshake):&#160;crypto.c']]],
-  ['dtls_5fhandshake_5fmalloc',['dtls_handshake_malloc',['../crypto_8c.html#aa1b91000e339073fd2a9344957c22cbe',1,'crypto.c']]],
-  ['dtls_5fhandshake_5fnew',['dtls_handshake_new',['../crypto_8c.html#a25930cdb27a6ffcf05e2c2a9c95a6af8',1,'dtls_handshake_new():&#160;crypto.c'],['../crypto_8h.html#a25930cdb27a6ffcf05e2c2a9c95a6af8',1,'dtls_handshake_new():&#160;crypto.c']]],
-  ['dtls_5fhandshake_5ftype_5fto_5fname',['dtls_handshake_type_to_name',['../dtls_8c.html#a00707f0f82235a2432338e77dae0911d',1,'dtls.c']]],
-  ['dtls_5fhash_5ffinalize',['dtls_hash_finalize',['../hmac_8h.html#a96801bbb62f4c9c872b22cd8e438e51e',1,'hmac.h']]],
-  ['dtls_5fhash_5finit',['dtls_hash_init',['../hmac_8h.html#afe0af64930ac5d6a51289df6d1eb4f52',1,'hmac.h']]],
-  ['dtls_5fhash_5fupdate',['dtls_hash_update',['../hmac_8h.html#adb5ad07ab9a1adcdfdc20e13aa37bee6',1,'hmac.h']]],
-  ['dtls_5fhmac_5fcontext_5ffree',['dtls_hmac_context_free',['../hmac_8c.html#a8613e734d3fafa81035f8f30000325a7',1,'hmac.c']]],
-  ['dtls_5fhmac_5fcontext_5fnew',['dtls_hmac_context_new',['../hmac_8c.html#affb72973a7bb7b389a4b7382d435fcef',1,'hmac.c']]],
-  ['dtls_5fhmac_5ffinalize',['dtls_hmac_finalize',['../group__HMAC.html#gab98c992f3f9cc3c2d75077ddd46049bf',1,'dtls_hmac_finalize(dtls_hmac_context_t *ctx, unsigned char *result):&#160;hmac.c'],['../group__HMAC.html#gab98c992f3f9cc3c2d75077ddd46049bf',1,'dtls_hmac_finalize(dtls_hmac_context_t *ctx, unsigned char *result):&#160;hmac.c']]],
-  ['dtls_5fhmac_5ffree',['dtls_hmac_free',['../group__HMAC.html#ga5b1a3c1dcb5461bda44dd70f7bd33181',1,'dtls_hmac_free(dtls_hmac_context_t *ctx):&#160;hmac.c'],['../group__HMAC.html#ga5b1a3c1dcb5461bda44dd70f7bd33181',1,'dtls_hmac_free(dtls_hmac_context_t *ctx):&#160;hmac.c']]],
-  ['dtls_5fhmac_5finit',['dtls_hmac_init',['../group__HMAC.html#gaa1eb35fcb2c2eb69eebaefa8eb4a790d',1,'dtls_hmac_init(dtls_hmac_context_t *ctx, const unsigned char *key, size_t klen):&#160;hmac.c'],['../group__HMAC.html#gaa1eb35fcb2c2eb69eebaefa8eb4a790d',1,'dtls_hmac_init(dtls_hmac_context_t *ctx, const unsigned char *key, size_t klen):&#160;hmac.c']]],
-  ['dtls_5fhmac_5fnew',['dtls_hmac_new',['../group__HMAC.html#gac3e9ef037800963783e618eafd046702',1,'dtls_hmac_new(const unsigned char *key, size_t klen):&#160;hmac.c'],['../group__HMAC.html#gac3e9ef037800963783e618eafd046702',1,'dtls_hmac_new(const unsigned char *key, size_t klen):&#160;hmac.c']]],
-  ['dtls_5fhmac_5fstorage_5finit',['dtls_hmac_storage_init',['../hmac_8h.html#a51d5982243691c9e7fa56142c3a8d5d8',1,'hmac.h']]],
-  ['dtls_5fhmac_5fupdate',['dtls_hmac_update',['../group__HMAC.html#ga1ef9c88a0a2053b442413a9cea3deb73',1,'dtls_hmac_update(dtls_hmac_context_t *ctx, const unsigned char *input, size_t ilen):&#160;hmac.c'],['../group__HMAC.html#ga1ef9c88a0a2053b442413a9cea3deb73',1,'dtls_hmac_update(dtls_hmac_context_t *ctx, const unsigned char *input, size_t ilen):&#160;hmac.c']]],
-  ['dtls_5finit',['dtls_init',['../dtls_8c.html#ac203466e393ac9030d405c8f0496e9cd',1,'dtls_init():&#160;dtls.c'],['../dtls_8h.html#ac203466e393ac9030d405c8f0496e9cd',1,'dtls_init():&#160;dtls.c']]],
-  ['dtls_5fint_5fto_5fuint16',['dtls_int_to_uint16',['../numeric_8h.html#a074d352855e1ffde4c2ddb6a6fea01b9',1,'numeric.h']]],
-  ['dtls_5fint_5fto_5fuint24',['dtls_int_to_uint24',['../numeric_8h.html#aff276cdd846cd194a21e9c61549292f6',1,'numeric.h']]],
-  ['dtls_5fint_5fto_5fuint32',['dtls_int_to_uint32',['../numeric_8h.html#a6914ee523b27539f4e441bede8c072b4',1,'numeric.h']]],
-  ['dtls_5fint_5fto_5fuint48',['dtls_int_to_uint48',['../numeric_8h.html#abe324cc4e62d03bdecf457382ba213c8',1,'numeric.h']]],
-  ['dtls_5fint_5fto_5fuint64',['dtls_int_to_uint64',['../numeric_8h.html#ab4d80395fb7f4118dfcb101ae94a5e93',1,'numeric.h']]],
-  ['dtls_5fint_5fto_5fuint8',['dtls_int_to_uint8',['../numeric_8h.html#a7b602967e2fc28b0be02bd4585e255d0',1,'numeric.h']]],
-  ['dtls_5fmac',['dtls_mac',['../crypto_8c.html#a1423f8111df1533241178461c10b50e3',1,'dtls_mac(dtls_hmac_context_t *hmac_ctx, const unsigned char *record, const unsigned char *packet, size_t length, unsigned char *buf):&#160;crypto.c'],['../crypto_8h.html#a1423f8111df1533241178461c10b50e3',1,'dtls_mac(dtls_hmac_context_t *hmac_ctx, const unsigned char *record, const unsigned char *packet, size_t length, unsigned char *buf):&#160;crypto.c']]],
-  ['dtls_5fmalloc_5fpeer',['dtls_malloc_peer',['../peer_8c.html#a89738cd2081b322562b9893c524fb0e1',1,'peer.c']]],
-  ['dtls_5fnew_5fcontext',['dtls_new_context',['../dtls_8c.html#a11f53d301448aa8f1dbcfaf77441bd9c',1,'dtls_new_context(void *app_data):&#160;dtls.c'],['../dtls_8h.html#a11f53d301448aa8f1dbcfaf77441bd9c',1,'dtls_new_context(void *app_data):&#160;dtls.c']]],
-  ['dtls_5fnew_5fpeer',['dtls_new_peer',['../peer_8c.html#a209e22be64be13e116711829d21d864c',1,'dtls_new_peer(const session_t *session):&#160;peer.c'],['../peer_8h.html#a209e22be64be13e116711829d21d864c',1,'dtls_new_peer(const session_t *session):&#160;peer.c']]],
-  ['dtls_5fp_5fhash',['dtls_p_hash',['../crypto_8c.html#aea7bd0a10cf289c033216a97c0ee701e',1,'dtls_p_hash(dtls_hashfunc_t h, const unsigned char *key, size_t keylen, const unsigned char *label, size_t labellen, const unsigned char *random1, size_t random1len, const unsigned char *random2, size_t random2len, unsigned char *buf, size_t buflen):&#160;crypto.c'],['../crypto_8h.html#aea7bd0a10cf289c033216a97c0ee701e',1,'dtls_p_hash(dtls_hashfunc_t h, const unsigned char *key, size_t keylen, const unsigned char *label, size_t labellen, const unsigned char *random1, size_t random1len, const unsigned char *random2, size_t random2len, unsigned char *buf, size_t buflen):&#160;crypto.c']]],
-  ['dtls_5fpackage_5fname',['dtls_package_name',['../debug_8c.html#a6ae22adf81d9aaf0a2ed74f7f7437971',1,'dtls_package_name():&#160;debug.c'],['../debug_8h.html#a6ae22adf81d9aaf0a2ed74f7f7437971',1,'dtls_package_name():&#160;debug.c']]],
-  ['dtls_5fpackage_5fversion',['dtls_package_version',['../debug_8c.html#aab7b9dac4484be50856ab8b8a827d235',1,'dtls_package_version():&#160;debug.c'],['../debug_8h.html#aab7b9dac4484be50856ab8b8a827d235',1,'dtls_package_version():&#160;debug.c']]],
-  ['dtls_5fpeer_5fis_5fconnected',['dtls_peer_is_connected',['../peer_8h.html#aaad8608f29d9a70bf09b7de310185c48',1,'peer.h']]],
-  ['dtls_5fpeer_5fstate',['dtls_peer_state',['../peer_8h.html#a64d83f0fe464f0eeb905b913345d0614',1,'peer.h']]],
-  ['dtls_5fprepare_5frecord',['dtls_prepare_record',['../dtls_8c.html#ab9733484b9a23775b1bc8b3d723282e5',1,'dtls.c']]],
-  ['dtls_5fprf',['dtls_prf',['../crypto_8c.html#a5e47576e502b5a6255f1b489a4915512',1,'dtls_prf(const unsigned char *key, size_t keylen, const unsigned char *label, size_t labellen, const unsigned char *random1, size_t random1len, const unsigned char *random2, size_t random2len, unsigned char *buf, size_t buflen):&#160;crypto.c'],['../crypto_8h.html#a5e47576e502b5a6255f1b489a4915512',1,'dtls_prf(const unsigned char *key, size_t keylen, const unsigned char *label, size_t labellen, const unsigned char *random1, size_t random1len, const unsigned char *random2, size_t random2len, unsigned char *buf, size_t buflen):&#160;crypto.c']]],
-  ['dtls_5fprng',['dtls_prng',['../group__prng.html#ga3f4036a1abfcec552ab583a2dc37be6c',1,'prng.h']]],
-  ['dtls_5fprng_5finit',['dtls_prng_init',['../group__prng.html#gac68680277206146d06c9e5468f260ee0',1,'prng.h']]],
-  ['dtls_5fpsk_5fpre_5fmaster_5fsecret',['dtls_psk_pre_master_secret',['../crypto_8c.html#aa53dfed4868e257d2485024b5c170bae',1,'dtls_psk_pre_master_secret(unsigned char *key, size_t keylen, unsigned char *result, size_t result_len):&#160;crypto.c'],['../crypto_8h.html#aa53dfed4868e257d2485024b5c170bae',1,'dtls_psk_pre_master_secret(unsigned char *key, size_t keylen, unsigned char *result, size_t result_len):&#160;crypto.c']]],
-  ['dtls_5frenegotiate',['dtls_renegotiate',['../dtls_8c.html#a5676a0ceeeabd1ec38d378212f7af4a1',1,'dtls_renegotiate(dtls_context_t *ctx, const session_t *dst):&#160;dtls.c'],['../dtls_8h.html#a5676a0ceeeabd1ec38d378212f7af4a1',1,'dtls_renegotiate(dtls_context_t *ctx, const session_t *dst):&#160;dtls.c']]],
-  ['dtls_5fretransmit',['dtls_retransmit',['../dtls_8c.html#aa57a9ccb1344c5baf8bd3adf35f3beeb',1,'dtls.c']]],
-  ['dtls_5fsecurity_5fdealloc',['dtls_security_dealloc',['../crypto_8c.html#a444e2410b15ce27c6201204476d20497',1,'crypto.c']]],
-  ['dtls_5fsecurity_5ffree',['dtls_security_free',['../crypto_8c.html#ad54069f2880b3c07185ebba736d02d17',1,'dtls_security_free(dtls_security_parameters_t *security):&#160;crypto.c'],['../crypto_8h.html#ad54069f2880b3c07185ebba736d02d17',1,'dtls_security_free(dtls_security_parameters_t *security):&#160;crypto.c']]],
-  ['dtls_5fsecurity_5fmalloc',['dtls_security_malloc',['../crypto_8c.html#aa58fc0b3953c6048834855a364432d8c',1,'crypto.c']]],
-  ['dtls_5fsecurity_5fnew',['dtls_security_new',['../crypto_8c.html#a1d568085636a04b4706b7e50df802a7b',1,'dtls_security_new():&#160;crypto.c'],['../crypto_8h.html#a1d568085636a04b4706b7e50df802a7b',1,'dtls_security_new():&#160;crypto.c']]],
-  ['dtls_5fsecurity_5fparams',['dtls_security_params',['../peer_8h.html#a48abcad7383e1db957af9b4fed030d52',1,'peer.h']]],
-  ['dtls_5fsecurity_5fparams_5fepoch',['dtls_security_params_epoch',['../peer_8h.html#af5de0315efd7e8c6b1aecf60078b2dd7',1,'peer.h']]],
-  ['dtls_5fsecurity_5fparams_5ffree_5fother',['dtls_security_params_free_other',['../peer_8h.html#a9d0ec25ba319a38b17f30cf156e85c51',1,'peer.h']]],
-  ['dtls_5fsecurity_5fparams_5fnext',['dtls_security_params_next',['../peer_8h.html#ab6e209f206f570eed246530ec7960943',1,'peer.h']]],
-  ['dtls_5fsecurity_5fparams_5fswitch',['dtls_security_params_switch',['../peer_8h.html#a9c37ce3fd7539154289dd17215179e2d',1,'peer.h']]],
-  ['dtls_5fsend',['dtls_send',['../dtls_8c.html#afdd0d094bfd136f65455e23fda087cd6',1,'dtls.c']]],
-  ['dtls_5fsend_5falert',['dtls_send_alert',['../dtls_8c.html#a4aac4fa55afe2d19342136acaaaf9641',1,'dtls.c']]],
-  ['dtls_5fsend_5fccs',['dtls_send_ccs',['../dtls_8c.html#a9cfb3c9e63f378d0d8e3d3d0c60537a5',1,'dtls.c']]],
-  ['dtls_5fsend_5fcertificate_5fecdsa',['dtls_send_certificate_ecdsa',['../dtls_8c.html#a6b92c487825aa888acc0b55f5adc0220',1,'dtls.c']]],
-  ['dtls_5fsend_5fcertificate_5fverify_5fecdh',['dtls_send_certificate_verify_ecdh',['../dtls_8c.html#adfe6fc0d0d66e9ffaef25c2c126b1c34',1,'dtls.c']]],
-  ['dtls_5fsend_5fclient_5fhello',['dtls_send_client_hello',['../dtls_8c.html#aecd3ffe8bf8a3970d3e091ce8e7c6476',1,'dtls.c']]],
-  ['dtls_5fsend_5fclient_5fkey_5fexchange',['dtls_send_client_key_exchange',['../dtls_8c.html#a12e4cab07baba9eae2a0182f4e0bf72d',1,'dtls.c']]],
-  ['dtls_5fsend_5ffinished',['dtls_send_finished',['../dtls_8c.html#a112e0d83a0e576b5d22df60241900a67',1,'dtls.c']]],
-  ['dtls_5fsend_5fhandshake_5fmsg',['dtls_send_handshake_msg',['../dtls_8c.html#a872c53139e76cab7ec387cc54ae1a11b',1,'dtls.c']]],
-  ['dtls_5fsend_5fhandshake_5fmsg_5fhash',['dtls_send_handshake_msg_hash',['../dtls_8c.html#a4f06884f659f6a5120be7e0b86d29880',1,'dtls.c']]],
-  ['dtls_5fsend_5fhello_5frequest',['dtls_send_hello_request',['../dtls_8c.html#ab3af0ee4375c0da833aacec49c6fd8ad',1,'dtls.c']]],
-  ['dtls_5fsend_5fmulti',['dtls_send_multi',['../dtls_8c.html#aa89745c0af073102c9c350d28a84214d',1,'dtls.c']]],
-  ['dtls_5fsend_5fserver_5fcertificate_5frequest',['dtls_send_server_certificate_request',['../dtls_8c.html#a51ab17e2a5ac1566ba4249b787bb98a3',1,'dtls.c']]],
-  ['dtls_5fsend_5fserver_5fhello',['dtls_send_server_hello',['../dtls_8c.html#a7730a402edfca00c35bc1c7c09eb2fb9',1,'dtls.c']]],
-  ['dtls_5fsend_5fserver_5fhello_5fdone',['dtls_send_server_hello_done',['../dtls_8c.html#ad6ebff8518bb1d53ba888baf6898ee21',1,'dtls.c']]],
-  ['dtls_5fsend_5fserver_5fhello_5fmsgs',['dtls_send_server_hello_msgs',['../dtls_8c.html#afc54bc2ed42b4b65ad8f01abca9a8772',1,'dtls.c']]],
-  ['dtls_5fsend_5fserver_5fkey_5fexchange_5fecdh',['dtls_send_server_key_exchange_ecdh',['../dtls_8c.html#a80275f06c14cbbc18095bc2f61022d15',1,'dtls.c']]],
-  ['dtls_5fsend_5fserver_5fkey_5fexchange_5fpsk',['dtls_send_server_key_exchange_psk',['../dtls_8c.html#a00f6591bce49f6122dab9827c8774ba3',1,'dtls.c']]],
-  ['dtls_5fsession_5fequals',['dtls_session_equals',['../session_8c.html#a96f4d60f388d56d37b3e69261bea2417',1,'dtls_session_equals(const session_t *a, const session_t *b):&#160;session.c'],['../session_8h.html#a96f4d60f388d56d37b3e69261bea2417',1,'dtls_session_equals(const session_t *a, const session_t *b):&#160;session.c']]],
-  ['dtls_5fsession_5finit',['dtls_session_init',['../session_8c.html#af5aad44a94929b1ebfbb3c6334e9e501',1,'dtls_session_init(session_t *sess):&#160;session.c'],['../session_8h.html#af5aad44a94929b1ebfbb3c6334e9e501',1,'dtls_session_init(session_t *sess):&#160;session.c']]],
-  ['dtls_5fset_5fhandler',['dtls_set_handler',['../dtls_8h.html#ab0e3223c87b79e4946b19538b24634da',1,'dtls.h']]],
-  ['dtls_5fset_5fhandshake_5fheader',['dtls_set_handshake_header',['../dtls_8c.html#ab43d3a34ddaf0f5bfaa2b0b3e76e25d1',1,'dtls.c']]],
-  ['dtls_5fset_5flog_5flevel',['dtls_set_log_level',['../debug_8c.html#ae081a7241940f0195295cc37f39c1d02',1,'dtls_set_log_level(log_t level):&#160;debug.c'],['../debug_8h.html#ae081a7241940f0195295cc37f39c1d02',1,'dtls_set_log_level(log_t level):&#160;debug.c']]],
-  ['dtls_5fset_5frecord_5fheader',['dtls_set_record_header',['../dtls_8c.html#a734cf32b1c8b99e21d57006da24fd808',1,'dtls.c']]],
-  ['dtls_5fstop_5fretransmission',['dtls_stop_retransmission',['../dtls_8c.html#a3742f5067d1b0693d6a41e70d4ecd5b5',1,'dtls.c']]],
-  ['dtls_5fstrnlen',['dtls_strnlen',['../debug_8c.html#a2ff663644d9ffbc6ac64b2da6cde5bfa',1,'debug.c']]],
-  ['dtls_5fticks',['dtls_ticks',['../group__clock.html#ga1834985745ba5d3dd03f7e7498e3a304',1,'dtls_ticks(dtls_tick_t *t):&#160;dtls_time.c'],['../group__clock.html#ga1834985745ba5d3dd03f7e7498e3a304',1,'dtls_ticks(dtls_tick_t *t):&#160;dtls_time.c']]],
-  ['dtls_5fuint16_5fto_5fint',['dtls_uint16_to_int',['../numeric_8h.html#ae32dd0743658f1aa5a723d5a8357521f',1,'numeric.h']]],
-  ['dtls_5fuint24_5fto_5fint',['dtls_uint24_to_int',['../numeric_8h.html#a238931e9197ce422acfba569deb2af71',1,'numeric.h']]],
-  ['dtls_5fuint32_5fto_5fint',['dtls_uint32_to_int',['../numeric_8h.html#a91f840f763f90c6d88a267011edf86d0',1,'numeric.h']]],
-  ['dtls_5fuint48_5fto_5fint',['dtls_uint48_to_int',['../numeric_8h.html#ae25d1d32eab6fe59318506984ebc23af',1,'numeric.h']]],
-  ['dtls_5fuint64_5fto_5fint',['dtls_uint64_to_int',['../numeric_8h.html#aa7dcbb31a4c4319903f41008f1f311ae',1,'numeric.h']]],
-  ['dtls_5fuint8_5fto_5fint',['dtls_uint8_to_int',['../numeric_8h.html#a7293cc28604d896cfef802b53b0ad99f',1,'numeric.h']]],
-  ['dtls_5fupdate_5fparameters',['dtls_update_parameters',['../dtls_8c.html#a63f2c7e75b86bb2839b8fedf3fa9c93d',1,'dtls.c']]],
-  ['dtls_5fverify_5fpeer',['dtls_verify_peer',['../dtls_8c.html#a604f68a801e55b884f7f7f1d2f1b9c9f',1,'dtls.c']]],
-  ['dtls_5fwrite',['dtls_write',['../dtls_8c.html#a1e338587fb19c794c8d19bc2801f2eb2',1,'dtls_write(struct dtls_context_t *ctx, session_t *dst, uint8 *buf, size_t len):&#160;dtls.c'],['../dtls_8h.html#a4743f51c3197d290fc9a88e1f3a64928',1,'dtls_write(struct dtls_context_t *ctx, session_t *session, uint8 *buf, size_t len):&#160;dtls.c']]],
-  ['dump',['dump',['../debug_8c.html#a7ee74b9f3941b0ec63f35da6b83fa240',1,'dump(unsigned char *buf, size_t len):&#160;debug.c'],['../debug_8h.html#a7ee74b9f3941b0ec63f35da6b83fa240',1,'dump(unsigned char *buf, size_t len):&#160;debug.c']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/functions_5.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/functions_5.html
deleted file mode 100644 (file)
index 1f1d9ce..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="functions_5.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/functions_5.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/functions_5.js
deleted file mode 100644 (file)
index d24e9ab..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-var searchData=
-[
-  ['encrypt',['encrypt',['../ccm_8c.html#a983462ca57ee8fe54249c77281f6559e',1,'ccm.c']]],
-  ['equals',['equals',['../global_8h.html#a8277c276ecd5cd2f998f08fd344d90ef',1,'global.h']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/functions_6.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/functions_6.html
deleted file mode 100644 (file)
index c9faaa6..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="functions_6.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/functions_6.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/functions_6.js
deleted file mode 100644 (file)
index 14f234c..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-var searchData=
-[
-  ['finalize_5fhs_5fhash',['finalize_hs_hash',['../dtls_8c.html#adb41bf916dc34af5cd79003a9243b727',1,'dtls.c']]],
-  ['free_5fcontext',['free_context',['../dtls_8c.html#aa2f1fb16f297640b319ff0d864139ea5',1,'dtls.c']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/functions_7.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/functions_7.html
deleted file mode 100644 (file)
index ec330da..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="functions_7.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/functions_7.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/functions_7.js
deleted file mode 100644 (file)
index 3fe96db..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-var searchData=
-[
-  ['handle_5falert',['handle_alert',['../dtls_8c.html#a445994c602b105608f277c6fc066301d',1,'dtls.c']]],
-  ['handle_5fccs',['handle_ccs',['../dtls_8c.html#a4d7a16c9d0cd28666a2cc8ec471aa664',1,'dtls.c']]],
-  ['handle_5fhandshake',['handle_handshake',['../dtls_8c.html#ab199f50f39a96464ff7b532f2635ce9d',1,'dtls.c']]],
-  ['handle_5fhandshake_5fmsg',['handle_handshake_msg',['../dtls_8c.html#a24e7d6ad9fc0d87b7285615123bdd43d',1,'dtls.c']]],
-  ['hexdump',['hexdump',['../debug_8c.html#af5fe8134d8875eb856a4cd99313ec1b0',1,'hexdump(const unsigned char *packet, int length):&#160;debug.c'],['../debug_8h.html#af5fe8134d8875eb856a4cd99313ec1b0',1,'hexdump(const unsigned char *packet, int length):&#160;debug.c']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/functions_8.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/functions_8.html
deleted file mode 100644 (file)
index afd4fac..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="functions_8.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/functions_8.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/functions_8.js
deleted file mode 100644 (file)
index 7f297fe..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-var searchData=
-[
-  ['is_5fecdsa_5fclient_5fauth_5fsupported',['is_ecdsa_client_auth_supported',['../dtls_8c.html#a599f0d6e9134869e55b64c4f8720ebfa',1,'dtls.c']]],
-  ['is_5fecdsa_5fsupported',['is_ecdsa_supported',['../dtls_8c.html#abb41f4bb9b8e4218ef5115ce70ebdc21',1,'dtls.c']]],
-  ['is_5fpsk_5fsupported',['is_psk_supported',['../dtls_8c.html#a3bbccb275cb23e84c0a148a157955770',1,'dtls.c']]],
-  ['is_5frecord',['is_record',['../dtls_8c.html#aaafa285eb634873480c0ff429edd8064',1,'dtls.c']]],
-  ['is_5ftls_5fecdhe_5fecdsa_5fwith_5faes_5f128_5fccm_5f8',['is_tls_ecdhe_ecdsa_with_aes_128_ccm_8',['../dtls_8c.html#a8098a728e5fff33ceeb7f57ebd48a212',1,'dtls.c']]],
-  ['is_5ftls_5fpsk_5fwith_5faes_5f128_5fccm_5f8',['is_tls_psk_with_aes_128_ccm_8',['../dtls_8c.html#a8bb6e8bb947b943d2af4c1886a8e72ba',1,'dtls.c']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/functions_9.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/functions_9.html
deleted file mode 100644 (file)
index 542b9e0..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="functions_9.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/functions_9.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/functions_9.js
deleted file mode 100644 (file)
index 6f9ff64..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-var searchData=
-[
-  ['known_5fcipher',['known_cipher',['../dtls_8c.html#a37965d10b44a63ea6adbf28b9dc79b75',1,'dtls.c']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/functions_a.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/functions_a.html
deleted file mode 100644 (file)
index 94fd395..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="functions_a.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/functions_a.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/functions_a.js
deleted file mode 100644 (file)
index 23b052e..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-var searchData=
-[
-  ['list_5fadd',['list_add',['../t__list_8h.html#aee4e6fc5d9a6133555e7373c654b2120',1,'t_list.h']]],
-  ['list_5fhead',['list_head',['../t__list_8h.html#adb42e31bb4fe0df6ec1aa3494902968d',1,'t_list.h']]],
-  ['list_5finsert',['list_insert',['../t__list_8h.html#a0d4152f6de47bfefa600867056bc3355',1,'t_list.h']]],
-  ['list_5fitem_5fnext',['list_item_next',['../t__list_8h.html#ae7f0bdad2409695760ffd8de55b6a99b',1,'t_list.h']]],
-  ['list_5fpop',['list_pop',['../t__list_8h.html#a5ba6a8506e0226ab945349e25ef65d56',1,'t_list.h']]],
-  ['list_5fpush',['list_push',['../t__list_8h.html#ab1521a806c1775e743ddefede17673fd',1,'t_list.h']]],
-  ['list_5fremove',['list_remove',['../t__list_8h.html#a10de2120be61f445c5989c983c1e133b',1,'t_list.h']]],
-  ['list_5fstruct',['LIST_STRUCT',['../structdtls__handshake__parameters__t.html#a44c54027bff617597d51f4fc862a1dc4',1,'dtls_handshake_parameters_t::LIST_STRUCT()'],['../structdtls__context__t.html#adf4e86be64bd4a07936ddbba5f6fa6af',1,'dtls_context_t::LIST_STRUCT()']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/functions_b.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/functions_b.html
deleted file mode 100644 (file)
index 1a03617..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="functions_b.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/functions_b.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/functions_b.js
deleted file mode 100644 (file)
index 36be7ff..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-var searchData=
-[
-  ['mac',['mac',['../ccm_8c.html#af90d9a6bdae478b53926bf6f1bd6c9d5',1,'ccm.c']]],
-  ['malloc_5fcontext',['malloc_context',['../dtls_8c.html#a9e02f1c6e70dab40e56d5131a259521a',1,'dtls.c']]],
-  ['memxor',['memxor',['../global_8h.html#a6c31c5d8a0fe09547a192100d2a00dc5',1,'global.h']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/functions_c.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/functions_c.html
deleted file mode 100644 (file)
index a6536e9..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="functions_c.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/functions_c.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/functions_c.js
deleted file mode 100644 (file)
index 8155429..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-var searchData=
-[
-  ['netq_5fdelete_5fall',['netq_delete_all',['../group__netq.html#gac72fd2ec9f1e6908c8a10705fb6555e2',1,'netq_delete_all(list_t queue):&#160;netq.c'],['../group__netq.html#gac72fd2ec9f1e6908c8a10705fb6555e2',1,'netq_delete_all(list_t queue):&#160;netq.c']]],
-  ['netq_5ffree_5fnode',['netq_free_node',['../netq_8c.html#a2e23675fa402ca2c66bc97cbd09e44f3',1,'netq.c']]],
-  ['netq_5fhead',['netq_head',['../group__netq.html#gac769de2e30bcf2c2db89ff10822219d4',1,'netq_head(list_t queue):&#160;netq.c'],['../group__netq.html#gac769de2e30bcf2c2db89ff10822219d4',1,'netq_head(list_t queue):&#160;netq.c']]],
-  ['netq_5finit',['netq_init',['../group__netq.html#ga9eba9e66570dcdfc933c6cf843694444',1,'netq.h']]],
-  ['netq_5finsert_5fnode',['netq_insert_node',['../group__netq.html#ga142c8e39fe2cd55250e3c1f0370dfe6b',1,'netq_insert_node(list_t queue, netq_t *node):&#160;netq.c'],['../group__netq.html#ga142c8e39fe2cd55250e3c1f0370dfe6b',1,'netq_insert_node(list_t queue, netq_t *node):&#160;netq.c']]],
-  ['netq_5fmalloc_5fnode',['netq_malloc_node',['../netq_8c.html#a58b119d6b9bb7756ab49afcd34571dab',1,'netq.c']]],
-  ['netq_5fnext',['netq_next',['../group__netq.html#gab4c90c003808a784ae1ee9322e75627d',1,'netq_next(netq_t *p):&#160;netq.c'],['../group__netq.html#gab4c90c003808a784ae1ee9322e75627d',1,'netq_next(netq_t *p):&#160;netq.c']]],
-  ['netq_5fnode_5ffree',['netq_node_free',['../group__netq.html#ga9ef9da1a2af266dadef83ddf6c8524d7',1,'netq_node_free(netq_t *node):&#160;netq.c'],['../group__netq.html#ga9ef9da1a2af266dadef83ddf6c8524d7',1,'netq_node_free(netq_t *node):&#160;netq.c']]],
-  ['netq_5fnode_5fnew',['netq_node_new',['../group__netq.html#gafcf245cd934e9b8f0909a7ca8940e9cb',1,'netq_node_new(size_t size):&#160;netq.c'],['../group__netq.html#gafcf245cd934e9b8f0909a7ca8940e9cb',1,'netq_node_new(size_t size):&#160;netq.c']]],
-  ['netq_5fpop_5ffirst',['netq_pop_first',['../group__netq.html#ga108e6c43e524fd4b23a5d4731631fae3',1,'netq_pop_first(list_t queue):&#160;netq.c'],['../group__netq.html#ga108e6c43e524fd4b23a5d4731631fae3',1,'netq_pop_first(list_t queue):&#160;netq.c']]],
-  ['netq_5fremove',['netq_remove',['../group__netq.html#gace12cd802d76d5bd98b2eaedc591fd22',1,'netq_remove(list_t queue, netq_t *p):&#160;netq.c'],['../group__netq.html#gace12cd802d76d5bd98b2eaedc591fd22',1,'netq_remove(list_t queue, netq_t *p):&#160;netq.c']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/functions_d.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/functions_d.html
deleted file mode 100644 (file)
index 8cdcc06..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="functions_d.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/functions_d.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/functions_d.js
deleted file mode 100644 (file)
index cb9eaa3..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-var searchData=
-[
-  ['peer_5finit',['peer_init',['../peer_8c.html#a0297e9d772bfca004a98462d9c7d2828',1,'peer_init():&#160;peer.c'],['../peer_8h.html#a0297e9d772bfca004a98462d9c7d2828',1,'peer_init():&#160;peer.c']]],
-  ['print_5ftimestamp',['print_timestamp',['../debug_8c.html#a4ac5b294de82b336108ebd436b271b17',1,'debug.c']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/functions_e.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/functions_e.html
deleted file mode 100644 (file)
index 649b2c9..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="functions_e.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/functions_e.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/functions_e.js
deleted file mode 100644 (file)
index 74de5d8..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-var searchData=
-[
-  ['update_5fhs_5fhash',['update_hs_hash',['../dtls_8c.html#a3db09acb5894f17f4745d7556555bea7',1,'dtls.c']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/functions_f.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/functions_f.html
deleted file mode 100644 (file)
index 386c7d4..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="functions_f.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/functions_f.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/functions_f.js
deleted file mode 100644 (file)
index bed5508..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-var searchData=
-[
-  ['verify_5fext_5fcert_5ftype',['verify_ext_cert_type',['../dtls_8c.html#af073bf7cefa5e49e0c939e853678d417',1,'dtls.c']]],
-  ['verify_5fext_5fec_5fpoint_5fformats',['verify_ext_ec_point_formats',['../dtls_8c.html#a04a3580764ffd4f253ce6be858806c95',1,'dtls.c']]],
-  ['verify_5fext_5feliptic_5fcurves',['verify_ext_eliptic_curves',['../dtls_8c.html#ad699a00b7ff5a71fa5b7fbc79a4dd9a8',1,'dtls.c']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/groups_0.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/groups_0.html
deleted file mode 100644 (file)
index 2090afa..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="groups_0.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/groups_0.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/groups_0.js
deleted file mode 100644 (file)
index ddc4993..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-var searchData=
-[
-  ['clock_20handling',['Clock Handling',['../group__clock.html',1,'']]],
-  ['contiki',['Contiki',['../group__contiki.html',1,'']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/groups_1.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/groups_1.html
deleted file mode 100644 (file)
index 3ad8a3b..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="groups_1.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/groups_1.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/groups_1.js
deleted file mode 100644 (file)
index cb8bbc9..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-var searchData=
-[
-  ['dtls_20usage',['DTLS Usage',['../group__dtls__usage.html',1,'']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/groups_2.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/groups_2.html
deleted file mode 100644 (file)
index 361832c..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="groups_2.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/groups_2.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/groups_2.js
deleted file mode 100644 (file)
index 4bb8c65..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-var searchData=
-[
-  ['keyed_2dhash_20message_20authentication_20code_20_28hmac_29',['Keyed-Hash Message Authentication Code (HMAC)',['../group__HMAC.html',1,'']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/groups_3.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/groups_3.html
deleted file mode 100644 (file)
index f42200a..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="groups_3.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/groups_3.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/groups_3.js
deleted file mode 100644 (file)
index 6b33d1f..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-var searchData=
-[
-  ['network_20packet_20queue',['Network Packet Queue',['../group__netq.html',1,'']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/groups_4.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/groups_4.html
deleted file mode 100644 (file)
index b07fdf9..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="groups_4.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/groups_4.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/groups_4.js
deleted file mode 100644 (file)
index 3bee3cf..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-var searchData=
-[
-  ['pseudo_20random_20numbers',['Pseudo Random Numbers',['../group__prng.html',1,'']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/mag_sel.png b/external/wakaama/examples/shared/tinydtls/doc/html/search/mag_sel.png
deleted file mode 100644 (file)
index 81f6040..0000000
Binary files a/external/wakaama/examples/shared/tinydtls/doc/html/search/mag_sel.png and /dev/null differ
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/nomatches.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/nomatches.html
deleted file mode 100644 (file)
index b1ded27..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="NoMatches">No Matches</div>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/search.css b/external/wakaama/examples/shared/tinydtls/doc/html/search/search.css
deleted file mode 100644 (file)
index 4d7612f..0000000
+++ /dev/null
@@ -1,271 +0,0 @@
-/*---------------- Search Box */
-
-#FSearchBox {
-    float: left;
-}
-
-#MSearchBox {
-    white-space : nowrap;
-    position: absolute;
-    float: none;
-    display: inline;
-    margin-top: 8px;
-    right: 0px;
-    width: 170px;
-    z-index: 102;
-    background-color: white;
-}
-
-#MSearchBox .left
-{
-    display:block;
-    position:absolute;
-    left:10px;
-    width:20px;
-    height:19px;
-    background:url('search_l.png') no-repeat;
-    background-position:right;
-}
-
-#MSearchSelect {
-    display:block;
-    position:absolute;
-    width:20px;
-    height:19px;
-}
-
-.left #MSearchSelect {
-    left:4px;
-}
-
-.right #MSearchSelect {
-    right:5px;
-}
-
-#MSearchField {
-    display:block;
-    position:absolute;
-    height:19px;
-    background:url('search_m.png') repeat-x;
-    border:none;
-    width:111px;
-    margin-left:20px;
-    padding-left:4px;
-    color: #909090;
-    outline: none;
-    font: 9pt Arial, Verdana, sans-serif;
-}
-
-#FSearchBox #MSearchField {
-    margin-left:15px;
-}
-
-#MSearchBox .right {
-    display:block;
-    position:absolute;
-    right:10px;
-    top:0px;
-    width:20px;
-    height:19px;
-    background:url('search_r.png') no-repeat;
-    background-position:left;
-}
-
-#MSearchClose {
-    display: none;
-    position: absolute;
-    top: 4px;
-    background : none;
-    border: none;
-    margin: 0px 4px 0px 0px;
-    padding: 0px 0px;
-    outline: none;
-}
-
-.left #MSearchClose {
-    left: 6px;
-}
-
-.right #MSearchClose {
-    right: 2px;
-}
-
-.MSearchBoxActive #MSearchField {
-    color: #000000;
-}
-
-/*---------------- Search filter selection */
-
-#MSearchSelectWindow {
-    display: none;
-    position: absolute;
-    left: 0; top: 0;
-    border: 1px solid #90A5CE;
-    background-color: #F9FAFC;
-    z-index: 1;
-    padding-top: 4px;
-    padding-bottom: 4px;
-    -moz-border-radius: 4px;
-    -webkit-border-top-left-radius: 4px;
-    -webkit-border-top-right-radius: 4px;
-    -webkit-border-bottom-left-radius: 4px;
-    -webkit-border-bottom-right-radius: 4px;
-    -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
-}
-
-.SelectItem {
-    font: 8pt Arial, Verdana, sans-serif;
-    padding-left:  2px;
-    padding-right: 12px;
-    border: 0px;
-}
-
-span.SelectionMark {
-    margin-right: 4px;
-    font-family: monospace;
-    outline-style: none;
-    text-decoration: none;
-}
-
-a.SelectItem {
-    display: block;
-    outline-style: none;
-    color: #000000; 
-    text-decoration: none;
-    padding-left:   6px;
-    padding-right: 12px;
-}
-
-a.SelectItem:focus,
-a.SelectItem:active {
-    color: #000000; 
-    outline-style: none;
-    text-decoration: none;
-}
-
-a.SelectItem:hover {
-    color: #FFFFFF;
-    background-color: #3D578C;
-    outline-style: none;
-    text-decoration: none;
-    cursor: pointer;
-    display: block;
-}
-
-/*---------------- Search results window */
-
-iframe#MSearchResults {
-    width: 60ex;
-    height: 15em;
-}
-
-#MSearchResultsWindow {
-    display: none;
-    position: absolute;
-    left: 0; top: 0;
-    border: 1px solid #000;
-    background-color: #EEF1F7;
-}
-
-/* ----------------------------------- */
-
-
-#SRIndex {
-    clear:both; 
-    padding-bottom: 15px;
-}
-
-.SREntry {
-    font-size: 10pt;
-    padding-left: 1ex;
-}
-
-.SRPage .SREntry {
-    font-size: 8pt;
-    padding: 1px 5px;
-}
-
-body.SRPage {
-    margin: 5px 2px;
-}
-
-.SRChildren {
-    padding-left: 3ex; padding-bottom: .5em 
-}
-
-.SRPage .SRChildren {
-    display: none;
-}
-
-.SRSymbol {
-    font-weight: bold; 
-    color: #425E97;
-    font-family: Arial, Verdana, sans-serif;
-    text-decoration: none;
-    outline: none;
-}
-
-a.SRScope {
-    display: block;
-    color: #425E97; 
-    font-family: Arial, Verdana, sans-serif;
-    text-decoration: none;
-    outline: none;
-}
-
-a.SRSymbol:focus, a.SRSymbol:active,
-a.SRScope:focus, a.SRScope:active {
-    text-decoration: underline;
-}
-
-span.SRScope {
-    padding-left: 4px;
-}
-
-.SRPage .SRStatus {
-    padding: 2px 5px;
-    font-size: 8pt;
-    font-style: italic;
-}
-
-.SRResult {
-    display: none;
-}
-
-DIV.searchresults {
-    margin-left: 10px;
-    margin-right: 10px;
-}
-
-/*---------------- External search page results */
-
-.searchresult {
-    background-color: #F0F3F8;
-}
-
-.pages b {
-   color: white;
-   padding: 5px 5px 3px 5px;
-   background-image: url("../tab_a.png");
-   background-repeat: repeat-x;
-   text-shadow: 0 1px 1px #000000;
-}
-
-.pages {
-    line-height: 17px;
-    margin-left: 4px;
-    text-decoration: none;
-}
-
-.hl {
-    font-weight: bold;
-}
-
-#searchresults {
-    margin-bottom: 20px;
-}
-
-.searchpages {
-    margin-top: 10px;
-}
-
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/search.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/search.js
deleted file mode 100644 (file)
index b642e89..0000000
+++ /dev/null
@@ -1,811 +0,0 @@
-// Search script generated by doxygen
-// Copyright (C) 2009 by Dimitri van Heesch.
-
-// The code in this file is loosly based on main.js, part of Natural Docs,
-// which is Copyright (C) 2003-2008 Greg Valure
-// Natural Docs is licensed under the GPL.
-
-var indexSectionsWithContent =
-{
-  0: "_abcdefghiklmnoprstuvw",
-  1: "adlnsu",
-  2: "acdghnpstu",
-  3: "_abcdefhiklmnpuv",
-  4: "abcdehiklmnoprstw",
-  5: "cdlnu",
-  6: "dl",
-  7: "adht",
-  8: "_acdeghlmprstuw",
-  9: "cdknp"
-};
-
-var indexSectionNames =
-{
-  0: "all",
-  1: "classes",
-  2: "files",
-  3: "functions",
-  4: "variables",
-  5: "typedefs",
-  6: "enums",
-  7: "enumvalues",
-  8: "defines",
-  9: "groups"
-};
-
-function convertToId(search)
-{
-  var result = '';
-  for (i=0;i<search.length;i++)
-  {
-    var c = search.charAt(i);
-    var cn = c.charCodeAt(0);
-    if (c.match(/[a-z0-9\u0080-\uFFFF]/))
-    {
-      result+=c;
-    }
-    else if (cn<16) 
-    {
-      result+="_0"+cn.toString(16);
-    }
-    else 
-    {
-      result+="_"+cn.toString(16);
-    }
-  }
-  return result;
-}
-
-function getXPos(item)
-{
-  var x = 0;
-  if (item.offsetWidth)
-  {
-    while (item && item!=document.body)
-    {
-      x   += item.offsetLeft;
-      item = item.offsetParent;
-    }
-  }
-  return x;
-}
-
-function getYPos(item)
-{
-  var y = 0;
-  if (item.offsetWidth)
-  {
-     while (item && item!=document.body)
-     {
-       y   += item.offsetTop;
-       item = item.offsetParent;
-     }
-  }
-  return y;
-}
-
-/* A class handling everything associated with the search panel.
-
-   Parameters:
-   name - The name of the global variable that will be 
-          storing this instance.  Is needed to be able to set timeouts.
-   resultPath - path to use for external files
-*/
-function SearchBox(name, resultsPath, inFrame, label)
-{
-  if (!name || !resultsPath) {  alert("Missing parameters to SearchBox."); }
-   
-  // ---------- Instance variables
-  this.name                  = name;
-  this.resultsPath           = resultsPath;
-  this.keyTimeout            = 0;
-  this.keyTimeoutLength      = 500;
-  this.closeSelectionTimeout = 300;
-  this.lastSearchValue       = "";
-  this.lastResultsPage       = "";
-  this.hideTimeout           = 0;
-  this.searchIndex           = 0;
-  this.searchActive          = false;
-  this.insideFrame           = inFrame;
-  this.searchLabel           = label;
-
-  // ----------- DOM Elements
-
-  this.DOMSearchField = function()
-  {  return document.getElementById("MSearchField");  }
-
-  this.DOMSearchSelect = function()
-  {  return document.getElementById("MSearchSelect");  }
-
-  this.DOMSearchSelectWindow = function()
-  {  return document.getElementById("MSearchSelectWindow");  }
-
-  this.DOMPopupSearchResults = function()
-  {  return document.getElementById("MSearchResults");  }
-
-  this.DOMPopupSearchResultsWindow = function()
-  {  return document.getElementById("MSearchResultsWindow");  }
-
-  this.DOMSearchClose = function()
-  {  return document.getElementById("MSearchClose"); }
-
-  this.DOMSearchBox = function()
-  {  return document.getElementById("MSearchBox");  }
-
-  // ------------ Event Handlers
-
-  // Called when focus is added or removed from the search field.
-  this.OnSearchFieldFocus = function(isActive)
-  {
-    this.Activate(isActive);
-  }
-
-  this.OnSearchSelectShow = function()
-  {
-    var searchSelectWindow = this.DOMSearchSelectWindow();
-    var searchField        = this.DOMSearchSelect();
-
-    if (this.insideFrame)
-    {
-      var left = getXPos(searchField);
-      var top  = getYPos(searchField);
-      left += searchField.offsetWidth + 6;
-      top += searchField.offsetHeight;
-
-      // show search selection popup
-      searchSelectWindow.style.display='block';
-      left -= searchSelectWindow.offsetWidth;
-      searchSelectWindow.style.left =  left + 'px';
-      searchSelectWindow.style.top  =  top  + 'px';
-    }
-    else
-    {
-      var left = getXPos(searchField);
-      var top  = getYPos(searchField);
-      top += searchField.offsetHeight;
-
-      // show search selection popup
-      searchSelectWindow.style.display='block';
-      searchSelectWindow.style.left =  left + 'px';
-      searchSelectWindow.style.top  =  top  + 'px';
-    }
-
-    // stop selection hide timer
-    if (this.hideTimeout) 
-    {
-      clearTimeout(this.hideTimeout);
-      this.hideTimeout=0;
-    }
-    return false; // to avoid "image drag" default event
-  }
-
-  this.OnSearchSelectHide = function()
-  {
-    this.hideTimeout = setTimeout(this.name +".CloseSelectionWindow()",
-                                  this.closeSelectionTimeout);
-  }
-
-  // Called when the content of the search field is changed.
-  this.OnSearchFieldChange = function(evt)
-  {
-    if (this.keyTimeout) // kill running timer
-    {
-      clearTimeout(this.keyTimeout);
-      this.keyTimeout = 0;
-    }
-
-    var e  = (evt) ? evt : window.event; // for IE
-    if (e.keyCode==40 || e.keyCode==13)
-    {
-      if (e.shiftKey==1)
-      {
-        this.OnSearchSelectShow();
-        var win=this.DOMSearchSelectWindow(); 
-        for (i=0;i<win.childNodes.length;i++)
-        {
-          var child = win.childNodes[i]; // get span within a
-          if (child.className=='SelectItem')
-          {
-            child.focus();
-            return;
-          }
-        }
-        return;
-      }
-      else if (window.frames.MSearchResults.searchResults)
-      {
-        var elem = window.frames.MSearchResults.searchResults.NavNext(0);
-        if (elem) elem.focus();
-      }
-    }
-    else if (e.keyCode==27) // Escape out of the search field
-    {
-      this.DOMSearchField().blur();
-      this.DOMPopupSearchResultsWindow().style.display = 'none';
-      this.DOMSearchClose().style.display = 'none';
-      this.lastSearchValue = '';
-      this.Activate(false);
-      return;
-    }
-
-    // strip whitespaces
-    var searchValue = this.DOMSearchField().value.replace(/ +/g, "");
-
-    if (searchValue != this.lastSearchValue) // search value has changed
-    {
-      if (searchValue != "") // non-empty search
-      {
-        // set timer for search update
-        this.keyTimeout = setTimeout(this.name + '.Search()',
-                                     this.keyTimeoutLength);
-      }
-      else // empty search field
-      {
-        this.DOMPopupSearchResultsWindow().style.display = 'none';
-        this.DOMSearchClose().style.display = 'none';
-        this.lastSearchValue = '';
-      }
-    }
-  }
-
-  this.SelectItemCount = function(id)
-  {
-    var count=0;
-    var win=this.DOMSearchSelectWindow(); 
-    for (i=0;i<win.childNodes.length;i++)
-    {
-      var child = win.childNodes[i]; // get span within a
-      if (child.className=='SelectItem')
-      {
-        count++;
-      }
-    }
-    return count;
-  }
-
-  this.SelectItemSet = function(id)
-  {
-    var i,j=0;
-    var win=this.DOMSearchSelectWindow(); 
-    for (i=0;i<win.childNodes.length;i++)
-    {
-      var child = win.childNodes[i]; // get span within a
-      if (child.className=='SelectItem')
-      {
-        var node = child.firstChild;
-        if (j==id)
-        {
-          node.innerHTML='&#8226;';
-        }
-        else
-        {
-          node.innerHTML='&#160;';
-        }
-        j++;
-      }
-    }
-  }
-
-  // Called when an search filter selection is made.
-  // set item with index id as the active item
-  this.OnSelectItem = function(id)
-  {
-    this.searchIndex = id;
-    this.SelectItemSet(id);
-    var searchValue = this.DOMSearchField().value.replace(/ +/g, "");
-    if (searchValue!="" && this.searchActive) // something was found -> do a search
-    {
-      this.Search();
-    }
-  }
-
-  this.OnSearchSelectKey = function(evt)
-  {
-    var e = (evt) ? evt : window.event; // for IE
-    if (e.keyCode==40 && this.searchIndex<this.SelectItemCount()) // Down
-    {
-      this.searchIndex++;
-      this.OnSelectItem(this.searchIndex);
-    }
-    else if (e.keyCode==38 && this.searchIndex>0) // Up
-    {
-      this.searchIndex--;
-      this.OnSelectItem(this.searchIndex);
-    }
-    else if (e.keyCode==13 || e.keyCode==27)
-    {
-      this.OnSelectItem(this.searchIndex);
-      this.CloseSelectionWindow();
-      this.DOMSearchField().focus();
-    }
-    return false;
-  }
-
-  // --------- Actions
-
-  // Closes the results window.
-  this.CloseResultsWindow = function()
-  {
-    this.DOMPopupSearchResultsWindow().style.display = 'none';
-    this.DOMSearchClose().style.display = 'none';
-    this.Activate(false);
-  }
-
-  this.CloseSelectionWindow = function()
-  {
-    this.DOMSearchSelectWindow().style.display = 'none';
-  }
-
-  // Performs a search.
-  this.Search = function()
-  {
-    this.keyTimeout = 0;
-
-    // strip leading whitespace
-    var searchValue = this.DOMSearchField().value.replace(/^ +/, "");
-
-    var code = searchValue.toLowerCase().charCodeAt(0);
-    var idxChar = searchValue.substr(0, 1).toLowerCase();
-    if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) // surrogate pair
-    {
-      idxChar = searchValue.substr(0, 2);
-    }
-
-    var resultsPage;
-    var resultsPageWithSearch;
-    var hasResultsPage;
-
-    var idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar);
-    if (idx!=-1)
-    {
-       var hexCode=idx.toString(16);
-       resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + '.html';
-       resultsPageWithSearch = resultsPage+'?'+escape(searchValue);
-       hasResultsPage = true;
-    }
-    else // nothing available for this search term
-    {
-       resultsPage = this.resultsPath + '/nomatches.html';
-       resultsPageWithSearch = resultsPage;
-       hasResultsPage = false;
-    }
-
-    window.frames.MSearchResults.location = resultsPageWithSearch;  
-    var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow();
-
-    if (domPopupSearchResultsWindow.style.display!='block')
-    {
-       var domSearchBox = this.DOMSearchBox();
-       this.DOMSearchClose().style.display = 'inline';
-       if (this.insideFrame)
-       {
-         var domPopupSearchResults = this.DOMPopupSearchResults();
-         domPopupSearchResultsWindow.style.position = 'relative';
-         domPopupSearchResultsWindow.style.display  = 'block';
-         var width = document.body.clientWidth - 8; // the -8 is for IE :-(
-         domPopupSearchResultsWindow.style.width    = width + 'px';
-         domPopupSearchResults.style.width          = width + 'px';
-       }
-       else
-       {
-         var domPopupSearchResults = this.DOMPopupSearchResults();
-         var left = getXPos(domSearchBox) + 150; // domSearchBox.offsetWidth;
-         var top  = getYPos(domSearchBox) + 20;  // domSearchBox.offsetHeight + 1;
-         domPopupSearchResultsWindow.style.display = 'block';
-         left -= domPopupSearchResults.offsetWidth;
-         domPopupSearchResultsWindow.style.top     = top  + 'px';
-         domPopupSearchResultsWindow.style.left    = left + 'px';
-       }
-    }
-
-    this.lastSearchValue = searchValue;
-    this.lastResultsPage = resultsPage;
-  }
-
-  // -------- Activation Functions
-
-  // Activates or deactivates the search panel, resetting things to 
-  // their default values if necessary. 
-  this.Activate = function(isActive)
-  {
-    if (isActive || // open it
-        this.DOMPopupSearchResultsWindow().style.display == 'block' 
-       )
-    {
-      this.DOMSearchBox().className = 'MSearchBoxActive';
-
-      var searchField = this.DOMSearchField();
-
-      if (searchField.value == this.searchLabel) // clear "Search" term upon entry
-      {  
-        searchField.value = '';  
-        this.searchActive = true;
-      }
-    }
-    else if (!isActive) // directly remove the panel
-    {
-      this.DOMSearchBox().className = 'MSearchBoxInactive';
-      this.DOMSearchField().value   = this.searchLabel;
-      this.searchActive             = false;
-      this.lastSearchValue          = ''
-      this.lastResultsPage          = '';
-    }
-  }
-}
-
-// -----------------------------------------------------------------------
-
-// The class that handles everything on the search results page.
-function SearchResults(name)
-{
-    // The number of matches from the last run of <Search()>.
-    this.lastMatchCount = 0;
-    this.lastKey = 0;
-    this.repeatOn = false;
-
-    // Toggles the visibility of the passed element ID.
-    this.FindChildElement = function(id)
-    {
-      var parentElement = document.getElementById(id);
-      var element = parentElement.firstChild;
-
-      while (element && element!=parentElement)
-      {
-        if (element.nodeName == 'DIV' && element.className == 'SRChildren')
-        {
-          return element;
-        }
-
-        if (element.nodeName == 'DIV' && element.hasChildNodes())
-        {  
-           element = element.firstChild;  
-        }
-        else if (element.nextSibling)
-        {  
-           element = element.nextSibling;  
-        }
-        else
-        {
-          do
-          {
-            element = element.parentNode;
-          }
-          while (element && element!=parentElement && !element.nextSibling);
-
-          if (element && element!=parentElement)
-          {  
-            element = element.nextSibling;  
-          }
-        }
-      }
-    }
-
-    this.Toggle = function(id)
-    {
-      var element = this.FindChildElement(id);
-      if (element)
-      {
-        if (element.style.display == 'block')
-        {
-          element.style.display = 'none';
-        }
-        else
-        {
-          element.style.display = 'block';
-        }
-      }
-    }
-
-    // Searches for the passed string.  If there is no parameter,
-    // it takes it from the URL query.
-    //
-    // Always returns true, since other documents may try to call it
-    // and that may or may not be possible.
-    this.Search = function(search)
-    {
-      if (!search) // get search word from URL
-      {
-        search = window.location.search;
-        search = search.substring(1);  // Remove the leading '?'
-        search = unescape(search);
-      }
-
-      search = search.replace(/^ +/, ""); // strip leading spaces
-      search = search.replace(/ +$/, ""); // strip trailing spaces
-      search = search.toLowerCase();
-      search = convertToId(search);
-
-      var resultRows = document.getElementsByTagName("div");
-      var matches = 0;
-
-      var i = 0;
-      while (i < resultRows.length)
-      {
-        var row = resultRows.item(i);
-        if (row.className == "SRResult")
-        {
-          var rowMatchName = row.id.toLowerCase();
-          rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_'
-
-          if (search.length<=rowMatchName.length && 
-             rowMatchName.substr(0, search.length)==search)
-          {
-            row.style.display = 'block';
-            matches++;
-          }
-          else
-          {
-            row.style.display = 'none';
-          }
-        }
-        i++;
-      }
-      document.getElementById("Searching").style.display='none';
-      if (matches == 0) // no results
-      {
-        document.getElementById("NoMatches").style.display='block';
-      }
-      else // at least one result
-      {
-        document.getElementById("NoMatches").style.display='none';
-      }
-      this.lastMatchCount = matches;
-      return true;
-    }
-
-    // return the first item with index index or higher that is visible
-    this.NavNext = function(index)
-    {
-      var focusItem;
-      while (1)
-      {
-        var focusName = 'Item'+index;
-        focusItem = document.getElementById(focusName);
-        if (focusItem && focusItem.parentNode.parentNode.style.display=='block')
-        {
-          break;
-        }
-        else if (!focusItem) // last element
-        {
-          break;
-        }
-        focusItem=null;
-        index++;
-      }
-      return focusItem;
-    }
-
-    this.NavPrev = function(index)
-    {
-      var focusItem;
-      while (1)
-      {
-        var focusName = 'Item'+index;
-        focusItem = document.getElementById(focusName);
-        if (focusItem && focusItem.parentNode.parentNode.style.display=='block')
-        {
-          break;
-        }
-        else if (!focusItem) // last element
-        {
-          break;
-        }
-        focusItem=null;
-        index--;
-      }
-      return focusItem;
-    }
-
-    this.ProcessKeys = function(e)
-    {
-      if (e.type == "keydown") 
-      {
-        this.repeatOn = false;
-        this.lastKey = e.keyCode;
-      }
-      else if (e.type == "keypress")
-      {
-        if (!this.repeatOn)
-        {
-          if (this.lastKey) this.repeatOn = true;
-          return false; // ignore first keypress after keydown
-        }
-      }
-      else if (e.type == "keyup")
-      {
-        this.lastKey = 0;
-        this.repeatOn = false;
-      }
-      return this.lastKey!=0;
-    }
-
-    this.Nav = function(evt,itemIndex) 
-    {
-      var e  = (evt) ? evt : window.event; // for IE
-      if (e.keyCode==13) return true;
-      if (!this.ProcessKeys(e)) return false;
-
-      if (this.lastKey==38) // Up
-      {
-        var newIndex = itemIndex-1;
-        var focusItem = this.NavPrev(newIndex);
-        if (focusItem)
-        {
-          var child = this.FindChildElement(focusItem.parentNode.parentNode.id);
-          if (child && child.style.display == 'block') // children visible
-          { 
-            var n=0;
-            var tmpElem;
-            while (1) // search for last child
-            {
-              tmpElem = document.getElementById('Item'+newIndex+'_c'+n);
-              if (tmpElem)
-              {
-                focusItem = tmpElem;
-              }
-              else // found it!
-              {
-                break;
-              }
-              n++;
-            }
-          }
-        }
-        if (focusItem)
-        {
-          focusItem.focus();
-        }
-        else // return focus to search field
-        {
-           parent.document.getElementById("MSearchField").focus();
-        }
-      }
-      else if (this.lastKey==40) // Down
-      {
-        var newIndex = itemIndex+1;
-        var focusItem;
-        var item = document.getElementById('Item'+itemIndex);
-        var elem = this.FindChildElement(item.parentNode.parentNode.id);
-        if (elem && elem.style.display == 'block') // children visible
-        {
-          focusItem = document.getElementById('Item'+itemIndex+'_c0');
-        }
-        if (!focusItem) focusItem = this.NavNext(newIndex);
-        if (focusItem)  focusItem.focus();
-      }
-      else if (this.lastKey==39) // Right
-      {
-        var item = document.getElementById('Item'+itemIndex);
-        var elem = this.FindChildElement(item.parentNode.parentNode.id);
-        if (elem) elem.style.display = 'block';
-      }
-      else if (this.lastKey==37) // Left
-      {
-        var item = document.getElementById('Item'+itemIndex);
-        var elem = this.FindChildElement(item.parentNode.parentNode.id);
-        if (elem) elem.style.display = 'none';
-      }
-      else if (this.lastKey==27) // Escape
-      {
-        parent.searchBox.CloseResultsWindow();
-        parent.document.getElementById("MSearchField").focus();
-      }
-      else if (this.lastKey==13) // Enter
-      {
-        return true;
-      }
-      return false;
-    }
-
-    this.NavChild = function(evt,itemIndex,childIndex)
-    {
-      var e  = (evt) ? evt : window.event; // for IE
-      if (e.keyCode==13) return true;
-      if (!this.ProcessKeys(e)) return false;
-
-      if (this.lastKey==38) // Up
-      {
-        if (childIndex>0)
-        {
-          var newIndex = childIndex-1;
-          document.getElementById('Item'+itemIndex+'_c'+newIndex).focus();
-        }
-        else // already at first child, jump to parent
-        {
-          document.getElementById('Item'+itemIndex).focus();
-        }
-      }
-      else if (this.lastKey==40) // Down
-      {
-        var newIndex = childIndex+1;
-        var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex);
-        if (!elem) // last child, jump to parent next parent
-        {
-          elem = this.NavNext(itemIndex+1);
-        }
-        if (elem)
-        {
-          elem.focus();
-        } 
-      }
-      else if (this.lastKey==27) // Escape
-      {
-        parent.searchBox.CloseResultsWindow();
-        parent.document.getElementById("MSearchField").focus();
-      }
-      else if (this.lastKey==13) // Enter
-      {
-        return true;
-      }
-      return false;
-    }
-}
-
-function setKeyActions(elem,action)
-{
-  elem.setAttribute('onkeydown',action);
-  elem.setAttribute('onkeypress',action);
-  elem.setAttribute('onkeyup',action);
-}
-
-function setClassAttr(elem,attr)
-{
-  elem.setAttribute('class',attr);
-  elem.setAttribute('className',attr);
-}
-
-function createResults()
-{
-  var results = document.getElementById("SRResults");
-  for (var e=0; e<searchData.length; e++)
-  {
-    var id = searchData[e][0];
-    var srResult = document.createElement('div');
-    srResult.setAttribute('id','SR_'+id);
-    setClassAttr(srResult,'SRResult');
-    var srEntry = document.createElement('div');
-    setClassAttr(srEntry,'SREntry');
-    var srLink = document.createElement('a');
-    srLink.setAttribute('id','Item'+e);
-    setKeyActions(srLink,'return searchResults.Nav(event,'+e+')');
-    setClassAttr(srLink,'SRSymbol');
-    srLink.innerHTML = searchData[e][1][0];
-    srEntry.appendChild(srLink);
-    if (searchData[e][1].length==2) // single result
-    {
-      srLink.setAttribute('href',searchData[e][1][1][0]);
-      if (searchData[e][1][1][1])
-      {
-       srLink.setAttribute('target','_parent');
-      }
-      var srScope = document.createElement('span');
-      setClassAttr(srScope,'SRScope');
-      srScope.innerHTML = searchData[e][1][1][2];
-      srEntry.appendChild(srScope);
-    }
-    else // multiple results
-    {
-      srLink.setAttribute('href','javascript:searchResults.Toggle("SR_'+id+'")');
-      var srChildren = document.createElement('div');
-      setClassAttr(srChildren,'SRChildren');
-      for (var c=0; c<searchData[e][1].length-1; c++)
-      {
-        var srChild = document.createElement('a');
-        srChild.setAttribute('id','Item'+e+'_c'+c);
-        setKeyActions(srChild,'return searchResults.NavChild(event,'+e+','+c+')');
-        setClassAttr(srChild,'SRScope');
-        srChild.setAttribute('href',searchData[e][1][c+1][0]);
-        if (searchData[e][1][c+1][1])
-        {
-         srChild.setAttribute('target','_parent');
-        }
-        srChild.innerHTML = searchData[e][1][c+1][2];
-        srChildren.appendChild(srChild);
-      }
-      srEntry.appendChild(srChildren);
-    }
-    srResult.appendChild(srEntry);
-    results.appendChild(srResult);
-  }
-}
-
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/search_l.png b/external/wakaama/examples/shared/tinydtls/doc/html/search/search_l.png
deleted file mode 100644 (file)
index c872f4d..0000000
Binary files a/external/wakaama/examples/shared/tinydtls/doc/html/search/search_l.png and /dev/null differ
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/search_m.png b/external/wakaama/examples/shared/tinydtls/doc/html/search/search_m.png
deleted file mode 100644 (file)
index b429a16..0000000
Binary files a/external/wakaama/examples/shared/tinydtls/doc/html/search/search_m.png and /dev/null differ
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/search_r.png b/external/wakaama/examples/shared/tinydtls/doc/html/search/search_r.png
deleted file mode 100644 (file)
index 97ee8b4..0000000
Binary files a/external/wakaama/examples/shared/tinydtls/doc/html/search/search_r.png and /dev/null differ
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/typedefs_0.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/typedefs_0.html
deleted file mode 100644 (file)
index 8d6b78f..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="typedefs_0.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/typedefs_0.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/typedefs_0.js
deleted file mode 100644 (file)
index 027ad3a..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-var searchData=
-[
-  ['clock_5ftime_5ft',['clock_time_t',['../group__clock.html#ga6e6c13e871b82d881a01d1bc8df69d23',1,'dtls_time.h']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/typedefs_1.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/typedefs_1.html
deleted file mode 100644 (file)
index 455fe2b..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="typedefs_1.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/typedefs_1.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/typedefs_1.js
deleted file mode 100644 (file)
index 29f5c46..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-var searchData=
-[
-  ['dtls_5fcipher_5fcontext_5ft',['dtls_cipher_context_t',['../crypto_8h.html#a99482a87021e817524d15c33e89e309c',1,'crypto.h']]],
-  ['dtls_5fcontext_5ft',['dtls_context_t',['../dtls_8h.html#a407c66c58bfc87651714de4103bee135',1,'dtls.h']]],
-  ['dtls_5fcredentials_5ftype_5ft',['dtls_credentials_type_t',['../dtls_8h.html#adb4c778ddcbf9ac28ef277b20adbfa33',1,'dtls.h']]],
-  ['dtls_5fecdsa_5fkey_5ft',['dtls_ecdsa_key_t',['../dtls_8h.html#a472601639fcded4630fbd087f986ad10',1,'dtls.h']]],
-  ['dtls_5fhash_5fctx',['dtls_hash_ctx',['../hmac_8h.html#abb19650a510c73117da0e9b88d68f159',1,'hmac.h']]],
-  ['dtls_5fhash_5ft',['dtls_hash_t',['../hmac_8h.html#afa00f0cbe1b7783992467c1c204320b5',1,'hmac.h']]],
-  ['dtls_5fpeer_5ft',['dtls_peer_t',['../peer_8h.html#a6038bb7f08c62ea6f0fd2a0075860055',1,'peer.h']]],
-  ['dtls_5ftick_5ft',['dtls_tick_t',['../group__clock.html#gaded617551180951f4841969e396a8012',1,'dtls_time.h']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/typedefs_2.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/typedefs_2.html
deleted file mode 100644 (file)
index fac5dba..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="typedefs_2.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/typedefs_2.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/typedefs_2.js
deleted file mode 100644 (file)
index df8dce9..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-var searchData=
-[
-  ['list_5ft',['list_t',['../t__list_8h.html#a9c248916bae1f0b13732686786be7108',1,'t_list.h']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/typedefs_3.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/typedefs_3.html
deleted file mode 100644 (file)
index 9cb52e4..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="typedefs_3.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/typedefs_3.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/typedefs_3.js
deleted file mode 100644 (file)
index 17e1d43..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-var searchData=
-[
-  ['netq_5fpacket_5ft',['netq_packet_t',['../group__netq.html#gaa59d8597860df302584b1e9c448fdfcd',1,'netq.h']]],
-  ['netq_5ft',['netq_t',['../group__netq.html#ga4991f2cfa1f79edf8f7d8262c5beeb5b',1,'netq.h']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/typedefs_4.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/typedefs_4.html
deleted file mode 100644 (file)
index 64c6cce..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="typedefs_4.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/typedefs_4.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/typedefs_4.js
deleted file mode 100644 (file)
index e6df1d5..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-var searchData=
-[
-  ['uint16',['uint16',['../global_8h.html#a5e90b30856b81913af89565b55751da5',1,'global.h']]],
-  ['uint24',['uint24',['../global_8h.html#aabc56baaf04f922a1ea0dda7691fec0a',1,'global.h']]],
-  ['uint32',['uint32',['../global_8h.html#ab27072920285996a3e16d2e5e3d366be',1,'global.h']]],
-  ['uint48',['uint48',['../global_8h.html#a0749f1df578b26eccab986b0d8abaa56',1,'global.h']]],
-  ['uint8',['uint8',['../global_8h.html#adde6aaee8457bee49c2a92621fe22b79',1,'global.h']]],
-  ['ut_5fhash_5fbucket',['UT_hash_bucket',['../uthash_8h.html#a3ba3da0ca59a082c35a0d6b52e803ddf',1,'uthash.h']]],
-  ['ut_5fhash_5fhandle',['UT_hash_handle',['../uthash_8h.html#a0e3a99ed9f776349720d0c362f956fb6',1,'uthash.h']]],
-  ['ut_5fhash_5ftable',['UT_hash_table',['../uthash_8h.html#a0758074b9942c2ad076610b3e0ce548e',1,'uthash.h']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/variables_0.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/variables_0.html
deleted file mode 100644 (file)
index 1b8adc9..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="variables_0.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/variables_0.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/variables_0.js
deleted file mode 100644 (file)
index 4be63a8..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-var searchData=
-[
-  ['addr',['addr',['../structsession__t.html#a0bb4423cd29b415a4cf6c32d5d9a43e4',1,'session_t']]],
-  ['app',['app',['../structdtls__context__t.html#ab37722ec6b82dd3120827812f212a51e',1,'dtls_context_t']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/variables_1.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/variables_1.html
deleted file mode 100644 (file)
index 78f63cd..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="variables_1.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/variables_1.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/variables_1.js
deleted file mode 100644 (file)
index 1560b04..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-var searchData=
-[
-  ['buckets',['buckets',['../structUT__hash__table.html#a04556bbef9c9a1c40b1bc0d17a2a6e0b',1,'UT_hash_table']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/variables_10.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/variables_10.html
deleted file mode 100644 (file)
index c43ead3..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="variables_10.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/variables_10.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/variables_10.js
deleted file mode 100644 (file)
index 4ab402d..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-var searchData=
-[
-  ['write',['write',['../structdtls__handler__t.html#a161ad99d77bd3b963bcd473eb3cbefe2',1,'dtls_handler_t']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/variables_2.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/variables_2.html
deleted file mode 100644 (file)
index ea80d20..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="variables_2.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/variables_2.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/variables_2.js
deleted file mode 100644 (file)
index 5101352..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-var searchData=
-[
-  ['cert_5fasn1_5fheader',['cert_asn1_header',['../dtls_8c.html#aecdb18ea2b899994542ec46b23528738',1,'dtls.c']]],
-  ['cipher',['cipher',['../structdtls__security__parameters__t.html#a21d9fac709d739535b0cbecce4c18830',1,'dtls_security_parameters_t::cipher()'],['../structdtls__handshake__parameters__t.html#a5cc61a98763800b5b4e7617307649933',1,'dtls_handshake_parameters_t::cipher()']]],
-  ['cipher_5fcontext',['cipher_context',['../crypto_8c.html#a9fd792e4bb85e55082e4bf32de0d4bdb',1,'crypto.c']]],
-  ['cipher_5fcontext_5fmutex',['cipher_context_mutex',['../crypto_8c.html#ad4a90eac1ed6a277c837d7f9dc0a923c',1,'crypto.c']]],
-  ['client',['client',['../structdtls__handshake__parameters__t.html#af37f38ce7c5f5e4ab62f16aacc2035f9',1,'dtls_handshake_parameters_t']]],
-  ['compression',['compression',['../structdtls__security__parameters__t.html#a6a72df7ab1151f81e49d464175fcaf2a',1,'dtls_security_parameters_t::compression()'],['../structdtls__handshake__parameters__t.html#a67f85371953c8ae07ec110cb39c13125',1,'dtls_handshake_parameters_t::compression()']]],
-  ['compression_5fmethods',['compression_methods',['../dtls_8c.html#ae35671d94ccea5f335546ce409aed601',1,'dtls.c']]],
-  ['cookie_5fsecret',['cookie_secret',['../structdtls__context__t.html#adb7dc6a53a7e00f2c4bbf726973e002f',1,'dtls_context_t']]],
-  ['cookie_5fsecret_5fage',['cookie_secret_age',['../structdtls__context__t.html#a3f26099dbb3588ae9a86d26f69ec08f8',1,'dtls_context_t']]],
-  ['count',['count',['../structUT__hash__bucket.html#a5d20cc12bdcbde360398910eefb45634',1,'UT_hash_bucket']]],
-  ['ctx',['ctx',['../structaes128__ccm__t.html#a5bdf410f025e4177ced456059bc8a371',1,'aes128_ccm_t']]],
-  ['curve',['curve',['../structdtls__ecdsa__key__t.html#ad78834cca7158114bd78d3d0acb4a548',1,'dtls_ecdsa_key_t']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/variables_3.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/variables_3.html
deleted file mode 100644 (file)
index 0dca26f..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="variables_3.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/variables_3.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/variables_3.js
deleted file mode 100644 (file)
index b1155ae..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-var searchData=
-[
-  ['data',['data',['../structdtls__cipher__context__t.html#a02da63201e2ac7bc508e3bb54c5761dc',1,'dtls_cipher_context_t::data()'],['../structdtls__hmac__context__t.html#a84c35513fa655d8456be215f4509bb40',1,'dtls_hmac_context_t::data()'],['../structnetq__t.html#a5b4d387623df43fe25a3b11e9d4fb02c',1,'netq_t::data()']]],
-  ['do_5fclient_5fauth',['do_client_auth',['../structdtls__handshake__parameters__t.html#ab17efe8550600d945ced029e43ca86d6',1,'dtls_handshake_parameters_t']]],
-  ['dtls_5fclient_5fhello_5ft',['dtls_client_hello_t',['../dtls_8h.html#aa9ebc35a08295c2ae09d4248ba8e6456',1,'dtls.h']]],
-  ['dtls_5fclock_5foffset',['dtls_clock_offset',['../dtls__time_8c.html#adaab7b20ee4eea0874f480b262c4a2e1',1,'dtls_time.c']]],
-  ['dtls_5fhandshake_5fheader_5ft',['dtls_handshake_header_t',['../dtls_8h.html#a5c6625ffcf61189392768253e8919a45',1,'dtls.h']]],
-  ['dtls_5fhello_5fverify_5ft',['dtls_hello_verify_t',['../dtls_8h.html#abd61d526ef995e63a6debfd8ddda9e98',1,'dtls.h']]],
-  ['dtls_5frecord_5fheader_5ft',['dtls_record_header_t',['../dtls_8h.html#a81936df7abb2c16aa897e3018aa24399',1,'dtls.h']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/variables_4.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/variables_4.html
deleted file mode 100644 (file)
index 400e8e9..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="variables_4.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/variables_4.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/variables_4.js
deleted file mode 100644 (file)
index 950a110..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-var searchData=
-[
-  ['epoch',['epoch',['../structdtls__security__parameters__t.html#a2bce1fa0bf77eeab8fadca824de602da',1,'dtls_security_parameters_t::epoch()'],['../structnetq__t.html#a9998944e43a39a2e5700156876a312e0',1,'netq_t::epoch()']]],
-  ['event',['event',['../structdtls__handler__t.html#aae2db3733c5f0a0eea9a635490bdfe59',1,'dtls_handler_t']]],
-  ['expand_5fmult',['expand_mult',['../structUT__hash__bucket.html#a9b739c1b69c141e8198c0c64af643b2b',1,'UT_hash_bucket']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/variables_5.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/variables_5.html
deleted file mode 100644 (file)
index 7f1241f..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="variables_5.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/variables_5.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/variables_5.js
deleted file mode 100644 (file)
index c5117ea..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-var searchData=
-[
-  ['h',['h',['../structdtls__context__t.html#a460737bda0d200538c00ef7877b339cd',1,'dtls_context_t']]],
-  ['handshake_5fparams',['handshake_params',['../structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992',1,'dtls_peer_t']]],
-  ['hashv',['hashv',['../structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323',1,'UT_hash_handle']]],
-  ['hh',['hh',['../structdtls__peer__t.html#a4241666f9097d15a486840bce28c3fd5',1,'dtls_peer_t']]],
-  ['hh_5fhead',['hh_head',['../structUT__hash__bucket.html#a785a785132212378bb28fb4341cfecaf',1,'UT_hash_bucket']]],
-  ['hh_5fnext',['hh_next',['../structUT__hash__handle.html#a4f6989385499ba6f594b0f0facd28325',1,'UT_hash_handle']]],
-  ['hh_5fprev',['hh_prev',['../structUT__hash__handle.html#a3ec03e34d7975d5c1981c44b324619b2',1,'UT_hash_handle']]],
-  ['hho',['hho',['../structUT__hash__table.html#afd05f4d9e45354fb010367ae9e1bddb6',1,'UT_hash_table']]],
-  ['hs_5fhash',['hs_hash',['../structdtls__hs__state__t.html#a991b95919538531d730f74045e4fe3b1',1,'dtls_hs_state_t']]],
-  ['hs_5fstate',['hs_state',['../structdtls__handshake__parameters__t.html#a56e7392a649731166fc82a523b0eb027',1,'dtls_handshake_parameters_t']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/variables_6.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/variables_6.html
deleted file mode 100644 (file)
index 7536df8..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="variables_6.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/variables_6.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/variables_6.js
deleted file mode 100644 (file)
index d4287d3..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-var searchData=
-[
-  ['id_5flength',['id_length',['../structdtls__handshake__parameters__psk__t.html#a39ae0d1ead76e8bd5a3631ae8677be1b',1,'dtls_handshake_parameters_psk_t']]],
-  ['ideal_5fchain_5fmaxlen',['ideal_chain_maxlen',['../structUT__hash__table.html#a5f1cec93d5d753ba02097c797e4d67ad',1,'UT_hash_table']]],
-  ['identity',['identity',['../structdtls__handshake__parameters__psk__t.html#a6cce0754e4b9cf5469ddfec595be3084',1,'dtls_handshake_parameters_psk_t']]],
-  ['ifindex',['ifindex',['../structsession__t.html#aafc69fe43548bd69c0e15aa82e73f3ff',1,'session_t']]],
-  ['ineff_5fexpands',['ineff_expands',['../structUT__hash__table.html#a216c7d98cf40a0064bee94aa8a5bf1b7',1,'UT_hash_table']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/variables_7.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/variables_7.html
deleted file mode 100644 (file)
index 66186a6..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="variables_7.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/variables_7.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/variables_7.js
deleted file mode 100644 (file)
index eb7291c..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-var searchData=
-[
-  ['key',['key',['../structUT__hash__handle.html#a40690fc15aeaeba8f25385f05f84dd4d',1,'UT_hash_handle']]],
-  ['key_5fblock',['key_block',['../structdtls__security__parameters__t.html#a1c3a56ea4af8ff71e1ffe77221541f4d',1,'dtls_security_parameters_t']]],
-  ['keylen',['keylen',['../structUT__hash__handle.html#af2abdc405972a6bbdee2ade2c0f346c4',1,'UT_hash_handle']]],
-  ['keyx',['keyx',['../structdtls__handshake__parameters__t.html#a483b158f8fc86e45e7c0fc603a66925f',1,'dtls_handshake_parameters_t']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/variables_8.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/variables_8.html
deleted file mode 100644 (file)
index aa13bf2..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="variables_8.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/variables_8.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/variables_8.js
deleted file mode 100644 (file)
index 7486d34..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-var searchData=
-[
-  ['length',['length',['../structnetq__t.html#ac72c9378282becab5a273f612f58c124',1,'netq_t']]],
-  ['log2_5fnum_5fbuckets',['log2_num_buckets',['../structUT__hash__table.html#ae376a7f3fac525f3a9d03b6beec8d12f',1,'UT_hash_table']]],
-  ['loglevels',['loglevels',['../debug_8c.html#aea3c9cd7c28ac0ebbc7473771751ed92',1,'debug.c']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/variables_9.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/variables_9.html
deleted file mode 100644 (file)
index 78cc249..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="variables_9.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/variables_9.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/variables_9.js
deleted file mode 100644 (file)
index e4fa7fd..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-var searchData=
-[
-  ['master_5fsecret',['master_secret',['../structdtls__handshake__parameters__t.html#a21ba88c7b062772beb75c5570d257898',1,'dtls_handshake_parameters_t']]],
-  ['maxlog',['maxlog',['../debug_8c.html#a7a6dbd5278e0c21ff9434dc3de7b955d',1,'debug.c']]],
-  ['mseq_5fr',['mseq_r',['../structdtls__hs__state__t.html#a4e2184c917d1ad46d308e8770193f542',1,'dtls_hs_state_t']]],
-  ['mseq_5fs',['mseq_s',['../structdtls__hs__state__t.html#a694ce15382e7504a750a1b102ad8ec32',1,'dtls_hs_state_t']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/variables_a.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/variables_a.html
deleted file mode 100644 (file)
index 592abaa..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="variables_a.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/variables_a.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/variables_a.js
deleted file mode 100644 (file)
index 49ff6b2..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-var searchData=
-[
-  ['next',['next',['../structnetq__t.html#a89ecfe2e9b464039d390e8746da546cb',1,'netq_t::next()'],['../structlist.html#a1900fe79e875e2838625b2eb60837f8f',1,'list::next()'],['../structUT__hash__handle.html#a93bc88ffe97f85ea0d9e0056b7118942',1,'UT_hash_handle::next()']]],
-  ['noexpand',['noexpand',['../structUT__hash__table.html#a635661789933752e7b83dac84430eae1',1,'UT_hash_table']]],
-  ['nonideal_5fitems',['nonideal_items',['../structUT__hash__table.html#a8cb66cfb259a204cda59a815e4db664f',1,'UT_hash_table']]],
-  ['num_5fbuckets',['num_buckets',['../structUT__hash__table.html#a3ed04b6233facaedf910672578d86339',1,'UT_hash_table']]],
-  ['num_5fitems',['num_items',['../structUT__hash__table.html#a74534cc14f080c96f94d8f5da83d9d76',1,'UT_hash_table']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/variables_b.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/variables_b.html
deleted file mode 100644 (file)
index 78052a1..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="variables_b.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/variables_b.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/variables_b.js
deleted file mode 100644 (file)
index 1a33b64..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-var searchData=
-[
-  ['other_5feph_5fpub_5fx',['other_eph_pub_x',['../structdtls__handshake__parameters__ecdsa__t.html#aa941f98cb3a6dd1dd3c52fb68c37921f',1,'dtls_handshake_parameters_ecdsa_t']]],
-  ['other_5feph_5fpub_5fy',['other_eph_pub_y',['../structdtls__handshake__parameters__ecdsa__t.html#a56047d51afb4a38924db2000af74e83a',1,'dtls_handshake_parameters_ecdsa_t']]],
-  ['other_5fpub_5fx',['other_pub_x',['../structdtls__handshake__parameters__ecdsa__t.html#a0d0470e6d450f955ef574f22cb74c5bf',1,'dtls_handshake_parameters_ecdsa_t']]],
-  ['other_5fpub_5fy',['other_pub_y',['../structdtls__handshake__parameters__ecdsa__t.html#af1fde768658a37d6e3a469842e0854b0',1,'dtls_handshake_parameters_ecdsa_t']]],
-  ['own_5feph_5fpriv',['own_eph_priv',['../structdtls__handshake__parameters__ecdsa__t.html#aaa5b9eb0a00a615f7910294ed0739b5b',1,'dtls_handshake_parameters_ecdsa_t']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/variables_c.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/variables_c.html
deleted file mode 100644 (file)
index b2260e4..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="variables_c.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/variables_c.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/variables_c.js
deleted file mode 100644 (file)
index 3302423..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-var searchData=
-[
-  ['pad',['pad',['../structdtls__hmac__context__t.html#aba13422e176f7d16f3f251634ca7f868',1,'dtls_hmac_context_t']]],
-  ['peer',['peer',['../structnetq__t.html#aaca5f6407bd7b3162d9ee7e7e7b8f0ff',1,'netq_t']]],
-  ['peers',['peers',['../structdtls__context__t.html#a417fa8ac04478292f0539d2da0fec088',1,'dtls_context_t']]],
-  ['prev',['prev',['../structUT__hash__handle.html#abaf54a69367933df2d45575f48ca6a58',1,'UT_hash_handle']]],
-  ['prf_5flabel_5fclient',['prf_label_client',['../dtls_8c.html#abba2a2562813493d98b5671a4c5c082b',1,'dtls.c']]],
-  ['prf_5flabel_5ffinished',['prf_label_finished',['../dtls_8c.html#a45d793d73836bf96dacb1d558f81b6c7',1,'dtls.c']]],
-  ['prf_5flabel_5fkey',['prf_label_key',['../dtls_8c.html#a42886cd9a1fd728f47ea40d38dfabcda',1,'dtls.c']]],
-  ['prf_5flabel_5fmaster',['prf_label_master',['../dtls_8c.html#a784ec579660900e758a9b7de84150c9b',1,'dtls.c']]],
-  ['prf_5flabel_5fserver',['prf_label_server',['../dtls_8c.html#aacf8643991dec574dcb09a280357ae4f',1,'dtls.c']]],
-  ['priv_5fkey',['priv_key',['../structdtls__ecdsa__key__t.html#a91769609f44590f193d726187ab366de',1,'dtls_ecdsa_key_t']]],
-  ['pub_5fkey_5fx',['pub_key_x',['../structdtls__ecdsa__key__t.html#aa54efc762737c1b94eaebae1262d4221',1,'dtls_ecdsa_key_t']]],
-  ['pub_5fkey_5fy',['pub_key_y',['../structdtls__ecdsa__key__t.html#aaceb7ea4b4f9e74fb2ec85c49746132f',1,'dtls_ecdsa_key_t']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/variables_d.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/variables_d.html
deleted file mode 100644 (file)
index f477999..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="variables_d.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/variables_d.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/variables_d.js
deleted file mode 100644 (file)
index cdaa3c9..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-var searchData=
-[
-  ['random',['random',['../structdtls__handshake__parameters__t.html#a5c4e7bb5d4d890200a176cfe13c6fb9a',1,'dtls_handshake_parameters_t']]],
-  ['read',['read',['../structdtls__handler__t.html#a48f28d381286b493fe6dd8eab5cbaa88',1,'dtls_handler_t']]],
-  ['readbuf',['readbuf',['../structdtls__context__t.html#ad6facbcd3c19ac8e1c79b1664dcf2434',1,'dtls_context_t']]],
-  ['retransmit_5fcnt',['retransmit_cnt',['../structnetq__t.html#aacd03017f40248c2f48c2b7b9cd92dc8',1,'netq_t']]],
-  ['role',['role',['../structdtls__peer__t.html#aeca80f1bcbcfdba89a2ab08e4bc48120',1,'dtls_peer_t']]],
-  ['rseq',['rseq',['../structdtls__security__parameters__t.html#a100dc82ee41004df1d9f211873332f87',1,'dtls_security_parameters_t']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/variables_e.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/variables_e.html
deleted file mode 100644 (file)
index 1165006..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="variables_e.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/variables_e.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/variables_e.js
deleted file mode 100644 (file)
index f2f8956..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-var searchData=
-[
-  ['sa',['sa',['../structsession__t.html#a8d0a30ccc98425675a1b0e92e96eaa6a',1,'session_t']]],
-  ['security_5fparams',['security_params',['../structdtls__peer__t.html#a6c85e48495ae7de8ddfc4c4fb2a350af',1,'dtls_peer_t']]],
-  ['server',['server',['../structdtls__handshake__parameters__t.html#a17344d2dab22a9c2c7f8bc9ef9137036',1,'dtls_handshake_parameters_t']]],
-  ['session',['session',['../structdtls__peer__t.html#a44ebb2ba643269c7e6943f3a9040febe',1,'dtls_peer_t']]],
-  ['signature',['signature',['../structUT__hash__table.html#a87d1ab3f3ede1809c6a485972d20b25f',1,'UT_hash_table']]],
-  ['sin',['sin',['../structsession__t.html#a86093095c1ab36b12180f9215fa2375e',1,'session_t']]],
-  ['sin6',['sin6',['../structsession__t.html#a2f337ce1989f3a9b5afeef1a95506bde',1,'session_t']]],
-  ['size',['size',['../structsession__t.html#aed21682e9f971221d9f35f1266dea125',1,'session_t']]],
-  ['st',['st',['../structsession__t.html#ac45985b6941c1fd25dbf4e48ff44fb8d',1,'session_t']]],
-  ['state',['state',['../structdtls__peer__t.html#a4e23cc3b273813744524c3db1fda9c83',1,'dtls_peer_t']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/variables_f.html b/external/wakaama/examples/shared/tinydtls/doc/html/search/variables_f.html
deleted file mode 100644 (file)
index 537dd7c..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.6">
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="variables_f.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/search/variables_f.js b/external/wakaama/examples/shared/tinydtls/doc/html/search/variables_f.js
deleted file mode 100644 (file)
index 3bbe2ba..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-var searchData=
-[
-  ['t',['t',['../structnetq__t.html#afe91256ff5267fc680b96efd3bd8635a',1,'netq_t']]],
-  ['tail',['tail',['../structUT__hash__table.html#a00a889a5e1ebaeec0a83ec2701df1992',1,'UT_hash_table']]],
-  ['tbl',['tbl',['../structUT__hash__handle.html#ad2035ee3b2aa55b22e352341372a5e73',1,'UT_hash_handle']]],
-  ['timeout',['timeout',['../structnetq__t.html#ae0c2648acf87d1e6f2566bc3600771b6',1,'netq_t']]],
-  ['tmp',['tmp',['../structdtls__handshake__parameters__t.html#ac27a2063a8136615971f8d591afdd01f',1,'dtls_handshake_parameters_t']]],
-  ['type',['type',['../structnetq__t.html#a13d74bc65c8879b894698935fbbe2246',1,'netq_t']]]
-];
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/session_8c.html b/external/wakaama/examples/shared/tinydtls/doc/html/session_8c.html
deleted file mode 100644 (file)
index a511fe4..0000000
+++ /dev/null
@@ -1,204 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: session.c File Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#func-members">Functions</a>  </div>
-  <div class="headertitle">
-<div class="title">session.c File Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock"><code>#include &quot;<a class="el" href="dtls__config_8h_source.html">dtls_config.h</a>&quot;</code><br/>
-<code>#include &quot;<a class="el" href="session_8h_source.html">session.h</a>&quot;</code><br/>
-<code>#include &lt;assert.h&gt;</code><br/>
-</div>
-<p><a href="session_8c_source.html">Go to the source code of this file.</a></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:af9b9333222aabb1440f5c7846f7be85f"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="session_8c.html#af9b9333222aabb1440f5c7846f7be85f">_dtls_address_equals_impl</a> (const <a class="el" href="structsession__t.html">session_t</a> *a, const <a class="el" href="structsession__t.html">session_t</a> *b)</td></tr>
-<tr class="separator:af9b9333222aabb1440f5c7846f7be85f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af5aad44a94929b1ebfbb3c6334e9e501"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="session_8c.html#af5aad44a94929b1ebfbb3c6334e9e501">dtls_session_init</a> (<a class="el" href="structsession__t.html">session_t</a> *sess)</td></tr>
-<tr class="separator:af5aad44a94929b1ebfbb3c6334e9e501"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a96f4d60f388d56d37b3e69261bea2417"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="session_8c.html#a96f4d60f388d56d37b3e69261bea2417">dtls_session_equals</a> (const <a class="el" href="structsession__t.html">session_t</a> *a, const <a class="el" href="structsession__t.html">session_t</a> *b)</td></tr>
-<tr class="separator:a96f4d60f388d56d37b3e69261bea2417"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<h2 class="groupheader">Function Documentation</h2>
-<a class="anchor" id="af9b9333222aabb1440f5c7846f7be85f"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int _dtls_address_equals_impl </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="structsession__t.html">session_t</a> *&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const <a class="el" href="structsession__t.html">session_t</a> *&#160;</td>
-          <td class="paramname"><em>b</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="session_8c_source.html#l00048">48</a> of file <a class="el" href="session_8c_source.html">session.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a96f4d60f388d56d37b3e69261bea2417"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int dtls_session_equals </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="structsession__t.html">session_t</a> *&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const <a class="el" href="structsession__t.html">session_t</a> *&#160;</td>
-          <td class="paramname"><em>b</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Compares the given session objects. This function returns <code>0</code> when <code>a</code> and <code>b</code> differ, <code>1</code> otherwise. </p>
-
-<p>Definition at line <a class="el" href="session_8c_source.html#l00080">80</a> of file <a class="el" href="session_8c_source.html">session.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="af5aad44a94929b1ebfbb3c6334e9e501"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void dtls_session_init </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structsession__t.html">session_t</a> *&#160;</td>
-          <td class="paramname"><em>sess</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Resets the given <a class="el" href="structsession__t.html">session_t</a> object <code>sess</code> to its default values. In particular, the member rlen must be initialized to the available size for storing addresses.</p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">sess</td><td>The <a class="el" href="structsession__t.html">session_t</a> object to initialize. </td></tr>
-  </table>
-  </dd>
-</dl>
-
-<p>Definition at line <a class="el" href="session_8c_source.html#l00073">73</a> of file <a class="el" href="session_8c_source.html">session.c</a>.</p>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/session_8c_source.html b/external/wakaama/examples/shared/tinydtls/doc/html/session_8c_source.html
deleted file mode 100644 (file)
index 1ed0056..0000000
+++ /dev/null
@@ -1,191 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: session.c Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="header">
-  <div class="headertitle">
-<div class="title">session.c</div>  </div>
-</div><!--header-->
-<div class="contents">
-<a href="session_8c.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/* dtls -- a very basic DTLS implementation</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> * Copyright (C) 2011--2014 Olaf Bergmann &lt;bergmann@tzi.org&gt;</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> * Permission is hereby granted, free of charge, to any person</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> * obtaining a copy of this software and associated documentation</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> * files (the &quot;Software&quot;), to deal in the Software without</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> * restriction, including without limitation the rights to use, copy,</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> * modify, merge, publish, distribute, sublicense, and/or sell copies</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> * of the Software, and to permit persons to whom the Software is</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * furnished to do so, subject to the following conditions:</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * The above copyright notice and this permission notice shall be</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * included in all copies or substantial portions of the Software.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> * THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND,</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment"> * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment"> * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment"> * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment"> * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment"> * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment"> * SOFTWARE.</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div>
-<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="dtls__config_8h.html">dtls_config.h</a>&quot;</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="session_8h.html">session.h</a>&quot;</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;</div>
-<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#ifdef HAVE_ASSERT_H</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &lt;assert.h&gt;</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#ifndef assert</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#warning &quot;assertions are disabled&quot;</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#  define assert(x)</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#ifdef WITH_CONTIKI</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define _dtls_address_equals_impl(A,B)              \</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor">  ((A)-&gt;size == (B)-&gt;size                   \</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">   &amp;&amp; (A)-&gt;port == (B)-&gt;port                    \</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">   &amp;&amp; uip_ipaddr_cmp(&amp;((A)-&gt;addr),&amp;((B)-&gt;addr))         \</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="preprocessor">   &amp;&amp; (A)-&gt;ifindex == (B)-&gt;ifindex)</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="preprocessor">#else </span><span class="comment">/* WITH_CONTIKI */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">int</span> </div>
-<div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="session_8c.html#af9b9333222aabb1440f5c7846f7be85f">   48</a></span>&#160;<a class="code" href="session_8c.html#af9b9333222aabb1440f5c7846f7be85f">_dtls_address_equals_impl</a>(<span class="keyword">const</span> <a class="code" href="structsession__t.html">session_t</a> *a,</div>
-<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;              <span class="keyword">const</span> <a class="code" href="structsession__t.html">session_t</a> *b) {</div>
-<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;  <span class="keywordflow">if</span> (a-&gt;<a class="code" href="structsession__t.html#aafc69fe43548bd69c0e15aa82e73f3ff">ifindex</a> != b-&gt;<a class="code" href="structsession__t.html#aafc69fe43548bd69c0e15aa82e73f3ff">ifindex</a> ||</div>
-<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;      a-&gt;<a class="code" href="structsession__t.html#aed21682e9f971221d9f35f1266dea125">size</a> != b-&gt;<a class="code" href="structsession__t.html#aed21682e9f971221d9f35f1266dea125">size</a> || a-&gt;<a class="code" href="structsession__t.html#a0bb4423cd29b415a4cf6c32d5d9a43e4">addr</a>.<a class="code" href="structsession__t.html#a8d0a30ccc98425675a1b0e92e96eaa6a">sa</a>.sa_family != b-&gt;<a class="code" href="structsession__t.html#a0bb4423cd29b415a4cf6c32d5d9a43e4">addr</a>.<a class="code" href="structsession__t.html#a8d0a30ccc98425675a1b0e92e96eaa6a">sa</a>.sa_family)</div>
-<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;    <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;  </div>
-<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;  <span class="comment">/* need to compare only relevant parts of sockaddr_in6 */</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160; <span class="keywordflow">switch</span> (a-&gt;<a class="code" href="structsession__t.html#a0bb4423cd29b415a4cf6c32d5d9a43e4">addr</a>.<a class="code" href="structsession__t.html#a8d0a30ccc98425675a1b0e92e96eaa6a">sa</a>.sa_family) {</div>
-<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160; <span class="keywordflow">case</span> AF_INET:</div>
-<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;   <span class="keywordflow">return</span> </div>
-<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;     a-&gt;<a class="code" href="structsession__t.html#a0bb4423cd29b415a4cf6c32d5d9a43e4">addr</a>.<a class="code" href="structsession__t.html#a86093095c1ab36b12180f9215fa2375e">sin</a>.sin_port == b-&gt;<a class="code" href="structsession__t.html#a0bb4423cd29b415a4cf6c32d5d9a43e4">addr</a>.<a class="code" href="structsession__t.html#a86093095c1ab36b12180f9215fa2375e">sin</a>.sin_port &amp;&amp; </div>
-<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;     memcmp(&amp;a-&gt;<a class="code" href="structsession__t.html#a0bb4423cd29b415a4cf6c32d5d9a43e4">addr</a>.<a class="code" href="structsession__t.html#a86093095c1ab36b12180f9215fa2375e">sin</a>.sin_addr, &amp;b-&gt;<a class="code" href="structsession__t.html#a0bb4423cd29b415a4cf6c32d5d9a43e4">addr</a>.<a class="code" href="structsession__t.html#a86093095c1ab36b12180f9215fa2375e">sin</a>.sin_addr, </div>
-<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;        <span class="keyword">sizeof</span>(<span class="keyword">struct</span> in_addr)) == 0;</div>
-<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160; <span class="keywordflow">case</span> AF_INET6:</div>
-<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;   <span class="keywordflow">return</span> a-&gt;<a class="code" href="structsession__t.html#a0bb4423cd29b415a4cf6c32d5d9a43e4">addr</a>.<a class="code" href="structsession__t.html#a2f337ce1989f3a9b5afeef1a95506bde">sin6</a>.sin6_port == b-&gt;<a class="code" href="structsession__t.html#a0bb4423cd29b415a4cf6c32d5d9a43e4">addr</a>.<a class="code" href="structsession__t.html#a2f337ce1989f3a9b5afeef1a95506bde">sin6</a>.sin6_port &amp;&amp; </div>
-<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;     memcmp(&amp;a-&gt;<a class="code" href="structsession__t.html#a0bb4423cd29b415a4cf6c32d5d9a43e4">addr</a>.<a class="code" href="structsession__t.html#a2f337ce1989f3a9b5afeef1a95506bde">sin6</a>.sin6_addr, &amp;b-&gt;<a class="code" href="structsession__t.html#a0bb4423cd29b415a4cf6c32d5d9a43e4">addr</a>.<a class="code" href="structsession__t.html#a2f337ce1989f3a9b5afeef1a95506bde">sin6</a>.sin6_addr, </div>
-<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;        <span class="keyword">sizeof</span>(<span class="keyword">struct</span> in6_addr)) == 0;</div>
-<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160; <span class="keywordflow">default</span>: <span class="comment">/* fall through and signal error */</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;   ;</div>
-<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160; }</div>
-<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160; <span class="keywordflow">return</span> 0;</div>
-<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;}</div>
-<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* WITH_CONTIKI */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keywordtype">void</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="session_8h.html#af5aad44a94929b1ebfbb3c6334e9e501">   73</a></span>&#160;<a class="code" href="session_8c.html#af5aad44a94929b1ebfbb3c6334e9e501">dtls_session_init</a>(<a class="code" href="structsession__t.html">session_t</a> *sess) {</div>
-<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;  assert(sess);</div>
-<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;  memset(sess, 0, <span class="keyword">sizeof</span>(<a class="code" href="structsession__t.html">session_t</a>));</div>
-<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;  sess-&gt;<a class="code" href="structsession__t.html#aed21682e9f971221d9f35f1266dea125">size</a> = <span class="keyword">sizeof</span>(sess-&gt;<a class="code" href="structsession__t.html#a0bb4423cd29b415a4cf6c32d5d9a43e4">addr</a>);</div>
-<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;}</div>
-<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;</div>
-<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="keywordtype">int</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="session_8h.html#a96f4d60f388d56d37b3e69261bea2417">   80</a></span>&#160;<a class="code" href="session_8c.html#a96f4d60f388d56d37b3e69261bea2417">dtls_session_equals</a>(<span class="keyword">const</span> <a class="code" href="structsession__t.html">session_t</a> *a, <span class="keyword">const</span> <a class="code" href="structsession__t.html">session_t</a> *b) {</div>
-<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;  assert(a); assert(b);</div>
-<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;  <span class="keywordflow">return</span> <a class="code" href="session_8c.html#af9b9333222aabb1440f5c7846f7be85f">_dtls_address_equals_impl</a>(a, b);</div>
-<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;}</div>
-<div class="ttc" id="session_8c_html_a96f4d60f388d56d37b3e69261bea2417"><div class="ttname"><a href="session_8c.html#a96f4d60f388d56d37b3e69261bea2417">dtls_session_equals</a></div><div class="ttdeci">int dtls_session_equals(const session_t *a, const session_t *b)</div><div class="ttdef"><b>Definition:</b> <a href="session_8c_source.html#l00080">session.c:80</a></div></div>
-<div class="ttc" id="session_8c_html_af5aad44a94929b1ebfbb3c6334e9e501"><div class="ttname"><a href="session_8c.html#af5aad44a94929b1ebfbb3c6334e9e501">dtls_session_init</a></div><div class="ttdeci">void dtls_session_init(session_t *sess)</div><div class="ttdef"><b>Definition:</b> <a href="session_8c_source.html#l00073">session.c:73</a></div></div>
-<div class="ttc" id="dtls__config_8h_html"><div class="ttname"><a href="dtls__config_8h.html">dtls_config.h</a></div></div>
-<div class="ttc" id="structsession__t_html"><div class="ttname"><a href="structsession__t.html">session_t</a></div><div class="ttdef"><b>Definition:</b> <a href="session_8h_source.html#l00049">session.h:49</a></div></div>
-<div class="ttc" id="session_8h_html"><div class="ttname"><a href="session_8h.html">session.h</a></div></div>
-<div class="ttc" id="structsession__t_html_aed21682e9f971221d9f35f1266dea125"><div class="ttname"><a href="structsession__t.html#aed21682e9f971221d9f35f1266dea125">session_t::size</a></div><div class="ttdeci">socklen_t size</div><div class="ttdef"><b>Definition:</b> <a href="session_8h_source.html#l00050">session.h:50</a></div></div>
-<div class="ttc" id="session_8c_html_af9b9333222aabb1440f5c7846f7be85f"><div class="ttname"><a href="session_8c.html#af9b9333222aabb1440f5c7846f7be85f">_dtls_address_equals_impl</a></div><div class="ttdeci">static int _dtls_address_equals_impl(const session_t *a, const session_t *b)</div><div class="ttdef"><b>Definition:</b> <a href="session_8c_source.html#l00048">session.c:48</a></div></div>
-<div class="ttc" id="structsession__t_html_a8d0a30ccc98425675a1b0e92e96eaa6a"><div class="ttname"><a href="structsession__t.html#a8d0a30ccc98425675a1b0e92e96eaa6a">session_t::sa</a></div><div class="ttdeci">struct sockaddr sa</div><div class="ttdef"><b>Definition:</b> <a href="session_8h_source.html#l00052">session.h:52</a></div></div>
-<div class="ttc" id="structsession__t_html_aafc69fe43548bd69c0e15aa82e73f3ff"><div class="ttname"><a href="structsession__t.html#aafc69fe43548bd69c0e15aa82e73f3ff">session_t::ifindex</a></div><div class="ttdeci">uint8_t ifindex</div><div class="ttdef"><b>Definition:</b> <a href="session_8h_source.html#l00057">session.h:57</a></div></div>
-<div class="ttc" id="structsession__t_html_a0bb4423cd29b415a4cf6c32d5d9a43e4"><div class="ttname"><a href="structsession__t.html#a0bb4423cd29b415a4cf6c32d5d9a43e4">session_t::addr</a></div><div class="ttdeci">union session_t::@2 addr</div></div>
-<div class="ttc" id="structsession__t_html_a2f337ce1989f3a9b5afeef1a95506bde"><div class="ttname"><a href="structsession__t.html#a2f337ce1989f3a9b5afeef1a95506bde">session_t::sin6</a></div><div class="ttdeci">struct sockaddr_in6 sin6</div><div class="ttdef"><b>Definition:</b> <a href="session_8h_source.html#l00055">session.h:55</a></div></div>
-<div class="ttc" id="structsession__t_html_a86093095c1ab36b12180f9215fa2375e"><div class="ttname"><a href="structsession__t.html#a86093095c1ab36b12180f9215fa2375e">session_t::sin</a></div><div class="ttdeci">struct sockaddr_in sin</div><div class="ttdef"><b>Definition:</b> <a href="session_8h_source.html#l00054">session.h:54</a></div></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/session_8h.html b/external/wakaama/examples/shared/tinydtls/doc/html/session_8h.html
deleted file mode 100644 (file)
index becf963..0000000
+++ /dev/null
@@ -1,175 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: session.h File Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#nested-classes">Data Structures</a> &#124;
-<a href="#func-members">Functions</a>  </div>
-  <div class="headertitle">
-<div class="title">session.h File Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock"><code>#include &lt;string.h&gt;</code><br/>
-<code>#include &quot;<a class="el" href="tinydtls_8h_source.html">tinydtls.h</a>&quot;</code><br/>
-<code>#include &quot;<a class="el" href="global_8h_source.html">global.h</a>&quot;</code><br/>
-<code>#include &lt;sys/socket.h&gt;</code><br/>
-<code>#include &lt;netinet/in.h&gt;</code><br/>
-<code>#include &lt;arpa/inet.h&gt;</code><br/>
-</div>
-<p><a href="session_8h_source.html">Go to the source code of this file.</a></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
-Data Structures</h2></td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsession__t.html">session_t</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:af5aad44a94929b1ebfbb3c6334e9e501"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="session_8h.html#af5aad44a94929b1ebfbb3c6334e9e501">dtls_session_init</a> (<a class="el" href="structsession__t.html">session_t</a> *sess)</td></tr>
-<tr class="separator:af5aad44a94929b1ebfbb3c6334e9e501"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a96f4d60f388d56d37b3e69261bea2417"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="session_8h.html#a96f4d60f388d56d37b3e69261bea2417">dtls_session_equals</a> (const <a class="el" href="structsession__t.html">session_t</a> *a, const <a class="el" href="structsession__t.html">session_t</a> *b)</td></tr>
-<tr class="separator:a96f4d60f388d56d37b3e69261bea2417"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<h2 class="groupheader">Function Documentation</h2>
-<a class="anchor" id="a96f4d60f388d56d37b3e69261bea2417"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int dtls_session_equals </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="structsession__t.html">session_t</a> *&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const <a class="el" href="structsession__t.html">session_t</a> *&#160;</td>
-          <td class="paramname"><em>b</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Compares the given session objects. This function returns <code>0</code> when <code>a</code> and <code>b</code> differ, <code>1</code> otherwise. </p>
-
-<p>Definition at line <a class="el" href="session_8c_source.html#l00080">80</a> of file <a class="el" href="session_8c_source.html">session.c</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="af5aad44a94929b1ebfbb3c6334e9e501"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void dtls_session_init </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structsession__t.html">session_t</a> *&#160;</td>
-          <td class="paramname"><em>sess</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Resets the given <a class="el" href="structsession__t.html">session_t</a> object <code>sess</code> to its default values. In particular, the member rlen must be initialized to the available size for storing addresses.</p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">sess</td><td>The <a class="el" href="structsession__t.html">session_t</a> object to initialize. </td></tr>
-  </table>
-  </dd>
-</dl>
-
-<p>Definition at line <a class="el" href="session_8c_source.html#l00073">73</a> of file <a class="el" href="session_8c_source.html">session.c</a>.</p>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/session_8h_source.html b/external/wakaama/examples/shared/tinydtls/doc/html/session_8h_source.html
deleted file mode 100644 (file)
index 2c82087..0000000
+++ /dev/null
@@ -1,168 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: session.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="header">
-  <div class="headertitle">
-<div class="title">session.h</div>  </div>
-</div><!--header-->
-<div class="contents">
-<a href="session_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/* dtls -- a very basic DTLS implementation</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> * Copyright (C) 2011--2014 Olaf Bergmann &lt;bergmann@tzi.org&gt;</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> * Permission is hereby granted, free of charge, to any person</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> * obtaining a copy of this software and associated documentation</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> * files (the &quot;Software&quot;), to deal in the Software without</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> * restriction, including without limitation the rights to use, copy,</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> * modify, merge, publish, distribute, sublicense, and/or sell copies</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> * of the Software, and to permit persons to whom the Software is</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * furnished to do so, subject to the following conditions:</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * The above copyright notice and this permission notice shall be</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * included in all copies or substantial portions of the Software.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> * THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND,</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment"> * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment"> * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment"> * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment"> * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment"> * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment"> * SOFTWARE.</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div>
-<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#ifndef _DTLS_SESSION_H_</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define _DTLS_SESSION_H_</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &lt;string.h&gt;</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div>
-<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="tinydtls_8h.html">tinydtls.h</a>&quot;</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="global_8h.html">global.h</a>&quot;</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div>
-<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#ifdef WITH_CONTIKI</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &quot;ip/uip.h&quot;</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
-<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> size;</div>
-<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;  uip_ipaddr_t addr;</div>
-<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> port;</div>
-<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;  <span class="keywordtype">int</span> ifindex;</div>
-<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;} <a class="code" href="structsession__t.html">session_t</a>;</div>
-<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;</div>
-<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="preprocessor">#else </span><span class="comment">/* WITH_CONTIKI */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="preprocessor">#include &lt;sys/socket.h&gt;</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor">#include &lt;netinet/in.h&gt;</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor">#include &lt;arpa/inet.h&gt;</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;</div>
-<div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="structsession__t.html">   49</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
-<div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="structsession__t.html#aed21682e9f971221d9f35f1266dea125">   50</a></span>&#160;  socklen_t <a class="code" href="structsession__t.html#aed21682e9f971221d9f35f1266dea125">size</a>;       </div>
-<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;  <span class="keyword">union </span>{</div>
-<div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="structsession__t.html#a8d0a30ccc98425675a1b0e92e96eaa6a">   52</a></span>&#160;    <span class="keyword">struct </span>sockaddr     sa;</div>
-<div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="structsession__t.html#ac45985b6941c1fd25dbf4e48ff44fb8d">   53</a></span>&#160;    <span class="keyword">struct </span>sockaddr_storage st;</div>
-<div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="structsession__t.html#a86093095c1ab36b12180f9215fa2375e">   54</a></span>&#160;    <span class="keyword">struct </span>sockaddr_in  sin;</div>
-<div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="structsession__t.html#a2f337ce1989f3a9b5afeef1a95506bde">   55</a></span>&#160;    <span class="keyword">struct </span>sockaddr_in6 sin6;</div>
-<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;  } addr;</div>
-<div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="structsession__t.html#aafc69fe43548bd69c0e15aa82e73f3ff">   57</a></span>&#160;  uint8_t <a class="code" href="structsession__t.html#aafc69fe43548bd69c0e15aa82e73f3ff">ifindex</a>;</div>
-<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;} <a class="code" href="structsession__t.html">session_t</a>;</div>
-<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* WITH_CONTIKI */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keywordtype">void</span> <a class="code" href="session_8h.html#af5aad44a94929b1ebfbb3c6334e9e501">dtls_session_init</a>(<a class="code" href="structsession__t.html">session_t</a> *sess);</div>
-<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div>
-<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keywordtype">int</span> <a class="code" href="session_8h.html#a96f4d60f388d56d37b3e69261bea2417">dtls_session_equals</a>(<span class="keyword">const</span> <a class="code" href="structsession__t.html">session_t</a> *a, <span class="keyword">const</span> <a class="code" href="structsession__t.html">session_t</a> *b);</div>
-<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div>
-<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* _DTLS_SESSION_H_ */</span><span class="preprocessor"></span></div>
-<div class="ttc" id="tinydtls_8h_html"><div class="ttname"><a href="tinydtls_8h.html">tinydtls.h</a></div><div class="ttdoc">public tinydtls API </div></div>
-<div class="ttc" id="structsession__t_html"><div class="ttname"><a href="structsession__t.html">session_t</a></div><div class="ttdef"><b>Definition:</b> <a href="session_8h_source.html#l00049">session.h:49</a></div></div>
-<div class="ttc" id="structsession__t_html_aed21682e9f971221d9f35f1266dea125"><div class="ttname"><a href="structsession__t.html#aed21682e9f971221d9f35f1266dea125">session_t::size</a></div><div class="ttdeci">socklen_t size</div><div class="ttdef"><b>Definition:</b> <a href="session_8h_source.html#l00050">session.h:50</a></div></div>
-<div class="ttc" id="global_8h_html"><div class="ttname"><a href="global_8h.html">global.h</a></div></div>
-<div class="ttc" id="structsession__t_html_aafc69fe43548bd69c0e15aa82e73f3ff"><div class="ttname"><a href="structsession__t.html#aafc69fe43548bd69c0e15aa82e73f3ff">session_t::ifindex</a></div><div class="ttdeci">uint8_t ifindex</div><div class="ttdef"><b>Definition:</b> <a href="session_8h_source.html#l00057">session.h:57</a></div></div>
-<div class="ttc" id="session_8h_html_af5aad44a94929b1ebfbb3c6334e9e501"><div class="ttname"><a href="session_8h.html#af5aad44a94929b1ebfbb3c6334e9e501">dtls_session_init</a></div><div class="ttdeci">void dtls_session_init(session_t *sess)</div><div class="ttdef"><b>Definition:</b> <a href="session_8c_source.html#l00073">session.c:73</a></div></div>
-<div class="ttc" id="session_8h_html_a96f4d60f388d56d37b3e69261bea2417"><div class="ttname"><a href="session_8h.html#a96f4d60f388d56d37b3e69261bea2417">dtls_session_equals</a></div><div class="ttdeci">int dtls_session_equals(const session_t *a, const session_t *b)</div><div class="ttdef"><b>Definition:</b> <a href="session_8c_source.html#l00080">session.c:80</a></div></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/state_8h.html b/external/wakaama/examples/shared/tinydtls/doc/html/state_8h.html
deleted file mode 100644 (file)
index 01b8d76..0000000
+++ /dev/null
@@ -1,190 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: state.h File Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#nested-classes">Data Structures</a> &#124;
-<a href="#enum-members">Enumerations</a>  </div>
-  <div class="headertitle">
-<div class="title">state.h File Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p>state information for DTLS FSM  
-<a href="#details">More...</a></p>
-<div class="textblock"><code>#include &lt;sys/types.h&gt;</code><br/>
-<code>#include &lt;stdint.h&gt;</code><br/>
-<code>#include &quot;<a class="el" href="global_8h_source.html">global.h</a>&quot;</code><br/>
-<code>#include &quot;<a class="el" href="hmac_8h_source.html">hmac.h</a>&quot;</code><br/>
-</div>
-<p><a href="state_8h_source.html">Go to the source code of this file.</a></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
-Data Structures</h2></td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdtls__hs__state__t.html">dtls_hs_state_t</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
-Enumerations</h2></td></tr>
-<tr class="memitem:aea0e57fd5b857535960534b53361aa35"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="state_8h.html#aea0e57fd5b857535960534b53361aa35">dtls_state_t</a> { <br/>
-&#160;&#160;<a class="el" href="state_8h.html#aea0e57fd5b857535960534b53361aa35afa23f2a7b1313abfb472a55a17cc26b8">DTLS_STATE_INIT</a> = 0, 
-<a class="el" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a84b76c7a571c4b1d659e26d4e540c151">DTLS_STATE_WAIT_CLIENTHELLO</a>, 
-<a class="el" href="state_8h.html#aea0e57fd5b857535960534b53361aa35abdb6292772d18296f76c90fdc2533ab9">DTLS_STATE_WAIT_CLIENTCERTIFICATE</a>, 
-<a class="el" href="state_8h.html#aea0e57fd5b857535960534b53361aa35aa013ec95c846eaebd37acecc1a2f8a05">DTLS_STATE_WAIT_CLIENTKEYEXCHANGE</a>, 
-<br/>
-&#160;&#160;<a class="el" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a1bb7cd2cdb77a9cdc5a5df541e8d99c4">DTLS_STATE_WAIT_CERTIFICATEVERIFY</a>, 
-<a class="el" href="state_8h.html#aea0e57fd5b857535960534b53361aa35ab3436ceaa0f47131771c288b8b5f1840">DTLS_STATE_WAIT_CHANGECIPHERSPEC</a>, 
-<a class="el" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a8c1ffc1652e7c5ba25239fe1f3a430ba">DTLS_STATE_WAIT_FINISHED</a>, 
-<a class="el" href="state_8h.html#aea0e57fd5b857535960534b53361aa35afe3ae5ff9df44c8101223efec2916c0b">DTLS_STATE_FINISHED</a>, 
-<br/>
-&#160;&#160;<a class="el" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a1a76f1e49c80d22df9673f8471d1ec53">DTLS_STATE_CLIENTHELLO</a>, 
-<a class="el" href="state_8h.html#aea0e57fd5b857535960534b53361aa35aa58cb54cde33e338814177a41ca2df6b">DTLS_STATE_WAIT_SERVERCERTIFICATE</a>, 
-<a class="el" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a97f1fd8aadc13e8d721d5e40d42a0330">DTLS_STATE_WAIT_SERVERKEYEXCHANGE</a>, 
-<a class="el" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a5c55da9c6de8eb986de811cf2135a1a0">DTLS_STATE_WAIT_SERVERHELLODONE</a>, 
-<br/>
-&#160;&#160;<a class="el" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a953a6aabd0aff0492df164e79815b122">DTLS_STATE_CONNECTED</a>, 
-<a class="el" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a4aa3fcce37191fc2a915aa330efd381b">DTLS_STATE_CLOSING</a>, 
-<a class="el" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a88bc0f5ff63003f57a59700dc4b55553">DTLS_STATE_CLOSED</a>
-<br/>
- }</td></tr>
-<tr class="separator:aea0e57fd5b857535960534b53361aa35"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p>state information for DTLS FSM </p>
-
-<p>Definition in file <a class="el" href="state_8h_source.html">state.h</a>.</p>
-</div><h2 class="groupheader">Enumeration Type Documentation</h2>
-<a class="anchor" id="aea0e57fd5b857535960534b53361aa35"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">enum <a class="el" href="state_8h.html#aea0e57fd5b857535960534b53361aa35">dtls_state_t</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="aea0e57fd5b857535960534b53361aa35afa23f2a7b1313abfb472a55a17cc26b8"></a>DTLS_STATE_INIT</em>&#160;</td><td class="fielddoc">
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="aea0e57fd5b857535960534b53361aa35a84b76c7a571c4b1d659e26d4e540c151"></a>DTLS_STATE_WAIT_CLIENTHELLO</em>&#160;</td><td class="fielddoc">
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="aea0e57fd5b857535960534b53361aa35abdb6292772d18296f76c90fdc2533ab9"></a>DTLS_STATE_WAIT_CLIENTCERTIFICATE</em>&#160;</td><td class="fielddoc">
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="aea0e57fd5b857535960534b53361aa35aa013ec95c846eaebd37acecc1a2f8a05"></a>DTLS_STATE_WAIT_CLIENTKEYEXCHANGE</em>&#160;</td><td class="fielddoc">
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="aea0e57fd5b857535960534b53361aa35a1bb7cd2cdb77a9cdc5a5df541e8d99c4"></a>DTLS_STATE_WAIT_CERTIFICATEVERIFY</em>&#160;</td><td class="fielddoc">
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="aea0e57fd5b857535960534b53361aa35ab3436ceaa0f47131771c288b8b5f1840"></a>DTLS_STATE_WAIT_CHANGECIPHERSPEC</em>&#160;</td><td class="fielddoc">
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="aea0e57fd5b857535960534b53361aa35a8c1ffc1652e7c5ba25239fe1f3a430ba"></a>DTLS_STATE_WAIT_FINISHED</em>&#160;</td><td class="fielddoc">
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="aea0e57fd5b857535960534b53361aa35afe3ae5ff9df44c8101223efec2916c0b"></a>DTLS_STATE_FINISHED</em>&#160;</td><td class="fielddoc">
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="aea0e57fd5b857535960534b53361aa35a1a76f1e49c80d22df9673f8471d1ec53"></a>DTLS_STATE_CLIENTHELLO</em>&#160;</td><td class="fielddoc">
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="aea0e57fd5b857535960534b53361aa35aa58cb54cde33e338814177a41ca2df6b"></a>DTLS_STATE_WAIT_SERVERCERTIFICATE</em>&#160;</td><td class="fielddoc">
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="aea0e57fd5b857535960534b53361aa35a97f1fd8aadc13e8d721d5e40d42a0330"></a>DTLS_STATE_WAIT_SERVERKEYEXCHANGE</em>&#160;</td><td class="fielddoc">
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="aea0e57fd5b857535960534b53361aa35a5c55da9c6de8eb986de811cf2135a1a0"></a>DTLS_STATE_WAIT_SERVERHELLODONE</em>&#160;</td><td class="fielddoc">
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="aea0e57fd5b857535960534b53361aa35a953a6aabd0aff0492df164e79815b122"></a>DTLS_STATE_CONNECTED</em>&#160;</td><td class="fielddoc">
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="aea0e57fd5b857535960534b53361aa35a4aa3fcce37191fc2a915aa330efd381b"></a>DTLS_STATE_CLOSING</em>&#160;</td><td class="fielddoc">
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="aea0e57fd5b857535960534b53361aa35a88bc0f5ff63003f57a59700dc4b55553"></a>DTLS_STATE_CLOSED</em>&#160;</td><td class="fielddoc">
-</td></tr>
-</table>
-
-<p>Definition at line <a class="el" href="state_8h_source.html#l00040">40</a> of file <a class="el" href="state_8h_source.html">state.h</a>.</p>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/state_8h_source.html b/external/wakaama/examples/shared/tinydtls/doc/html/state_8h_source.html
deleted file mode 100644 (file)
index bb8aec2..0000000
+++ /dev/null
@@ -1,176 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: state.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="header">
-  <div class="headertitle">
-<div class="title">state.h</div>  </div>
-</div><!--header-->
-<div class="contents">
-<a href="state_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/* dtls -- a very basic DTLS implementation</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> * Copyright (C) 2011--2013 Olaf Bergmann &lt;bergmann@tzi.org&gt;</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> * Permission is hereby granted, free of charge, to any person</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> * obtaining a copy of this software and associated documentation</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> * files (the &quot;Software&quot;), to deal in the Software without</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> * restriction, including without limitation the rights to use, copy,</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> * modify, merge, publish, distribute, sublicense, and/or sell copies</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> * of the Software, and to permit persons to whom the Software is</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * furnished to do so, subject to the following conditions:</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * The above copyright notice and this permission notice shall be</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * included in all copies or substantial portions of the Software.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> * THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND,</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment"> * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment"> * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment"> * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment"> * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment"> * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment"> * SOFTWARE.</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div>
-<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#ifndef _DTLS_STATE_H_</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define _DTLS_STATE_H_</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#include &lt;sys/types.h&gt;</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#include &lt;stdint.h&gt;</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;</div>
-<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="global_8h.html">global.h</a>&quot;</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="hmac_8h.html">hmac.h</a>&quot;</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;</div>
-<div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="state_8h.html#aea0e57fd5b857535960534b53361aa35">   40</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> { </div>
-<div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a84b76c7a571c4b1d659e26d4e540c151">   41</a></span>&#160;  <a class="code" href="state_8h.html#aea0e57fd5b857535960534b53361aa35afa23f2a7b1313abfb472a55a17cc26b8">DTLS_STATE_INIT</a> = 0, <a class="code" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a84b76c7a571c4b1d659e26d4e540c151">DTLS_STATE_WAIT_CLIENTHELLO</a>, <a class="code" href="state_8h.html#aea0e57fd5b857535960534b53361aa35abdb6292772d18296f76c90fdc2533ab9">DTLS_STATE_WAIT_CLIENTCERTIFICATE</a>,</div>
-<div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="state_8h.html#aea0e57fd5b857535960534b53361aa35aa013ec95c846eaebd37acecc1a2f8a05">   42</a></span>&#160;  <a class="code" href="state_8h.html#aea0e57fd5b857535960534b53361aa35aa013ec95c846eaebd37acecc1a2f8a05">DTLS_STATE_WAIT_CLIENTKEYEXCHANGE</a>, <a class="code" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a1bb7cd2cdb77a9cdc5a5df541e8d99c4">DTLS_STATE_WAIT_CERTIFICATEVERIFY</a>,</div>
-<div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="state_8h.html#aea0e57fd5b857535960534b53361aa35ab3436ceaa0f47131771c288b8b5f1840">   43</a></span>&#160;  <a class="code" href="state_8h.html#aea0e57fd5b857535960534b53361aa35ab3436ceaa0f47131771c288b8b5f1840">DTLS_STATE_WAIT_CHANGECIPHERSPEC</a>,</div>
-<div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a8c1ffc1652e7c5ba25239fe1f3a430ba">   44</a></span>&#160;  <a class="code" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a8c1ffc1652e7c5ba25239fe1f3a430ba">DTLS_STATE_WAIT_FINISHED</a>, <a class="code" href="state_8h.html#aea0e57fd5b857535960534b53361aa35afe3ae5ff9df44c8101223efec2916c0b">DTLS_STATE_FINISHED</a>, </div>
-<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;  <span class="comment">/* client states */</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a97f1fd8aadc13e8d721d5e40d42a0330">   46</a></span>&#160;  <a class="code" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a1a76f1e49c80d22df9673f8471d1ec53">DTLS_STATE_CLIENTHELLO</a>, <a class="code" href="state_8h.html#aea0e57fd5b857535960534b53361aa35aa58cb54cde33e338814177a41ca2df6b">DTLS_STATE_WAIT_SERVERCERTIFICATE</a>, <a class="code" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a97f1fd8aadc13e8d721d5e40d42a0330">DTLS_STATE_WAIT_SERVERKEYEXCHANGE</a>,</div>
-<div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a5c55da9c6de8eb986de811cf2135a1a0">   47</a></span>&#160;  <a class="code" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a5c55da9c6de8eb986de811cf2135a1a0">DTLS_STATE_WAIT_SERVERHELLODONE</a>,</div>
-<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;</div>
-<div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a953a6aabd0aff0492df164e79815b122">   49</a></span>&#160;  <a class="code" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a953a6aabd0aff0492df164e79815b122">DTLS_STATE_CONNECTED</a>,</div>
-<div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a4aa3fcce37191fc2a915aa330efd381b">   50</a></span>&#160;  <a class="code" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a4aa3fcce37191fc2a915aa330efd381b">DTLS_STATE_CLOSING</a>,</div>
-<div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a88bc0f5ff63003f57a59700dc4b55553">   51</a></span>&#160;  <a class="code" href="state_8h.html#aea0e57fd5b857535960534b53361aa35a88bc0f5ff63003f57a59700dc4b55553">DTLS_STATE_CLOSED</a></div>
-<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;} <a class="code" href="state_8h.html#aea0e57fd5b857535960534b53361aa35">dtls_state_t</a>;</div>
-<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;</div>
-<div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="structdtls__hs__state__t.html">   54</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
-<div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="structdtls__hs__state__t.html#a694ce15382e7504a750a1b102ad8ec32">   55</a></span>&#160;  uint16_t <a class="code" href="structdtls__hs__state__t.html#a694ce15382e7504a750a1b102ad8ec32">mseq_s</a>;       </div>
-<div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="structdtls__hs__state__t.html#a4e2184c917d1ad46d308e8770193f542">   56</a></span>&#160;  uint16_t <a class="code" href="structdtls__hs__state__t.html#a4e2184c917d1ad46d308e8770193f542">mseq_r</a>;       </div>
-<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;  <span class="comment">/* FIXME: dtls_security_parameters_t pending_config; */</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;</div>
-<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;  <span class="comment">/* temporary storage for the final handshake hash */</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="structdtls__hs__state__t.html#a991b95919538531d730f74045e4fe3b1">   62</a></span>&#160;  <a class="code" href="hmac_8h.html#abb19650a510c73117da0e9b88d68f159">dtls_hash_ctx</a> <a class="code" href="structdtls__hs__state__t.html#a991b95919538531d730f74045e4fe3b1">hs_hash</a>;</div>
-<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;} <a class="code" href="structdtls__hs__state__t.html">dtls_hs_state_t</a>;</div>
-<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* _DTLS_STATE_H_ */</span><span class="preprocessor"></span></div>
-<div class="ttc" id="state_8h_html_aea0e57fd5b857535960534b53361aa35a5c55da9c6de8eb986de811cf2135a1a0"><div class="ttname"><a href="state_8h.html#aea0e57fd5b857535960534b53361aa35a5c55da9c6de8eb986de811cf2135a1a0">DTLS_STATE_WAIT_SERVERHELLODONE</a></div><div class="ttdef"><b>Definition:</b> <a href="state_8h_source.html#l00047">state.h:47</a></div></div>
-<div class="ttc" id="state_8h_html_aea0e57fd5b857535960534b53361aa35aa013ec95c846eaebd37acecc1a2f8a05"><div class="ttname"><a href="state_8h.html#aea0e57fd5b857535960534b53361aa35aa013ec95c846eaebd37acecc1a2f8a05">DTLS_STATE_WAIT_CLIENTKEYEXCHANGE</a></div><div class="ttdef"><b>Definition:</b> <a href="state_8h_source.html#l00042">state.h:42</a></div></div>
-<div class="ttc" id="state_8h_html_aea0e57fd5b857535960534b53361aa35a84b76c7a571c4b1d659e26d4e540c151"><div class="ttname"><a href="state_8h.html#aea0e57fd5b857535960534b53361aa35a84b76c7a571c4b1d659e26d4e540c151">DTLS_STATE_WAIT_CLIENTHELLO</a></div><div class="ttdef"><b>Definition:</b> <a href="state_8h_source.html#l00041">state.h:41</a></div></div>
-<div class="ttc" id="state_8h_html_aea0e57fd5b857535960534b53361aa35a8c1ffc1652e7c5ba25239fe1f3a430ba"><div class="ttname"><a href="state_8h.html#aea0e57fd5b857535960534b53361aa35a8c1ffc1652e7c5ba25239fe1f3a430ba">DTLS_STATE_WAIT_FINISHED</a></div><div class="ttdef"><b>Definition:</b> <a href="state_8h_source.html#l00044">state.h:44</a></div></div>
-<div class="ttc" id="hmac_8h_html_abb19650a510c73117da0e9b88d68f159"><div class="ttname"><a href="hmac_8h.html#abb19650a510c73117da0e9b88d68f159">dtls_hash_ctx</a></div><div class="ttdeci">SHA256_CTX dtls_hash_ctx</div><div class="ttdef"><b>Definition:</b> <a href="hmac_8h_source.html#l00038">hmac.h:38</a></div></div>
-<div class="ttc" id="state_8h_html_aea0e57fd5b857535960534b53361aa35"><div class="ttname"><a href="state_8h.html#aea0e57fd5b857535960534b53361aa35">dtls_state_t</a></div><div class="ttdeci">dtls_state_t</div><div class="ttdef"><b>Definition:</b> <a href="state_8h_source.html#l00040">state.h:40</a></div></div>
-<div class="ttc" id="state_8h_html_aea0e57fd5b857535960534b53361aa35ab3436ceaa0f47131771c288b8b5f1840"><div class="ttname"><a href="state_8h.html#aea0e57fd5b857535960534b53361aa35ab3436ceaa0f47131771c288b8b5f1840">DTLS_STATE_WAIT_CHANGECIPHERSPEC</a></div><div class="ttdef"><b>Definition:</b> <a href="state_8h_source.html#l00043">state.h:43</a></div></div>
-<div class="ttc" id="global_8h_html"><div class="ttname"><a href="global_8h.html">global.h</a></div></div>
-<div class="ttc" id="state_8h_html_aea0e57fd5b857535960534b53361aa35afe3ae5ff9df44c8101223efec2916c0b"><div class="ttname"><a href="state_8h.html#aea0e57fd5b857535960534b53361aa35afe3ae5ff9df44c8101223efec2916c0b">DTLS_STATE_FINISHED</a></div><div class="ttdef"><b>Definition:</b> <a href="state_8h_source.html#l00044">state.h:44</a></div></div>
-<div class="ttc" id="state_8h_html_aea0e57fd5b857535960534b53361aa35a4aa3fcce37191fc2a915aa330efd381b"><div class="ttname"><a href="state_8h.html#aea0e57fd5b857535960534b53361aa35a4aa3fcce37191fc2a915aa330efd381b">DTLS_STATE_CLOSING</a></div><div class="ttdef"><b>Definition:</b> <a href="state_8h_source.html#l00050">state.h:50</a></div></div>
-<div class="ttc" id="structdtls__hs__state__t_html_a991b95919538531d730f74045e4fe3b1"><div class="ttname"><a href="structdtls__hs__state__t.html#a991b95919538531d730f74045e4fe3b1">dtls_hs_state_t::hs_hash</a></div><div class="ttdeci">dtls_hash_ctx hs_hash</div><div class="ttdef"><b>Definition:</b> <a href="state_8h_source.html#l00062">state.h:62</a></div></div>
-<div class="ttc" id="hmac_8h_html"><div class="ttname"><a href="hmac_8h.html">hmac.h</a></div></div>
-<div class="ttc" id="state_8h_html_aea0e57fd5b857535960534b53361aa35afa23f2a7b1313abfb472a55a17cc26b8"><div class="ttname"><a href="state_8h.html#aea0e57fd5b857535960534b53361aa35afa23f2a7b1313abfb472a55a17cc26b8">DTLS_STATE_INIT</a></div><div class="ttdef"><b>Definition:</b> <a href="state_8h_source.html#l00041">state.h:41</a></div></div>
-<div class="ttc" id="state_8h_html_aea0e57fd5b857535960534b53361aa35a97f1fd8aadc13e8d721d5e40d42a0330"><div class="ttname"><a href="state_8h.html#aea0e57fd5b857535960534b53361aa35a97f1fd8aadc13e8d721d5e40d42a0330">DTLS_STATE_WAIT_SERVERKEYEXCHANGE</a></div><div class="ttdef"><b>Definition:</b> <a href="state_8h_source.html#l00046">state.h:46</a></div></div>
-<div class="ttc" id="state_8h_html_aea0e57fd5b857535960534b53361aa35a88bc0f5ff63003f57a59700dc4b55553"><div class="ttname"><a href="state_8h.html#aea0e57fd5b857535960534b53361aa35a88bc0f5ff63003f57a59700dc4b55553">DTLS_STATE_CLOSED</a></div><div class="ttdef"><b>Definition:</b> <a href="state_8h_source.html#l00051">state.h:51</a></div></div>
-<div class="ttc" id="structdtls__hs__state__t_html_a4e2184c917d1ad46d308e8770193f542"><div class="ttname"><a href="structdtls__hs__state__t.html#a4e2184c917d1ad46d308e8770193f542">dtls_hs_state_t::mseq_r</a></div><div class="ttdeci">uint16_t mseq_r</div><div class="ttdef"><b>Definition:</b> <a href="state_8h_source.html#l00056">state.h:56</a></div></div>
-<div class="ttc" id="structdtls__hs__state__t_html"><div class="ttname"><a href="structdtls__hs__state__t.html">dtls_hs_state_t</a></div><div class="ttdef"><b>Definition:</b> <a href="state_8h_source.html#l00054">state.h:54</a></div></div>
-<div class="ttc" id="state_8h_html_aea0e57fd5b857535960534b53361aa35a953a6aabd0aff0492df164e79815b122"><div class="ttname"><a href="state_8h.html#aea0e57fd5b857535960534b53361aa35a953a6aabd0aff0492df164e79815b122">DTLS_STATE_CONNECTED</a></div><div class="ttdef"><b>Definition:</b> <a href="state_8h_source.html#l00049">state.h:49</a></div></div>
-<div class="ttc" id="state_8h_html_aea0e57fd5b857535960534b53361aa35aa58cb54cde33e338814177a41ca2df6b"><div class="ttname"><a href="state_8h.html#aea0e57fd5b857535960534b53361aa35aa58cb54cde33e338814177a41ca2df6b">DTLS_STATE_WAIT_SERVERCERTIFICATE</a></div><div class="ttdef"><b>Definition:</b> <a href="state_8h_source.html#l00046">state.h:46</a></div></div>
-<div class="ttc" id="state_8h_html_aea0e57fd5b857535960534b53361aa35abdb6292772d18296f76c90fdc2533ab9"><div class="ttname"><a href="state_8h.html#aea0e57fd5b857535960534b53361aa35abdb6292772d18296f76c90fdc2533ab9">DTLS_STATE_WAIT_CLIENTCERTIFICATE</a></div><div class="ttdef"><b>Definition:</b> <a href="state_8h_source.html#l00041">state.h:41</a></div></div>
-<div class="ttc" id="state_8h_html_aea0e57fd5b857535960534b53361aa35a1bb7cd2cdb77a9cdc5a5df541e8d99c4"><div class="ttname"><a href="state_8h.html#aea0e57fd5b857535960534b53361aa35a1bb7cd2cdb77a9cdc5a5df541e8d99c4">DTLS_STATE_WAIT_CERTIFICATEVERIFY</a></div><div class="ttdef"><b>Definition:</b> <a href="state_8h_source.html#l00042">state.h:42</a></div></div>
-<div class="ttc" id="structdtls__hs__state__t_html_a694ce15382e7504a750a1b102ad8ec32"><div class="ttname"><a href="structdtls__hs__state__t.html#a694ce15382e7504a750a1b102ad8ec32">dtls_hs_state_t::mseq_s</a></div><div class="ttdeci">uint16_t mseq_s</div><div class="ttdef"><b>Definition:</b> <a href="state_8h_source.html#l00055">state.h:55</a></div></div>
-<div class="ttc" id="state_8h_html_aea0e57fd5b857535960534b53361aa35a1a76f1e49c80d22df9673f8471d1ec53"><div class="ttname"><a href="state_8h.html#aea0e57fd5b857535960534b53361aa35a1a76f1e49c80d22df9673f8471d1ec53">DTLS_STATE_CLIENTHELLO</a></div><div class="ttdef"><b>Definition:</b> <a href="state_8h_source.html#l00046">state.h:46</a></div></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/structUT__hash__bucket.html b/external/wakaama/examples/shared/tinydtls/doc/html/structUT__hash__bucket.html
deleted file mode 100644 (file)
index f634188..0000000
+++ /dev/null
@@ -1,159 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: UT_hash_bucket Struct Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li><a href="functions.html"><span>Data&#160;Fields</span></a></li>
-    </ul>
-  </div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#pub-attribs">Data Fields</a>  </div>
-  <div class="headertitle">
-<div class="title">UT_hash_bucket Struct Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p><code>#include &lt;<a class="el" href="uthash_8h_source.html">uthash.h</a>&gt;</code></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
-Data Fields</h2></td></tr>
-<tr class="memitem:a785a785132212378bb28fb4341cfecaf"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structUT__hash__handle.html">UT_hash_handle</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structUT__hash__bucket.html#a785a785132212378bb28fb4341cfecaf">hh_head</a></td></tr>
-<tr class="separator:a785a785132212378bb28fb4341cfecaf"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5d20cc12bdcbde360398910eefb45634"><td class="memItemLeft" align="right" valign="top">unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structUT__hash__bucket.html#a5d20cc12bdcbde360398910eefb45634">count</a></td></tr>
-<tr class="separator:a5d20cc12bdcbde360398910eefb45634"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9b739c1b69c141e8198c0c64af643b2b"><td class="memItemLeft" align="right" valign="top">unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structUT__hash__bucket.html#a9b739c1b69c141e8198c0c64af643b2b">expand_mult</a></td></tr>
-<tr class="separator:a9b739c1b69c141e8198c0c64af643b2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock">
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00904">904</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-</div><h2 class="groupheader">Field Documentation</h2>
-<a class="anchor" id="a5d20cc12bdcbde360398910eefb45634"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">unsigned UT_hash_bucket::count</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00906">906</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a9b739c1b69c141e8198c0c64af643b2b"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">unsigned UT_hash_bucket::expand_mult</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00920">920</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a785a785132212378bb28fb4341cfecaf"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">struct <a class="el" href="structUT__hash__handle.html">UT_hash_handle</a>* UT_hash_bucket::hh_head</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00905">905</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-
-</div>
-</div>
-<hr/>The documentation for this struct was generated from the following file:<ul>
-<li><a class="el" href="uthash_8h_source.html">uthash.h</a></li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/structUT__hash__handle.html b/external/wakaama/examples/shared/tinydtls/doc/html/structUT__hash__handle.html
deleted file mode 100644 (file)
index 69d4979..0000000
+++ /dev/null
@@ -1,239 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: UT_hash_handle Struct Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li><a href="functions.html"><span>Data&#160;Fields</span></a></li>
-    </ul>
-  </div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#pub-attribs">Data Fields</a>  </div>
-  <div class="headertitle">
-<div class="title">UT_hash_handle Struct Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p><code>#include &lt;<a class="el" href="uthash_8h_source.html">uthash.h</a>&gt;</code></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
-Data Fields</h2></td></tr>
-<tr class="memitem:ad2035ee3b2aa55b22e352341372a5e73"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structUT__hash__table.html">UT_hash_table</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structUT__hash__handle.html#ad2035ee3b2aa55b22e352341372a5e73">tbl</a></td></tr>
-<tr class="separator:ad2035ee3b2aa55b22e352341372a5e73"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:abaf54a69367933df2d45575f48ca6a58"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structUT__hash__handle.html#abaf54a69367933df2d45575f48ca6a58">prev</a></td></tr>
-<tr class="separator:abaf54a69367933df2d45575f48ca6a58"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a93bc88ffe97f85ea0d9e0056b7118942"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structUT__hash__handle.html#a93bc88ffe97f85ea0d9e0056b7118942">next</a></td></tr>
-<tr class="separator:a93bc88ffe97f85ea0d9e0056b7118942"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3ec03e34d7975d5c1981c44b324619b2"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structUT__hash__handle.html">UT_hash_handle</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structUT__hash__handle.html#a3ec03e34d7975d5c1981c44b324619b2">hh_prev</a></td></tr>
-<tr class="separator:a3ec03e34d7975d5c1981c44b324619b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4f6989385499ba6f594b0f0facd28325"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structUT__hash__handle.html">UT_hash_handle</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structUT__hash__handle.html#a4f6989385499ba6f594b0f0facd28325">hh_next</a></td></tr>
-<tr class="separator:a4f6989385499ba6f594b0f0facd28325"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a40690fc15aeaeba8f25385f05f84dd4d"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structUT__hash__handle.html#a40690fc15aeaeba8f25385f05f84dd4d">key</a></td></tr>
-<tr class="separator:a40690fc15aeaeba8f25385f05f84dd4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af2abdc405972a6bbdee2ade2c0f346c4"><td class="memItemLeft" align="right" valign="top">unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structUT__hash__handle.html#af2abdc405972a6bbdee2ade2c0f346c4">keylen</a></td></tr>
-<tr class="separator:af2abdc405972a6bbdee2ade2c0f346c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aae5e635fa110556e5007f627089f8323"><td class="memItemLeft" align="right" valign="top">unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">hashv</a></td></tr>
-<tr class="separator:aae5e635fa110556e5007f627089f8323"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock">
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00961">961</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-</div><h2 class="groupheader">Field Documentation</h2>
-<a class="anchor" id="aae5e635fa110556e5007f627089f8323"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">unsigned UT_hash_handle::hashv</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00969">969</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a4f6989385499ba6f594b0f0facd28325"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">struct <a class="el" href="structUT__hash__handle.html">UT_hash_handle</a>* UT_hash_handle::hh_next</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00966">966</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a3ec03e34d7975d5c1981c44b324619b2"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">struct <a class="el" href="structUT__hash__handle.html">UT_hash_handle</a>* UT_hash_handle::hh_prev</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00965">965</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a40690fc15aeaeba8f25385f05f84dd4d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void* UT_hash_handle::key</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00967">967</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="af2abdc405972a6bbdee2ade2c0f346c4"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">unsigned UT_hash_handle::keylen</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00968">968</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a93bc88ffe97f85ea0d9e0056b7118942"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void* UT_hash_handle::next</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00964">964</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="abaf54a69367933df2d45575f48ca6a58"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void* UT_hash_handle::prev</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00963">963</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ad2035ee3b2aa55b22e352341372a5e73"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">struct <a class="el" href="structUT__hash__table.html">UT_hash_table</a>* UT_hash_handle::tbl</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00962">962</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-
-</div>
-</div>
-<hr/>The documentation for this struct was generated from the following file:<ul>
-<li><a class="el" href="uthash_8h_source.html">uthash.h</a></li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/structUT__hash__table.html b/external/wakaama/examples/shared/tinydtls/doc/html/structUT__hash__table.html
deleted file mode 100644 (file)
index a613df2..0000000
+++ /dev/null
@@ -1,287 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: UT_hash_table Struct Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li><a href="functions.html"><span>Data&#160;Fields</span></a></li>
-    </ul>
-  </div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#pub-attribs">Data Fields</a>  </div>
-  <div class="headertitle">
-<div class="title">UT_hash_table Struct Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p><code>#include &lt;<a class="el" href="uthash_8h_source.html">uthash.h</a>&gt;</code></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
-Data Fields</h2></td></tr>
-<tr class="memitem:a04556bbef9c9a1c40b1bc0d17a2a6e0b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structUT__hash__bucket.html">UT_hash_bucket</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structUT__hash__table.html#a04556bbef9c9a1c40b1bc0d17a2a6e0b">buckets</a></td></tr>
-<tr class="separator:a04556bbef9c9a1c40b1bc0d17a2a6e0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3ed04b6233facaedf910672578d86339"><td class="memItemLeft" align="right" valign="top">unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structUT__hash__table.html#a3ed04b6233facaedf910672578d86339">num_buckets</a></td></tr>
-<tr class="separator:a3ed04b6233facaedf910672578d86339"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae376a7f3fac525f3a9d03b6beec8d12f"><td class="memItemLeft" align="right" valign="top">unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structUT__hash__table.html#ae376a7f3fac525f3a9d03b6beec8d12f">log2_num_buckets</a></td></tr>
-<tr class="separator:ae376a7f3fac525f3a9d03b6beec8d12f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a74534cc14f080c96f94d8f5da83d9d76"><td class="memItemLeft" align="right" valign="top">unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structUT__hash__table.html#a74534cc14f080c96f94d8f5da83d9d76">num_items</a></td></tr>
-<tr class="separator:a74534cc14f080c96f94d8f5da83d9d76"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a00a889a5e1ebaeec0a83ec2701df1992"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structUT__hash__handle.html">UT_hash_handle</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structUT__hash__table.html#a00a889a5e1ebaeec0a83ec2701df1992">tail</a></td></tr>
-<tr class="separator:a00a889a5e1ebaeec0a83ec2701df1992"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:afd05f4d9e45354fb010367ae9e1bddb6"><td class="memItemLeft" align="right" valign="top">ptrdiff_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structUT__hash__table.html#afd05f4d9e45354fb010367ae9e1bddb6">hho</a></td></tr>
-<tr class="separator:afd05f4d9e45354fb010367ae9e1bddb6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5f1cec93d5d753ba02097c797e4d67ad"><td class="memItemLeft" align="right" valign="top">unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structUT__hash__table.html#a5f1cec93d5d753ba02097c797e4d67ad">ideal_chain_maxlen</a></td></tr>
-<tr class="separator:a5f1cec93d5d753ba02097c797e4d67ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8cb66cfb259a204cda59a815e4db664f"><td class="memItemLeft" align="right" valign="top">unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structUT__hash__table.html#a8cb66cfb259a204cda59a815e4db664f">nonideal_items</a></td></tr>
-<tr class="separator:a8cb66cfb259a204cda59a815e4db664f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a216c7d98cf40a0064bee94aa8a5bf1b7"><td class="memItemLeft" align="right" valign="top">unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structUT__hash__table.html#a216c7d98cf40a0064bee94aa8a5bf1b7">ineff_expands</a></td></tr>
-<tr class="separator:a216c7d98cf40a0064bee94aa8a5bf1b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a635661789933752e7b83dac84430eae1"><td class="memItemLeft" align="right" valign="top">unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structUT__hash__table.html#a635661789933752e7b83dac84430eae1">noexpand</a></td></tr>
-<tr class="separator:a635661789933752e7b83dac84430eae1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a87d1ab3f3ede1809c6a485972d20b25f"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structUT__hash__table.html#a87d1ab3f3ede1809c6a485972d20b25f">signature</a></td></tr>
-<tr class="separator:a87d1ab3f3ede1809c6a485972d20b25f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock">
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00928">928</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-</div><h2 class="groupheader">Field Documentation</h2>
-<a class="anchor" id="a04556bbef9c9a1c40b1bc0d17a2a6e0b"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="structUT__hash__bucket.html">UT_hash_bucket</a>* UT_hash_table::buckets</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00929">929</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="afd05f4d9e45354fb010367ae9e1bddb6"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">ptrdiff_t UT_hash_table::hho</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00933">933</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a5f1cec93d5d753ba02097c797e4d67ad"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">unsigned UT_hash_table::ideal_chain_maxlen</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00937">937</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a216c7d98cf40a0064bee94aa8a5bf1b7"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">unsigned UT_hash_table::ineff_expands</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00950">950</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ae376a7f3fac525f3a9d03b6beec8d12f"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">unsigned UT_hash_table::log2_num_buckets</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00930">930</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a635661789933752e7b83dac84430eae1"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">unsigned UT_hash_table::noexpand</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00950">950</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a8cb66cfb259a204cda59a815e4db664f"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">unsigned UT_hash_table::nonideal_items</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00942">942</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a3ed04b6233facaedf910672578d86339"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">unsigned UT_hash_table::num_buckets</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00930">930</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a74534cc14f080c96f94d8f5da83d9d76"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">unsigned UT_hash_table::num_items</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00931">931</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a87d1ab3f3ede1809c6a485972d20b25f"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">uint32_t UT_hash_table::signature</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00952">952</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a00a889a5e1ebaeec0a83ec2701df1992"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">struct <a class="el" href="structUT__hash__handle.html">UT_hash_handle</a>* UT_hash_table::tail</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00932">932</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-
-</div>
-</div>
-<hr/>The documentation for this struct was generated from the following file:<ul>
-<li><a class="el" href="uthash_8h_source.html">uthash.h</a></li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/structaes128__ccm__t.html b/external/wakaama/examples/shared/tinydtls/doc/html/structaes128__ccm__t.html
deleted file mode 100644 (file)
index 3949d91..0000000
+++ /dev/null
@@ -1,129 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: aes128_ccm_t Struct Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li><a href="functions.html"><span>Data&#160;Fields</span></a></li>
-    </ul>
-  </div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#pub-attribs">Data Fields</a>  </div>
-  <div class="headertitle">
-<div class="title">aes128_ccm_t Struct Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p><code>#include &lt;<a class="el" href="crypto_8h_source.html">crypto.h</a>&gt;</code></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
-Data Fields</h2></td></tr>
-<tr class="memitem:a5bdf410f025e4177ced456059bc8a371"><td class="memItemLeft" align="right" valign="top">rijndael_ctx&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structaes128__ccm__t.html#a5bdf410f025e4177ced456059bc8a371">ctx</a></td></tr>
-<tr class="separator:a5bdf410f025e4177ced456059bc8a371"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p>Crypto context for TLS_PSK_WITH_AES_128_CCM_8 cipher suite. </p>
-
-<p>Definition at line <a class="el" href="crypto_8h_source.html#l00070">70</a> of file <a class="el" href="crypto_8h_source.html">crypto.h</a>.</p>
-</div><h2 class="groupheader">Field Documentation</h2>
-<a class="anchor" id="a5bdf410f025e4177ced456059bc8a371"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">rijndael_ctx aes128_ccm_t::ctx</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>AES-128 encryption context </p>
-
-<p>Definition at line <a class="el" href="crypto_8h_source.html#l00071">71</a> of file <a class="el" href="crypto_8h_source.html">crypto.h</a>.</p>
-
-</div>
-</div>
-<hr/>The documentation for this struct was generated from the following file:<ul>
-<li><a class="el" href="crypto_8h_source.html">crypto.h</a></li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/structdtls__cipher__context__t.html b/external/wakaama/examples/shared/tinydtls/doc/html/structdtls__cipher__context__t.html
deleted file mode 100644 (file)
index ae90716..0000000
+++ /dev/null
@@ -1,128 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: dtls_cipher_context_t Struct Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li><a href="functions.html"><span>Data&#160;Fields</span></a></li>
-    </ul>
-  </div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#pub-attribs">Data Fields</a>  </div>
-  <div class="headertitle">
-<div class="title">dtls_cipher_context_t Struct Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p><code>#include &lt;<a class="el" href="crypto_8h_source.html">crypto.h</a>&gt;</code></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
-Data Fields</h2></td></tr>
-<tr class="memitem:a02da63201e2ac7bc508e3bb54c5761dc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structaes128__ccm__t.html">aes128_ccm_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdtls__cipher__context__t.html#a02da63201e2ac7bc508e3bb54c5761dc">data</a></td></tr>
-<tr class="separator:a02da63201e2ac7bc508e3bb54c5761dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock">
-<p>Definition at line <a class="el" href="crypto_8h_source.html#l00074">74</a> of file <a class="el" href="crypto_8h_source.html">crypto.h</a>.</p>
-</div><h2 class="groupheader">Field Documentation</h2>
-<a class="anchor" id="a02da63201e2ac7bc508e3bb54c5761dc"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="structaes128__ccm__t.html">aes128_ccm_t</a> dtls_cipher_context_t::data</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>numeric identifier of this cipher suite in host byte order. The crypto context </p>
-
-<p>Definition at line <a class="el" href="crypto_8h_source.html#l00076">76</a> of file <a class="el" href="crypto_8h_source.html">crypto.h</a>.</p>
-
-</div>
-</div>
-<hr/>The documentation for this struct was generated from the following file:<ul>
-<li><a class="el" href="crypto_8h_source.html">crypto.h</a></li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/structdtls__context__t.html b/external/wakaama/examples/shared/tinydtls/doc/html/structdtls__context__t.html
deleted file mode 100644 (file)
index 7d0bb9d..0000000
+++ /dev/null
@@ -1,236 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: dtls_context_t Struct Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li><a href="functions.html"><span>Data&#160;Fields</span></a></li>
-    </ul>
-  </div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#pub-methods">Public Member Functions</a> &#124;
-<a href="#pub-attribs">Data Fields</a>  </div>
-  <div class="headertitle">
-<div class="title">dtls_context_t Struct Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p><code>#include &lt;<a class="el" href="dtls_8h_source.html">dtls.h</a>&gt;</code></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
-Public Member Functions</h2></td></tr>
-<tr class="memitem:adf4e86be64bd4a07936ddbba5f6fa6af"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdtls__context__t.html#adf4e86be64bd4a07936ddbba5f6fa6af">LIST_STRUCT</a> (sendqueue)</td></tr>
-<tr class="separator:adf4e86be64bd4a07936ddbba5f6fa6af"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
-Data Fields</h2></td></tr>
-<tr class="memitem:adb7dc6a53a7e00f2c4bbf726973e002f"><td class="memItemLeft" align="right" valign="top">unsigned char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdtls__context__t.html#adb7dc6a53a7e00f2c4bbf726973e002f">cookie_secret</a> [<a class="el" href="dtls_8h.html#a44ec206b1d84aa3d83281a92ed7cc238">DTLS_COOKIE_SECRET_LENGTH</a>]</td></tr>
-<tr class="separator:adb7dc6a53a7e00f2c4bbf726973e002f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3f26099dbb3588ae9a86d26f69ec08f8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__clock.html#ga6e6c13e871b82d881a01d1bc8df69d23">clock_time_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdtls__context__t.html#a3f26099dbb3588ae9a86d26f69ec08f8">cookie_secret_age</a></td></tr>
-<tr class="separator:a3f26099dbb3588ae9a86d26f69ec08f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a417fa8ac04478292f0539d2da0fec088"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdtls__context__t.html#a417fa8ac04478292f0539d2da0fec088">peers</a></td></tr>
-<tr class="separator:a417fa8ac04478292f0539d2da0fec088"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab37722ec6b82dd3120827812f212a51e"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdtls__context__t.html#ab37722ec6b82dd3120827812f212a51e">app</a></td></tr>
-<tr class="separator:ab37722ec6b82dd3120827812f212a51e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a460737bda0d200538c00ef7877b339cd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structdtls__handler__t.html">dtls_handler_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdtls__context__t.html#a460737bda0d200538c00ef7877b339cd">h</a></td></tr>
-<tr class="separator:a460737bda0d200538c00ef7877b339cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad6facbcd3c19ac8e1c79b1664dcf2434"><td class="memItemLeft" align="right" valign="top">unsigned char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdtls__context__t.html#ad6facbcd3c19ac8e1c79b1664dcf2434">readbuf</a> [<a class="el" href="global_8h.html#acdbfba15eb1a5692e177d582b4ca1583">DTLS_MAX_BUF</a>]</td></tr>
-<tr class="separator:ad6facbcd3c19ac8e1c79b1664dcf2434"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p>Holds global information of the DTLS engine. </p>
-
-<p>Definition at line <a class="el" href="dtls_8h_source.html#l00223">223</a> of file <a class="el" href="dtls_8h_source.html">dtls.h</a>.</p>
-</div><h2 class="groupheader">Member Function Documentation</h2>
-<a class="anchor" id="adf4e86be64bd4a07936ddbba5f6fa6af"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">dtls_context_t::LIST_STRUCT </td>
-          <td>(</td>
-          <td class="paramtype">sendqueue&#160;</td>
-          <td class="paramname"></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>the packets to send </p>
-
-</div>
-</div>
-<h2 class="groupheader">Field Documentation</h2>
-<a class="anchor" id="ab37722ec6b82dd3120827812f212a51e"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void* dtls_context_t::app</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>application-specific data </p>
-
-<p>Definition at line <a class="el" href="dtls_8h_source.html#l00237">237</a> of file <a class="el" href="dtls_8h_source.html">dtls.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="adb7dc6a53a7e00f2c4bbf726973e002f"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">unsigned char dtls_context_t::cookie_secret[<a class="el" href="dtls_8h.html#a44ec206b1d84aa3d83281a92ed7cc238">DTLS_COOKIE_SECRET_LENGTH</a>]</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8h_source.html#l00224">224</a> of file <a class="el" href="dtls_8h_source.html">dtls.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a3f26099dbb3588ae9a86d26f69ec08f8"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="group__clock.html#ga6e6c13e871b82d881a01d1bc8df69d23">clock_time_t</a> dtls_context_t::cookie_secret_age</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>the time the secret has been generated </p>
-
-<p>Definition at line <a class="el" href="dtls_8h_source.html#l00225">225</a> of file <a class="el" href="dtls_8h_source.html">dtls.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a460737bda0d200538c00ef7877b339cd"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="structdtls__handler__t.html">dtls_handler_t</a>* dtls_context_t::h</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>callback handlers </p>
-
-<p>Definition at line <a class="el" href="dtls_8h_source.html#l00239">239</a> of file <a class="el" href="dtls_8h_source.html">dtls.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a417fa8ac04478292f0539d2da0fec088"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="structdtls__peer__t.html">dtls_peer_t</a>* dtls_context_t::peers</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>peer hash map </p>
-
-<p>Definition at line <a class="el" href="dtls_8h_source.html#l00228">228</a> of file <a class="el" href="dtls_8h_source.html">dtls.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ad6facbcd3c19ac8e1c79b1664dcf2434"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">unsigned char dtls_context_t::readbuf[<a class="el" href="global_8h.html#acdbfba15eb1a5692e177d582b4ca1583">DTLS_MAX_BUF</a>]</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8h_source.html#l00241">241</a> of file <a class="el" href="dtls_8h_source.html">dtls.h</a>.</p>
-
-</div>
-</div>
-<hr/>The documentation for this struct was generated from the following file:<ul>
-<li><a class="el" href="dtls_8h_source.html">dtls.h</a></li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/structdtls__ecdsa__key__t.html b/external/wakaama/examples/shared/tinydtls/doc/html/structdtls__ecdsa__key__t.html
deleted file mode 100644 (file)
index 1dccb7e..0000000
+++ /dev/null
@@ -1,177 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: dtls_ecdsa_key_t Struct Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li><a href="functions.html"><span>Data&#160;Fields</span></a></li>
-    </ul>
-  </div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#pub-attribs">Data Fields</a>  </div>
-  <div class="headertitle">
-<div class="title">dtls_ecdsa_key_t Struct Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p><code>#include &lt;<a class="el" href="dtls_8h_source.html">dtls.h</a>&gt;</code></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
-Data Fields</h2></td></tr>
-<tr class="memitem:ad78834cca7158114bd78d3d0acb4a548"><td class="memItemLeft" align="right" valign="top"><a class="el" href="crypto_8h.html#a3710d42871d602387a5147c05bf9f1ef">dtls_ecdh_curve</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdtls__ecdsa__key__t.html#ad78834cca7158114bd78d3d0acb4a548">curve</a></td></tr>
-<tr class="separator:ad78834cca7158114bd78d3d0acb4a548"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a91769609f44590f193d726187ab366de"><td class="memItemLeft" align="right" valign="top">const unsigned char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdtls__ecdsa__key__t.html#a91769609f44590f193d726187ab366de">priv_key</a></td></tr>
-<tr class="separator:a91769609f44590f193d726187ab366de"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa54efc762737c1b94eaebae1262d4221"><td class="memItemLeft" align="right" valign="top">const unsigned char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdtls__ecdsa__key__t.html#aa54efc762737c1b94eaebae1262d4221">pub_key_x</a></td></tr>
-<tr class="separator:aa54efc762737c1b94eaebae1262d4221"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aaceb7ea4b4f9e74fb2ec85c49746132f"><td class="memItemLeft" align="right" valign="top">const unsigned char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdtls__ecdsa__key__t.html#aaceb7ea4b4f9e74fb2ec85c49746132f">pub_key_y</a></td></tr>
-<tr class="separator:aaceb7ea4b4f9e74fb2ec85c49746132f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock">
-<p>Definition at line <a class="el" href="dtls_8h_source.html#l00063">63</a> of file <a class="el" href="dtls_8h_source.html">dtls.h</a>.</p>
-</div><h2 class="groupheader">Field Documentation</h2>
-<a class="anchor" id="ad78834cca7158114bd78d3d0acb4a548"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="crypto_8h.html#a3710d42871d602387a5147c05bf9f1ef">dtls_ecdh_curve</a> dtls_ecdsa_key_t::curve</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8h_source.html#l00064">64</a> of file <a class="el" href="dtls_8h_source.html">dtls.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a91769609f44590f193d726187ab366de"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">const unsigned char* dtls_ecdsa_key_t::priv_key</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="dtls_8h_source.html#l00065">65</a> of file <a class="el" href="dtls_8h_source.html">dtls.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aa54efc762737c1b94eaebae1262d4221"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">const unsigned char* dtls_ecdsa_key_t::pub_key_x</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>&lt; private key as bytes &gt; </p>
-
-<p>Definition at line <a class="el" href="dtls_8h_source.html#l00066">66</a> of file <a class="el" href="dtls_8h_source.html">dtls.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aaceb7ea4b4f9e74fb2ec85c49746132f"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">const unsigned char* dtls_ecdsa_key_t::pub_key_y</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>&lt; x part of the public key for the given private key &gt; </p>
-
-<p>Definition at line <a class="el" href="dtls_8h_source.html#l00067">67</a> of file <a class="el" href="dtls_8h_source.html">dtls.h</a>.</p>
-
-</div>
-</div>
-<hr/>The documentation for this struct was generated from the following file:<ul>
-<li><a class="el" href="dtls_8h_source.html">dtls.h</a></li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/structdtls__handler__t.html b/external/wakaama/examples/shared/tinydtls/doc/html/structdtls__handler__t.html
deleted file mode 100644 (file)
index a8215fd..0000000
+++ /dev/null
@@ -1,193 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: dtls_handler_t Struct Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li><a href="functions.html"><span>Data&#160;Fields</span></a></li>
-    </ul>
-  </div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#pub-attribs">Data Fields</a>  </div>
-  <div class="headertitle">
-<div class="title">dtls_handler_t Struct Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p><code>#include &lt;<a class="el" href="dtls_8h_source.html">dtls.h</a>&gt;</code></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
-Data Fields</h2></td></tr>
-<tr class="memitem:a161ad99d77bd3b963bcd473eb3cbefe2"><td class="memItemLeft" align="right" valign="top">int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdtls__handler__t.html#a161ad99d77bd3b963bcd473eb3cbefe2">write</a> )(struct <a class="el" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="el" href="structsession__t.html">session_t</a> *session, <a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *buf, size_t len)</td></tr>
-<tr class="separator:a161ad99d77bd3b963bcd473eb3cbefe2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a48f28d381286b493fe6dd8eab5cbaa88"><td class="memItemLeft" align="right" valign="top">int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdtls__handler__t.html#a48f28d381286b493fe6dd8eab5cbaa88">read</a> )(struct <a class="el" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="el" href="structsession__t.html">session_t</a> *session, <a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *buf, size_t len)</td></tr>
-<tr class="separator:a48f28d381286b493fe6dd8eab5cbaa88"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aae2db3733c5f0a0eea9a635490bdfe59"><td class="memItemLeft" align="right" valign="top">int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdtls__handler__t.html#aae2db3733c5f0a0eea9a635490bdfe59">event</a> )(struct <a class="el" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="el" href="structsession__t.html">session_t</a> *session, <a class="el" href="alert_8h.html#ab6264d1b950719f1c2e00b122cad871f">dtls_alert_level_t</a> level, unsigned short code)</td></tr>
-<tr class="separator:aae2db3733c5f0a0eea9a635490bdfe59"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p>This structure contains callback functions used by tinydtls to communicate with the application. At least the write function must be provided. It is called by the DTLS state machine to send packets over the network. The read function is invoked to deliver decrypted and verfified application data. The third callback is an event handler function that is called when alert messages are encountered or events generated by the library have occured. </p>
-
-<p>Definition at line <a class="el" href="dtls_8h_source.html#l00084">84</a> of file <a class="el" href="dtls_8h_source.html">dtls.h</a>.</p>
-</div><h2 class="groupheader">Field Documentation</h2>
-<a class="anchor" id="aae2db3733c5f0a0eea9a635490bdfe59"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int(* dtls_handler_t::event)(struct <a class="el" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="el" href="structsession__t.html">session_t</a> *session, <a class="el" href="alert_8h.html#ab6264d1b950719f1c2e00b122cad871f">dtls_alert_level_t</a> level, unsigned short code)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>The event handler is called when a message from the alert protocol is received or the state of the DTLS session changes.</p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">ctx</td><td>The current dtls context. </td></tr>
-    <tr><td class="paramname">session</td><td>The session object that was affected. </td></tr>
-    <tr><td class="paramname">level</td><td>The alert level or <code>0</code> when an event ocurred that is not an alert. </td></tr>
-    <tr><td class="paramname">code</td><td>Values less than <code>256</code> indicate alerts, while <code>256</code> or greater indicate internal DTLS session changes. </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>ignored </dd></dl>
-
-<p>Definition at line <a class="el" href="dtls_8h_source.html#l00129">129</a> of file <a class="el" href="dtls_8h_source.html">dtls.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a48f28d381286b493fe6dd8eab5cbaa88"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int(* dtls_handler_t::read)(struct <a class="el" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="el" href="structsession__t.html">session_t</a> *session, <a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *buf, size_t len)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Called from <a class="el" href="dtls_8c.html#ae272fea7269714fe7a67d6da64961731">dtls_handle_message()</a> deliver application data that was received on the given session. The data is delivered only after decryption and verification have succeeded.</p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">ctx</td><td>The current DTLS context. </td></tr>
-    <tr><td class="paramname">session</td><td>The session object, including the address of the data's origin. </td></tr>
-    <tr><td class="paramname">buf</td><td>The received data packet. </td></tr>
-    <tr><td class="paramname">len</td><td>The actual length of <code>buf</code>. </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>ignored </dd></dl>
-
-<p>Definition at line <a class="el" href="dtls_8h_source.html#l00114">114</a> of file <a class="el" href="dtls_8h_source.html">dtls.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a161ad99d77bd3b963bcd473eb3cbefe2"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int(* dtls_handler_t::write)(struct <a class="el" href="structdtls__context__t.html">dtls_context_t</a> *ctx, <a class="el" href="structsession__t.html">session_t</a> *session, <a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> *buf, size_t len)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Called from <a class="el" href="dtls_8c.html#ae272fea7269714fe7a67d6da64961731">dtls_handle_message()</a> to send DTLS packets over the network. The callback function must use the network interface denoted by session-&gt;ifindex to send the data.</p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">ctx</td><td>The current DTLS context. </td></tr>
-    <tr><td class="paramname">session</td><td>The session object, including the address of the remote peer where the data shall be sent. </td></tr>
-    <tr><td class="paramname">buf</td><td>The data to send. </td></tr>
-    <tr><td class="paramname">len</td><td>The actual length of <code>buf</code>. </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The callback function must return the number of bytes that were sent, or a value less than zero to indicate an error. </dd></dl>
-
-<p>Definition at line <a class="el" href="dtls_8h_source.html#l00099">99</a> of file <a class="el" href="dtls_8h_source.html">dtls.h</a>.</p>
-
-</div>
-</div>
-<hr/>The documentation for this struct was generated from the following file:<ul>
-<li><a class="el" href="dtls_8h_source.html">dtls.h</a></li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/structdtls__handshake__parameters__ecdsa__t.html b/external/wakaama/examples/shared/tinydtls/doc/html/structdtls__handshake__parameters__ecdsa__t.html
deleted file mode 100644 (file)
index 7280532..0000000
+++ /dev/null
@@ -1,191 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: dtls_handshake_parameters_ecdsa_t Struct Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li><a href="functions.html"><span>Data&#160;Fields</span></a></li>
-    </ul>
-  </div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#pub-attribs">Data Fields</a>  </div>
-  <div class="headertitle">
-<div class="title">dtls_handshake_parameters_ecdsa_t Struct Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p><code>#include &lt;<a class="el" href="crypto_8h_source.html">crypto.h</a>&gt;</code></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
-Data Fields</h2></td></tr>
-<tr class="memitem:aaa5b9eb0a00a615f7910294ed0739b5b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdtls__handshake__parameters__ecdsa__t.html#aaa5b9eb0a00a615f7910294ed0739b5b">own_eph_priv</a> [32]</td></tr>
-<tr class="separator:aaa5b9eb0a00a615f7910294ed0739b5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa941f98cb3a6dd1dd3c52fb68c37921f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdtls__handshake__parameters__ecdsa__t.html#aa941f98cb3a6dd1dd3c52fb68c37921f">other_eph_pub_x</a> [32]</td></tr>
-<tr class="separator:aa941f98cb3a6dd1dd3c52fb68c37921f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a56047d51afb4a38924db2000af74e83a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdtls__handshake__parameters__ecdsa__t.html#a56047d51afb4a38924db2000af74e83a">other_eph_pub_y</a> [32]</td></tr>
-<tr class="separator:a56047d51afb4a38924db2000af74e83a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0d0470e6d450f955ef574f22cb74c5bf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdtls__handshake__parameters__ecdsa__t.html#a0d0470e6d450f955ef574f22cb74c5bf">other_pub_x</a> [32]</td></tr>
-<tr class="separator:a0d0470e6d450f955ef574f22cb74c5bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af1fde768658a37d6e3a469842e0854b0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdtls__handshake__parameters__ecdsa__t.html#af1fde768658a37d6e3a469842e0854b0">other_pub_y</a> [32]</td></tr>
-<tr class="separator:af1fde768658a37d6e3a469842e0854b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock">
-<p>Definition at line <a class="el" href="crypto_8h_source.html#l00079">79</a> of file <a class="el" href="crypto_8h_source.html">crypto.h</a>.</p>
-</div><h2 class="groupheader">Field Documentation</h2>
-<a class="anchor" id="aa941f98cb3a6dd1dd3c52fb68c37921f"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> dtls_handshake_parameters_ecdsa_t::other_eph_pub_x[32]</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="crypto_8h_source.html#l00081">81</a> of file <a class="el" href="crypto_8h_source.html">crypto.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a56047d51afb4a38924db2000af74e83a"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> dtls_handshake_parameters_ecdsa_t::other_eph_pub_y[32]</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="crypto_8h_source.html#l00082">82</a> of file <a class="el" href="crypto_8h_source.html">crypto.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a0d0470e6d450f955ef574f22cb74c5bf"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> dtls_handshake_parameters_ecdsa_t::other_pub_x[32]</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="crypto_8h_source.html#l00083">83</a> of file <a class="el" href="crypto_8h_source.html">crypto.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="af1fde768658a37d6e3a469842e0854b0"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> dtls_handshake_parameters_ecdsa_t::other_pub_y[32]</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="crypto_8h_source.html#l00084">84</a> of file <a class="el" href="crypto_8h_source.html">crypto.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aaa5b9eb0a00a615f7910294ed0739b5b"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> dtls_handshake_parameters_ecdsa_t::own_eph_priv[32]</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="crypto_8h_source.html#l00080">80</a> of file <a class="el" href="crypto_8h_source.html">crypto.h</a>.</p>
-
-</div>
-</div>
-<hr/>The documentation for this struct was generated from the following file:<ul>
-<li><a class="el" href="crypto_8h_source.html">crypto.h</a></li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/structdtls__handshake__parameters__psk__t.html b/external/wakaama/examples/shared/tinydtls/doc/html/structdtls__handshake__parameters__psk__t.html
deleted file mode 100644 (file)
index 2b7d6df..0000000
+++ /dev/null
@@ -1,143 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: dtls_handshake_parameters_psk_t Struct Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li><a href="functions.html"><span>Data&#160;Fields</span></a></li>
-    </ul>
-  </div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#pub-attribs">Data Fields</a>  </div>
-  <div class="headertitle">
-<div class="title">dtls_handshake_parameters_psk_t Struct Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p><code>#include &lt;<a class="el" href="crypto_8h_source.html">crypto.h</a>&gt;</code></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
-Data Fields</h2></td></tr>
-<tr class="memitem:a39ae0d1ead76e8bd5a3631ae8677be1b"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdtls__handshake__parameters__psk__t.html#a39ae0d1ead76e8bd5a3631ae8677be1b">id_length</a></td></tr>
-<tr class="separator:a39ae0d1ead76e8bd5a3631ae8677be1b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6cce0754e4b9cf5469ddfec595be3084"><td class="memItemLeft" align="right" valign="top">unsigned char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdtls__handshake__parameters__psk__t.html#a6cce0754e4b9cf5469ddfec595be3084">identity</a> [<a class="el" href="crypto_8h.html#ab96c8e0773a14d1ce1621eed1a78e2bd">DTLS_PSK_MAX_CLIENT_IDENTITY_LEN</a>]</td></tr>
-<tr class="separator:a6cce0754e4b9cf5469ddfec595be3084"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock">
-<p>Definition at line <a class="el" href="crypto_8h_source.html#l00094">94</a> of file <a class="el" href="crypto_8h_source.html">crypto.h</a>.</p>
-</div><h2 class="groupheader">Field Documentation</h2>
-<a class="anchor" id="a39ae0d1ead76e8bd5a3631ae8677be1b"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">uint16_t dtls_handshake_parameters_psk_t::id_length</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="crypto_8h_source.html#l00095">95</a> of file <a class="el" href="crypto_8h_source.html">crypto.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a6cce0754e4b9cf5469ddfec595be3084"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">unsigned char dtls_handshake_parameters_psk_t::identity[<a class="el" href="crypto_8h.html#ab96c8e0773a14d1ce1621eed1a78e2bd">DTLS_PSK_MAX_CLIENT_IDENTITY_LEN</a>]</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="crypto_8h_source.html#l00096">96</a> of file <a class="el" href="crypto_8h_source.html">crypto.h</a>.</p>
-
-</div>
-</div>
-<hr/>The documentation for this struct was generated from the following file:<ul>
-<li><a class="el" href="crypto_8h_source.html">crypto.h</a></li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/structdtls__handshake__parameters__t.html b/external/wakaama/examples/shared/tinydtls/doc/html/structdtls__handshake__parameters__t.html
deleted file mode 100644 (file)
index 757a1e3..0000000
+++ /dev/null
@@ -1,298 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: dtls_handshake_parameters_t Struct Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li><a href="functions.html"><span>Data&#160;Fields</span></a></li>
-    </ul>
-  </div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#pub-methods">Public Member Functions</a> &#124;
-<a href="#pub-attribs">Data Fields</a>  </div>
-  <div class="headertitle">
-<div class="title">dtls_handshake_parameters_t Struct Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p><code>#include &lt;<a class="el" href="crypto_8h_source.html">crypto.h</a>&gt;</code></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
-Public Member Functions</h2></td></tr>
-<tr class="memitem:a44c54027bff617597d51f4fc862a1dc4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdtls__handshake__parameters__t.html#a44c54027bff617597d51f4fc862a1dc4">LIST_STRUCT</a> (reorder_queue)</td></tr>
-<tr class="separator:a44c54027bff617597d51f4fc862a1dc4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
-Data Fields</h2></td></tr>
-<tr class="memitem:ac27a2063a8136615971f8d591afdd01f"><td class="memItemLeft" >union {</td></tr>
-<tr class="memitem:ae0ef3cbded39e2ff62e35218e53e6464"><td class="memItemLeft" >&#160;&#160;&#160;struct <b>random_t</b> {</td></tr>
-<tr class="memitem:a75410924ecdb9da31e0d5f5f4d8145e9"><td class="memItemLeft" >&#160;&#160;&#160;&#160;&#160;&#160;<a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>&#160;&#160;&#160;<a class="el" href="structdtls__handshake__parameters__t.html#af37f38ce7c5f5e4ab62f16aacc2035f9">client</a> [<a class="el" href="crypto_8h.html#a5a0bdff7c0889f35601b4935098508a0">DTLS_RANDOM_LENGTH</a>]</td></tr>
-<tr class="separator:a75410924ecdb9da31e0d5f5f4d8145e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:afd914da19071fe78279956b48106f2c7"><td class="memItemLeft" >&#160;&#160;&#160;&#160;&#160;&#160;<a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>&#160;&#160;&#160;<a class="el" href="structdtls__handshake__parameters__t.html#a17344d2dab22a9c2c7f8bc9ef9137036">server</a> [<a class="el" href="crypto_8h.html#a5a0bdff7c0889f35601b4935098508a0">DTLS_RANDOM_LENGTH</a>]</td></tr>
-<tr class="separator:afd914da19071fe78279956b48106f2c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae0ef3cbded39e2ff62e35218e53e6464"><td class="memItemLeft" valign="top">&#160;&#160;&#160;}&#160;&#160;&#160;<a class="el" href="structdtls__handshake__parameters__t.html#a5c4e7bb5d4d890200a176cfe13c6fb9a">random</a></td></tr>
-<tr class="separator:ae0ef3cbded39e2ff62e35218e53e6464"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aafe678faee752228c462b2049a101bee"><td class="memItemLeft" >&#160;&#160;&#160;<a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>&#160;&#160;&#160;<a class="el" href="structdtls__handshake__parameters__t.html#a21ba88c7b062772beb75c5570d257898">master_secret</a> [<a class="el" href="crypto_8h.html#a2648582ddf4c82abc01d8388bd3f15db">DTLS_MASTER_SECRET_LENGTH</a>]</td></tr>
-<tr class="separator:aafe678faee752228c462b2049a101bee"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac27a2063a8136615971f8d591afdd01f"><td class="memItemLeft" valign="top">}&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdtls__handshake__parameters__t.html#ac27a2063a8136615971f8d591afdd01f">tmp</a></td></tr>
-<tr class="separator:ac27a2063a8136615971f8d591afdd01f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a56e7392a649731166fc82a523b0eb027"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structdtls__hs__state__t.html">dtls_hs_state_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdtls__handshake__parameters__t.html#a56e7392a649731166fc82a523b0eb027">hs_state</a></td></tr>
-<tr class="separator:a56e7392a649731166fc82a523b0eb027"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a67f85371953c8ae07ec110cb39c13125"><td class="memItemLeft" align="right" valign="top"><a class="el" href="global_8h.html#a1ff555e0b1443c4cb4d17ac2161d89b2">dtls_compression_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdtls__handshake__parameters__t.html#a67f85371953c8ae07ec110cb39c13125">compression</a></td></tr>
-<tr class="separator:a67f85371953c8ae07ec110cb39c13125"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5cc61a98763800b5b4e7617307649933"><td class="memItemLeft" align="right" valign="top"><a class="el" href="global_8h.html#ada7e71454d685b693df45b2c1ea0c59b">dtls_cipher_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdtls__handshake__parameters__t.html#a5cc61a98763800b5b4e7617307649933">cipher</a></td></tr>
-<tr class="separator:a5cc61a98763800b5b4e7617307649933"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab17efe8550600d945ced029e43ca86d6"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdtls__handshake__parameters__t.html#ab17efe8550600d945ced029e43ca86d6">do_client_auth</a>:1</td></tr>
-<tr class="separator:ab17efe8550600d945ced029e43ca86d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a483b158f8fc86e45e7c0fc603a66925f"><td class="memItemLeft" >union {</td></tr>
-<tr class="memitem:a483b158f8fc86e45e7c0fc603a66925f"><td class="memItemLeft" valign="top">}&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdtls__handshake__parameters__t.html#a483b158f8fc86e45e7c0fc603a66925f">keyx</a></td></tr>
-<tr class="separator:a483b158f8fc86e45e7c0fc603a66925f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock">
-<p>Definition at line <a class="el" href="crypto_8h_source.html#l00115">115</a> of file <a class="el" href="crypto_8h_source.html">crypto.h</a>.</p>
-</div><h2 class="groupheader">Member Function Documentation</h2>
-<a class="anchor" id="a44c54027bff617597d51f4fc862a1dc4"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">dtls_handshake_parameters_t::LIST_STRUCT </td>
-          <td>(</td>
-          <td class="paramtype">reorder_queue&#160;</td>
-          <td class="paramname"></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>the packets to reorder </p>
-
-</div>
-</div>
-<h2 class="groupheader">Field Documentation</h2>
-<a class="anchor" id="a5cc61a98763800b5b4e7617307649933"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="global_8h.html#ada7e71454d685b693df45b2c1ea0c59b">dtls_cipher_t</a> dtls_handshake_parameters_t::cipher</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>cipher type </p>
-
-<p>Definition at line <a class="el" href="crypto_8h_source.html#l00128">128</a> of file <a class="el" href="crypto_8h_source.html">crypto.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="af37f38ce7c5f5e4ab62f16aacc2035f9"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> dtls_handshake_parameters_t::client[<a class="el" href="crypto_8h.html#a5a0bdff7c0889f35601b4935098508a0">DTLS_RANDOM_LENGTH</a>]</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>client random gmt and bytes </p>
-
-<p>Definition at line <a class="el" href="crypto_8h_source.html#l00118">118</a> of file <a class="el" href="crypto_8h_source.html">crypto.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a67f85371953c8ae07ec110cb39c13125"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="global_8h.html#a1ff555e0b1443c4cb4d17ac2161d89b2">dtls_compression_t</a> dtls_handshake_parameters_t::compression</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>compression method </p>
-
-<p>Definition at line <a class="el" href="crypto_8h_source.html#l00127">127</a> of file <a class="el" href="crypto_8h_source.html">crypto.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ab17efe8550600d945ced029e43ca86d6"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">unsigned int dtls_handshake_parameters_t::do_client_auth</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="crypto_8h_source.html#l00129">129</a> of file <a class="el" href="crypto_8h_source.html">crypto.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a56e7392a649731166fc82a523b0eb027"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="structdtls__hs__state__t.html">dtls_hs_state_t</a> dtls_handshake_parameters_t::hs_state</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>handshake protocol status </p>
-
-<p>Definition at line <a class="el" href="crypto_8h_source.html#l00125">125</a> of file <a class="el" href="crypto_8h_source.html">crypto.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a483b158f8fc86e45e7c0fc603a66925f"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">union { ... }   dtls_handshake_parameters_t::keyx</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a21ba88c7b062772beb75c5570d257898"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> dtls_handshake_parameters_t::master_secret[<a class="el" href="crypto_8h.html#a2648582ddf4c82abc01d8388bd3f15db">DTLS_MASTER_SECRET_LENGTH</a>]</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>the session's master secret </p>
-
-<p>Definition at line <a class="el" href="crypto_8h_source.html#l00122">122</a> of file <a class="el" href="crypto_8h_source.html">crypto.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a5c4e7bb5d4d890200a176cfe13c6fb9a"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">struct { ... } ::random_t  dtls_handshake_parameters_t::random</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a17344d2dab22a9c2c7f8bc9ef9137036"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> dtls_handshake_parameters_t::server[<a class="el" href="crypto_8h.html#a5a0bdff7c0889f35601b4935098508a0">DTLS_RANDOM_LENGTH</a>]</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>server random gmt and bytes </p>
-
-<p>Definition at line <a class="el" href="crypto_8h_source.html#l00119">119</a> of file <a class="el" href="crypto_8h_source.html">crypto.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ac27a2063a8136615971f8d591afdd01f"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">union { ... }   dtls_handshake_parameters_t::tmp</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<hr/>The documentation for this struct was generated from the following file:<ul>
-<li><a class="el" href="crypto_8h_source.html">crypto.h</a></li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/structdtls__hmac__context__t.html b/external/wakaama/examples/shared/tinydtls/doc/html/structdtls__hmac__context__t.html
deleted file mode 100644 (file)
index 3ff0821..0000000
+++ /dev/null
@@ -1,146 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: dtls_hmac_context_t Struct Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li><a href="functions.html"><span>Data&#160;Fields</span></a></li>
-    </ul>
-  </div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#pub-attribs">Data Fields</a>  </div>
-  <div class="headertitle">
-<div class="title">dtls_hmac_context_t Struct Reference<div class="ingroups"><a class="el" href="group__HMAC.html">Keyed-Hash Message Authentication Code (HMAC)</a></div></div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p><code>#include &lt;<a class="el" href="hmac_8h_source.html">hmac.h</a>&gt;</code></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
-Data Fields</h2></td></tr>
-<tr class="memitem:aba13422e176f7d16f3f251634ca7f868"><td class="memItemLeft" align="right" valign="top">unsigned char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdtls__hmac__context__t.html#aba13422e176f7d16f3f251634ca7f868">pad</a> [<a class="el" href="group__HMAC.html#gab1f8617a558ef0f758439c96d3a4650e">DTLS_HMAC_BLOCKSIZE</a>]</td></tr>
-<tr class="separator:aba13422e176f7d16f3f251634ca7f868"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a84c35513fa655d8456be215f4509bb40"><td class="memItemLeft" align="right" valign="top"><a class="el" href="hmac_8h.html#abb19650a510c73117da0e9b88d68f159">dtls_hash_ctx</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdtls__hmac__context__t.html#a84c35513fa655d8456be215f4509bb40">data</a></td></tr>
-<tr class="separator:a84c35513fa655d8456be215f4509bb40"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p>Context for HMAC generation. This object is initialized with <a class="el" href="group__HMAC.html#gaa1eb35fcb2c2eb69eebaefa8eb4a790d">dtls_hmac_init()</a> and must be passed to <a class="el" href="group__HMAC.html#ga1ef9c88a0a2053b442413a9cea3deb73">dtls_hmac_update()</a> and <a class="el" href="group__HMAC.html#gab98c992f3f9cc3c2d75077ddd46049bf">dtls_hmac_finalize()</a>. Once, finalized, the component <code>H</code> is invalid and must be initialized again with <a class="el" href="group__HMAC.html#gaa1eb35fcb2c2eb69eebaefa8eb4a790d">dtls_hmac_init()</a> before the structure can be used again. </p>
-
-<p>Definition at line <a class="el" href="hmac_8h_source.html#l00095">95</a> of file <a class="el" href="hmac_8h_source.html">hmac.h</a>.</p>
-</div><h2 class="groupheader">Field Documentation</h2>
-<a class="anchor" id="a84c35513fa655d8456be215f4509bb40"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="hmac_8h.html#abb19650a510c73117da0e9b88d68f159">dtls_hash_ctx</a> dtls_hmac_context_t::data</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>context for hash function </p>
-
-<p>Definition at line <a class="el" href="hmac_8h_source.html#l00097">97</a> of file <a class="el" href="hmac_8h_source.html">hmac.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aba13422e176f7d16f3f251634ca7f868"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">unsigned char dtls_hmac_context_t::pad[<a class="el" href="group__HMAC.html#gab1f8617a558ef0f758439c96d3a4650e">DTLS_HMAC_BLOCKSIZE</a>]</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>ipad and opad storage </p>
-
-<p>Definition at line <a class="el" href="hmac_8h_source.html#l00096">96</a> of file <a class="el" href="hmac_8h_source.html">hmac.h</a>.</p>
-
-</div>
-</div>
-<hr/>The documentation for this struct was generated from the following file:<ul>
-<li><a class="el" href="hmac_8h_source.html">hmac.h</a></li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/structdtls__hs__state__t.html b/external/wakaama/examples/shared/tinydtls/doc/html/structdtls__hs__state__t.html
deleted file mode 100644 (file)
index f9d64bd..0000000
+++ /dev/null
@@ -1,162 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: dtls_hs_state_t Struct Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li><a href="functions.html"><span>Data&#160;Fields</span></a></li>
-    </ul>
-  </div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#pub-attribs">Data Fields</a>  </div>
-  <div class="headertitle">
-<div class="title">dtls_hs_state_t Struct Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p><code>#include &lt;<a class="el" href="state_8h_source.html">state.h</a>&gt;</code></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
-Data Fields</h2></td></tr>
-<tr class="memitem:a694ce15382e7504a750a1b102ad8ec32"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdtls__hs__state__t.html#a694ce15382e7504a750a1b102ad8ec32">mseq_s</a></td></tr>
-<tr class="separator:a694ce15382e7504a750a1b102ad8ec32"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4e2184c917d1ad46d308e8770193f542"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdtls__hs__state__t.html#a4e2184c917d1ad46d308e8770193f542">mseq_r</a></td></tr>
-<tr class="separator:a4e2184c917d1ad46d308e8770193f542"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a991b95919538531d730f74045e4fe3b1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="hmac_8h.html#abb19650a510c73117da0e9b88d68f159">dtls_hash_ctx</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdtls__hs__state__t.html#a991b95919538531d730f74045e4fe3b1">hs_hash</a></td></tr>
-<tr class="separator:a991b95919538531d730f74045e4fe3b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock">
-<p>Definition at line <a class="el" href="state_8h_source.html#l00054">54</a> of file <a class="el" href="state_8h_source.html">state.h</a>.</p>
-</div><h2 class="groupheader">Field Documentation</h2>
-<a class="anchor" id="a991b95919538531d730f74045e4fe3b1"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="hmac_8h.html#abb19650a510c73117da0e9b88d68f159">dtls_hash_ctx</a> dtls_hs_state_t::hs_hash</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>pending config that is updated during handshake </p>
-
-<p>Definition at line <a class="el" href="state_8h_source.html#l00062">62</a> of file <a class="el" href="state_8h_source.html">state.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a4e2184c917d1ad46d308e8770193f542"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">uint16_t dtls_hs_state_t::mseq_r</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>received handshake message sequence number counter </p>
-
-<p>Definition at line <a class="el" href="state_8h_source.html#l00056">56</a> of file <a class="el" href="state_8h_source.html">state.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a694ce15382e7504a750a1b102ad8ec32"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">uint16_t dtls_hs_state_t::mseq_s</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>send handshake message sequence number counter </p>
-
-<p>Definition at line <a class="el" href="state_8h_source.html#l00055">55</a> of file <a class="el" href="state_8h_source.html">state.h</a>.</p>
-
-</div>
-</div>
-<hr/>The documentation for this struct was generated from the following file:<ul>
-<li><a class="el" href="state_8h_source.html">state.h</a></li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/structdtls__peer__t.html b/external/wakaama/examples/shared/tinydtls/doc/html/structdtls__peer__t.html
deleted file mode 100644 (file)
index 9cb1ada..0000000
+++ /dev/null
@@ -1,211 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: dtls_peer_t Struct Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li><a href="functions.html"><span>Data&#160;Fields</span></a></li>
-    </ul>
-  </div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#pub-attribs">Data Fields</a>  </div>
-  <div class="headertitle">
-<div class="title">dtls_peer_t Struct Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p><code>#include &lt;<a class="el" href="peer_8h_source.html">peer.h</a>&gt;</code></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
-Data Fields</h2></td></tr>
-<tr class="memitem:a4241666f9097d15a486840bce28c3fd5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structUT__hash__handle.html">UT_hash_handle</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdtls__peer__t.html#a4241666f9097d15a486840bce28c3fd5">hh</a></td></tr>
-<tr class="separator:a4241666f9097d15a486840bce28c3fd5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a44ebb2ba643269c7e6943f3a9040febe"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structsession__t.html">session_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdtls__peer__t.html#a44ebb2ba643269c7e6943f3a9040febe">session</a></td></tr>
-<tr class="separator:a44ebb2ba643269c7e6943f3a9040febe"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aeca80f1bcbcfdba89a2ab08e4bc48120"><td class="memItemLeft" align="right" valign="top"><a class="el" href="peer_8h.html#ae30cd4bcffed73f79f17c09e5a1452c8">dtls_peer_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdtls__peer__t.html#aeca80f1bcbcfdba89a2ab08e4bc48120">role</a></td></tr>
-<tr class="separator:aeca80f1bcbcfdba89a2ab08e4bc48120"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4e23cc3b273813744524c3db1fda9c83"><td class="memItemLeft" align="right" valign="top"><a class="el" href="state_8h.html#aea0e57fd5b857535960534b53361aa35">dtls_state_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdtls__peer__t.html#a4e23cc3b273813744524c3db1fda9c83">state</a></td></tr>
-<tr class="separator:a4e23cc3b273813744524c3db1fda9c83"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6c85e48495ae7de8ddfc4c4fb2a350af"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structdtls__security__parameters__t.html">dtls_security_parameters_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdtls__peer__t.html#a6c85e48495ae7de8ddfc4c4fb2a350af">security_params</a> [2]</td></tr>
-<tr class="separator:a6c85e48495ae7de8ddfc4c4fb2a350af"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa176a7ffe3a780dc97a716dfffb54992"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structdtls__handshake__parameters__t.html">dtls_handshake_parameters_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdtls__peer__t.html#aa176a7ffe3a780dc97a716dfffb54992">handshake_params</a></td></tr>
-<tr class="separator:aa176a7ffe3a780dc97a716dfffb54992"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p>Holds security parameters, local state and the transport address for each peer. </p>
-
-<p>Definition at line <a class="el" href="peer_8h_source.html#l00052">52</a> of file <a class="el" href="peer_8h_source.html">peer.h</a>.</p>
-</div><h2 class="groupheader">Field Documentation</h2>
-<a class="anchor" id="aa176a7ffe3a780dc97a716dfffb54992"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="structdtls__handshake__parameters__t.html">dtls_handshake_parameters_t</a>* dtls_peer_t::handshake_params</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="peer_8h_source.html#l00065">65</a> of file <a class="el" href="peer_8h_source.html">peer.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a4241666f9097d15a486840bce28c3fd5"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="structUT__hash__handle.html">UT_hash_handle</a> dtls_peer_t::hh</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="peer_8h_source.html#l00054">54</a> of file <a class="el" href="peer_8h_source.html">peer.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aeca80f1bcbcfdba89a2ab08e4bc48120"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="peer_8h.html#ae30cd4bcffed73f79f17c09e5a1452c8">dtls_peer_type</a> dtls_peer_t::role</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>denotes if this host is DTLS_CLIENT or DTLS_SERVER </p>
-
-<p>Definition at line <a class="el" href="peer_8h_source.html#l00061">61</a> of file <a class="el" href="peer_8h_source.html">peer.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a6c85e48495ae7de8ddfc4c4fb2a350af"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="structdtls__security__parameters__t.html">dtls_security_parameters_t</a>* dtls_peer_t::security_params[2]</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="peer_8h_source.html#l00064">64</a> of file <a class="el" href="peer_8h_source.html">peer.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a44ebb2ba643269c7e6943f3a9040febe"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="structsession__t.html">session_t</a> dtls_peer_t::session</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>peer address and local interface </p>
-
-<p>Definition at line <a class="el" href="peer_8h_source.html#l00059">59</a> of file <a class="el" href="peer_8h_source.html">peer.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a4e23cc3b273813744524c3db1fda9c83"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="state_8h.html#aea0e57fd5b857535960534b53361aa35">dtls_state_t</a> dtls_peer_t::state</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>DTLS engine state </p>
-
-<p>Definition at line <a class="el" href="peer_8h_source.html#l00062">62</a> of file <a class="el" href="peer_8h_source.html">peer.h</a>.</p>
-
-</div>
-</div>
-<hr/>The documentation for this struct was generated from the following file:<ul>
-<li><a class="el" href="peer_8h_source.html">peer.h</a></li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/structdtls__security__parameters__t.html b/external/wakaama/examples/shared/tinydtls/doc/html/structdtls__security__parameters__t.html
deleted file mode 100644 (file)
index 60f60fd..0000000
+++ /dev/null
@@ -1,196 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: dtls_security_parameters_t Struct Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li><a href="functions.html"><span>Data&#160;Fields</span></a></li>
-    </ul>
-  </div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#pub-attribs">Data Fields</a>  </div>
-  <div class="headertitle">
-<div class="title">dtls_security_parameters_t Struct Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p><code>#include &lt;<a class="el" href="crypto_8h_source.html">crypto.h</a>&gt;</code></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
-Data Fields</h2></td></tr>
-<tr class="memitem:a6a72df7ab1151f81e49d464175fcaf2a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="global_8h.html#a1ff555e0b1443c4cb4d17ac2161d89b2">dtls_compression_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdtls__security__parameters__t.html#a6a72df7ab1151f81e49d464175fcaf2a">compression</a></td></tr>
-<tr class="separator:a6a72df7ab1151f81e49d464175fcaf2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a21d9fac709d739535b0cbecce4c18830"><td class="memItemLeft" align="right" valign="top"><a class="el" href="global_8h.html#ada7e71454d685b693df45b2c1ea0c59b">dtls_cipher_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdtls__security__parameters__t.html#a21d9fac709d739535b0cbecce4c18830">cipher</a></td></tr>
-<tr class="separator:a21d9fac709d739535b0cbecce4c18830"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2bce1fa0bf77eeab8fadca824de602da"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdtls__security__parameters__t.html#a2bce1fa0bf77eeab8fadca824de602da">epoch</a></td></tr>
-<tr class="separator:a2bce1fa0bf77eeab8fadca824de602da"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a100dc82ee41004df1d9f211873332f87"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdtls__security__parameters__t.html#a100dc82ee41004df1d9f211873332f87">rseq</a></td></tr>
-<tr class="separator:a100dc82ee41004df1d9f211873332f87"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1c3a56ea4af8ff71e1ffe77221541f4d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdtls__security__parameters__t.html#a1c3a56ea4af8ff71e1ffe77221541f4d">key_block</a> [<a class="el" href="crypto_8h.html#a0df6db4f8c29f2b0aa5a1363b4f9127f">MAX_KEYBLOCK_LENGTH</a>]</td></tr>
-<tr class="separator:a1c3a56ea4af8ff71e1ffe77221541f4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock">
-<p>Definition at line <a class="el" href="crypto_8h_source.html#l00099">99</a> of file <a class="el" href="crypto_8h_source.html">crypto.h</a>.</p>
-</div><h2 class="groupheader">Field Documentation</h2>
-<a class="anchor" id="a21d9fac709d739535b0cbecce4c18830"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="global_8h.html#ada7e71454d685b693df45b2c1ea0c59b">dtls_cipher_t</a> dtls_security_parameters_t::cipher</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>cipher type </p>
-
-<p>Definition at line <a class="el" href="crypto_8h_source.html#l00102">102</a> of file <a class="el" href="crypto_8h_source.html">crypto.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a6a72df7ab1151f81e49d464175fcaf2a"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="global_8h.html#a1ff555e0b1443c4cb4d17ac2161d89b2">dtls_compression_t</a> dtls_security_parameters_t::compression</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>compression method </p>
-
-<p>Definition at line <a class="el" href="crypto_8h_source.html#l00100">100</a> of file <a class="el" href="crypto_8h_source.html">crypto.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a2bce1fa0bf77eeab8fadca824de602da"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">uint16_t dtls_security_parameters_t::epoch</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>counter for cipher state changes </p>
-
-<p>Definition at line <a class="el" href="crypto_8h_source.html#l00103">103</a> of file <a class="el" href="crypto_8h_source.html">crypto.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a1c3a56ea4af8ff71e1ffe77221541f4d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="global_8h.html#adde6aaee8457bee49c2a92621fe22b79">uint8</a> dtls_security_parameters_t::key_block[<a class="el" href="crypto_8h.html#a0df6db4f8c29f2b0aa5a1363b4f9127f">MAX_KEYBLOCK_LENGTH</a>]</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>The key block generated from PRF applied to client and server random bytes. The actual size is given by the selected cipher and can be calculated using <a class="el" href="crypto_8h.html#a147bfdc558c2ec69ffdf388ae19ae01c">dtls_kb_size()</a>. Use <code>dtls_kb_</code> macros to access the components of the key block. </p>
-
-<p>Definition at line <a class="el" href="crypto_8h_source.html#l00112">112</a> of file <a class="el" href="crypto_8h_source.html">crypto.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a100dc82ee41004df1d9f211873332f87"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">uint64_t dtls_security_parameters_t::rseq</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>sequence number of last record sent </p>
-
-<p>Definition at line <a class="el" href="crypto_8h_source.html#l00104">104</a> of file <a class="el" href="crypto_8h_source.html">crypto.h</a>.</p>
-
-</div>
-</div>
-<hr/>The documentation for this struct was generated from the following file:<ul>
-<li><a class="el" href="crypto_8h_source.html">crypto.h</a></li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/structlist.html b/external/wakaama/examples/shared/tinydtls/doc/html/structlist.html
deleted file mode 100644 (file)
index 3112495..0000000
+++ /dev/null
@@ -1,127 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: list Struct Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li><a href="functions.html"><span>Data&#160;Fields</span></a></li>
-    </ul>
-  </div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#pub-attribs">Data Fields</a>  </div>
-  <div class="headertitle">
-<div class="title">list Struct Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p><code>#include &lt;<a class="el" href="t__list_8h_source.html">t_list.h</a>&gt;</code></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
-Data Fields</h2></td></tr>
-<tr class="memitem:a1900fe79e875e2838625b2eb60837f8f"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structlist.html">list</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structlist.html#a1900fe79e875e2838625b2eb60837f8f">next</a></td></tr>
-<tr class="separator:a1900fe79e875e2838625b2eb60837f8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock">
-<p>Definition at line <a class="el" href="t__list_8h_source.html#l00080">80</a> of file <a class="el" href="t__list_8h_source.html">t_list.h</a>.</p>
-</div><h2 class="groupheader">Field Documentation</h2>
-<a class="anchor" id="a1900fe79e875e2838625b2eb60837f8f"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">struct <a class="el" href="structlist.html">list</a>* list::next</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="t__list_8h_source.html#l00081">81</a> of file <a class="el" href="t__list_8h_source.html">t_list.h</a>.</p>
-
-</div>
-</div>
-<hr/>The documentation for this struct was generated from the following file:<ul>
-<li><a class="el" href="t__list_8h_source.html">t_list.h</a></li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/structnetq__t.html b/external/wakaama/examples/shared/tinydtls/doc/html/structnetq__t.html
deleted file mode 100644 (file)
index b7171a0..0000000
+++ /dev/null
@@ -1,261 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: netq_t Struct Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li><a href="functions.html"><span>Data&#160;Fields</span></a></li>
-    </ul>
-  </div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#pub-attribs">Data Fields</a>  </div>
-  <div class="headertitle">
-<div class="title">netq_t Struct Reference<div class="ingroups"><a class="el" href="group__netq.html">Network Packet Queue</a></div></div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p><code>#include &lt;<a class="el" href="netq_8h_source.html">netq.h</a>&gt;</code></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
-Data Fields</h2></td></tr>
-<tr class="memitem:a89ecfe2e9b464039d390e8746da546cb"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structnetq__t.html">netq_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structnetq__t.html#a89ecfe2e9b464039d390e8746da546cb">next</a></td></tr>
-<tr class="separator:a89ecfe2e9b464039d390e8746da546cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:afe91256ff5267fc680b96efd3bd8635a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__clock.html#ga6e6c13e871b82d881a01d1bc8df69d23">clock_time_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structnetq__t.html#afe91256ff5267fc680b96efd3bd8635a">t</a></td></tr>
-<tr class="separator:afe91256ff5267fc680b96efd3bd8635a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae0c2648acf87d1e6f2566bc3600771b6"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structnetq__t.html#ae0c2648acf87d1e6f2566bc3600771b6">timeout</a></td></tr>
-<tr class="separator:ae0c2648acf87d1e6f2566bc3600771b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aaca5f6407bd7b3162d9ee7e7e7b8f0ff"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structdtls__peer__t.html">dtls_peer_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structnetq__t.html#aaca5f6407bd7b3162d9ee7e7e7b8f0ff">peer</a></td></tr>
-<tr class="separator:aaca5f6407bd7b3162d9ee7e7e7b8f0ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9998944e43a39a2e5700156876a312e0"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structnetq__t.html#a9998944e43a39a2e5700156876a312e0">epoch</a></td></tr>
-<tr class="separator:a9998944e43a39a2e5700156876a312e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a13d74bc65c8879b894698935fbbe2246"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structnetq__t.html#a13d74bc65c8879b894698935fbbe2246">type</a></td></tr>
-<tr class="separator:a13d74bc65c8879b894698935fbbe2246"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aacd03017f40248c2f48c2b7b9cd92dc8"><td class="memItemLeft" align="right" valign="top">unsigned char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structnetq__t.html#aacd03017f40248c2f48c2b7b9cd92dc8">retransmit_cnt</a></td></tr>
-<tr class="separator:aacd03017f40248c2f48c2b7b9cd92dc8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac72c9378282becab5a273f612f58c124"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structnetq__t.html#ac72c9378282becab5a273f612f58c124">length</a></td></tr>
-<tr class="separator:ac72c9378282becab5a273f612f58c124"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5b4d387623df43fe25a3b11e9d4fb02c"><td class="memItemLeft" align="right" valign="top">unsigned char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structnetq__t.html#a5b4d387623df43fe25a3b11e9d4fb02c">data</a> []</td></tr>
-<tr class="separator:a5b4d387623df43fe25a3b11e9d4fb02c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock">
-<p>Definition at line <a class="el" href="netq_8h_source.html#l00038">38</a> of file <a class="el" href="netq_8h_source.html">netq.h</a>.</p>
-</div><h2 class="groupheader">Field Documentation</h2>
-<a class="anchor" id="a5b4d387623df43fe25a3b11e9d4fb02c"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">unsigned char netq_t::data[]</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>the datagram to send </p>
-
-<p>Definition at line <a class="el" href="netq_8h_source.html#l00051">51</a> of file <a class="el" href="netq_8h_source.html">netq.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a9998944e43a39a2e5700156876a312e0"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">uint16_t netq_t::epoch</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="netq_8h_source.html#l00045">45</a> of file <a class="el" href="netq_8h_source.html">netq.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ac72c9378282becab5a273f612f58c124"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">size_t netq_t::length</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>actual length of data </p>
-
-<p>Definition at line <a class="el" href="netq_8h_source.html#l00049">49</a> of file <a class="el" href="netq_8h_source.html">netq.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a89ecfe2e9b464039d390e8746da546cb"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">struct <a class="el" href="structnetq__t.html">netq_t</a>* netq_t::next</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="netq_8h_source.html#l00039">39</a> of file <a class="el" href="netq_8h_source.html">netq.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aaca5f6407bd7b3162d9ee7e7e7b8f0ff"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="structdtls__peer__t.html">dtls_peer_t</a>* netq_t::peer</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>remote address </p>
-
-<p>Definition at line <a class="el" href="netq_8h_source.html#l00044">44</a> of file <a class="el" href="netq_8h_source.html">netq.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aacd03017f40248c2f48c2b7b9cd92dc8"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">unsigned char netq_t::retransmit_cnt</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>retransmission counter, will be removed when zero </p>
-
-<p>Definition at line <a class="el" href="netq_8h_source.html#l00047">47</a> of file <a class="el" href="netq_8h_source.html">netq.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="afe91256ff5267fc680b96efd3bd8635a"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="group__clock.html#ga6e6c13e871b82d881a01d1bc8df69d23">clock_time_t</a> netq_t::t</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>when to send PDU for the next time </p>
-
-<p>Definition at line <a class="el" href="netq_8h_source.html#l00041">41</a> of file <a class="el" href="netq_8h_source.html">netq.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ae0c2648acf87d1e6f2566bc3600771b6"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">unsigned int netq_t::timeout</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>randomized timeout value </p>
-
-<p>Definition at line <a class="el" href="netq_8h_source.html#l00042">42</a> of file <a class="el" href="netq_8h_source.html">netq.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a13d74bc65c8879b894698935fbbe2246"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">uint8_t netq_t::type</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="netq_8h_source.html#l00046">46</a> of file <a class="el" href="netq_8h_source.html">netq.h</a>.</p>
-
-</div>
-</div>
-<hr/>The documentation for this struct was generated from the following file:<ul>
-<li><a class="el" href="netq_8h_source.html">netq.h</a></li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/structsession__t.html b/external/wakaama/examples/shared/tinydtls/doc/html/structsession__t.html
deleted file mode 100644 (file)
index aa5965b..0000000
+++ /dev/null
@@ -1,223 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: session_t Struct Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li><a href="functions.html"><span>Data&#160;Fields</span></a></li>
-    </ul>
-  </div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#pub-attribs">Data Fields</a>  </div>
-  <div class="headertitle">
-<div class="title">session_t Struct Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p><code>#include &lt;<a class="el" href="session_8h_source.html">session.h</a>&gt;</code></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
-Data Fields</h2></td></tr>
-<tr class="memitem:aed21682e9f971221d9f35f1266dea125"><td class="memItemLeft" align="right" valign="top">socklen_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsession__t.html#aed21682e9f971221d9f35f1266dea125">size</a></td></tr>
-<tr class="separator:aed21682e9f971221d9f35f1266dea125"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0bb4423cd29b415a4cf6c32d5d9a43e4"><td class="memItemLeft" >union {</td></tr>
-<tr class="memitem:ad2ff23b596200bfd97332cf4617ab651"><td class="memItemLeft" >&#160;&#160;&#160;struct sockaddr&#160;&#160;&#160;<a class="el" href="structsession__t.html#a8d0a30ccc98425675a1b0e92e96eaa6a">sa</a></td></tr>
-<tr class="separator:ad2ff23b596200bfd97332cf4617ab651"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a18352e2487f158a08b671cc9fb816534"><td class="memItemLeft" >&#160;&#160;&#160;struct sockaddr_storage&#160;&#160;&#160;<a class="el" href="structsession__t.html#ac45985b6941c1fd25dbf4e48ff44fb8d">st</a></td></tr>
-<tr class="separator:a18352e2487f158a08b671cc9fb816534"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0d438eeada3d4b5257fdb630e9153538"><td class="memItemLeft" >&#160;&#160;&#160;struct sockaddr_in&#160;&#160;&#160;<a class="el" href="structsession__t.html#a86093095c1ab36b12180f9215fa2375e">sin</a></td></tr>
-<tr class="separator:a0d438eeada3d4b5257fdb630e9153538"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a875a562861bb7b3477c3e79495ca10c2"><td class="memItemLeft" >&#160;&#160;&#160;struct sockaddr_in6&#160;&#160;&#160;<a class="el" href="structsession__t.html#a2f337ce1989f3a9b5afeef1a95506bde">sin6</a></td></tr>
-<tr class="separator:a875a562861bb7b3477c3e79495ca10c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0bb4423cd29b415a4cf6c32d5d9a43e4"><td class="memItemLeft" valign="top">}&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsession__t.html#a0bb4423cd29b415a4cf6c32d5d9a43e4">addr</a></td></tr>
-<tr class="separator:a0bb4423cd29b415a4cf6c32d5d9a43e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aafc69fe43548bd69c0e15aa82e73f3ff"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsession__t.html#aafc69fe43548bd69c0e15aa82e73f3ff">ifindex</a></td></tr>
-<tr class="separator:aafc69fe43548bd69c0e15aa82e73f3ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock">
-<p>Definition at line <a class="el" href="session_8h_source.html#l00049">49</a> of file <a class="el" href="session_8h_source.html">session.h</a>.</p>
-</div><h2 class="groupheader">Field Documentation</h2>
-<a class="anchor" id="a0bb4423cd29b415a4cf6c32d5d9a43e4"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">union { ... }   session_t::addr</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="aafc69fe43548bd69c0e15aa82e73f3ff"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">uint8_t session_t::ifindex</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="session_8h_source.html#l00057">57</a> of file <a class="el" href="session_8h_source.html">session.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a8d0a30ccc98425675a1b0e92e96eaa6a"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">struct sockaddr session_t::sa</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="session_8h_source.html#l00052">52</a> of file <a class="el" href="session_8h_source.html">session.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a86093095c1ab36b12180f9215fa2375e"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">struct sockaddr_in session_t::sin</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="session_8h_source.html#l00054">54</a> of file <a class="el" href="session_8h_source.html">session.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a2f337ce1989f3a9b5afeef1a95506bde"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">struct sockaddr_in6 session_t::sin6</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="session_8h_source.html#l00055">55</a> of file <a class="el" href="session_8h_source.html">session.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aed21682e9f971221d9f35f1266dea125"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">socklen_t session_t::size</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>size of addr </p>
-
-<p>Definition at line <a class="el" href="session_8h_source.html#l00050">50</a> of file <a class="el" href="session_8h_source.html">session.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ac45985b6941c1fd25dbf4e48ff44fb8d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">struct sockaddr_storage session_t::st</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="session_8h_source.html#l00053">53</a> of file <a class="el" href="session_8h_source.html">session.h</a>.</p>
-
-</div>
-</div>
-<hr/>The documentation for this struct was generated from the following file:<ul>
-<li><a class="el" href="session_8h_source.html">session.h</a></li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/sync_off.png b/external/wakaama/examples/shared/tinydtls/doc/html/sync_off.png
deleted file mode 100644 (file)
index 3b443fc..0000000
Binary files a/external/wakaama/examples/shared/tinydtls/doc/html/sync_off.png and /dev/null differ
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/sync_on.png b/external/wakaama/examples/shared/tinydtls/doc/html/sync_on.png
deleted file mode 100644 (file)
index e08320f..0000000
Binary files a/external/wakaama/examples/shared/tinydtls/doc/html/sync_on.png and /dev/null differ
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/t__list_8h.html b/external/wakaama/examples/shared/tinydtls/doc/html/t__list_8h.html
deleted file mode 100644 (file)
index 18052ae..0000000
+++ /dev/null
@@ -1,478 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: t_list.h File Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#nested-classes">Data Structures</a> &#124;
-<a href="#define-members">Macros</a> &#124;
-<a href="#typedef-members">Typedefs</a> &#124;
-<a href="#func-members">Functions</a>  </div>
-  <div class="headertitle">
-<div class="title">t_list.h File Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p>Wrappers for list structures and functions.  
-<a href="#details">More...</a></p>
-<div class="textblock"><code>#include &quot;<a class="el" href="tinydtls_8h_source.html">tinydtls.h</a>&quot;</code><br/>
-<code>#include &quot;<a class="el" href="uthash_8h_source.html">uthash.h</a>&quot;</code><br/>
-<code>#include &quot;<a class="el" href="utlist_8h_source.html">utlist.h</a>&quot;</code><br/>
-</div>
-<p><a href="t__list_8h_source.html">Go to the source code of this file.</a></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
-Data Structures</h2></td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structlist.html">list</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
-Macros</h2></td></tr>
-<tr class="memitem:ad8951367826c57390a9f9892e0fc2659"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="t__list_8h.html#ad8951367826c57390a9f9892e0fc2659">LIST_CONCAT</a>(s1, s2)&#160;&#160;&#160;s1##s2</td></tr>
-<tr class="separator:ad8951367826c57390a9f9892e0fc2659"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab5acb500a887e1957292f3dddc5c9b79"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="t__list_8h.html#ab5acb500a887e1957292f3dddc5c9b79">LIST_STRUCT</a>(name)</td></tr>
-<tr class="separator:ab5acb500a887e1957292f3dddc5c9b79"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:adcb86fe4485a0f8ea79541117641f730"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="t__list_8h.html#adcb86fe4485a0f8ea79541117641f730">LIST_STRUCT_INIT</a>(struct_ptr, name)</td></tr>
-<tr class="separator:adcb86fe4485a0f8ea79541117641f730"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
-Typedefs</h2></td></tr>
-<tr class="memitem:a9c248916bae1f0b13732686786be7108"><td class="memItemLeft" align="right" valign="top">typedef void **&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="t__list_8h.html#a9c248916bae1f0b13732686786be7108">list_t</a></td></tr>
-<tr class="separator:a9c248916bae1f0b13732686786be7108"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:adb42e31bb4fe0df6ec1aa3494902968d"><td class="memItemLeft" align="right" valign="top">static void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="t__list_8h.html#adb42e31bb4fe0df6ec1aa3494902968d">list_head</a> (<a class="el" href="t__list_8h.html#a9c248916bae1f0b13732686786be7108">list_t</a> <a class="el" href="structlist.html">list</a>)</td></tr>
-<tr class="separator:adb42e31bb4fe0df6ec1aa3494902968d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a10de2120be61f445c5989c983c1e133b"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="t__list_8h.html#a10de2120be61f445c5989c983c1e133b">list_remove</a> (<a class="el" href="t__list_8h.html#a9c248916bae1f0b13732686786be7108">list_t</a> <a class="el" href="structlist.html">list</a>, void *item)</td></tr>
-<tr class="separator:a10de2120be61f445c5989c983c1e133b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aee4e6fc5d9a6133555e7373c654b2120"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="t__list_8h.html#aee4e6fc5d9a6133555e7373c654b2120">list_add</a> (<a class="el" href="t__list_8h.html#a9c248916bae1f0b13732686786be7108">list_t</a> <a class="el" href="structlist.html">list</a>, void *item)</td></tr>
-<tr class="separator:aee4e6fc5d9a6133555e7373c654b2120"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab1521a806c1775e743ddefede17673fd"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="t__list_8h.html#ab1521a806c1775e743ddefede17673fd">list_push</a> (<a class="el" href="t__list_8h.html#a9c248916bae1f0b13732686786be7108">list_t</a> <a class="el" href="structlist.html">list</a>, void *item)</td></tr>
-<tr class="separator:ab1521a806c1775e743ddefede17673fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5ba6a8506e0226ab945349e25ef65d56"><td class="memItemLeft" align="right" valign="top">static void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="t__list_8h.html#a5ba6a8506e0226ab945349e25ef65d56">list_pop</a> (<a class="el" href="t__list_8h.html#a9c248916bae1f0b13732686786be7108">list_t</a> <a class="el" href="structlist.html">list</a>)</td></tr>
-<tr class="separator:a5ba6a8506e0226ab945349e25ef65d56"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0d4152f6de47bfefa600867056bc3355"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="t__list_8h.html#a0d4152f6de47bfefa600867056bc3355">list_insert</a> (<a class="el" href="t__list_8h.html#a9c248916bae1f0b13732686786be7108">list_t</a> <a class="el" href="structlist.html">list</a>, void *previtem, void *newitem)</td></tr>
-<tr class="separator:a0d4152f6de47bfefa600867056bc3355"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae7f0bdad2409695760ffd8de55b6a99b"><td class="memItemLeft" align="right" valign="top">static void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="t__list_8h.html#ae7f0bdad2409695760ffd8de55b6a99b">list_item_next</a> (void *item)</td></tr>
-<tr class="separator:ae7f0bdad2409695760ffd8de55b6a99b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p>Wrappers for list structures and functions. </p>
-
-<p>Definition in file <a class="el" href="t__list_8h_source.html">t_list.h</a>.</p>
-</div><h2 class="groupheader">Macro Definition Documentation</h2>
-<a class="anchor" id="ad8951367826c57390a9f9892e0fc2659"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define LIST_CONCAT</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">s1, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">s2&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td>&#160;&#160;&#160;s1##s2</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="t__list_8h_source.html#l00084">84</a> of file <a class="el" href="t__list_8h_source.html">t_list.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ab5acb500a887e1957292f3dddc5c9b79"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define LIST_STRUCT</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">name</td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<b>Value:</b><div class="fragment"><div class="line"><span class="keywordtype">void</span> *<a class="code" href="t__list_8h.html#ad8951367826c57390a9f9892e0fc2659">LIST_CONCAT</a>(name, _list);     <a class="code" href="t__list_8h.html#a9c248916bae1f0b13732686786be7108">\</a></div>
-<div class="line"><a class="code" href="t__list_8h.html#a9c248916bae1f0b13732686786be7108">  list_t</a> name</div>
-<div class="ttc" id="t__list_8h_html_a9c248916bae1f0b13732686786be7108"><div class="ttname"><a href="t__list_8h.html#a9c248916bae1f0b13732686786be7108">list_t</a></div><div class="ttdeci">void ** list_t</div><div class="ttdef"><b>Definition:</b> <a href="t__list_8h_source.html#l00079">t_list.h:79</a></div></div>
-<div class="ttc" id="t__list_8h_html_ad8951367826c57390a9f9892e0fc2659"><div class="ttname"><a href="t__list_8h.html#ad8951367826c57390a9f9892e0fc2659">LIST_CONCAT</a></div><div class="ttdeci">#define LIST_CONCAT(s1, s2)</div><div class="ttdef"><b>Definition:</b> <a href="t__list_8h_source.html#l00084">t_list.h:84</a></div></div>
-</div><!-- fragment -->
-<p>Definition at line <a class="el" href="t__list_8h_source.html#l00086">86</a> of file <a class="el" href="t__list_8h_source.html">t_list.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="adcb86fe4485a0f8ea79541117641f730"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define LIST_STRUCT_INIT</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">struct_ptr, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">name&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<b>Value:</b><div class="fragment"><div class="line">{               \</div>
-<div class="line">    (struct_ptr)-&gt;name = &amp;((struct_ptr)-&gt;LIST_CONCAT(name,_list));  \</div>
-<div class="line">    (struct_ptr)-&gt;<a class="code" href="t__list_8h.html#ad8951367826c57390a9f9892e0fc2659">LIST_CONCAT</a>(name,_list) = NULL;           \</div>
-<div class="line">  }</div>
-<div class="ttc" id="t__list_8h_html_ad8951367826c57390a9f9892e0fc2659"><div class="ttname"><a href="t__list_8h.html#ad8951367826c57390a9f9892e0fc2659">LIST_CONCAT</a></div><div class="ttdeci">#define LIST_CONCAT(s1, s2)</div><div class="ttdef"><b>Definition:</b> <a href="t__list_8h_source.html#l00084">t_list.h:84</a></div></div>
-</div><!-- fragment -->
-<p>Definition at line <a class="el" href="t__list_8h_source.html#l00090">90</a> of file <a class="el" href="t__list_8h_source.html">t_list.h</a>.</p>
-
-</div>
-</div>
-<h2 class="groupheader">Typedef Documentation</h2>
-<a class="anchor" id="a9c248916bae1f0b13732686786be7108"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef void** <a class="el" href="t__list_8h.html#a9c248916bae1f0b13732686786be7108">list_t</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="t__list_8h_source.html#l00079">79</a> of file <a class="el" href="t__list_8h_source.html">t_list.h</a>.</p>
-
-</div>
-</div>
-<h2 class="groupheader">Function Documentation</h2>
-<a class="anchor" id="aee4e6fc5d9a6133555e7373c654b2120"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static void list_add </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="t__list_8h.html#a9c248916bae1f0b13732686786be7108">list_t</a>&#160;</td>
-          <td class="paramname"><em>list</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">void *&#160;</td>
-          <td class="paramname"><em>item</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="t__list_8h_source.html#l00106">106</a> of file <a class="el" href="t__list_8h_source.html">t_list.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="adb42e31bb4fe0df6ec1aa3494902968d"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static void* list_head </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="t__list_8h.html#a9c248916bae1f0b13732686786be7108">list_t</a>&#160;</td>
-          <td class="paramname"><em>list</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="t__list_8h_source.html#l00096">96</a> of file <a class="el" href="t__list_8h_source.html">t_list.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a0d4152f6de47bfefa600867056bc3355"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static void list_insert </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="t__list_8h.html#a9c248916bae1f0b13732686786be7108">list_t</a>&#160;</td>
-          <td class="paramname"><em>list</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">void *&#160;</td>
-          <td class="paramname"><em>previtem</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">void *&#160;</td>
-          <td class="paramname"><em>newitem</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="t__list_8h_source.html#l00127">127</a> of file <a class="el" href="t__list_8h_source.html">t_list.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ae7f0bdad2409695760ffd8de55b6a99b"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static void* list_item_next </td>
-          <td>(</td>
-          <td class="paramtype">void *&#160;</td>
-          <td class="paramname"><em>item</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="t__list_8h_source.html#l00137">137</a> of file <a class="el" href="t__list_8h_source.html">t_list.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a5ba6a8506e0226ab945349e25ef65d56"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static void* list_pop </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="t__list_8h.html#a9c248916bae1f0b13732686786be7108">list_t</a>&#160;</td>
-          <td class="paramname"><em>list</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="t__list_8h_source.html#l00117">117</a> of file <a class="el" href="t__list_8h_source.html">t_list.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ab1521a806c1775e743ddefede17673fd"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static void list_push </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="t__list_8h.html#a9c248916bae1f0b13732686786be7108">list_t</a>&#160;</td>
-          <td class="paramname"><em>list</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">void *&#160;</td>
-          <td class="paramname"><em>item</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="t__list_8h_source.html#l00112">112</a> of file <a class="el" href="t__list_8h_source.html">t_list.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a10de2120be61f445c5989c983c1e133b"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static void list_remove </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="t__list_8h.html#a9c248916bae1f0b13732686786be7108">list_t</a>&#160;</td>
-          <td class="paramname"><em>list</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">void *&#160;</td>
-          <td class="paramname"><em>item</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="t__list_8h_source.html#l00101">101</a> of file <a class="el" href="t__list_8h_source.html">t_list.h</a>.</p>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/t__list_8h_source.html b/external/wakaama/examples/shared/tinydtls/doc/html/t__list_8h_source.html
deleted file mode 100644 (file)
index fee3931..0000000
+++ /dev/null
@@ -1,254 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: t_list.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="header">
-  <div class="headertitle">
-<div class="title">t_list.h</div>  </div>
-</div><!--header-->
-<div class="contents">
-<a href="t__list_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/* t_list -- tinydtls lists</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> * Copyright (C) 2012 Olaf Bergmann &lt;bergmann@tzi.org&gt;</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> * Permission is hereby granted, free of charge, to any person</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> * obtaining a copy of this software and associated documentation</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> * files (the &quot;Software&quot;), to deal in the Software without</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> * restriction, including without limitation the rights to use, copy,</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> * modify, merge, publish, distribute, sublicense, and/or sell copies</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> * of the Software, and to permit persons to whom the Software is</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * furnished to do so, subject to the following conditions:</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * The above copyright notice and this permission notice shall be</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * included in all copies or substantial portions of the Software.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> * THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND,</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment"> * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment"> * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment"> * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment"> * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment"> * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment"> * SOFTWARE.</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div>
-<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#ifndef _DTLS_LIST_H_</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define _DTLS_LIST_H_</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="tinydtls_8h.html">tinydtls.h</a>&quot;</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div>
-<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#ifndef WITH_CONTIKI</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &quot;<a class="code" href="uthash_8h.html">uthash.h</a>&quot;</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="utlist_8h.html">utlist.h</a>&quot;</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;</div>
-<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="comment">/* We define list structures and utility functions to be compatible</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment"> * with Contiki list structures. The Contiki list API is part of the</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="comment"> * Contiki operating system, and therefore the following licensing</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="comment"> * terms apply (taken from contiki/core/lib/list.h):</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment"> * Copyright (c) 2004, Swedish Institute of Computer Science.</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment"> * All rights reserved.</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="comment"> * Redistribution and use in source and binary forms, with or without</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="comment"> * modification, are permitted provided that the following conditions</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="comment"> * are met:</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment"> * 1. Redistributions of source code must retain the above copyright</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment"> *    notice, this list of conditions and the following disclaimer.</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="comment"> *    notice, this list of conditions and the following disclaimer in the</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment"> *    documentation and/or other materials provided with the distribution.</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="comment"> * 3. Neither the name of the Institute nor the names of its contributors</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="comment"> *    may be used to endorse or promote products derived from this software</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment"> *    without specific prior written permission.</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="comment"> * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS&#39;&#39; AND</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="comment"> * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="comment"> * ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="comment"> * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="comment"> * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment"> * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="comment"> * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="comment"> * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="comment"> * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="comment"> * SUCH DAMAGE.</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="comment"> * This file is part of the Contiki operating system.</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="comment"> * Author: Adam Dunkels &lt;adam@sics.se&gt;</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="comment"> * $ Id: list.h,v 1.5 2010/09/13 13:31:00 adamdunkels Exp $</span></div>
-<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;</div>
-<div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="t__list_8h.html#a9c248916bae1f0b13732686786be7108">   79</a></span>&#160;<span class="keyword">typedef</span> <span class="keywordtype">void</span> **<a class="code" href="t__list_8h.html#a9c248916bae1f0b13732686786be7108">list_t</a>;</div>
-<div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="structlist.html">   80</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structlist.html">list</a> {</div>
-<div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="structlist.html#a1900fe79e875e2838625b2eb60837f8f">   81</a></span>&#160;  <span class="keyword">struct </span><a class="code" href="structlist.html">list</a> *<a class="code" href="structlist.html#a1900fe79e875e2838625b2eb60837f8f">next</a>;</div>
-<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;};</div>
-<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;</div>
-<div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="t__list_8h.html#ad8951367826c57390a9f9892e0fc2659">   84</a></span>&#160;<span class="preprocessor">#define LIST_CONCAT(s1, s2) s1##s2</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="t__list_8h.html#ab5acb500a887e1957292f3dddc5c9b79">   86</a></span>&#160;<span class="preprocessor">#define LIST_STRUCT(name)           \</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="preprocessor">  void *LIST_CONCAT(name, _list);       \</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="preprocessor">  list_t name</span></div>
-<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="t__list_8h.html#adcb86fe4485a0f8ea79541117641f730">   90</a></span>&#160;<span class="preprocessor">#define LIST_STRUCT_INIT(struct_ptr, name)  {               \</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="preprocessor">    (struct_ptr)-&gt;name = &amp;((struct_ptr)-&gt;LIST_CONCAT(name,_list));  \</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="preprocessor">    (struct_ptr)-&gt;LIST_CONCAT(name,_list) = NULL;           \</span></div>
-<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;<span class="preprocessor">  }</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> *</div>
-<div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="t__list_8h.html#adb42e31bb4fe0df6ec1aa3494902968d">   96</a></span>&#160;<a class="code" href="t__list_8h.html#adb42e31bb4fe0df6ec1aa3494902968d">list_head</a>(<a class="code" href="t__list_8h.html#a9c248916bae1f0b13732686786be7108">list_t</a> <a class="code" href="structlist.html">list</a>) {</div>
-<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;  <span class="keywordflow">return</span> *list;</div>
-<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;}</div>
-<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</div>
-<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="t__list_8h.html#a10de2120be61f445c5989c983c1e133b">  101</a></span>&#160;<a class="code" href="t__list_8h.html#a10de2120be61f445c5989c983c1e133b">list_remove</a>(<a class="code" href="t__list_8h.html#a9c248916bae1f0b13732686786be7108">list_t</a> <a class="code" href="structlist.html">list</a>, <span class="keywordtype">void</span> *item) {</div>
-<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;  <a class="code" href="utlist_8h.html#a34a4e54d488753465f6e87bb63b93c0e">LL_DELETE</a>(*(<span class="keyword">struct</span> list **)list, (<span class="keyword">struct</span> list *)item);</div>
-<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;}</div>
-<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;</div>
-<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="t__list_8h.html#aee4e6fc5d9a6133555e7373c654b2120">  106</a></span>&#160;<a class="code" href="t__list_8h.html#aee4e6fc5d9a6133555e7373c654b2120">list_add</a>(<a class="code" href="t__list_8h.html#a9c248916bae1f0b13732686786be7108">list_t</a> <a class="code" href="structlist.html">list</a>, <span class="keywordtype">void</span> *item) {</div>
-<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;  <a class="code" href="t__list_8h.html#a10de2120be61f445c5989c983c1e133b">list_remove</a>(list, item);</div>
-<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;  <a class="code" href="utlist_8h.html#ace33c571c3df78e721a99a4494983855">LL_APPEND</a>(*(<span class="keyword">struct</span> list **)list, (<span class="keyword">struct</span> list *)item);</div>
-<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;}</div>
-<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;</div>
-<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> </div>
-<div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="t__list_8h.html#ab1521a806c1775e743ddefede17673fd">  112</a></span>&#160;<a class="code" href="t__list_8h.html#ab1521a806c1775e743ddefede17673fd">list_push</a>(<a class="code" href="t__list_8h.html#a9c248916bae1f0b13732686786be7108">list_t</a> <a class="code" href="structlist.html">list</a>, <span class="keywordtype">void</span> *item) {</div>
-<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;  <a class="code" href="utlist_8h.html#a851fb4b583b0dc000097eeee6dd551d4">LL_PREPEND</a>(*(<span class="keyword">struct</span> list **)list, (<span class="keyword">struct</span> list *)item);</div>
-<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;}</div>
-<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;</div>
-<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> *</div>
-<div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="t__list_8h.html#a5ba6a8506e0226ab945349e25ef65d56">  117</a></span>&#160;<a class="code" href="t__list_8h.html#a5ba6a8506e0226ab945349e25ef65d56">list_pop</a>(<a class="code" href="t__list_8h.html#a9c248916bae1f0b13732686786be7108">list_t</a> <a class="code" href="structlist.html">list</a>) {</div>
-<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;  <span class="keyword">struct </span>list *l;</div>
-<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;  l = *list;</div>
-<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;  <span class="keywordflow">if</span>(l)</div>
-<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;    <a class="code" href="t__list_8h.html#a10de2120be61f445c5989c983c1e133b">list_remove</a>(list, l);</div>
-<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;  </div>
-<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;  <span class="keywordflow">return</span> l;</div>
-<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;}</div>
-<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;</div>
-<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span></div>
-<div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="t__list_8h.html#a0d4152f6de47bfefa600867056bc3355">  127</a></span>&#160;<a class="code" href="t__list_8h.html#a0d4152f6de47bfefa600867056bc3355">list_insert</a>(<a class="code" href="t__list_8h.html#a9c248916bae1f0b13732686786be7108">list_t</a> <a class="code" href="structlist.html">list</a>, <span class="keywordtype">void</span> *previtem, <span class="keywordtype">void</span> *newitem) {</div>
-<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;  <span class="keywordflow">if</span>(previtem == NULL) {</div>
-<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;    <a class="code" href="t__list_8h.html#ab1521a806c1775e743ddefede17673fd">list_push</a>(list, newitem);</div>
-<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;  } <span class="keywordflow">else</span> {</div>
-<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;    ((<span class="keyword">struct </span>list *)newitem)-&gt;next = ((<span class="keyword">struct </span>list *)previtem)-&gt;next;</div>
-<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;    ((<span class="keyword">struct </span>list *)previtem)-&gt;next = newitem;</div>
-<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;  } </div>
-<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;}</div>
-<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;</div>
-<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> *</div>
-<div class="line"><a name="l00137"></a><span class="lineno"><a class="line" href="t__list_8h.html#ae7f0bdad2409695760ffd8de55b6a99b">  137</a></span>&#160;<a class="code" href="t__list_8h.html#ae7f0bdad2409695760ffd8de55b6a99b">list_item_next</a>(<span class="keywordtype">void</span> *item)</div>
-<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;{</div>
-<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;  <span class="keywordflow">return</span> item == NULL? NULL: ((<span class="keyword">struct </span><a class="code" href="structlist.html">list</a> *)item)-&gt;next;</div>
-<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;}</div>
-<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;</div>
-<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="preprocessor">#else </span><span class="comment">/* WITH_CONTIKI */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &quot;list.h&quot;</span></div>
-<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* WITH_CONTIKI */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* _DTLS_LIST_H_ */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;<span class="preprocessor"></span></div>
-<div class="ttc" id="tinydtls_8h_html"><div class="ttname"><a href="tinydtls_8h.html">tinydtls.h</a></div><div class="ttdoc">public tinydtls API </div></div>
-<div class="ttc" id="t__list_8h_html_a5ba6a8506e0226ab945349e25ef65d56"><div class="ttname"><a href="t__list_8h.html#a5ba6a8506e0226ab945349e25ef65d56">list_pop</a></div><div class="ttdeci">static void * list_pop(list_t list)</div><div class="ttdef"><b>Definition:</b> <a href="t__list_8h_source.html#l00117">t_list.h:117</a></div></div>
-<div class="ttc" id="t__list_8h_html_a0d4152f6de47bfefa600867056bc3355"><div class="ttname"><a href="t__list_8h.html#a0d4152f6de47bfefa600867056bc3355">list_insert</a></div><div class="ttdeci">static void list_insert(list_t list, void *previtem, void *newitem)</div><div class="ttdef"><b>Definition:</b> <a href="t__list_8h_source.html#l00127">t_list.h:127</a></div></div>
-<div class="ttc" id="utlist_8h_html_a851fb4b583b0dc000097eeee6dd551d4"><div class="ttname"><a href="utlist_8h.html#a851fb4b583b0dc000097eeee6dd551d4">LL_PREPEND</a></div><div class="ttdeci">#define LL_PREPEND(head, add)</div><div class="ttdef"><b>Definition:</b> <a href="utlist_8h_source.html#l00287">utlist.h:287</a></div></div>
-<div class="ttc" id="t__list_8h_html_aee4e6fc5d9a6133555e7373c654b2120"><div class="ttname"><a href="t__list_8h.html#aee4e6fc5d9a6133555e7373c654b2120">list_add</a></div><div class="ttdeci">static void list_add(list_t list, void *item)</div><div class="ttdef"><b>Definition:</b> <a href="t__list_8h_source.html#l00106">t_list.h:106</a></div></div>
-<div class="ttc" id="t__list_8h_html_ae7f0bdad2409695760ffd8de55b6a99b"><div class="ttname"><a href="t__list_8h.html#ae7f0bdad2409695760ffd8de55b6a99b">list_item_next</a></div><div class="ttdeci">static void * list_item_next(void *item)</div><div class="ttdef"><b>Definition:</b> <a href="t__list_8h_source.html#l00137">t_list.h:137</a></div></div>
-<div class="ttc" id="t__list_8h_html_a9c248916bae1f0b13732686786be7108"><div class="ttname"><a href="t__list_8h.html#a9c248916bae1f0b13732686786be7108">list_t</a></div><div class="ttdeci">void ** list_t</div><div class="ttdef"><b>Definition:</b> <a href="t__list_8h_source.html#l00079">t_list.h:79</a></div></div>
-<div class="ttc" id="utlist_8h_html"><div class="ttname"><a href="utlist_8h.html">utlist.h</a></div></div>
-<div class="ttc" id="utlist_8h_html_ace33c571c3df78e721a99a4494983855"><div class="ttname"><a href="utlist_8h.html#ace33c571c3df78e721a99a4494983855">LL_APPEND</a></div><div class="ttdeci">#define LL_APPEND(head, add)</div><div class="ttdef"><b>Definition:</b> <a href="utlist_8h_source.html#l00293">utlist.h:293</a></div></div>
-<div class="ttc" id="t__list_8h_html_adb42e31bb4fe0df6ec1aa3494902968d"><div class="ttname"><a href="t__list_8h.html#adb42e31bb4fe0df6ec1aa3494902968d">list_head</a></div><div class="ttdeci">static void * list_head(list_t list)</div><div class="ttdef"><b>Definition:</b> <a href="t__list_8h_source.html#l00096">t_list.h:96</a></div></div>
-<div class="ttc" id="t__list_8h_html_a10de2120be61f445c5989c983c1e133b"><div class="ttname"><a href="t__list_8h.html#a10de2120be61f445c5989c983c1e133b">list_remove</a></div><div class="ttdeci">static void list_remove(list_t list, void *item)</div><div class="ttdef"><b>Definition:</b> <a href="t__list_8h_source.html#l00101">t_list.h:101</a></div></div>
-<div class="ttc" id="structlist_html"><div class="ttname"><a href="structlist.html">list</a></div><div class="ttdef"><b>Definition:</b> <a href="t__list_8h_source.html#l00080">t_list.h:80</a></div></div>
-<div class="ttc" id="utlist_8h_html_a34a4e54d488753465f6e87bb63b93c0e"><div class="ttname"><a href="utlist_8h.html#a34a4e54d488753465f6e87bb63b93c0e">LL_DELETE</a></div><div class="ttdeci">#define LL_DELETE(head, del)</div><div class="ttdef"><b>Definition:</b> <a href="utlist_8h_source.html#l00306">utlist.h:306</a></div></div>
-<div class="ttc" id="structlist_html_a1900fe79e875e2838625b2eb60837f8f"><div class="ttname"><a href="structlist.html#a1900fe79e875e2838625b2eb60837f8f">list::next</a></div><div class="ttdeci">struct list * next</div><div class="ttdef"><b>Definition:</b> <a href="t__list_8h_source.html#l00081">t_list.h:81</a></div></div>
-<div class="ttc" id="uthash_8h_html"><div class="ttname"><a href="uthash_8h.html">uthash.h</a></div></div>
-<div class="ttc" id="t__list_8h_html_ab1521a806c1775e743ddefede17673fd"><div class="ttname"><a href="t__list_8h.html#ab1521a806c1775e743ddefede17673fd">list_push</a></div><div class="ttdeci">static void list_push(list_t list, void *item)</div><div class="ttdef"><b>Definition:</b> <a href="t__list_8h_source.html#l00112">t_list.h:112</a></div></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/tab_a.png b/external/wakaama/examples/shared/tinydtls/doc/html/tab_a.png
deleted file mode 100644 (file)
index 3b725c4..0000000
Binary files a/external/wakaama/examples/shared/tinydtls/doc/html/tab_a.png and /dev/null differ
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/tab_b.png b/external/wakaama/examples/shared/tinydtls/doc/html/tab_b.png
deleted file mode 100644 (file)
index e2b4a86..0000000
Binary files a/external/wakaama/examples/shared/tinydtls/doc/html/tab_b.png and /dev/null differ
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/tab_h.png b/external/wakaama/examples/shared/tinydtls/doc/html/tab_h.png
deleted file mode 100644 (file)
index fd5cb70..0000000
Binary files a/external/wakaama/examples/shared/tinydtls/doc/html/tab_h.png and /dev/null differ
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/tab_s.png b/external/wakaama/examples/shared/tinydtls/doc/html/tab_s.png
deleted file mode 100644 (file)
index ab478c9..0000000
Binary files a/external/wakaama/examples/shared/tinydtls/doc/html/tab_s.png and /dev/null differ
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/tabs.css b/external/wakaama/examples/shared/tinydtls/doc/html/tabs.css
deleted file mode 100644 (file)
index 9cf578f..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-.tabs, .tabs2, .tabs3 {
-    background-image: url('tab_b.png');
-    width: 100%;
-    z-index: 101;
-    font-size: 13px;
-    font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;
-}
-
-.tabs2 {
-    font-size: 10px;
-}
-.tabs3 {
-    font-size: 9px;
-}
-
-.tablist {
-    margin: 0;
-    padding: 0;
-    display: table;
-}
-
-.tablist li {
-    float: left;
-    display: table-cell;
-    background-image: url('tab_b.png');
-    line-height: 36px;
-    list-style: none;
-}
-
-.tablist a {
-    display: block;
-    padding: 0 20px;
-    font-weight: bold;
-    background-image:url('tab_s.png');
-    background-repeat:no-repeat;
-    background-position:right;
-    color: #283A5D;
-    text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
-    text-decoration: none;
-    outline: none;
-}
-
-.tabs3 .tablist a {
-    padding: 0 10px;
-}
-
-.tablist a:hover {
-    background-image: url('tab_h.png');
-    background-repeat:repeat-x;
-    color: #fff;
-    text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
-    text-decoration: none;
-}
-
-.tablist li.current a {
-    background-image: url('tab_a.png');
-    background-repeat:repeat-x;
-    color: #fff;
-    text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
-}
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/tinydtls_8h.html b/external/wakaama/examples/shared/tinydtls/doc/html/tinydtls_8h.html
deleted file mode 100644 (file)
index 1b45745..0000000
+++ /dev/null
@@ -1,146 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: tinydtls.h File Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#define-members">Macros</a>  </div>
-  <div class="headertitle">
-<div class="title">tinydtls.h File Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p>public tinydtls API  
-<a href="#details">More...</a></p>
-
-<p><a href="tinydtls_8h_source.html">Go to the source code of this file.</a></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
-Macros</h2></td></tr>
-<tr class="memitem:a1b77fedd334a66611747922038c930d6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="tinydtls_8h.html#a1b77fedd334a66611747922038c930d6">DTLS_ECC</a>&#160;&#160;&#160;1</td></tr>
-<tr class="separator:a1b77fedd334a66611747922038c930d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5ce72e9d11801559b799b999f50c49cf"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="tinydtls_8h.html#a5ce72e9d11801559b799b999f50c49cf">DTLS_PSK</a>&#160;&#160;&#160;1</td></tr>
-<tr class="separator:a5ce72e9d11801559b799b999f50c49cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p>public tinydtls API </p>
-
-<p>Definition in file <a class="el" href="tinydtls_8h_source.html">tinydtls.h</a>.</p>
-</div><h2 class="groupheader">Macro Definition Documentation</h2>
-<a class="anchor" id="a1b77fedd334a66611747922038c930d6"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DTLS_ECC&#160;&#160;&#160;1</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Defined to 1 if tinydtls is built with support for ECC </p>
-
-<p>Definition at line <a class="el" href="tinydtls_8h_source.html#l00037">37</a> of file <a class="el" href="tinydtls_8h_source.html">tinydtls.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a5ce72e9d11801559b799b999f50c49cf"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DTLS_PSK&#160;&#160;&#160;1</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Defined to 1 if tinydtls is built with support for PSK </p>
-
-<p>Definition at line <a class="el" href="tinydtls_8h_source.html#l00040">40</a> of file <a class="el" href="tinydtls_8h_source.html">tinydtls.h</a>.</p>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/tinydtls_8h_source.html b/external/wakaama/examples/shared/tinydtls/doc/html/tinydtls_8h_source.html
deleted file mode 100644 (file)
index e41f40e..0000000
+++ /dev/null
@@ -1,133 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: tinydtls.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="header">
-  <div class="headertitle">
-<div class="title">tinydtls.h</div>  </div>
-</div><!--header-->
-<div class="contents">
-<a href="tinydtls_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/* tinydtls.h.  Generated from tinydtls.h.in by configure.  */</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">/* tinydtls -- a very basic DTLS implementation</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> * Copyright (C) 2011--2014 Olaf Bergmann &lt;bergmann@tzi.org&gt;</span></div>
-<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> * Copyright (C) 2013 Hauke Mehrtens &lt;hauke@hauke-m.de&gt;</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> * Permission is hereby granted, free of charge, to any person</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> * obtaining a copy of this software and associated documentation</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> * files (the &quot;Software&quot;), to deal in the Software without</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> * restriction, including without limitation the rights to use, copy,</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * modify, merge, publish, distribute, sublicense, and/or sell copies</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> * of the Software, and to permit persons to whom the Software is</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * furnished to do so, subject to the following conditions:</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> * The above copyright notice and this permission notice shall be</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> * included in all copies or substantial portions of the Software.</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment"> * THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND,</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment"> * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment"> * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment"> * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment"> * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment"> * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment"> * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment"> * SOFTWARE.</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div>
-<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#ifndef _DTLS_TINYDTLS_H_</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define _DTLS_TINYDTLS_H_</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="tinydtls_8h.html#a1b77fedd334a66611747922038c930d6">   37</a></span>&#160;<span class="preprocessor">#define DTLS_ECC 1</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="tinydtls_8h.html#a5ce72e9d11801559b799b999f50c49cf">   40</a></span>&#160;<span class="preprocessor">#define DTLS_PSK 1</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="comment">/* #undef WITH_CONTIKI */</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div>
-<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* _DTLS_TINYDTLS_H_ */</span><span class="preprocessor"></span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/uthash_8h.html b/external/wakaama/examples/shared/tinydtls/doc/html/uthash_8h.html
deleted file mode 100644 (file)
index 95e535d..0000000
+++ /dev/null
@@ -1,2083 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: uthash.h File Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#nested-classes">Data Structures</a> &#124;
-<a href="#define-members">Macros</a> &#124;
-<a href="#typedef-members">Typedefs</a>  </div>
-  <div class="headertitle">
-<div class="title">uthash.h File Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock"><code>#include &lt;string.h&gt;</code><br/>
-<code>#include &lt;stddef.h&gt;</code><br/>
-<code>#include &lt;inttypes.h&gt;</code><br/>
-</div>
-<p><a href="uthash_8h_source.html">Go to the source code of this file.</a></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
-Data Structures</h2></td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structUT__hash__bucket.html">UT_hash_bucket</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structUT__hash__table.html">UT_hash_table</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structUT__hash__handle.html">UT_hash_handle</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
-Macros</h2></td></tr>
-<tr class="memitem:a716ba290563c2d955cb0c90d85874073"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a716ba290563c2d955cb0c90d85874073">DECLTYPE</a>(x)&#160;&#160;&#160;(__typeof(x))</td></tr>
-<tr class="separator:a716ba290563c2d955cb0c90d85874073"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3c736f2f2dd643f2987b2bc323e269ba"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a3c736f2f2dd643f2987b2bc323e269ba">DECLTYPE_ASSIGN</a>(dst, src)</td></tr>
-<tr class="separator:a3c736f2f2dd643f2987b2bc323e269ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa56cef9cb86dc1f4b5d27ee3a691077e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#aa56cef9cb86dc1f4b5d27ee3a691077e">UTHASH_VERSION</a>&#160;&#160;&#160;1.9.3</td></tr>
-<tr class="separator:aa56cef9cb86dc1f4b5d27ee3a691077e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a03b52301b0ed976b6981ef33613320c1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a03b52301b0ed976b6981ef33613320c1">uthash_fatal</a>(msg)&#160;&#160;&#160;exit(-1)        /* fatal error (out of memory,etc) */</td></tr>
-<tr class="separator:a03b52301b0ed976b6981ef33613320c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a861013aff36c0448f1888a2b0b5836d8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a861013aff36c0448f1888a2b0b5836d8">uthash_malloc</a>(sz)&#160;&#160;&#160;malloc(sz)      /* malloc fcn                      */</td></tr>
-<tr class="separator:a861013aff36c0448f1888a2b0b5836d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a56cdf8c254fc700332c8e6a7263b4657"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a56cdf8c254fc700332c8e6a7263b4657">uthash_free</a>(ptr, sz)&#160;&#160;&#160;free(ptr)     /* free fcn                        */</td></tr>
-<tr class="separator:a56cdf8c254fc700332c8e6a7263b4657"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7cc237d8f87de3836b5390856cfc5c86"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a7cc237d8f87de3836b5390856cfc5c86">uthash_noexpand_fyi</a>(tbl)&#160;&#160;&#160;/* can be defined to log noexpand  */</td></tr>
-<tr class="separator:a7cc237d8f87de3836b5390856cfc5c86"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a86ea78714da520989a6f7a764b4d71b4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a86ea78714da520989a6f7a764b4d71b4">uthash_expand_fyi</a>(tbl)&#160;&#160;&#160;/* can be defined to log expands   */</td></tr>
-<tr class="separator:a86ea78714da520989a6f7a764b4d71b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a361cdc5e8d6d8fe5fae6912588ae15d0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a361cdc5e8d6d8fe5fae6912588ae15d0">HASH_INITIAL_NUM_BUCKETS</a>&#160;&#160;&#160;32      /* initial number of buckets        */</td></tr>
-<tr class="separator:a361cdc5e8d6d8fe5fae6912588ae15d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0b39a5cf1d6c05c43bd8530db2ec908c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a0b39a5cf1d6c05c43bd8530db2ec908c">HASH_INITIAL_NUM_BUCKETS_LOG2</a>&#160;&#160;&#160;5  /* lg2 of initial number of buckets */</td></tr>
-<tr class="separator:a0b39a5cf1d6c05c43bd8530db2ec908c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8ae3e6473261f6c4b78c030c94f5d68f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a8ae3e6473261f6c4b78c030c94f5d68f">HASH_BKT_CAPACITY_THRESH</a>&#160;&#160;&#160;10      /* expand when bucket count reaches */</td></tr>
-<tr class="separator:a8ae3e6473261f6c4b78c030c94f5d68f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a568e95048979b8b3e4ea1567fd91c186"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a568e95048979b8b3e4ea1567fd91c186">ELMT_FROM_HH</a>(tbl, hhp)&#160;&#160;&#160;((void*)(((char*)(hhp)) - ((tbl)-&gt;hho)))</td></tr>
-<tr class="separator:a568e95048979b8b3e4ea1567fd91c186"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad4a1cd39c3044936c0e49d3f372c9dbf"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#ad4a1cd39c3044936c0e49d3f372c9dbf">HASH_FIND</a>(hh, head, keyptr, keylen, out)</td></tr>
-<tr class="separator:ad4a1cd39c3044936c0e49d3f372c9dbf"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a254f427772a1fe7a2480a8302af8f8b8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a254f427772a1fe7a2480a8302af8f8b8">HASH_BLOOM_MAKE</a>(tbl)</td></tr>
-<tr class="separator:a254f427772a1fe7a2480a8302af8f8b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad6847ad938fc26bfd0726d7f159efd0a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#ad6847ad938fc26bfd0726d7f159efd0a">HASH_BLOOM_FREE</a>(tbl)</td></tr>
-<tr class="separator:ad6847ad938fc26bfd0726d7f159efd0a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:acaad947212056cd8bfe3d660265fb2db"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#acaad947212056cd8bfe3d660265fb2db">HASH_BLOOM_ADD</a>(tbl, hashv)</td></tr>
-<tr class="separator:acaad947212056cd8bfe3d660265fb2db"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a06bfbf880899d54da35487d0d39c1009"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a06bfbf880899d54da35487d0d39c1009">HASH_BLOOM_TEST</a>(tbl, hashv)&#160;&#160;&#160;(1)</td></tr>
-<tr class="separator:a06bfbf880899d54da35487d0d39c1009"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aeba971430f623b6334f565d9c7ec9de5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#aeba971430f623b6334f565d9c7ec9de5">HASH_MAKE_TABLE</a>(hh, head)</td></tr>
-<tr class="separator:aeba971430f623b6334f565d9c7ec9de5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aaf01358e257c8d838eb5e4b189f0c399"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#aaf01358e257c8d838eb5e4b189f0c399">HASH_ADD</a>(hh, head, fieldname, keylen_in, add)&#160;&#160;&#160;<a class="el" href="uthash_8h.html#a0b7468360b5c788762cdb2ccf9cd4d26">HASH_ADD_KEYPTR</a>(hh,head,&amp;add-&gt;fieldname,keylen_in,add)</td></tr>
-<tr class="separator:aaf01358e257c8d838eb5e4b189f0c399"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0b7468360b5c788762cdb2ccf9cd4d26"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a0b7468360b5c788762cdb2ccf9cd4d26">HASH_ADD_KEYPTR</a>(hh, head, keyptr, keylen_in, add)</td></tr>
-<tr class="separator:a0b7468360b5c788762cdb2ccf9cd4d26"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4d7691544128a6ef265f3e4fa5ed3113"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a4d7691544128a6ef265f3e4fa5ed3113">HASH_TO_BKT</a>(hashv, num_bkts, bkt)</td></tr>
-<tr class="separator:a4d7691544128a6ef265f3e4fa5ed3113"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3f83117e1108d63844a58d2d79c3b980"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a3f83117e1108d63844a58d2d79c3b980">HASH_DELETE</a>(hh, head, delptr)</td></tr>
-<tr class="separator:a3f83117e1108d63844a58d2d79c3b980"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a214529083adfab2fa8cd402d2eeb0a84"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a214529083adfab2fa8cd402d2eeb0a84">HASH_FIND_STR</a>(head, findstr, out)&#160;&#160;&#160;<a class="el" href="uthash_8h.html#ad4a1cd39c3044936c0e49d3f372c9dbf">HASH_FIND</a>(hh,head,findstr,strlen(findstr),out)</td></tr>
-<tr class="separator:a214529083adfab2fa8cd402d2eeb0a84"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9724951736f3985f74df17638c8a7885"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a9724951736f3985f74df17638c8a7885">HASH_ADD_STR</a>(head, strfield, add)&#160;&#160;&#160;<a class="el" href="uthash_8h.html#aaf01358e257c8d838eb5e4b189f0c399">HASH_ADD</a>(hh,head,strfield,strlen(add-&gt;strfield),add)</td></tr>
-<tr class="separator:a9724951736f3985f74df17638c8a7885"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aadcb19b940348f3141bd51505ede0142"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#aadcb19b940348f3141bd51505ede0142">HASH_FIND_INT</a>(head, findint, out)&#160;&#160;&#160;<a class="el" href="uthash_8h.html#ad4a1cd39c3044936c0e49d3f372c9dbf">HASH_FIND</a>(hh,head,findint,sizeof(int),out)</td></tr>
-<tr class="separator:aadcb19b940348f3141bd51505ede0142"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:acf85835471af894e354efb7e346698f3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#acf85835471af894e354efb7e346698f3">HASH_ADD_INT</a>(head, intfield, add)&#160;&#160;&#160;<a class="el" href="uthash_8h.html#aaf01358e257c8d838eb5e4b189f0c399">HASH_ADD</a>(hh,head,intfield,sizeof(int),add)</td></tr>
-<tr class="separator:acf85835471af894e354efb7e346698f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a26a887f8e31952034becac0cf446f6c3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a26a887f8e31952034becac0cf446f6c3">HASH_FIND_PTR</a>(head, findptr, out)&#160;&#160;&#160;<a class="el" href="uthash_8h.html#ad4a1cd39c3044936c0e49d3f372c9dbf">HASH_FIND</a>(hh,head,findptr,sizeof(void *),out)</td></tr>
-<tr class="separator:a26a887f8e31952034becac0cf446f6c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2ad1f84ef1ba9df99fa2ada38cb61823"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a2ad1f84ef1ba9df99fa2ada38cb61823">HASH_ADD_PTR</a>(head, ptrfield, add)&#160;&#160;&#160;<a class="el" href="uthash_8h.html#aaf01358e257c8d838eb5e4b189f0c399">HASH_ADD</a>(hh,head,ptrfield,sizeof(void *),add)</td></tr>
-<tr class="separator:a2ad1f84ef1ba9df99fa2ada38cb61823"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a48b7ed374602dcb236501aa23a971f05"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a48b7ed374602dcb236501aa23a971f05">HASH_DEL</a>(head, delptr)&#160;&#160;&#160;<a class="el" href="uthash_8h.html#a3f83117e1108d63844a58d2d79c3b980">HASH_DELETE</a>(hh,head,delptr)</td></tr>
-<tr class="separator:a48b7ed374602dcb236501aa23a971f05"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7d882fadb26a4e6c13c134d8be4d0759"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a7d882fadb26a4e6c13c134d8be4d0759">HASH_FSCK</a>(hh, head)</td></tr>
-<tr class="separator:a7d882fadb26a4e6c13c134d8be4d0759"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a44f9d46e2cc79652492e5dd3e6c40a15"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a44f9d46e2cc79652492e5dd3e6c40a15">HASH_EMIT_KEY</a>(hh, head, keyptr, fieldlen)</td></tr>
-<tr class="separator:a44f9d46e2cc79652492e5dd3e6c40a15"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:abd3356419b386c379116393700a751d3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#abd3356419b386c379116393700a751d3">HASH_FCN</a>&#160;&#160;&#160;<a class="el" href="uthash_8h.html#aa16e3ae6125d7f10d3deb4695e0ee51e">HASH_JEN</a></td></tr>
-<tr class="separator:abd3356419b386c379116393700a751d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7271bf51d7fe2cf2c183578aee73601e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a7271bf51d7fe2cf2c183578aee73601e">HASH_BER</a>(key, keylen, num_bkts, hashv, bkt)</td></tr>
-<tr class="separator:a7271bf51d7fe2cf2c183578aee73601e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa4cb140b45415e7bf57237525388af79"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#aa4cb140b45415e7bf57237525388af79">HASH_SAX</a>(key, keylen, num_bkts, hashv, bkt)</td></tr>
-<tr class="separator:aa4cb140b45415e7bf57237525388af79"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac99f9a353421537527a80b392089dd9d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#ac99f9a353421537527a80b392089dd9d">HASH_FNV</a>(key, keylen, num_bkts, hashv, bkt)</td></tr>
-<tr class="separator:ac99f9a353421537527a80b392089dd9d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:abc7040b698211c1993441fb4165fa0b4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#abc7040b698211c1993441fb4165fa0b4">HASH_OAT</a>(key, keylen, num_bkts, hashv, bkt)</td></tr>
-<tr class="separator:abc7040b698211c1993441fb4165fa0b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6d37144e54d2bd49eb88fbfd04c59dc5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a6d37144e54d2bd49eb88fbfd04c59dc5">HASH_JEN_MIX</a>(a, b, c)</td></tr>
-<tr class="separator:a6d37144e54d2bd49eb88fbfd04c59dc5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa16e3ae6125d7f10d3deb4695e0ee51e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#aa16e3ae6125d7f10d3deb4695e0ee51e">HASH_JEN</a>(key, keylen, num_bkts, hashv, bkt)</td></tr>
-<tr class="separator:aa16e3ae6125d7f10d3deb4695e0ee51e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:abc7d71657be8975a51684e41029b7964"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#abc7d71657be8975a51684e41029b7964">get16bits</a>(d)</td></tr>
-<tr class="separator:abc7d71657be8975a51684e41029b7964"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab595698a74642684dace0dfa47dab445"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#ab595698a74642684dace0dfa47dab445">HASH_SFH</a>(key, keylen, num_bkts, hashv, bkt)</td></tr>
-<tr class="separator:ab595698a74642684dace0dfa47dab445"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a35c9b682ebb7a8cbf284b9f0a9594095"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a35c9b682ebb7a8cbf284b9f0a9594095">HASH_KEYCMP</a>(a, b, len)&#160;&#160;&#160;memcmp(a,b,len)</td></tr>
-<tr class="separator:a35c9b682ebb7a8cbf284b9f0a9594095"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a42ae87cc63106a82601808f19329502c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a42ae87cc63106a82601808f19329502c">HASH_FIND_IN_BKT</a>(tbl, hh, head, keyptr, keylen_in, out)</td></tr>
-<tr class="separator:a42ae87cc63106a82601808f19329502c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a78e11adee321f45c5cb31ff2d6eb0348"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a78e11adee321f45c5cb31ff2d6eb0348">HASH_ADD_TO_BKT</a>(head, addhh)</td></tr>
-<tr class="separator:a78e11adee321f45c5cb31ff2d6eb0348"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1b2d6f694f98cf6350cdd18225cb3f78"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a1b2d6f694f98cf6350cdd18225cb3f78">HASH_DEL_IN_BKT</a>(hh, head, hh_del)</td></tr>
-<tr class="separator:a1b2d6f694f98cf6350cdd18225cb3f78"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6439fd6271474e61b1840fbf83132f03"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a6439fd6271474e61b1840fbf83132f03">HASH_EXPAND_BUCKETS</a>(tbl)</td></tr>
-<tr class="separator:a6439fd6271474e61b1840fbf83132f03"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a88d2ab40956878caacd02c214f7e8f15"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a88d2ab40956878caacd02c214f7e8f15">HASH_SORT</a>(head, cmpfcn)&#160;&#160;&#160;<a class="el" href="uthash_8h.html#a388b4071dcff005154f431d3d3025fbd">HASH_SRT</a>(hh,head,cmpfcn)</td></tr>
-<tr class="separator:a88d2ab40956878caacd02c214f7e8f15"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a388b4071dcff005154f431d3d3025fbd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a388b4071dcff005154f431d3d3025fbd">HASH_SRT</a>(hh, head, cmpfcn)</td></tr>
-<tr class="separator:a388b4071dcff005154f431d3d3025fbd"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad190366f7a476ece79bd628240a5fc93"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#ad190366f7a476ece79bd628240a5fc93">HASH_SELECT</a>(hh_dst, dst, hh_src, src, cond)</td></tr>
-<tr class="separator:ad190366f7a476ece79bd628240a5fc93"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0512b3f7a824275579ec82643ef2cc23"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a0512b3f7a824275579ec82643ef2cc23">HASH_CLEAR</a>(hh, head)</td></tr>
-<tr class="separator:a0512b3f7a824275579ec82643ef2cc23"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4d524042f1fcb976d8bccae9e4cc63d6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a4d524042f1fcb976d8bccae9e4cc63d6">HASH_ITER</a>(hh, head, el, tmp)</td></tr>
-<tr class="separator:a4d524042f1fcb976d8bccae9e4cc63d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7d3edf55a3ee4da1a0e1b477c314342f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a7d3edf55a3ee4da1a0e1b477c314342f">HASH_COUNT</a>(head)&#160;&#160;&#160;<a class="el" href="uthash_8h.html#a6ea9e661cd8c35eff1fdcd5731127edd">HASH_CNT</a>(hh,head)</td></tr>
-<tr class="separator:a7d3edf55a3ee4da1a0e1b477c314342f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6ea9e661cd8c35eff1fdcd5731127edd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a6ea9e661cd8c35eff1fdcd5731127edd">HASH_CNT</a>(hh, head)&#160;&#160;&#160;((head)?((head)-&gt;hh.tbl-&gt;num_items):0)</td></tr>
-<tr class="separator:a6ea9e661cd8c35eff1fdcd5731127edd"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4a7a46b9b92a9c73e4f9321e8e6b6bb2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a4a7a46b9b92a9c73e4f9321e8e6b6bb2">HASH_SIGNATURE</a>&#160;&#160;&#160;0xa0111fe1</td></tr>
-<tr class="separator:a4a7a46b9b92a9c73e4f9321e8e6b6bb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a18a33f4269f05c1e81ce54edbc0ffca6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a18a33f4269f05c1e81ce54edbc0ffca6">HASH_BLOOM_SIGNATURE</a>&#160;&#160;&#160;0xb12220f2</td></tr>
-<tr class="separator:a18a33f4269f05c1e81ce54edbc0ffca6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
-Typedefs</h2></td></tr>
-<tr class="memitem:a3ba3da0ca59a082c35a0d6b52e803ddf"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structUT__hash__bucket.html">UT_hash_bucket</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a3ba3da0ca59a082c35a0d6b52e803ddf">UT_hash_bucket</a></td></tr>
-<tr class="separator:a3ba3da0ca59a082c35a0d6b52e803ddf"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0758074b9942c2ad076610b3e0ce548e"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structUT__hash__table.html">UT_hash_table</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a0758074b9942c2ad076610b3e0ce548e">UT_hash_table</a></td></tr>
-<tr class="separator:a0758074b9942c2ad076610b3e0ce548e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0e3a99ed9f776349720d0c362f956fb6"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structUT__hash__handle.html">UT_hash_handle</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a0e3a99ed9f776349720d0c362f956fb6">UT_hash_handle</a></td></tr>
-<tr class="separator:a0e3a99ed9f776349720d0c362f956fb6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<h2 class="groupheader">Macro Definition Documentation</h2>
-<a class="anchor" id="a716ba290563c2d955cb0c90d85874073"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DECLTYPE</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">x</td><td>)</td>
-          <td>&#160;&#160;&#160;(__typeof(x))</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00042">42</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a3c736f2f2dd643f2987b2bc323e269ba"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DECLTYPE_ASSIGN</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">dst, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">src&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">do</span> {                                                                             \</div>
-<div class="line">  (dst) = <a class="code" href="uthash_8h.html#a716ba290563c2d955cb0c90d85874073">DECLTYPE</a>(dst)(src);                                                    \</div>
-<div class="line">} <span class="keywordflow">while</span>(0)</div>
-<div class="ttc" id="uthash_8h_html_a716ba290563c2d955cb0c90d85874073"><div class="ttname"><a href="uthash_8h.html#a716ba290563c2d955cb0c90d85874073">DECLTYPE</a></div><div class="ttdeci">#define DECLTYPE(x)</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00042">uthash.h:42</a></div></div>
-</div><!-- fragment -->
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00052">52</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a568e95048979b8b3e4ea1567fd91c186"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define ELMT_FROM_HH</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">tbl, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">hhp&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td>&#160;&#160;&#160;((void*)(((char*)(hhp)) - ((tbl)-&gt;hho)))</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00080">80</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="abc7d71657be8975a51684e41029b7964"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define get16bits</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">d</td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<b>Value:</b><div class="fragment"><div class="line">((((uint32_t)(((<span class="keyword">const</span> uint8_t *)(d))[1])) &lt;&lt; 8)             \</div>
-<div class="line">                       +(uint32_t)(((<span class="keyword">const</span> uint8_t *)(d))[0]) )</div>
-</div><!-- fragment -->
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00436">436</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aaf01358e257c8d838eb5e4b189f0c399"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HASH_ADD</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">hh, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">head, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">fieldname, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">keylen_in, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">add&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td>&#160;&#160;&#160;<a class="el" href="uthash_8h.html#a0b7468360b5c788762cdb2ccf9cd4d26">HASH_ADD_KEYPTR</a>(hh,head,&amp;add-&gt;fieldname,keylen_in,add)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00147">147</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="acf85835471af894e354efb7e346698f3"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HASH_ADD_INT</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">head, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">intfield, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">add&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td>&#160;&#160;&#160;<a class="el" href="uthash_8h.html#aaf01358e257c8d838eb5e4b189f0c399">HASH_ADD</a>(hh,head,intfield,sizeof(int),add)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00235">235</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a0b7468360b5c788762cdb2ccf9cd4d26"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HASH_ADD_KEYPTR</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">hh, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">head, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">keyptr, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">keylen_in, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">add&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">do</span> {                                                                             \</div>
-<div class="line"> unsigned _ha_bkt;                                                               \</div>
-<div class="line"> (add)-&gt;hh.next = NULL;                                                          \</div>
-<div class="line"> (add)-&gt;hh.key = (<span class="keywordtype">char</span>*)keyptr;                                                  \</div>
-<div class="line"> (add)-&gt;hh.keylen = keylen_in;                                                   \</div>
-<div class="line"> if (!(head)) {                                                                  \</div>
-<div class="line">    head = (add);                                                                \</div>
-<div class="line">    (head)-&gt;hh.prev = NULL;                                                      \</div>
-<div class="line">    <a class="code" href="uthash_8h.html#aeba971430f623b6334f565d9c7ec9de5">HASH_MAKE_TABLE</a>(hh,head);                                                    \</div>
-<div class="line"> } <span class="keywordflow">else</span> {                                                                        \</div>
-<div class="line">    (head)-&gt;hh.tbl-&gt;tail-&gt;next = (add);                                          \</div>
-<div class="line">    (add)-&gt;hh.prev = <a class="code" href="uthash_8h.html#a568e95048979b8b3e4ea1567fd91c186">ELMT_FROM_HH</a>((head)-&gt;hh.tbl, (head)-&gt;hh.tbl-&gt;tail);         \</div>
-<div class="line">    (head)-&gt;hh.tbl-&gt;tail = &amp;((add)-&gt;hh);                                         \</div>
-<div class="line"> }                                                                               \</div>
-<div class="line"> (head)-&gt;hh.tbl-&gt;num_items++;                                                    \</div>
-<div class="line"> (add)-&gt;hh.tbl = (head)-&gt;hh.tbl;                                                 \</div>
-<div class="line"> <a class="code" href="uthash_8h.html#abd3356419b386c379116393700a751d3">HASH_FCN</a>(keyptr,keylen_in, (head)-&gt;hh.tbl-&gt;num_buckets,                         \</div>
-<div class="line">         (add)-&gt;hh.hashv, _ha_bkt);                                              <a class="code" href="uthash_8h.html#a78e11adee321f45c5cb31ff2d6eb0348">\</a></div>
-<div class="line"><a class="code" href="uthash_8h.html#a78e11adee321f45c5cb31ff2d6eb0348"> HASH_ADD_TO_BKT</a>((head)-&gt;hh.tbl-&gt;buckets[_ha_bkt],&amp;(add)-&gt;hh);                   <a class="code" href="uthash_8h.html#acaad947212056cd8bfe3d660265fb2db">\</a></div>
-<div class="line"><a class="code" href="uthash_8h.html#acaad947212056cd8bfe3d660265fb2db"> HASH_BLOOM_ADD</a>((head)-&gt;hh.tbl,(add)-&gt;hh.hashv);                                 <a class="code" href="uthash_8h.html#a44f9d46e2cc79652492e5dd3e6c40a15">\</a></div>
-<div class="line"><a class="code" href="uthash_8h.html#a44f9d46e2cc79652492e5dd3e6c40a15"> HASH_EMIT_KEY</a>(hh,head,keyptr,keylen_in);                                        <a class="code" href="uthash_8h.html#a7d882fadb26a4e6c13c134d8be4d0759">\</a></div>
-<div class="line"><a class="code" href="uthash_8h.html#a7d882fadb26a4e6c13c134d8be4d0759"> HASH_FSCK</a>(hh,head);                                                             \</div>
-<div class="line">} <span class="keywordflow">while</span>(0)</div>
-<div class="ttc" id="uthash_8h_html_a7d882fadb26a4e6c13c134d8be4d0759"><div class="ttname"><a href="uthash_8h.html#a7d882fadb26a4e6c13c134d8be4d0759">HASH_FSCK</a></div><div class="ttdeci">#define HASH_FSCK(hh, head)</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00301">uthash.h:301</a></div></div>
-<div class="ttc" id="uthash_8h_html_abd3356419b386c379116393700a751d3"><div class="ttname"><a href="uthash_8h.html#abd3356419b386c379116393700a751d3">HASH_FCN</a></div><div class="ttdeci">#define HASH_FCN</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00322">uthash.h:322</a></div></div>
-<div class="ttc" id="uthash_8h_html_acaad947212056cd8bfe3d660265fb2db"><div class="ttname"><a href="uthash_8h.html#acaad947212056cd8bfe3d660265fb2db">HASH_BLOOM_ADD</a></div><div class="ttdeci">#define HASH_BLOOM_ADD(tbl, hashv)</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00124">uthash.h:124</a></div></div>
-<div class="ttc" id="uthash_8h_html_aeba971430f623b6334f565d9c7ec9de5"><div class="ttname"><a href="uthash_8h.html#aeba971430f623b6334f565d9c7ec9de5">HASH_MAKE_TABLE</a></div><div class="ttdeci">#define HASH_MAKE_TABLE(hh, head)</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00128">uthash.h:128</a></div></div>
-<div class="ttc" id="uthash_8h_html_a78e11adee321f45c5cb31ff2d6eb0348"><div class="ttname"><a href="uthash_8h.html#a78e11adee321f45c5cb31ff2d6eb0348">HASH_ADD_TO_BKT</a></div><div class="ttdeci">#define HASH_ADD_TO_BKT(head, addhh)</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00650">uthash.h:650</a></div></div>
-<div class="ttc" id="uthash_8h_html_a568e95048979b8b3e4ea1567fd91c186"><div class="ttname"><a href="uthash_8h.html#a568e95048979b8b3e4ea1567fd91c186">ELMT_FROM_HH</a></div><div class="ttdeci">#define ELMT_FROM_HH(tbl, hhp)</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00080">uthash.h:80</a></div></div>
-<div class="ttc" id="uthash_8h_html_a44f9d46e2cc79652492e5dd3e6c40a15"><div class="ttname"><a href="uthash_8h.html#a44f9d46e2cc79652492e5dd3e6c40a15">HASH_EMIT_KEY</a></div><div class="ttdeci">#define HASH_EMIT_KEY(hh, head, keyptr, fieldlen)</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00315">uthash.h:315</a></div></div>
-</div><!-- fragment -->
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00150">150</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a2ad1f84ef1ba9df99fa2ada38cb61823"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HASH_ADD_PTR</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">head, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">ptrfield, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">add&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td>&#160;&#160;&#160;<a class="el" href="uthash_8h.html#aaf01358e257c8d838eb5e4b189f0c399">HASH_ADD</a>(hh,head,ptrfield,sizeof(void *),add)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00239">239</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a9724951736f3985f74df17638c8a7885"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HASH_ADD_STR</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">head, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">strfield, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">add&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td>&#160;&#160;&#160;<a class="el" href="uthash_8h.html#aaf01358e257c8d838eb5e4b189f0c399">HASH_ADD</a>(hh,head,strfield,strlen(add-&gt;strfield),add)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00231">231</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a78e11adee321f45c5cb31ff2d6eb0348"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HASH_ADD_TO_BKT</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">head, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">addhh&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">do</span> {                                                                             \</div>
-<div class="line"> head.count++;                                                                   \</div>
-<div class="line"> (addhh)-&gt;<a class="code" href="structUT__hash__handle.html#a4f6989385499ba6f594b0f0facd28325">hh_next</a> = head.hh_head;                                                \</div>
-<div class="line"> (addhh)-&gt;<a class="code" href="structUT__hash__handle.html#a3ec03e34d7975d5c1981c44b324619b2">hh_prev</a> = NULL;                                                        \</div>
-<div class="line"> if (head.hh_head) { (head).hh_head-&gt;<a class="code" href="structUT__hash__handle.html#a3ec03e34d7975d5c1981c44b324619b2">hh_prev</a> = (addhh); }                        \</div>
-<div class="line"> (head).hh_head=addhh;                                                           \</div>
-<div class="line"> if (head.count &gt;= ((head.expand_mult+1) * <a class="code" href="uthash_8h.html#a8ae3e6473261f6c4b78c030c94f5d68f">HASH_BKT_CAPACITY_THRESH</a>)             \</div>
-<div class="line">     &amp;&amp; (addhh)-&gt;tbl-&gt;noexpand != 1) {                                           <a class="code" href="uthash_8h.html#a6439fd6271474e61b1840fbf83132f03">\</a></div>
-<div class="line"><a class="code" href="uthash_8h.html#a6439fd6271474e61b1840fbf83132f03">       HASH_EXPAND_BUCKETS</a>((addhh)-&gt;<a class="code" href="structUT__hash__handle.html#ad2035ee3b2aa55b22e352341372a5e73">tbl</a>);                                        \</div>
-<div class="line"> }                                                                               \</div>
-<div class="line">} <span class="keywordflow">while</span>(0)</div>
-<div class="ttc" id="uthash_8h_html_a6439fd6271474e61b1840fbf83132f03"><div class="ttname"><a href="uthash_8h.html#a6439fd6271474e61b1840fbf83132f03">HASH_EXPAND_BUCKETS</a></div><div class="ttdeci">#define HASH_EXPAND_BUCKETS(tbl)</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00705">uthash.h:705</a></div></div>
-<div class="ttc" id="structUT__hash__handle_html_a4f6989385499ba6f594b0f0facd28325"><div class="ttname"><a href="structUT__hash__handle.html#a4f6989385499ba6f594b0f0facd28325">UT_hash_handle::hh_next</a></div><div class="ttdeci">struct UT_hash_handle * hh_next</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00966">uthash.h:966</a></div></div>
-<div class="ttc" id="uthash_8h_html_a8ae3e6473261f6c4b78c030c94f5d68f"><div class="ttname"><a href="uthash_8h.html#a8ae3e6473261f6c4b78c030c94f5d68f">HASH_BKT_CAPACITY_THRESH</a></div><div class="ttdeci">#define HASH_BKT_CAPACITY_THRESH</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00077">uthash.h:77</a></div></div>
-<div class="ttc" id="structUT__hash__handle_html_ad2035ee3b2aa55b22e352341372a5e73"><div class="ttname"><a href="structUT__hash__handle.html#ad2035ee3b2aa55b22e352341372a5e73">UT_hash_handle::tbl</a></div><div class="ttdeci">struct UT_hash_table * tbl</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00962">uthash.h:962</a></div></div>
-<div class="ttc" id="structUT__hash__handle_html_a3ec03e34d7975d5c1981c44b324619b2"><div class="ttname"><a href="structUT__hash__handle.html#a3ec03e34d7975d5c1981c44b324619b2">UT_hash_handle::hh_prev</a></div><div class="ttdeci">struct UT_hash_handle * hh_prev</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00965">uthash.h:965</a></div></div>
-</div><!-- fragment -->
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00650">650</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a7271bf51d7fe2cf2c183578aee73601e"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HASH_BER</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">key, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">keylen, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">num_bkts, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">hashv, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">bkt&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">do</span> {                                                                             \</div>
-<div class="line">  unsigned _hb_keylen=<a class="code" href="structUT__hash__handle.html#af2abdc405972a6bbdee2ade2c0f346c4">keylen</a>;                                                    \</div>
-<div class="line">  char *_hb_key=(<span class="keywordtype">char</span>*)(<a class="code" href="structUT__hash__handle.html#a40690fc15aeaeba8f25385f05f84dd4d">key</a>);                                                    \</div>
-<div class="line">  (<a class="code" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">hashv</a>) = 0;                                                                   \</div>
-<div class="line">  while (_hb_keylen--)  { (<a class="code" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">hashv</a>) = ((<a class="code" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">hashv</a>) * 33) + *_hb_key++; }               \</div>
-<div class="line">  bkt = (<a class="code" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">hashv</a>) &amp; (num_bkts-1);                                                  \</div>
-<div class="line">} <span class="keywordflow">while</span> (0)</div>
-<div class="ttc" id="structUT__hash__handle_html_af2abdc405972a6bbdee2ade2c0f346c4"><div class="ttname"><a href="structUT__hash__handle.html#af2abdc405972a6bbdee2ade2c0f346c4">UT_hash_handle::keylen</a></div><div class="ttdeci">unsigned keylen</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00968">uthash.h:968</a></div></div>
-<div class="ttc" id="structUT__hash__handle_html_aae5e635fa110556e5007f627089f8323"><div class="ttname"><a href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">UT_hash_handle::hashv</a></div><div class="ttdeci">unsigned hashv</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00969">uthash.h:969</a></div></div>
-<div class="ttc" id="structUT__hash__handle_html_a40690fc15aeaeba8f25385f05f84dd4d"><div class="ttname"><a href="structUT__hash__handle.html#a40690fc15aeaeba8f25385f05f84dd4d">UT_hash_handle::key</a></div><div class="ttdeci">void * key</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00967">uthash.h:967</a></div></div>
-</div><!-- fragment -->
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00326">326</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a8ae3e6473261f6c4b78c030c94f5d68f"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HASH_BKT_CAPACITY_THRESH&#160;&#160;&#160;10      /* expand when bucket count reaches */</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00077">77</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="acaad947212056cd8bfe3d660265fb2db"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HASH_BLOOM_ADD</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">tbl, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">hashv&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00124">124</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ad6847ad938fc26bfd0726d7f159efd0a"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HASH_BLOOM_FREE</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">tbl</td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00123">123</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a254f427772a1fe7a2480a8302af8f8b8"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HASH_BLOOM_MAKE</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">tbl</td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00122">122</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a18a33f4269f05c1e81ce54edbc0ffca6"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HASH_BLOOM_SIGNATURE&#160;&#160;&#160;0xb12220f2</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00926">926</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a06bfbf880899d54da35487d0d39c1009"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HASH_BLOOM_TEST</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">tbl, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">hashv&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td>&#160;&#160;&#160;(1)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00125">125</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a0512b3f7a824275579ec82643ef2cc23"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HASH_CLEAR</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">hh, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">head&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">do</span> {                                                                             \</div>
-<div class="line">  if (head) {                                                                    <a class="code" href="uthash_8h.html#a56cdf8c254fc700332c8e6a7263b4657">\</a></div>
-<div class="line"><a class="code" href="uthash_8h.html#a56cdf8c254fc700332c8e6a7263b4657">    uthash_free</a>((head)-&gt;hh.tbl-&gt;buckets,                                         \</div>
-<div class="line">                (head)-&gt;hh.tbl-&gt;num_buckets*<span class="keyword">sizeof</span>(<span class="keyword">struct</span> <a class="code" href="structUT__hash__bucket.html">UT_hash_bucket</a>));      <a class="code" href="uthash_8h.html#a56cdf8c254fc700332c8e6a7263b4657">\</a></div>
-<div class="line"><a class="code" href="uthash_8h.html#a56cdf8c254fc700332c8e6a7263b4657">    uthash_free</a>((head)-&gt;hh.tbl, <span class="keyword">sizeof</span>(<a class="code" href="structUT__hash__table.html">UT_hash_table</a>));                          \</div>
-<div class="line">    (head)=NULL;                                                                 \</div>
-<div class="line">  }                                                                              \</div>
-<div class="line">} <span class="keywordflow">while</span>(0)</div>
-<div class="ttc" id="uthash_8h_html_a56cdf8c254fc700332c8e6a7263b4657"><div class="ttname"><a href="uthash_8h.html#a56cdf8c254fc700332c8e6a7263b4657">uthash_free</a></div><div class="ttdeci">#define uthash_free(ptr, sz)</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00069">uthash.h:69</a></div></div>
-<div class="ttc" id="structUT__hash__table_html"><div class="ttname"><a href="structUT__hash__table.html">UT_hash_table</a></div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00928">uthash.h:928</a></div></div>
-<div class="ttc" id="structUT__hash__bucket_html"><div class="ttname"><a href="structUT__hash__bucket.html">UT_hash_bucket</a></div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00904">uthash.h:904</a></div></div>
-</div><!-- fragment -->
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00880">880</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a6ea9e661cd8c35eff1fdcd5731127edd"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HASH_CNT</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">hh, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">head&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td>&#160;&#160;&#160;((head)?((head)-&gt;hh.tbl-&gt;num_items):0)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00902">902</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a7d3edf55a3ee4da1a0e1b477c314342f"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HASH_COUNT</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">head</td><td>)</td>
-          <td>&#160;&#160;&#160;<a class="el" href="uthash_8h.html#a6ea9e661cd8c35eff1fdcd5731127edd">HASH_CNT</a>(hh,head)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00901">901</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a48b7ed374602dcb236501aa23a971f05"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HASH_DEL</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">head, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">delptr&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td>&#160;&#160;&#160;<a class="el" href="uthash_8h.html#a3f83117e1108d63844a58d2d79c3b980">HASH_DELETE</a>(hh,head,delptr)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00241">241</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a1b2d6f694f98cf6350cdd18225cb3f78"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HASH_DEL_IN_BKT</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">hh, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">head, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">hh_del&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<b>Value:</b><div class="fragment"><div class="line">(head).count--;                                                              \</div>
-<div class="line">    if ((head).hh_head == hh_del) {                                              \</div>
-<div class="line">      (head).hh_head = hh_del-&gt;hh_next;                                          \</div>
-<div class="line">    }                                                                            \</div>
-<div class="line">    if (hh_del-&gt;hh_prev) {                                                       \</div>
-<div class="line">        hh_del-&gt;hh_prev-&gt;hh_next = hh_del-&gt;hh_next;                              \</div>
-<div class="line">    }                                                                            \</div>
-<div class="line">    if (hh_del-&gt;hh_next) {                                                       \</div>
-<div class="line">        hh_del-&gt;hh_next-&gt;hh_prev = hh_del-&gt;hh_prev;                              \</div>
-<div class="line">    }</div>
-</div><!-- fragment -->
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00664">664</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a3f83117e1108d63844a58d2d79c3b980"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HASH_DELETE</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">hh, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">head, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">delptr&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00192">192</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a44f9d46e2cc79652492e5dd3e6c40a15"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HASH_EMIT_KEY</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">hh, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">head, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">keyptr, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">fieldlen&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00315">315</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a6439fd6271474e61b1840fbf83132f03"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HASH_EXPAND_BUCKETS</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">tbl</td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00705">705</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="abd3356419b386c379116393700a751d3"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HASH_FCN&#160;&#160;&#160;<a class="el" href="uthash_8h.html#aa16e3ae6125d7f10d3deb4695e0ee51e">HASH_JEN</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00322">322</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ad4a1cd39c3044936c0e49d3f372c9dbf"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HASH_FIND</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">hh, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">head, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">keyptr, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">keylen, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">out&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">do</span> {                                                                             \</div>
-<div class="line">  unsigned _hf_bkt,_hf_hashv;                                                    \</div>
-<div class="line">  out=NULL;                                                                      \</div>
-<div class="line">  if (head) {                                                                    <a class="code" href="uthash_8h.html#abd3356419b386c379116393700a751d3">\</a></div>
-<div class="line"><a class="code" href="uthash_8h.html#abd3356419b386c379116393700a751d3">     HASH_FCN</a>(keyptr,<a class="code" href="structUT__hash__handle.html#af2abdc405972a6bbdee2ade2c0f346c4">keylen</a>, (head)-&gt;hh.tbl-&gt;num_buckets, _hf_hashv, _hf_bkt);   \</div>
-<div class="line">     if (<a class="code" href="uthash_8h.html#a06bfbf880899d54da35487d0d39c1009">HASH_BLOOM_TEST</a>((head)-&gt;hh.tbl, _hf_hashv)) {                           <a class="code" href="uthash_8h.html#a42ae87cc63106a82601808f19329502c">\</a></div>
-<div class="line"><a class="code" href="uthash_8h.html#a42ae87cc63106a82601808f19329502c">       HASH_FIND_IN_BKT</a>((head)-&gt;hh.tbl, hh, (head)-&gt;hh.tbl-&gt;buckets[ _hf_bkt ],  \</div>
-<div class="line">                        keyptr,<a class="code" href="structUT__hash__handle.html#af2abdc405972a6bbdee2ade2c0f346c4">keylen</a>,out);                                      \</div>
-<div class="line">     }                                                                           \</div>
-<div class="line">  }                                                                              \</div>
-<div class="line">} <span class="keywordflow">while</span> (0)</div>
-<div class="ttc" id="uthash_8h_html_abd3356419b386c379116393700a751d3"><div class="ttname"><a href="uthash_8h.html#abd3356419b386c379116393700a751d3">HASH_FCN</a></div><div class="ttdeci">#define HASH_FCN</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00322">uthash.h:322</a></div></div>
-<div class="ttc" id="structUT__hash__handle_html_af2abdc405972a6bbdee2ade2c0f346c4"><div class="ttname"><a href="structUT__hash__handle.html#af2abdc405972a6bbdee2ade2c0f346c4">UT_hash_handle::keylen</a></div><div class="ttdeci">unsigned keylen</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00968">uthash.h:968</a></div></div>
-<div class="ttc" id="uthash_8h_html_a06bfbf880899d54da35487d0d39c1009"><div class="ttname"><a href="uthash_8h.html#a06bfbf880899d54da35487d0d39c1009">HASH_BLOOM_TEST</a></div><div class="ttdeci">#define HASH_BLOOM_TEST(tbl, hashv)</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00125">uthash.h:125</a></div></div>
-<div class="ttc" id="uthash_8h_html_a42ae87cc63106a82601808f19329502c"><div class="ttname"><a href="uthash_8h.html#a42ae87cc63106a82601808f19329502c">HASH_FIND_IN_BKT</a></div><div class="ttdeci">#define HASH_FIND_IN_BKT(tbl, hh, head, keyptr, keylen_in, out)</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00636">uthash.h:636</a></div></div>
-</div><!-- fragment -->
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00082">82</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a42ae87cc63106a82601808f19329502c"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HASH_FIND_IN_BKT</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">tbl, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">hh, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">head, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">keyptr, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">keylen_in, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">out&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">do</span> {                                                                             \</div>
-<div class="line"> if (head.hh_head) <a class="code" href="uthash_8h.html#a3c736f2f2dd643f2987b2bc323e269ba">DECLTYPE_ASSIGN</a>(out,<a class="code" href="uthash_8h.html#a568e95048979b8b3e4ea1567fd91c186">ELMT_FROM_HH</a>(<a class="code" href="structUT__hash__handle.html#ad2035ee3b2aa55b22e352341372a5e73">tbl</a>,head.hh_head));          \</div>
-<div class="line"> else out=NULL;                                                                  \</div>
-<div class="line"> while (out) {                                                                   \</div>
-<div class="line">    if (out-&gt;hh.keylen == keylen_in) {                                           \</div>
-<div class="line">        if ((<a class="code" href="uthash_8h.html#a35c9b682ebb7a8cbf284b9f0a9594095">HASH_KEYCMP</a>(out-&gt;hh.key,keyptr,keylen_in)) == 0) break;             \</div>
-<div class="line">    }                                                                            \</div>
-<div class="line">    if (out-&gt;hh.<a class="code" href="structUT__hash__handle.html#a4f6989385499ba6f594b0f0facd28325">hh_next</a>) <a class="code" href="uthash_8h.html#a3c736f2f2dd643f2987b2bc323e269ba">DECLTYPE_ASSIGN</a>(out,<a class="code" href="uthash_8h.html#a568e95048979b8b3e4ea1567fd91c186">ELMT_FROM_HH</a>(tbl,out-&gt;hh.<a class="code" href="structUT__hash__handle.html#a4f6989385499ba6f594b0f0facd28325">hh_next</a>)); \</div>
-<div class="line">    else out = NULL;                                                             \</div>
-<div class="line"> }                                                                               \</div>
-<div class="line">} while(0)</div>
-<div class="ttc" id="structUT__hash__handle_html_a4f6989385499ba6f594b0f0facd28325"><div class="ttname"><a href="structUT__hash__handle.html#a4f6989385499ba6f594b0f0facd28325">UT_hash_handle::hh_next</a></div><div class="ttdeci">struct UT_hash_handle * hh_next</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00966">uthash.h:966</a></div></div>
-<div class="ttc" id="uthash_8h_html_a3c736f2f2dd643f2987b2bc323e269ba"><div class="ttname"><a href="uthash_8h.html#a3c736f2f2dd643f2987b2bc323e269ba">DECLTYPE_ASSIGN</a></div><div class="ttdeci">#define DECLTYPE_ASSIGN(dst, src)</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00052">uthash.h:52</a></div></div>
-<div class="ttc" id="structUT__hash__handle_html_ad2035ee3b2aa55b22e352341372a5e73"><div class="ttname"><a href="structUT__hash__handle.html#ad2035ee3b2aa55b22e352341372a5e73">UT_hash_handle::tbl</a></div><div class="ttdeci">struct UT_hash_table * tbl</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00962">uthash.h:962</a></div></div>
-<div class="ttc" id="uthash_8h_html_a35c9b682ebb7a8cbf284b9f0a9594095"><div class="ttname"><a href="uthash_8h.html#a35c9b682ebb7a8cbf284b9f0a9594095">HASH_KEYCMP</a></div><div class="ttdeci">#define HASH_KEYCMP(a, b, len)</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00633">uthash.h:633</a></div></div>
-<div class="ttc" id="uthash_8h_html_a568e95048979b8b3e4ea1567fd91c186"><div class="ttname"><a href="uthash_8h.html#a568e95048979b8b3e4ea1567fd91c186">ELMT_FROM_HH</a></div><div class="ttdeci">#define ELMT_FROM_HH(tbl, hhp)</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00080">uthash.h:80</a></div></div>
-</div><!-- fragment -->
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00636">636</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aadcb19b940348f3141bd51505ede0142"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HASH_FIND_INT</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">head, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">findint, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">out&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td>&#160;&#160;&#160;<a class="el" href="uthash_8h.html#ad4a1cd39c3044936c0e49d3f372c9dbf">HASH_FIND</a>(hh,head,findint,sizeof(int),out)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00233">233</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a26a887f8e31952034becac0cf446f6c3"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HASH_FIND_PTR</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">head, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">findptr, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">out&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td>&#160;&#160;&#160;<a class="el" href="uthash_8h.html#ad4a1cd39c3044936c0e49d3f372c9dbf">HASH_FIND</a>(hh,head,findptr,sizeof(void *),out)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00237">237</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a214529083adfab2fa8cd402d2eeb0a84"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HASH_FIND_STR</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">head, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">findstr, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">out&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td>&#160;&#160;&#160;<a class="el" href="uthash_8h.html#ad4a1cd39c3044936c0e49d3f372c9dbf">HASH_FIND</a>(hh,head,findstr,strlen(findstr),out)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00229">229</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ac99f9a353421537527a80b392089dd9d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HASH_FNV</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">key, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">keylen, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">num_bkts, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">hashv, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">bkt&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">do</span> {                                                                             \</div>
-<div class="line">  unsigned _fn_i;                                                                \</div>
-<div class="line">  char *_hf_key=(<span class="keywordtype">char</span>*)(<a class="code" href="structUT__hash__handle.html#a40690fc15aeaeba8f25385f05f84dd4d">key</a>);                                                    <a class="code" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">\</a></div>
-<div class="line"><a class="code" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">  hashv</a> = 2166136261UL;                                                          \</div>
-<div class="line">  for(_fn_i=0; _fn_i &lt; <a class="code" href="structUT__hash__handle.html#af2abdc405972a6bbdee2ade2c0f346c4">keylen</a>; _fn_i++)                                          \</div>
-<div class="line">      <a class="code" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">hashv</a> = (<a class="code" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">hashv</a> * 16777619) ^ _hf_key[_fn_i];                               \</div>
-<div class="line">  bkt = <a class="code" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">hashv</a> &amp; (num_bkts-1);                                                    \</div>
-<div class="line">} <span class="keywordflow">while</span>(0);</div>
-<div class="ttc" id="structUT__hash__handle_html_af2abdc405972a6bbdee2ade2c0f346c4"><div class="ttname"><a href="structUT__hash__handle.html#af2abdc405972a6bbdee2ade2c0f346c4">UT_hash_handle::keylen</a></div><div class="ttdeci">unsigned keylen</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00968">uthash.h:968</a></div></div>
-<div class="ttc" id="structUT__hash__handle_html_aae5e635fa110556e5007f627089f8323"><div class="ttname"><a href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">UT_hash_handle::hashv</a></div><div class="ttdeci">unsigned hashv</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00969">uthash.h:969</a></div></div>
-<div class="ttc" id="structUT__hash__handle_html_a40690fc15aeaeba8f25385f05f84dd4d"><div class="ttname"><a href="structUT__hash__handle.html#a40690fc15aeaeba8f25385f05f84dd4d">UT_hash_handle::key</a></div><div class="ttdeci">void * key</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00967">uthash.h:967</a></div></div>
-</div><!-- fragment -->
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00348">348</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a7d882fadb26a4e6c13c134d8be4d0759"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HASH_FSCK</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">hh, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">head&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00301">301</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a361cdc5e8d6d8fe5fae6912588ae15d0"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HASH_INITIAL_NUM_BUCKETS&#160;&#160;&#160;32      /* initial number of buckets        */</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00075">75</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a0b39a5cf1d6c05c43bd8530db2ec908c"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HASH_INITIAL_NUM_BUCKETS_LOG2&#160;&#160;&#160;5  /* lg2 of initial number of buckets */</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00076">76</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a4d524042f1fcb976d8bccae9e4cc63d6"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HASH_ITER</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">hh, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">head, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">el, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">tmp&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">for</span>((el)=(head),(tmp)=<a class="code" href="uthash_8h.html#a716ba290563c2d955cb0c90d85874073">DECLTYPE</a>(el)((head)?(head)-&gt;hh.next:NULL);                 \</div>
-<div class="line">  el; (el)=(tmp),(tmp)=<a class="code" href="uthash_8h.html#a716ba290563c2d955cb0c90d85874073">DECLTYPE</a>(el)((tmp)?(tmp)-&gt;hh.next:NULL))</div>
-<div class="ttc" id="uthash_8h_html_a716ba290563c2d955cb0c90d85874073"><div class="ttname"><a href="uthash_8h.html#a716ba290563c2d955cb0c90d85874073">DECLTYPE</a></div><div class="ttdeci">#define DECLTYPE(x)</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00042">uthash.h:42</a></div></div>
-</div><!-- fragment -->
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00895">895</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aa16e3ae6125d7f10d3deb4695e0ee51e"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HASH_JEN</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">key, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">keylen, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">num_bkts, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">hashv, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">bkt&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00387">387</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a6d37144e54d2bd49eb88fbfd04c59dc5"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HASH_JEN_MIX</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">a, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">b, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">c&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">do</span> {                                                                             \</div>
-<div class="line">  a -= b; a -= c; a ^= ( c &gt;&gt; 13 );                                              \</div>
-<div class="line">  b -= c; b -= a; b ^= ( a &lt;&lt; 8 );                                               \</div>
-<div class="line">  c -= a; c -= b; c ^= ( b &gt;&gt; 13 );                                              \</div>
-<div class="line">  a -= b; a -= c; a ^= ( c &gt;&gt; 12 );                                              \</div>
-<div class="line">  b -= c; b -= a; b ^= ( a &lt;&lt; 16 );                                              \</div>
-<div class="line">  c -= a; c -= b; c ^= ( b &gt;&gt; 5 );                                               \</div>
-<div class="line">  a -= b; a -= c; a ^= ( c &gt;&gt; 3 );                                               \</div>
-<div class="line">  b -= c; b -= a; b ^= ( a &lt;&lt; 10 );                                              \</div>
-<div class="line">  c -= a; c -= b; c ^= ( b &gt;&gt; 15 );                                              \</div>
-<div class="line">} <span class="keywordflow">while</span> (0)</div>
-</div><!-- fragment -->
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00374">374</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a35c9b682ebb7a8cbf284b9f0a9594095"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HASH_KEYCMP</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">a, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">b, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">len&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td>&#160;&#160;&#160;memcmp(a,b,len)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00633">633</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aeba971430f623b6334f565d9c7ec9de5"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HASH_MAKE_TABLE</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">hh, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">head&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">do</span> {                                                                             \</div>
-<div class="line">  (head)-&gt;hh.tbl = (<a class="code" href="structUT__hash__table.html">UT_hash_table</a>*)<a class="code" href="uthash_8h.html#a861013aff36c0448f1888a2b0b5836d8">uthash_malloc</a>(                                \</div>
-<div class="line">                  <span class="keyword">sizeof</span>(<a class="code" href="structUT__hash__table.html">UT_hash_table</a>));                                        \</div>
-<div class="line">  if (!((head)-&gt;hh.tbl))  { <a class="code" href="uthash_8h.html#a03b52301b0ed976b6981ef33613320c1">uthash_fatal</a>( <span class="stringliteral">&quot;out of memory&quot;</span>); }                    \</div>
-<div class="line">  memset((head)-&gt;hh.tbl, 0, <span class="keyword">sizeof</span>(<a class="code" href="structUT__hash__table.html">UT_hash_table</a>));                              \</div>
-<div class="line">  (head)-&gt;hh.tbl-&gt;tail = &amp;((head)-&gt;hh);                                          \</div>
-<div class="line">  (head)-&gt;hh.tbl-&gt;num_buckets = <a class="code" href="uthash_8h.html#a361cdc5e8d6d8fe5fae6912588ae15d0">HASH_INITIAL_NUM_BUCKETS</a>;                        \</div>
-<div class="line">  (head)-&gt;hh.tbl-&gt;log2_num_buckets = <a class="code" href="uthash_8h.html#a0b39a5cf1d6c05c43bd8530db2ec908c">HASH_INITIAL_NUM_BUCKETS_LOG2</a>;              \</div>
-<div class="line">  (head)-&gt;hh.tbl-&gt;hho = (<span class="keywordtype">char</span>*)(&amp;(head)-&gt;hh) - (<span class="keywordtype">char</span>*)(head);                    \</div>
-<div class="line">  (head)-&gt;hh.tbl-&gt;buckets = (<a class="code" href="structUT__hash__bucket.html">UT_hash_bucket</a>*)<a class="code" href="uthash_8h.html#a861013aff36c0448f1888a2b0b5836d8">uthash_malloc</a>(                      \</div>
-<div class="line">          <a class="code" href="uthash_8h.html#a361cdc5e8d6d8fe5fae6912588ae15d0">HASH_INITIAL_NUM_BUCKETS</a>*<span class="keyword">sizeof</span>(<span class="keyword">struct</span> <a class="code" href="structUT__hash__bucket.html">UT_hash_bucket</a>));               \</div>
-<div class="line">  if (! (head)-&gt;hh.tbl-&gt;buckets) { <a class="code" href="uthash_8h.html#a03b52301b0ed976b6981ef33613320c1">uthash_fatal</a>( <span class="stringliteral">&quot;out of memory&quot;</span>); }             \</div>
-<div class="line">  memset((head)-&gt;hh.tbl-&gt;buckets, 0,                                             \</div>
-<div class="line">          <a class="code" href="uthash_8h.html#a361cdc5e8d6d8fe5fae6912588ae15d0">HASH_INITIAL_NUM_BUCKETS</a>*<span class="keyword">sizeof</span>(<span class="keyword">struct</span> <a class="code" href="structUT__hash__bucket.html">UT_hash_bucket</a>));               <a class="code" href="uthash_8h.html#a254f427772a1fe7a2480a8302af8f8b8">\</a></div>
-<div class="line"><a class="code" href="uthash_8h.html#a254f427772a1fe7a2480a8302af8f8b8">  HASH_BLOOM_MAKE</a>((head)-&gt;hh.tbl);                                               \</div>
-<div class="line">  (head)-&gt;hh.tbl-&gt;signature = <a class="code" href="uthash_8h.html#a4a7a46b9b92a9c73e4f9321e8e6b6bb2">HASH_SIGNATURE</a>;                                    \</div>
-<div class="line">} <span class="keywordflow">while</span>(0)</div>
-<div class="ttc" id="uthash_8h_html_a361cdc5e8d6d8fe5fae6912588ae15d0"><div class="ttname"><a href="uthash_8h.html#a361cdc5e8d6d8fe5fae6912588ae15d0">HASH_INITIAL_NUM_BUCKETS</a></div><div class="ttdeci">#define HASH_INITIAL_NUM_BUCKETS</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00075">uthash.h:75</a></div></div>
-<div class="ttc" id="uthash_8h_html_a4a7a46b9b92a9c73e4f9321e8e6b6bb2"><div class="ttname"><a href="uthash_8h.html#a4a7a46b9b92a9c73e4f9321e8e6b6bb2">HASH_SIGNATURE</a></div><div class="ttdeci">#define HASH_SIGNATURE</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00925">uthash.h:925</a></div></div>
-<div class="ttc" id="uthash_8h_html_a0b39a5cf1d6c05c43bd8530db2ec908c"><div class="ttname"><a href="uthash_8h.html#a0b39a5cf1d6c05c43bd8530db2ec908c">HASH_INITIAL_NUM_BUCKETS_LOG2</a></div><div class="ttdeci">#define HASH_INITIAL_NUM_BUCKETS_LOG2</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00076">uthash.h:76</a></div></div>
-<div class="ttc" id="uthash_8h_html_a861013aff36c0448f1888a2b0b5836d8"><div class="ttname"><a href="uthash_8h.html#a861013aff36c0448f1888a2b0b5836d8">uthash_malloc</a></div><div class="ttdeci">#define uthash_malloc(sz)</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00068">uthash.h:68</a></div></div>
-<div class="ttc" id="uthash_8h_html_a254f427772a1fe7a2480a8302af8f8b8"><div class="ttname"><a href="uthash_8h.html#a254f427772a1fe7a2480a8302af8f8b8">HASH_BLOOM_MAKE</a></div><div class="ttdeci">#define HASH_BLOOM_MAKE(tbl)</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00122">uthash.h:122</a></div></div>
-<div class="ttc" id="structUT__hash__table_html"><div class="ttname"><a href="structUT__hash__table.html">UT_hash_table</a></div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00928">uthash.h:928</a></div></div>
-<div class="ttc" id="structUT__hash__bucket_html"><div class="ttname"><a href="structUT__hash__bucket.html">UT_hash_bucket</a></div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00904">uthash.h:904</a></div></div>
-<div class="ttc" id="uthash_8h_html_a03b52301b0ed976b6981ef33613320c1"><div class="ttname"><a href="uthash_8h.html#a03b52301b0ed976b6981ef33613320c1">uthash_fatal</a></div><div class="ttdeci">#define uthash_fatal(msg)</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00067">uthash.h:67</a></div></div>
-</div><!-- fragment -->
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00128">128</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="abc7040b698211c1993441fb4165fa0b4"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HASH_OAT</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">key, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">keylen, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">num_bkts, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">hashv, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">bkt&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">do</span> {                                                                             \</div>
-<div class="line">  unsigned _ho_i;                                                                \</div>
-<div class="line">  char *_ho_key=(<span class="keywordtype">char</span>*)(<a class="code" href="structUT__hash__handle.html#a40690fc15aeaeba8f25385f05f84dd4d">key</a>);                                                    <a class="code" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">\</a></div>
-<div class="line"><a class="code" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">  hashv</a> = 0;                                                                     \</div>
-<div class="line">  for(_ho_i=0; _ho_i &lt; <a class="code" href="structUT__hash__handle.html#af2abdc405972a6bbdee2ade2c0f346c4">keylen</a>; _ho_i++) {                                        <a class="code" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">\</a></div>
-<div class="line"><a class="code" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">      hashv</a> += _ho_key[_ho_i];                                                   <a class="code" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">\</a></div>
-<div class="line"><a class="code" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">      hashv</a> += (<a class="code" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">hashv</a> &lt;&lt; 10);                                                    <a class="code" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">\</a></div>
-<div class="line"><a class="code" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">      hashv</a> ^= (<a class="code" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">hashv</a> &gt;&gt; 6);                                                     \</div>
-<div class="line">  }                                                                              <a class="code" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">\</a></div>
-<div class="line"><a class="code" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">  hashv</a> += (<a class="code" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">hashv</a> &lt;&lt; 3);                                                         <a class="code" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">\</a></div>
-<div class="line"><a class="code" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">  hashv</a> ^= (<a class="code" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">hashv</a> &gt;&gt; 11);                                                        <a class="code" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">\</a></div>
-<div class="line"><a class="code" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">  hashv</a> += (<a class="code" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">hashv</a> &lt;&lt; 15);                                                        \</div>
-<div class="line">  bkt = <a class="code" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">hashv</a> &amp; (num_bkts-1);                                                    \</div>
-<div class="line">} <span class="keywordflow">while</span>(0)</div>
-<div class="ttc" id="structUT__hash__handle_html_af2abdc405972a6bbdee2ade2c0f346c4"><div class="ttname"><a href="structUT__hash__handle.html#af2abdc405972a6bbdee2ade2c0f346c4">UT_hash_handle::keylen</a></div><div class="ttdeci">unsigned keylen</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00968">uthash.h:968</a></div></div>
-<div class="ttc" id="structUT__hash__handle_html_aae5e635fa110556e5007f627089f8323"><div class="ttname"><a href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">UT_hash_handle::hashv</a></div><div class="ttdeci">unsigned hashv</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00969">uthash.h:969</a></div></div>
-<div class="ttc" id="structUT__hash__handle_html_a40690fc15aeaeba8f25385f05f84dd4d"><div class="ttname"><a href="structUT__hash__handle.html#a40690fc15aeaeba8f25385f05f84dd4d">UT_hash_handle::key</a></div><div class="ttdeci">void * key</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00967">uthash.h:967</a></div></div>
-</div><!-- fragment -->
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00358">358</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aa4cb140b45415e7bf57237525388af79"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HASH_SAX</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">key, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">keylen, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">num_bkts, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">hashv, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">bkt&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">do</span> {                                                                             \</div>
-<div class="line">  unsigned _sx_i;                                                                \</div>
-<div class="line">  char *_hs_key=(<span class="keywordtype">char</span>*)(<a class="code" href="structUT__hash__handle.html#a40690fc15aeaeba8f25385f05f84dd4d">key</a>);                                                    <a class="code" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">\</a></div>
-<div class="line"><a class="code" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">  hashv</a> = 0;                                                                     \</div>
-<div class="line">  for(_sx_i=0; _sx_i &lt; <a class="code" href="structUT__hash__handle.html#af2abdc405972a6bbdee2ade2c0f346c4">keylen</a>; _sx_i++)                                          \</div>
-<div class="line">      <a class="code" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">hashv</a> ^= (<a class="code" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">hashv</a> &lt;&lt; 5) + (<a class="code" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">hashv</a> &gt;&gt; 2) + _hs_key[_sx_i];                     \</div>
-<div class="line">  bkt = <a class="code" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">hashv</a> &amp; (num_bkts-1);                                                    \</div>
-<div class="line">} <span class="keywordflow">while</span> (0)</div>
-<div class="ttc" id="structUT__hash__handle_html_af2abdc405972a6bbdee2ade2c0f346c4"><div class="ttname"><a href="structUT__hash__handle.html#af2abdc405972a6bbdee2ade2c0f346c4">UT_hash_handle::keylen</a></div><div class="ttdeci">unsigned keylen</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00968">uthash.h:968</a></div></div>
-<div class="ttc" id="structUT__hash__handle_html_aae5e635fa110556e5007f627089f8323"><div class="ttname"><a href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">UT_hash_handle::hashv</a></div><div class="ttdeci">unsigned hashv</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00969">uthash.h:969</a></div></div>
-<div class="ttc" id="structUT__hash__handle_html_a40690fc15aeaeba8f25385f05f84dd4d"><div class="ttname"><a href="structUT__hash__handle.html#a40690fc15aeaeba8f25385f05f84dd4d">UT_hash_handle::key</a></div><div class="ttdeci">void * key</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00967">uthash.h:967</a></div></div>
-</div><!-- fragment -->
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00338">338</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ad190366f7a476ece79bd628240a5fc93"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HASH_SELECT</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">hh_dst, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">dst, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">hh_src, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">src, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">cond&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00842">842</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ab595698a74642684dace0dfa47dab445"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HASH_SFH</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">key, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">keylen, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">num_bkts, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">hashv, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">bkt&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00439">439</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a4a7a46b9b92a9c73e4f9321e8e6b6bb2"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HASH_SIGNATURE&#160;&#160;&#160;0xa0111fe1</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00925">925</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a88d2ab40956878caacd02c214f7e8f15"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HASH_SORT</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">head, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">cmpfcn&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td>&#160;&#160;&#160;<a class="el" href="uthash_8h.html#a388b4071dcff005154f431d3d3025fbd">HASH_SRT</a>(hh,head,cmpfcn)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00757">757</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a388b4071dcff005154f431d3d3025fbd"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HASH_SRT</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">hh, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">head, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">cmpfcn&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00758">758</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a4d7691544128a6ef265f3e4fa5ed3113"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HASH_TO_BKT</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">hashv, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">num_bkts, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">bkt&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">do</span> {                                                                             \</div>
-<div class="line">  bkt = ((<a class="code" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">hashv</a>) &amp; ((num_bkts) - 1));                                            \</div>
-<div class="line">} <span class="keywordflow">while</span>(0)</div>
-<div class="ttc" id="structUT__hash__handle_html_aae5e635fa110556e5007f627089f8323"><div class="ttname"><a href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">UT_hash_handle::hashv</a></div><div class="ttdeci">unsigned hashv</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00969">uthash.h:969</a></div></div>
-</div><!-- fragment -->
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00175">175</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a86ea78714da520989a6f7a764b4d71b4"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define uthash_expand_fyi</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">tbl</td><td>)</td>
-          <td>&#160;&#160;&#160;/* can be defined to log expands   */</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00072">72</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a03b52301b0ed976b6981ef33613320c1"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define uthash_fatal</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">msg</td><td>)</td>
-          <td>&#160;&#160;&#160;exit(-1)        /* fatal error (out of memory,etc) */</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00067">67</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a56cdf8c254fc700332c8e6a7263b4657"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define uthash_free</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">ptr, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">sz&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td>&#160;&#160;&#160;free(ptr)     /* free fcn                        */</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00069">69</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a861013aff36c0448f1888a2b0b5836d8"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define uthash_malloc</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">sz</td><td>)</td>
-          <td>&#160;&#160;&#160;malloc(sz)      /* malloc fcn                      */</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00068">68</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a7cc237d8f87de3836b5390856cfc5c86"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define uthash_noexpand_fyi</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">tbl</td><td>)</td>
-          <td>&#160;&#160;&#160;/* can be defined to log noexpand  */</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00071">71</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aa56cef9cb86dc1f4b5d27ee3a691077e"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define UTHASH_VERSION&#160;&#160;&#160;1.9.3</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="uthash_8h_source.html#l00065">65</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>
-
-</div>
-</div>
-<h2 class="groupheader">Typedef Documentation</h2>
-<a class="anchor" id="a3ba3da0ca59a082c35a0d6b52e803ddf"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef struct <a class="el" href="structUT__hash__bucket.html">UT_hash_bucket</a>  <a class="el" href="structUT__hash__bucket.html">UT_hash_bucket</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a0e3a99ed9f776349720d0c362f956fb6"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef struct <a class="el" href="structUT__hash__handle.html">UT_hash_handle</a>  <a class="el" href="structUT__hash__handle.html">UT_hash_handle</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a0758074b9942c2ad076610b3e0ce548e"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef struct <a class="el" href="structUT__hash__table.html">UT_hash_table</a>  <a class="el" href="structUT__hash__table.html">UT_hash_table</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/uthash_8h_source.html b/external/wakaama/examples/shared/tinydtls/doc/html/uthash_8h_source.html
deleted file mode 100644 (file)
index 46a2e89..0000000
+++ /dev/null
@@ -1,1096 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: uthash.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="header">
-  <div class="headertitle">
-<div class="title">uthash.h</div>  </div>
-</div><!--header-->
-<div class="contents">
-<a href="uthash_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">Copyright (c) 2003-2010, Troy D. Hanson     http://uthash.sourceforge.net</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">All rights reserved.</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">Redistribution and use in source and binary forms, with or without</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">modification, are permitted provided that the following conditions are met:</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">    * Redistributions of source code must retain the above copyright</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">      notice, this list of conditions and the following disclaimer.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &quot;AS</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">*/</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;</div>
-<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#ifndef _DTLS_UTHASH_H</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define _DTLS_UTHASH_H </span></div>
-<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &lt;string.h&gt;</span>   <span class="comment">/* memcmp,strlen */</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &lt;stddef.h&gt;</span>   <span class="comment">/* ptrdiff_t */</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;</div>
-<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment">/* These macros use decltype or the earlier __typeof GNU extension.</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment">   As decltype is only available in newer compilers (VS2010 or gcc 4.3+</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">   when compiling c++ source) this code uses whatever method is needed</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">   or, for VS2008 where neither is available, uses casting workarounds. */</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#ifdef _MSC_VER         </span><span class="comment">/* MS compiler */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#if _MSC_VER &gt;= 1600 &amp;&amp; defined(__cplusplus)  </span><span class="comment">/* VS2010 or newer in C++ mode */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define DECLTYPE(x) (decltype(x))</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#else                   </span><span class="comment">/* VS2008 or older (or VS2010 in C mode) */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define NO_DECLTYPE</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define DECLTYPE(x)</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#else                   </span><span class="comment">/* GNU, Sun and other compilers */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="uthash_8h.html#a716ba290563c2d955cb0c90d85874073">   42</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define DECLTYPE(x) (__typeof(x))</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="preprocessor">#ifdef NO_DECLTYPE</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define DECLTYPE_ASSIGN(dst,src)                                                 \</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor">do {                                                                             \</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="preprocessor">  char **_da_dst = (char**)(&amp;(dst));                                             \</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">  *_da_dst = (char*)(src);                                                       \</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">} while(0)</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#else </span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="uthash_8h.html#a3c736f2f2dd643f2987b2bc323e269ba">   52</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define DECLTYPE_ASSIGN(dst,src)                                                 \</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="preprocessor">do {                                                                             \</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">  (dst) = DECLTYPE(dst)(src);                                                    \</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">} while(0)</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">/* a number of the hash function use uint32_t which isn&#39;t defined on win32 */</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor">#ifdef _MSC_VER</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor"></span><span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> uint32_t;</div>
-<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &lt;inttypes.h&gt;</span>   <span class="comment">/* uint32_t */</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="uthash_8h.html#aa56cef9cb86dc1f4b5d27ee3a691077e">   65</a></span>&#160;<span class="preprocessor">#define UTHASH_VERSION 1.9.3</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="uthash_8h.html#a03b52301b0ed976b6981ef33613320c1">   67</a></span>&#160;<span class="preprocessor">#define uthash_fatal(msg) exit(-1)        </span><span class="comment">/* fatal error (out of memory,etc) */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="uthash_8h.html#a861013aff36c0448f1888a2b0b5836d8">   68</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define uthash_malloc(sz) malloc(sz)      </span><span class="comment">/* malloc fcn                      */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="uthash_8h.html#a56cdf8c254fc700332c8e6a7263b4657">   69</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define uthash_free(ptr,sz) free(ptr)     </span><span class="comment">/* free fcn                        */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="uthash_8h.html#a7cc237d8f87de3836b5390856cfc5c86">   71</a></span>&#160;<span class="preprocessor">#define uthash_noexpand_fyi(tbl)          </span><span class="comment">/* can be defined to log noexpand  */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="uthash_8h.html#a86ea78714da520989a6f7a764b4d71b4">   72</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define uthash_expand_fyi(tbl)            </span><span class="comment">/* can be defined to log expands   */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="comment">/* initial number of buckets */</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="uthash_8h.html#a361cdc5e8d6d8fe5fae6912588ae15d0">   75</a></span>&#160;<span class="preprocessor">#define HASH_INITIAL_NUM_BUCKETS 32      </span><span class="comment">/* initial number of buckets        */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="uthash_8h.html#a0b39a5cf1d6c05c43bd8530db2ec908c">   76</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define HASH_INITIAL_NUM_BUCKETS_LOG2 5  </span><span class="comment">/* lg2 of initial number of buckets */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="uthash_8h.html#a8ae3e6473261f6c4b78c030c94f5d68f">   77</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define HASH_BKT_CAPACITY_THRESH 10      </span><span class="comment">/* expand when bucket count reaches */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="comment">/* calculate the element whose hash handle address is hhe */</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="uthash_8h.html#a568e95048979b8b3e4ea1567fd91c186">   80</a></span>&#160;<span class="preprocessor">#define ELMT_FROM_HH(tbl,hhp) ((void*)(((char*)(hhp)) - ((tbl)-&gt;hho)))</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="uthash_8h.html#ad4a1cd39c3044936c0e49d3f372c9dbf">   82</a></span>&#160;<span class="preprocessor">#define HASH_FIND(hh,head,keyptr,keylen,out)                                     \</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="preprocessor">do {                                                                             \</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="preprocessor">  unsigned _hf_bkt,_hf_hashv;                                                    \</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="preprocessor">  out=NULL;                                                                      \</span></div>
-<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="preprocessor">  if (head) {                                                                    \</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="preprocessor">     HASH_FCN(keyptr,keylen, (head)-&gt;hh.tbl-&gt;num_buckets, _hf_hashv, _hf_bkt);   \</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="preprocessor">     if (HASH_BLOOM_TEST((head)-&gt;hh.tbl, _hf_hashv)) {                           \</span></div>
-<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="preprocessor">       HASH_FIND_IN_BKT((head)-&gt;hh.tbl, hh, (head)-&gt;hh.tbl-&gt;buckets[ _hf_bkt ],  \</span></div>
-<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="preprocessor">                        keyptr,keylen,out);                                      \</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="preprocessor">     }                                                                           \</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="preprocessor">  }                                                                              \</span></div>
-<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;<span class="preprocessor">} while (0)</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="preprocessor">#ifdef HASH_BLOOM</span></div>
-<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define HASH_BLOOM_BITLEN (1ULL &lt;&lt; HASH_BLOOM)</span></div>
-<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define HASH_BLOOM_BYTELEN (HASH_BLOOM_BITLEN/8) + ((HASH_BLOOM_BITLEN%8) ? 1:0)</span></div>
-<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define HASH_BLOOM_MAKE(tbl)                                                     \</span></div>
-<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;<span class="preprocessor">do {                                                                             \</span></div>
-<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;<span class="preprocessor">  (tbl)-&gt;bloom_nbits = HASH_BLOOM;                                               \</span></div>
-<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;<span class="preprocessor">  (tbl)-&gt;bloom_bv = (uint8_t*)uthash_malloc(HASH_BLOOM_BYTELEN);                 \</span></div>
-<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="preprocessor">  if (!((tbl)-&gt;bloom_bv))  { uthash_fatal( &quot;out of memory&quot;); }                   \</span></div>
-<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="preprocessor">  memset((tbl)-&gt;bloom_bv, 0, HASH_BLOOM_BYTELEN);                                \</span></div>
-<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="preprocessor">  (tbl)-&gt;bloom_sig = HASH_BLOOM_SIGNATURE;                                       \</span></div>
-<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;<span class="preprocessor">} while (0);</span></div>
-<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="preprocessor">#define HASH_BLOOM_FREE(tbl)                                                     \</span></div>
-<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<span class="preprocessor">do {                                                                             \</span></div>
-<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="preprocessor">  uthash_free((tbl)-&gt;bloom_bv, HASH_BLOOM_BYTELEN);                              \</span></div>
-<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="preprocessor">} while (0);</span></div>
-<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="preprocessor">#define HASH_BLOOM_BITSET(bv,idx) (bv[(idx)/8] |= (1U &lt;&lt; ((idx)%8)))</span></div>
-<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define HASH_BLOOM_BITTEST(bv,idx) (bv[(idx)/8] &amp; (1U &lt;&lt; ((idx)%8)))</span></div>
-<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;<span class="preprocessor">#define HASH_BLOOM_ADD(tbl,hashv)                                                \</span></div>
-<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="preprocessor">  HASH_BLOOM_BITSET((tbl)-&gt;bloom_bv, (hashv &amp; (uint32_t)((1ULL &lt;&lt; (tbl)-&gt;bloom_nbits) - 1)))</span></div>
-<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="preprocessor">#define HASH_BLOOM_TEST(tbl,hashv)                                               \</span></div>
-<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;<span class="preprocessor">  HASH_BLOOM_BITTEST((tbl)-&gt;bloom_bv, (hashv &amp; (uint32_t)((1ULL &lt;&lt; (tbl)-&gt;bloom_nbits) - 1)))</span></div>
-<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;<span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="uthash_8h.html#a254f427772a1fe7a2480a8302af8f8b8">  122</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define HASH_BLOOM_MAKE(tbl) </span></div>
-<div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="uthash_8h.html#ad6847ad938fc26bfd0726d7f159efd0a">  123</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define HASH_BLOOM_FREE(tbl) </span></div>
-<div class="line"><a name="l00124"></a><span class="lineno"><a class="line" href="uthash_8h.html#acaad947212056cd8bfe3d660265fb2db">  124</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define HASH_BLOOM_ADD(tbl,hashv) </span></div>
-<div class="line"><a name="l00125"></a><span class="lineno"><a class="line" href="uthash_8h.html#a06bfbf880899d54da35487d0d39c1009">  125</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define HASH_BLOOM_TEST(tbl,hashv) (1)</span></div>
-<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00128"></a><span class="lineno"><a class="line" href="uthash_8h.html#aeba971430f623b6334f565d9c7ec9de5">  128</a></span>&#160;<span class="preprocessor">#define HASH_MAKE_TABLE(hh,head)                                                 \</span></div>
-<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="preprocessor">do {                                                                             \</span></div>
-<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="preprocessor">  (head)-&gt;hh.tbl = (UT_hash_table*)uthash_malloc(                                \</span></div>
-<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="preprocessor">                  sizeof(UT_hash_table));                                        \</span></div>
-<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="preprocessor">  if (!((head)-&gt;hh.tbl))  { uthash_fatal( &quot;out of memory&quot;); }                    \</span></div>
-<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;<span class="preprocessor">  memset((head)-&gt;hh.tbl, 0, sizeof(UT_hash_table));                              \</span></div>
-<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;<span class="preprocessor">  (head)-&gt;hh.tbl-&gt;tail = &amp;((head)-&gt;hh);                                          \</span></div>
-<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;<span class="preprocessor">  (head)-&gt;hh.tbl-&gt;num_buckets = HASH_INITIAL_NUM_BUCKETS;                        \</span></div>
-<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="preprocessor">  (head)-&gt;hh.tbl-&gt;log2_num_buckets = HASH_INITIAL_NUM_BUCKETS_LOG2;              \</span></div>
-<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;<span class="preprocessor">  (head)-&gt;hh.tbl-&gt;hho = (char*)(&amp;(head)-&gt;hh) - (char*)(head);                    \</span></div>
-<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;<span class="preprocessor">  (head)-&gt;hh.tbl-&gt;buckets = (UT_hash_bucket*)uthash_malloc(                      \</span></div>
-<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="preprocessor">          HASH_INITIAL_NUM_BUCKETS*sizeof(struct UT_hash_bucket));               \</span></div>
-<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;<span class="preprocessor">  if (! (head)-&gt;hh.tbl-&gt;buckets) { uthash_fatal( &quot;out of memory&quot;); }             \</span></div>
-<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="preprocessor">  memset((head)-&gt;hh.tbl-&gt;buckets, 0,                                             \</span></div>
-<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="preprocessor">          HASH_INITIAL_NUM_BUCKETS*sizeof(struct UT_hash_bucket));               \</span></div>
-<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="preprocessor">  HASH_BLOOM_MAKE((head)-&gt;hh.tbl);                                               \</span></div>
-<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;<span class="preprocessor">  (head)-&gt;hh.tbl-&gt;signature = HASH_SIGNATURE;                                    \</span></div>
-<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="preprocessor">} while(0)</span></div>
-<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00147"></a><span class="lineno"><a class="line" href="uthash_8h.html#aaf01358e257c8d838eb5e4b189f0c399">  147</a></span>&#160;<span class="preprocessor">#define HASH_ADD(hh,head,fieldname,keylen_in,add)                                \</span></div>
-<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;<span class="preprocessor">        HASH_ADD_KEYPTR(hh,head,&amp;add-&gt;fieldname,keylen_in,add)</span></div>
-<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;<span class="preprocessor"></span> </div>
-<div class="line"><a name="l00150"></a><span class="lineno"><a class="line" href="uthash_8h.html#a0b7468360b5c788762cdb2ccf9cd4d26">  150</a></span>&#160;<span class="preprocessor">#define HASH_ADD_KEYPTR(hh,head,keyptr,keylen_in,add)                            \</span></div>
-<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;<span class="preprocessor">do {                                                                             \</span></div>
-<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;<span class="preprocessor"> unsigned _ha_bkt;                                                               \</span></div>
-<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;<span class="preprocessor"> (add)-&gt;hh.next = NULL;                                                          \</span></div>
-<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="preprocessor"> (add)-&gt;hh.key = (char*)keyptr;                                                  \</span></div>
-<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;<span class="preprocessor"> (add)-&gt;hh.keylen = keylen_in;                                                   \</span></div>
-<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="preprocessor"> if (!(head)) {                                                                  \</span></div>
-<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;<span class="preprocessor">    head = (add);                                                                \</span></div>
-<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;<span class="preprocessor">    (head)-&gt;hh.prev = NULL;                                                      \</span></div>
-<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;<span class="preprocessor">    HASH_MAKE_TABLE(hh,head);                                                    \</span></div>
-<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;<span class="preprocessor"> } else {                                                                        \</span></div>
-<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;<span class="preprocessor">    (head)-&gt;hh.tbl-&gt;tail-&gt;next = (add);                                          \</span></div>
-<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;<span class="preprocessor">    (add)-&gt;hh.prev = ELMT_FROM_HH((head)-&gt;hh.tbl, (head)-&gt;hh.tbl-&gt;tail);         \</span></div>
-<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;<span class="preprocessor">    (head)-&gt;hh.tbl-&gt;tail = &amp;((add)-&gt;hh);                                         \</span></div>
-<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="preprocessor"> }                                                                               \</span></div>
-<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;<span class="preprocessor"> (head)-&gt;hh.tbl-&gt;num_items++;                                                    \</span></div>
-<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;<span class="preprocessor"> (add)-&gt;hh.tbl = (head)-&gt;hh.tbl;                                                 \</span></div>
-<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;<span class="preprocessor"> HASH_FCN(keyptr,keylen_in, (head)-&gt;hh.tbl-&gt;num_buckets,                         \</span></div>
-<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;<span class="preprocessor">         (add)-&gt;hh.hashv, _ha_bkt);                                              \</span></div>
-<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;<span class="preprocessor"> HASH_ADD_TO_BKT((head)-&gt;hh.tbl-&gt;buckets[_ha_bkt],&amp;(add)-&gt;hh);                   \</span></div>
-<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;<span class="preprocessor"> HASH_BLOOM_ADD((head)-&gt;hh.tbl,(add)-&gt;hh.hashv);                                 \</span></div>
-<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="preprocessor"> HASH_EMIT_KEY(hh,head,keyptr,keylen_in);                                        \</span></div>
-<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;<span class="preprocessor"> HASH_FSCK(hh,head);                                                             \</span></div>
-<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;<span class="preprocessor">} while(0)</span></div>
-<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00175"></a><span class="lineno"><a class="line" href="uthash_8h.html#a4d7691544128a6ef265f3e4fa5ed3113">  175</a></span>&#160;<span class="preprocessor">#define HASH_TO_BKT( hashv, num_bkts, bkt )                                      \</span></div>
-<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;<span class="preprocessor">do {                                                                             \</span></div>
-<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;<span class="preprocessor">  bkt = ((hashv) &amp; ((num_bkts) - 1));                                            \</span></div>
-<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;<span class="preprocessor">} while(0)</span></div>
-<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="comment">/* delete &quot;delptr&quot; from the hash table.</span></div>
-<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;<span class="comment"> * &quot;the usual&quot; patch-up process for the app-order doubly-linked-list.</span></div>
-<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;<span class="comment"> * The use of _hd_hh_del below deserves special explanation.</span></div>
-<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;<span class="comment"> * These used to be expressed using (delptr) but that led to a bug</span></div>
-<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;<span class="comment"> * if someone used the same symbol for the head and deletee, like</span></div>
-<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;<span class="comment"> *  HASH_DELETE(hh,users,users);</span></div>
-<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;<span class="comment"> * We want that to work, but by changing the head (users) below</span></div>
-<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<span class="comment"> * we were forfeiting our ability to further refer to the deletee (users)</span></div>
-<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;<span class="comment"> * in the patch-up process. Solution: use scratch space to</span></div>
-<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="comment"> * copy the deletee pointer, then the latter references are via that</span></div>
-<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="comment"> * scratch pointer rather than through the repointed (users) symbol.</span></div>
-<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00192"></a><span class="lineno"><a class="line" href="uthash_8h.html#a3f83117e1108d63844a58d2d79c3b980">  192</a></span>&#160;<span class="preprocessor">#define HASH_DELETE(hh,head,delptr)                                              \</span></div>
-<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;<span class="preprocessor">do {                                                                             \</span></div>
-<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<span class="preprocessor">    unsigned _hd_bkt;                                                            \</span></div>
-<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;<span class="preprocessor">    struct UT_hash_handle *_hd_hh_del;                                           \</span></div>
-<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;<span class="preprocessor">    if ( ((delptr)-&gt;hh.prev == NULL) &amp;&amp; ((delptr)-&gt;hh.next == NULL) )  {         \</span></div>
-<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;<span class="preprocessor">        uthash_free((head)-&gt;hh.tbl-&gt;buckets,                                     \</span></div>
-<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="preprocessor">                    (head)-&gt;hh.tbl-&gt;num_buckets*sizeof(struct UT_hash_bucket) ); \</span></div>
-<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;<span class="preprocessor">        HASH_BLOOM_FREE((head)-&gt;hh.tbl);                                         \</span></div>
-<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;<span class="preprocessor">        uthash_free((head)-&gt;hh.tbl, sizeof(UT_hash_table));                      \</span></div>
-<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;<span class="preprocessor">        head = NULL;                                                             \</span></div>
-<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;<span class="preprocessor">    } else {                                                                     \</span></div>
-<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;<span class="preprocessor">        _hd_hh_del = &amp;((delptr)-&gt;hh);                                            \</span></div>
-<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<span class="preprocessor">        if ((delptr) == ELMT_FROM_HH((head)-&gt;hh.tbl,(head)-&gt;hh.tbl-&gt;tail)) {     \</span></div>
-<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;<span class="preprocessor">            (head)-&gt;hh.tbl-&gt;tail =                                               \</span></div>
-<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;<span class="preprocessor">                (UT_hash_handle*)((char*)((delptr)-&gt;hh.prev) +                   \</span></div>
-<div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;<span class="preprocessor">                (head)-&gt;hh.tbl-&gt;hho);                                            \</span></div>
-<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;<span class="preprocessor">        }                                                                        \</span></div>
-<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;<span class="preprocessor">        if ((delptr)-&gt;hh.prev) {                                                 \</span></div>
-<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;<span class="preprocessor">            ((UT_hash_handle*)((char*)((delptr)-&gt;hh.prev) +                      \</span></div>
-<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;<span class="preprocessor">                    (head)-&gt;hh.tbl-&gt;hho))-&gt;next = (delptr)-&gt;hh.next;             \</span></div>
-<div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;<span class="preprocessor">        } else {                                                                 \</span></div>
-<div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="preprocessor">            DECLTYPE_ASSIGN(head,(delptr)-&gt;hh.next);                             \</span></div>
-<div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;<span class="preprocessor">        }                                                                        \</span></div>
-<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;<span class="preprocessor">        if (_hd_hh_del-&gt;next) {                                                  \</span></div>
-<div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;<span class="preprocessor">            ((UT_hash_handle*)((char*)_hd_hh_del-&gt;next +                         \</span></div>
-<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;<span class="preprocessor">                    (head)-&gt;hh.tbl-&gt;hho))-&gt;prev =                                \</span></div>
-<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="preprocessor">                    _hd_hh_del-&gt;prev;                                            \</span></div>
-<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="preprocessor">        }                                                                        \</span></div>
-<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;<span class="preprocessor">        HASH_TO_BKT( _hd_hh_del-&gt;hashv, (head)-&gt;hh.tbl-&gt;num_buckets, _hd_bkt);   \</span></div>
-<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;<span class="preprocessor">        HASH_DEL_IN_BKT(hh,(head)-&gt;hh.tbl-&gt;buckets[_hd_bkt], _hd_hh_del);        \</span></div>
-<div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;<span class="preprocessor">        (head)-&gt;hh.tbl-&gt;num_items--;                                             \</span></div>
-<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="preprocessor">    }                                                                            \</span></div>
-<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;<span class="preprocessor">    HASH_FSCK(hh,head);                                                          \</span></div>
-<div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;<span class="preprocessor">} while (0)</span></div>
-<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;</div>
-<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<span class="comment">/* convenience forms of HASH_FIND/HASH_ADD/HASH_DEL */</span></div>
-<div class="line"><a name="l00229"></a><span class="lineno"><a class="line" href="uthash_8h.html#a214529083adfab2fa8cd402d2eeb0a84">  229</a></span>&#160;<span class="preprocessor">#define HASH_FIND_STR(head,findstr,out)                                          \</span></div>
-<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;<span class="preprocessor">    HASH_FIND(hh,head,findstr,strlen(findstr),out)</span></div>
-<div class="line"><a name="l00231"></a><span class="lineno"><a class="line" href="uthash_8h.html#a9724951736f3985f74df17638c8a7885">  231</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define HASH_ADD_STR(head,strfield,add)                                          \</span></div>
-<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="preprocessor">    HASH_ADD(hh,head,strfield,strlen(add-&gt;strfield),add)</span></div>
-<div class="line"><a name="l00233"></a><span class="lineno"><a class="line" href="uthash_8h.html#aadcb19b940348f3141bd51505ede0142">  233</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define HASH_FIND_INT(head,findint,out)                                          \</span></div>
-<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="preprocessor">    HASH_FIND(hh,head,findint,sizeof(int),out)</span></div>
-<div class="line"><a name="l00235"></a><span class="lineno"><a class="line" href="uthash_8h.html#acf85835471af894e354efb7e346698f3">  235</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define HASH_ADD_INT(head,intfield,add)                                          \</span></div>
-<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;<span class="preprocessor">    HASH_ADD(hh,head,intfield,sizeof(int),add)</span></div>
-<div class="line"><a name="l00237"></a><span class="lineno"><a class="line" href="uthash_8h.html#a26a887f8e31952034becac0cf446f6c3">  237</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define HASH_FIND_PTR(head,findptr,out)                                          \</span></div>
-<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;<span class="preprocessor">    HASH_FIND(hh,head,findptr,sizeof(void *),out)</span></div>
-<div class="line"><a name="l00239"></a><span class="lineno"><a class="line" href="uthash_8h.html#a2ad1f84ef1ba9df99fa2ada38cb61823">  239</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define HASH_ADD_PTR(head,ptrfield,add)                                          \</span></div>
-<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="preprocessor">    HASH_ADD(hh,head,ptrfield,sizeof(void *),add)</span></div>
-<div class="line"><a name="l00241"></a><span class="lineno"><a class="line" href="uthash_8h.html#a48b7ed374602dcb236501aa23a971f05">  241</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define HASH_DEL(head,delptr)                                                    \</span></div>
-<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;<span class="preprocessor">    HASH_DELETE(hh,head,delptr)</span></div>
-<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;<span class="comment">/* HASH_FSCK checks hash integrity on every add/delete when HASH_DEBUG is defined.</span></div>
-<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="comment"> * This is for uthash developer only; it compiles away if HASH_DEBUG isn&#39;t defined.</span></div>
-<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;<span class="preprocessor">#ifdef HASH_DEBUG</span></div>
-<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define HASH_OOPS(...) do { fprintf(stderr,__VA_ARGS__); exit(-1); } while (0)</span></div>
-<div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define HASH_FSCK(hh,head)                                                       \</span></div>
-<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;<span class="preprocessor">do {                                                                             \</span></div>
-<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;<span class="preprocessor">    unsigned _bkt_i;                                                             \</span></div>
-<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;<span class="preprocessor">    unsigned _count, _bkt_count;                                                 \</span></div>
-<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;<span class="preprocessor">    char *_prev;                                                                 \</span></div>
-<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;<span class="preprocessor">    struct UT_hash_handle *_thh;                                                 \</span></div>
-<div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;<span class="preprocessor">    if (head) {                                                                  \</span></div>
-<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="preprocessor">        _count = 0;                                                              \</span></div>
-<div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;<span class="preprocessor">        for( _bkt_i = 0; _bkt_i &lt; (head)-&gt;hh.tbl-&gt;num_buckets; _bkt_i++) {       \</span></div>
-<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;<span class="preprocessor">            _bkt_count = 0;                                                      \</span></div>
-<div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;<span class="preprocessor">            _thh = (head)-&gt;hh.tbl-&gt;buckets[_bkt_i].hh_head;                      \</span></div>
-<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;<span class="preprocessor">            _prev = NULL;                                                        \</span></div>
-<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;<span class="preprocessor">            while (_thh) {                                                       \</span></div>
-<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;<span class="preprocessor">               if (_prev != (char*)(_thh-&gt;hh_prev)) {                            \</span></div>
-<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;<span class="preprocessor">                   HASH_OOPS(&quot;invalid hh_prev %p, actual %p\n&quot;,                  \</span></div>
-<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;<span class="preprocessor">                    _thh-&gt;hh_prev, _prev );                                      \</span></div>
-<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;<span class="preprocessor">               }                                                                 \</span></div>
-<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;<span class="preprocessor">               _bkt_count++;                                                     \</span></div>
-<div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="preprocessor">               _prev = (char*)(_thh);                                            \</span></div>
-<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;<span class="preprocessor">               _thh = _thh-&gt;hh_next;                                             \</span></div>
-<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;<span class="preprocessor">            }                                                                    \</span></div>
-<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;<span class="preprocessor">            _count += _bkt_count;                                                \</span></div>
-<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;<span class="preprocessor">            if ((head)-&gt;hh.tbl-&gt;buckets[_bkt_i].count !=  _bkt_count) {          \</span></div>
-<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;<span class="preprocessor">               HASH_OOPS(&quot;invalid bucket count %d, actual %d\n&quot;,                 \</span></div>
-<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;<span class="preprocessor">                (head)-&gt;hh.tbl-&gt;buckets[_bkt_i].count, _bkt_count);              \</span></div>
-<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;<span class="preprocessor">            }                                                                    \</span></div>
-<div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;<span class="preprocessor">        }                                                                        \</span></div>
-<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;<span class="preprocessor">        if (_count != (head)-&gt;hh.tbl-&gt;num_items) {                               \</span></div>
-<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;<span class="preprocessor">            HASH_OOPS(&quot;invalid hh item count %d, actual %d\n&quot;,                   \</span></div>
-<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="preprocessor">                (head)-&gt;hh.tbl-&gt;num_items, _count );                             \</span></div>
-<div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;<span class="preprocessor">        }                                                                        \</span></div>
-<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;<span class="preprocessor">        </span><span class="comment">/* traverse hh in app order; check next/prev integrity, count */</span><span class="preprocessor">         \</span></div>
-<div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;<span class="preprocessor">        _count = 0;                                                              \</span></div>
-<div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;<span class="preprocessor">        _prev = NULL;                                                            \</span></div>
-<div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;<span class="preprocessor">        _thh =  &amp;(head)-&gt;hh;                                                     \</span></div>
-<div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;<span class="preprocessor">        while (_thh) {                                                           \</span></div>
-<div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;<span class="preprocessor">           _count++;                                                             \</span></div>
-<div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;<span class="preprocessor">           if (_prev !=(char*)(_thh-&gt;prev)) {                                    \</span></div>
-<div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;<span class="preprocessor">              HASH_OOPS(&quot;invalid prev %p, actual %p\n&quot;,                          \</span></div>
-<div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;<span class="preprocessor">                    _thh-&gt;prev, _prev );                                         \</span></div>
-<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;<span class="preprocessor">           }                                                                     \</span></div>
-<div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;<span class="preprocessor">           _prev = (char*)ELMT_FROM_HH((head)-&gt;hh.tbl, _thh);                    \</span></div>
-<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;<span class="preprocessor">           _thh = ( _thh-&gt;next ?  (UT_hash_handle*)((char*)(_thh-&gt;next) +        \</span></div>
-<div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;<span class="preprocessor">                                  (head)-&gt;hh.tbl-&gt;hho) : NULL );                 \</span></div>
-<div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;<span class="preprocessor">        }                                                                        \</span></div>
-<div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;<span class="preprocessor">        if (_count != (head)-&gt;hh.tbl-&gt;num_items) {                               \</span></div>
-<div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;<span class="preprocessor">            HASH_OOPS(&quot;invalid app item count %d, actual %d\n&quot;,                  \</span></div>
-<div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;<span class="preprocessor">                (head)-&gt;hh.tbl-&gt;num_items, _count );                             \</span></div>
-<div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;<span class="preprocessor">        }                                                                        \</span></div>
-<div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;<span class="preprocessor">    }                                                                            \</span></div>
-<div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;<span class="preprocessor">} while (0)</span></div>
-<div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00301"></a><span class="lineno"><a class="line" href="uthash_8h.html#a7d882fadb26a4e6c13c134d8be4d0759">  301</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define HASH_FSCK(hh,head) </span></div>
-<div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;<span class="comment">/* When compiled with -DHASH_EMIT_KEYS, length-prefixed keys are emitted to </span></div>
-<div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;<span class="comment"> * the descriptor to which this macro is defined for tuning the hash function.</span></div>
-<div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;<span class="comment"> * The app can #include &lt;unistd.h&gt; to get the prototype for write(2). */</span></div>
-<div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;<span class="preprocessor">#ifdef HASH_EMIT_KEYS</span></div>
-<div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define HASH_EMIT_KEY(hh,head,keyptr,fieldlen)                                   \</span></div>
-<div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;<span class="preprocessor">do {                                                                             \</span></div>
-<div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;<span class="preprocessor">    unsigned _klen = fieldlen;                                                   \</span></div>
-<div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;<span class="preprocessor">    write(HASH_EMIT_KEYS, &amp;_klen, sizeof(_klen));                                \</span></div>
-<div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;<span class="preprocessor">    write(HASH_EMIT_KEYS, keyptr, fieldlen);                                     \</span></div>
-<div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;<span class="preprocessor">} while (0)</span></div>
-<div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#else </span></div>
-<div class="line"><a name="l00315"></a><span class="lineno"><a class="line" href="uthash_8h.html#a44f9d46e2cc79652492e5dd3e6c40a15">  315</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define HASH_EMIT_KEY(hh,head,keyptr,fieldlen)                    </span></div>
-<div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;<span class="comment">/* default to Jenkin&#39;s hash unless overridden e.g. DHASH_FUNCTION=HASH_SAX */</span></div>
-<div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;<span class="preprocessor">#ifdef HASH_FUNCTION </span></div>
-<div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define HASH_FCN HASH_FUNCTION</span></div>
-<div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00322"></a><span class="lineno"><a class="line" href="uthash_8h.html#abd3356419b386c379116393700a751d3">  322</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define HASH_FCN HASH_JEN</span></div>
-<div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;<span class="comment">/* The Bernstein hash function, used in Perl prior to v5.6 */</span></div>
-<div class="line"><a name="l00326"></a><span class="lineno"><a class="line" href="uthash_8h.html#a7271bf51d7fe2cf2c183578aee73601e">  326</a></span>&#160;<span class="preprocessor">#define HASH_BER(key,keylen,num_bkts,hashv,bkt)                                  \</span></div>
-<div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;<span class="preprocessor">do {                                                                             \</span></div>
-<div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;<span class="preprocessor">  unsigned _hb_keylen=keylen;                                                    \</span></div>
-<div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;<span class="preprocessor">  char *_hb_key=(char*)(key);                                                    \</span></div>
-<div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;<span class="preprocessor">  (hashv) = 0;                                                                   \</span></div>
-<div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;<span class="preprocessor">  while (_hb_keylen--)  { (hashv) = ((hashv) * 33) + *_hb_key++; }               \</span></div>
-<div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;<span class="preprocessor">  bkt = (hashv) &amp; (num_bkts-1);                                                  \</span></div>
-<div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;<span class="preprocessor">} while (0)</span></div>
-<div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;</div>
-<div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;<span class="comment">/* SAX/FNV/OAT/JEN hash functions are macro variants of those listed at </span></div>
-<div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;<span class="comment"> * http://eternallyconfuzzled.com/tuts/algorithms/jsw_tut_hashing.aspx */</span></div>
-<div class="line"><a name="l00338"></a><span class="lineno"><a class="line" href="uthash_8h.html#aa4cb140b45415e7bf57237525388af79">  338</a></span>&#160;<span class="preprocessor">#define HASH_SAX(key,keylen,num_bkts,hashv,bkt)                                  \</span></div>
-<div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;<span class="preprocessor">do {                                                                             \</span></div>
-<div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;<span class="preprocessor">  unsigned _sx_i;                                                                \</span></div>
-<div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;<span class="preprocessor">  char *_hs_key=(char*)(key);                                                    \</span></div>
-<div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;<span class="preprocessor">  hashv = 0;                                                                     \</span></div>
-<div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;<span class="preprocessor">  for(_sx_i=0; _sx_i &lt; keylen; _sx_i++)                                          \</span></div>
-<div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;<span class="preprocessor">      hashv ^= (hashv &lt;&lt; 5) + (hashv &gt;&gt; 2) + _hs_key[_sx_i];                     \</span></div>
-<div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;<span class="preprocessor">  bkt = hashv &amp; (num_bkts-1);                                                    \</span></div>
-<div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;<span class="preprocessor">} while (0)</span></div>
-<div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00348"></a><span class="lineno"><a class="line" href="uthash_8h.html#ac99f9a353421537527a80b392089dd9d">  348</a></span>&#160;<span class="preprocessor">#define HASH_FNV(key,keylen,num_bkts,hashv,bkt)                                  \</span></div>
-<div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;<span class="preprocessor">do {                                                                             \</span></div>
-<div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;<span class="preprocessor">  unsigned _fn_i;                                                                \</span></div>
-<div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;<span class="preprocessor">  char *_hf_key=(char*)(key);                                                    \</span></div>
-<div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;<span class="preprocessor">  hashv = 2166136261UL;                                                          \</span></div>
-<div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;<span class="preprocessor">  for(_fn_i=0; _fn_i &lt; keylen; _fn_i++)                                          \</span></div>
-<div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;<span class="preprocessor">      hashv = (hashv * 16777619) ^ _hf_key[_fn_i];                               \</span></div>
-<div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;<span class="preprocessor">  bkt = hashv &amp; (num_bkts-1);                                                    \</span></div>
-<div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;<span class="preprocessor">} while(0);</span></div>
-<div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;<span class="preprocessor"></span> </div>
-<div class="line"><a name="l00358"></a><span class="lineno"><a class="line" href="uthash_8h.html#abc7040b698211c1993441fb4165fa0b4">  358</a></span>&#160;<span class="preprocessor">#define HASH_OAT(key,keylen,num_bkts,hashv,bkt)                                  \</span></div>
-<div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;<span class="preprocessor">do {                                                                             \</span></div>
-<div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;<span class="preprocessor">  unsigned _ho_i;                                                                \</span></div>
-<div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;<span class="preprocessor">  char *_ho_key=(char*)(key);                                                    \</span></div>
-<div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;<span class="preprocessor">  hashv = 0;                                                                     \</span></div>
-<div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;<span class="preprocessor">  for(_ho_i=0; _ho_i &lt; keylen; _ho_i++) {                                        \</span></div>
-<div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;<span class="preprocessor">      hashv += _ho_key[_ho_i];                                                   \</span></div>
-<div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;<span class="preprocessor">      hashv += (hashv &lt;&lt; 10);                                                    \</span></div>
-<div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;<span class="preprocessor">      hashv ^= (hashv &gt;&gt; 6);                                                     \</span></div>
-<div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;<span class="preprocessor">  }                                                                              \</span></div>
-<div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;<span class="preprocessor">  hashv += (hashv &lt;&lt; 3);                                                         \</span></div>
-<div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;<span class="preprocessor">  hashv ^= (hashv &gt;&gt; 11);                                                        \</span></div>
-<div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;<span class="preprocessor">  hashv += (hashv &lt;&lt; 15);                                                        \</span></div>
-<div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;<span class="preprocessor">  bkt = hashv &amp; (num_bkts-1);                                                    \</span></div>
-<div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;<span class="preprocessor">} while(0)</span></div>
-<div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00374"></a><span class="lineno"><a class="line" href="uthash_8h.html#a6d37144e54d2bd49eb88fbfd04c59dc5">  374</a></span>&#160;<span class="preprocessor">#define HASH_JEN_MIX(a,b,c)                                                      \</span></div>
-<div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;<span class="preprocessor">do {                                                                             \</span></div>
-<div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;<span class="preprocessor">  a -= b; a -= c; a ^= ( c &gt;&gt; 13 );                                              \</span></div>
-<div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;<span class="preprocessor">  b -= c; b -= a; b ^= ( a &lt;&lt; 8 );                                               \</span></div>
-<div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;<span class="preprocessor">  c -= a; c -= b; c ^= ( b &gt;&gt; 13 );                                              \</span></div>
-<div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;<span class="preprocessor">  a -= b; a -= c; a ^= ( c &gt;&gt; 12 );                                              \</span></div>
-<div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;<span class="preprocessor">  b -= c; b -= a; b ^= ( a &lt;&lt; 16 );                                              \</span></div>
-<div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;<span class="preprocessor">  c -= a; c -= b; c ^= ( b &gt;&gt; 5 );                                               \</span></div>
-<div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;<span class="preprocessor">  a -= b; a -= c; a ^= ( c &gt;&gt; 3 );                                               \</span></div>
-<div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;<span class="preprocessor">  b -= c; b -= a; b ^= ( a &lt;&lt; 10 );                                              \</span></div>
-<div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;<span class="preprocessor">  c -= a; c -= b; c ^= ( b &gt;&gt; 15 );                                              \</span></div>
-<div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;<span class="preprocessor">} while (0)</span></div>
-<div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00387"></a><span class="lineno"><a class="line" href="uthash_8h.html#aa16e3ae6125d7f10d3deb4695e0ee51e">  387</a></span>&#160;<span class="preprocessor">#define HASH_JEN(key,keylen,num_bkts,hashv,bkt)                                  \</span></div>
-<div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;<span class="preprocessor">do {                                                                             \</span></div>
-<div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;<span class="preprocessor">  unsigned _hj_i,_hj_j,_hj_k;                                                    \</span></div>
-<div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;<span class="preprocessor">  char *_hj_key=(char*)(key);                                                    \</span></div>
-<div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;<span class="preprocessor">  hashv = 0xfeedbeef;                                                            \</span></div>
-<div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;<span class="preprocessor">  _hj_i = _hj_j = 0x9e3779b9;                                                    \</span></div>
-<div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;<span class="preprocessor">  _hj_k = keylen;                                                                \</span></div>
-<div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;<span class="preprocessor">  while (_hj_k &gt;= 12) {                                                          \</span></div>
-<div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;<span class="preprocessor">    _hj_i +=    (_hj_key[0] + ( (unsigned)_hj_key[1] &lt;&lt; 8 )                      \</span></div>
-<div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;<span class="preprocessor">        + ( (unsigned)_hj_key[2] &lt;&lt; 16 )                                         \</span></div>
-<div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;<span class="preprocessor">        + ( (unsigned)_hj_key[3] &lt;&lt; 24 ) );                                      \</span></div>
-<div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;<span class="preprocessor">    _hj_j +=    (_hj_key[4] + ( (unsigned)_hj_key[5] &lt;&lt; 8 )                      \</span></div>
-<div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;<span class="preprocessor">        + ( (unsigned)_hj_key[6] &lt;&lt; 16 )                                         \</span></div>
-<div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;<span class="preprocessor">        + ( (unsigned)_hj_key[7] &lt;&lt; 24 ) );                                      \</span></div>
-<div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;<span class="preprocessor">    hashv += (_hj_key[8] + ( (unsigned)_hj_key[9] &lt;&lt; 8 )                         \</span></div>
-<div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;<span class="preprocessor">        + ( (unsigned)_hj_key[10] &lt;&lt; 16 )                                        \</span></div>
-<div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;<span class="preprocessor">        + ( (unsigned)_hj_key[11] &lt;&lt; 24 ) );                                     \</span></div>
-<div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;<span class="preprocessor">                                                                                 \</span></div>
-<div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;<span class="preprocessor">     HASH_JEN_MIX(_hj_i, _hj_j, hashv);                                          \</span></div>
-<div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;<span class="preprocessor">                                                                                 \</span></div>
-<div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;<span class="preprocessor">     _hj_key += 12;                                                              \</span></div>
-<div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;<span class="preprocessor">     _hj_k -= 12;                                                                \</span></div>
-<div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;<span class="preprocessor">  }                                                                              \</span></div>
-<div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;<span class="preprocessor">  hashv += keylen;                                                               \</span></div>
-<div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;<span class="preprocessor">  switch ( _hj_k ) {                                                             \</span></div>
-<div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;<span class="preprocessor">     case 11: hashv += ( (unsigned)_hj_key[10] &lt;&lt; 24 );                          \</span></div>
-<div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;<span class="preprocessor">     case 10: hashv += ( (unsigned)_hj_key[9] &lt;&lt; 16 );                           \</span></div>
-<div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;<span class="preprocessor">     case 9:  hashv += ( (unsigned)_hj_key[8] &lt;&lt; 8 );                            \</span></div>
-<div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;<span class="preprocessor">     case 8:  _hj_j += ( (unsigned)_hj_key[7] &lt;&lt; 24 );                           \</span></div>
-<div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;<span class="preprocessor">     case 7:  _hj_j += ( (unsigned)_hj_key[6] &lt;&lt; 16 );                           \</span></div>
-<div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;<span class="preprocessor">     case 6:  _hj_j += ( (unsigned)_hj_key[5] &lt;&lt; 8 );                            \</span></div>
-<div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;<span class="preprocessor">     case 5:  _hj_j += _hj_key[4];                                               \</span></div>
-<div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;<span class="preprocessor">     case 4:  _hj_i += ( (unsigned)_hj_key[3] &lt;&lt; 24 );                           \</span></div>
-<div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;<span class="preprocessor">     case 3:  _hj_i += ( (unsigned)_hj_key[2] &lt;&lt; 16 );                           \</span></div>
-<div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;<span class="preprocessor">     case 2:  _hj_i += ( (unsigned)_hj_key[1] &lt;&lt; 8 );                            \</span></div>
-<div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;<span class="preprocessor">     case 1:  _hj_i += _hj_key[0];                                               \</span></div>
-<div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;<span class="preprocessor">  }                                                                              \</span></div>
-<div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;<span class="preprocessor">  HASH_JEN_MIX(_hj_i, _hj_j, hashv);                                             \</span></div>
-<div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;<span class="preprocessor">  bkt = hashv &amp; (num_bkts-1);                                                    \</span></div>
-<div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;<span class="preprocessor">} while(0)</span></div>
-<div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;<span class="comment">/* The Paul Hsieh hash function */</span></div>
-<div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;<span class="preprocessor">#undef get16bits</span></div>
-<div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#if (defined(__GNUC__) &amp;&amp; defined(__i386__)) || defined(__WATCOMC__)             \</span></div>
-<div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;<span class="preprocessor">  || defined(_MSC_VER) || defined (__BORLANDC__) || defined (__TURBOC__)</span></div>
-<div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define get16bits(d) (*((const uint16_t *) (d)))</span></div>
-<div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;<span class="preprocessor">#if !defined (get16bits)</span></div>
-<div class="line"><a name="l00436"></a><span class="lineno"><a class="line" href="uthash_8h.html#abc7d71657be8975a51684e41029b7964">  436</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define get16bits(d) ((((uint32_t)(((const uint8_t *)(d))[1])) &lt;&lt; 8)             \</span></div>
-<div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;<span class="preprocessor">                       +(uint32_t)(((const uint8_t *)(d))[0]) )</span></div>
-<div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00439"></a><span class="lineno"><a class="line" href="uthash_8h.html#ab595698a74642684dace0dfa47dab445">  439</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define HASH_SFH(key,keylen,num_bkts,hashv,bkt)                                  \</span></div>
-<div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;<span class="preprocessor">do {                                                                             \</span></div>
-<div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;<span class="preprocessor">  char *_sfh_key=(char*)(key);                                                   \</span></div>
-<div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;<span class="preprocessor">  uint32_t _sfh_tmp, _sfh_len = keylen;                                          \</span></div>
-<div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;<span class="preprocessor">                                                                                 \</span></div>
-<div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;<span class="preprocessor">  int _sfh_rem = _sfh_len &amp; 3;                                                   \</span></div>
-<div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;<span class="preprocessor">  _sfh_len &gt;&gt;= 2;                                                                \</span></div>
-<div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160;<span class="preprocessor">  hashv = 0xcafebabe;                                                            \</span></div>
-<div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;<span class="preprocessor">                                                                                 \</span></div>
-<div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160;<span class="preprocessor">  </span><span class="comment">/* Main loop */</span><span class="preprocessor">                                                                \</span></div>
-<div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;<span class="preprocessor">  for (;_sfh_len &gt; 0; _sfh_len--) {                                              \</span></div>
-<div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;<span class="preprocessor">    hashv    += get16bits (_sfh_key);                                            \</span></div>
-<div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160;<span class="preprocessor">    _sfh_tmp       = (get16bits (_sfh_key+2) &lt;&lt; 11) ^ hashv;                     \</span></div>
-<div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;<span class="preprocessor">    hashv     = (hashv &lt;&lt; 16) ^ _sfh_tmp;                                        \</span></div>
-<div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;<span class="preprocessor">    _sfh_key += 2*sizeof (uint16_t);                                             \</span></div>
-<div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;<span class="preprocessor">    hashv    += hashv &gt;&gt; 11;                                                     \</span></div>
-<div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;<span class="preprocessor">  }                                                                              \</span></div>
-<div class="line"><a name="l00456"></a><span class="lineno">  456</span>&#160;<span class="preprocessor">                                                                                 \</span></div>
-<div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;<span class="preprocessor">  </span><span class="comment">/* Handle end cases */</span><span class="preprocessor">                                                         \</span></div>
-<div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;<span class="preprocessor">  switch (_sfh_rem) {                                                            \</span></div>
-<div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;<span class="preprocessor">    case 3: hashv += get16bits (_sfh_key);                                       \</span></div>
-<div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160;<span class="preprocessor">            hashv ^= hashv &lt;&lt; 16;                                                \</span></div>
-<div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160;<span class="preprocessor">            hashv ^= _sfh_key[sizeof (uint16_t)] &lt;&lt; 18;                          \</span></div>
-<div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160;<span class="preprocessor">            hashv += hashv &gt;&gt; 11;                                                \</span></div>
-<div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;<span class="preprocessor">            break;                                                               \</span></div>
-<div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160;<span class="preprocessor">    case 2: hashv += get16bits (_sfh_key);                                       \</span></div>
-<div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;<span class="preprocessor">            hashv ^= hashv &lt;&lt; 11;                                                \</span></div>
-<div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;<span class="preprocessor">            hashv += hashv &gt;&gt; 17;                                                \</span></div>
-<div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;<span class="preprocessor">            break;                                                               \</span></div>
-<div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;<span class="preprocessor">    case 1: hashv += *_sfh_key;                                                  \</span></div>
-<div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;<span class="preprocessor">            hashv ^= hashv &lt;&lt; 10;                                                \</span></div>
-<div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;<span class="preprocessor">            hashv += hashv &gt;&gt; 1;                                                 \</span></div>
-<div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;<span class="preprocessor">  }                                                                              \</span></div>
-<div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;<span class="preprocessor">                                                                                 \</span></div>
-<div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;<span class="preprocessor">    </span><span class="comment">/* Force &quot;avalanching&quot; of final 127 bits */</span><span class="preprocessor">                                  \</span></div>
-<div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;<span class="preprocessor">    hashv ^= hashv &lt;&lt; 3;                                                         \</span></div>
-<div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160;<span class="preprocessor">    hashv += hashv &gt;&gt; 5;                                                         \</span></div>
-<div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;<span class="preprocessor">    hashv ^= hashv &lt;&lt; 4;                                                         \</span></div>
-<div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160;<span class="preprocessor">    hashv += hashv &gt;&gt; 17;                                                        \</span></div>
-<div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160;<span class="preprocessor">    hashv ^= hashv &lt;&lt; 25;                                                        \</span></div>
-<div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;<span class="preprocessor">    hashv += hashv &gt;&gt; 6;                                                         \</span></div>
-<div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;<span class="preprocessor">    bkt = hashv &amp; (num_bkts-1);                                                  \</span></div>
-<div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160;<span class="preprocessor">} while(0);</span></div>
-<div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;<span class="preprocessor">#ifdef HASH_USING_NO_STRICT_ALIASING</span></div>
-<div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;<span class="preprocessor"></span><span class="comment">/* The MurmurHash exploits some CPU&#39;s (e.g. x86) tolerance for unaligned reads.</span></div>
-<div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;<span class="comment"> * For other types of CPU&#39;s (e.g. Sparc) an unaligned read causes a bus error.</span></div>
-<div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;<span class="comment"> * So MurmurHash comes in two versions, the faster unaligned one and the slower</span></div>
-<div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;<span class="comment"> * aligned one. We only use the faster one on CPU&#39;s where we know it&#39;s safe. </span></div>
-<div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;<span class="comment"> * Note the preprocessor built-in defines can be emitted using:</span></div>
-<div class="line"><a name="l00490"></a><span class="lineno">  490</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00491"></a><span class="lineno">  491</span>&#160;<span class="comment"> *   gcc -m64 -dM -E - &lt; /dev/null                  (on gcc)</span></div>
-<div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;<span class="comment"> *   cc -## a.c (where a.c is a simple test file)   (Sun Studio)</span></div>
-<div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00494"></a><span class="lineno">  494</span>&#160;<span class="preprocessor">#if (defined(__i386__) || defined(__x86_64__)) </span></div>
-<div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define HASH_MUR HASH_MUR_UNALIGNED</span></div>
-<div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00497"></a><span class="lineno">  497</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define HASH_MUR HASH_MUR_ALIGNED</span></div>
-<div class="line"><a name="l00498"></a><span class="lineno">  498</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00499"></a><span class="lineno">  499</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00500"></a><span class="lineno">  500</span>&#160;<span class="comment">/* Appleby&#39;s MurmurHash fast version for unaligned-tolerant archs like i386 */</span></div>
-<div class="line"><a name="l00501"></a><span class="lineno">  501</span>&#160;<span class="preprocessor">#define HASH_MUR_UNALIGNED(key,keylen,num_bkts,hashv,bkt)                        \</span></div>
-<div class="line"><a name="l00502"></a><span class="lineno">  502</span>&#160;<span class="preprocessor">do {                                                                             \</span></div>
-<div class="line"><a name="l00503"></a><span class="lineno">  503</span>&#160;<span class="preprocessor">  const unsigned int _mur_m = 0x5bd1e995;                                        \</span></div>
-<div class="line"><a name="l00504"></a><span class="lineno">  504</span>&#160;<span class="preprocessor">  const int _mur_r = 24;                                                         \</span></div>
-<div class="line"><a name="l00505"></a><span class="lineno">  505</span>&#160;<span class="preprocessor">  hashv = 0xcafebabe ^ keylen;                                                   \</span></div>
-<div class="line"><a name="l00506"></a><span class="lineno">  506</span>&#160;<span class="preprocessor">  char *_mur_key = (char *)(key);                                                \</span></div>
-<div class="line"><a name="l00507"></a><span class="lineno">  507</span>&#160;<span class="preprocessor">  uint32_t _mur_tmp, _mur_len = keylen;                                          \</span></div>
-<div class="line"><a name="l00508"></a><span class="lineno">  508</span>&#160;<span class="preprocessor">                                                                                 \</span></div>
-<div class="line"><a name="l00509"></a><span class="lineno">  509</span>&#160;<span class="preprocessor">  for (;_mur_len &gt;= 4; _mur_len-=4) {                                            \</span></div>
-<div class="line"><a name="l00510"></a><span class="lineno">  510</span>&#160;<span class="preprocessor">    _mur_tmp = *(uint32_t *)_mur_key;                                            \</span></div>
-<div class="line"><a name="l00511"></a><span class="lineno">  511</span>&#160;<span class="preprocessor">    _mur_tmp *= _mur_m;                                                          \</span></div>
-<div class="line"><a name="l00512"></a><span class="lineno">  512</span>&#160;<span class="preprocessor">    _mur_tmp ^= _mur_tmp &gt;&gt; _mur_r;                                              \</span></div>
-<div class="line"><a name="l00513"></a><span class="lineno">  513</span>&#160;<span class="preprocessor">    _mur_tmp *= _mur_m;                                                          \</span></div>
-<div class="line"><a name="l00514"></a><span class="lineno">  514</span>&#160;<span class="preprocessor">    hashv *= _mur_m;                                                             \</span></div>
-<div class="line"><a name="l00515"></a><span class="lineno">  515</span>&#160;<span class="preprocessor">    hashv ^= _mur_tmp;                                                           \</span></div>
-<div class="line"><a name="l00516"></a><span class="lineno">  516</span>&#160;<span class="preprocessor">    _mur_key += 4;                                                               \</span></div>
-<div class="line"><a name="l00517"></a><span class="lineno">  517</span>&#160;<span class="preprocessor">  }                                                                              \</span></div>
-<div class="line"><a name="l00518"></a><span class="lineno">  518</span>&#160;<span class="preprocessor">                                                                                 \</span></div>
-<div class="line"><a name="l00519"></a><span class="lineno">  519</span>&#160;<span class="preprocessor">  switch(_mur_len)                                                               \</span></div>
-<div class="line"><a name="l00520"></a><span class="lineno">  520</span>&#160;<span class="preprocessor">  {                                                                              \</span></div>
-<div class="line"><a name="l00521"></a><span class="lineno">  521</span>&#160;<span class="preprocessor">    case 3: hashv ^= _mur_key[2] &lt;&lt; 16;                                          \</span></div>
-<div class="line"><a name="l00522"></a><span class="lineno">  522</span>&#160;<span class="preprocessor">    case 2: hashv ^= _mur_key[1] &lt;&lt; 8;                                           \</span></div>
-<div class="line"><a name="l00523"></a><span class="lineno">  523</span>&#160;<span class="preprocessor">    case 1: hashv ^= _mur_key[0];                                                \</span></div>
-<div class="line"><a name="l00524"></a><span class="lineno">  524</span>&#160;<span class="preprocessor">            hashv *= _mur_m;                                                     \</span></div>
-<div class="line"><a name="l00525"></a><span class="lineno">  525</span>&#160;<span class="preprocessor">  };                                                                             \</span></div>
-<div class="line"><a name="l00526"></a><span class="lineno">  526</span>&#160;<span class="preprocessor">                                                                                 \</span></div>
-<div class="line"><a name="l00527"></a><span class="lineno">  527</span>&#160;<span class="preprocessor">  hashv ^= hashv &gt;&gt; 13;                                                          \</span></div>
-<div class="line"><a name="l00528"></a><span class="lineno">  528</span>&#160;<span class="preprocessor">  hashv *= _mur_m;                                                               \</span></div>
-<div class="line"><a name="l00529"></a><span class="lineno">  529</span>&#160;<span class="preprocessor">  hashv ^= hashv &gt;&gt; 15;                                                          \</span></div>
-<div class="line"><a name="l00530"></a><span class="lineno">  530</span>&#160;<span class="preprocessor">                                                                                 \</span></div>
-<div class="line"><a name="l00531"></a><span class="lineno">  531</span>&#160;<span class="preprocessor">  bkt = hashv &amp; (num_bkts-1);                                                    \</span></div>
-<div class="line"><a name="l00532"></a><span class="lineno">  532</span>&#160;<span class="preprocessor">} while(0)</span></div>
-<div class="line"><a name="l00533"></a><span class="lineno">  533</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00534"></a><span class="lineno">  534</span>&#160;<span class="comment">/* Appleby&#39;s MurmurHash version for alignment-sensitive archs like Sparc */</span></div>
-<div class="line"><a name="l00535"></a><span class="lineno">  535</span>&#160;<span class="preprocessor">#define HASH_MUR_ALIGNED(key,keylen,num_bkts,hashv,bkt)                          \</span></div>
-<div class="line"><a name="l00536"></a><span class="lineno">  536</span>&#160;<span class="preprocessor">do {                                                                             \</span></div>
-<div class="line"><a name="l00537"></a><span class="lineno">  537</span>&#160;<span class="preprocessor">  const unsigned int _mur_m = 0x5bd1e995;                                        \</span></div>
-<div class="line"><a name="l00538"></a><span class="lineno">  538</span>&#160;<span class="preprocessor">  const int _mur_r = 24;                                                         \</span></div>
-<div class="line"><a name="l00539"></a><span class="lineno">  539</span>&#160;<span class="preprocessor">  hashv = 0xcafebabe ^ (keylen);                                                 \</span></div>
-<div class="line"><a name="l00540"></a><span class="lineno">  540</span>&#160;<span class="preprocessor">  char *_mur_key = (char *)(key);                                                \</span></div>
-<div class="line"><a name="l00541"></a><span class="lineno">  541</span>&#160;<span class="preprocessor">  uint32_t _mur_len = keylen;                                                    \</span></div>
-<div class="line"><a name="l00542"></a><span class="lineno">  542</span>&#160;<span class="preprocessor">  int _mur_align = (int)_mur_key &amp; 3;                                            \</span></div>
-<div class="line"><a name="l00543"></a><span class="lineno">  543</span>&#160;<span class="preprocessor">                                                                                 \</span></div>
-<div class="line"><a name="l00544"></a><span class="lineno">  544</span>&#160;<span class="preprocessor">  if (_mur_align &amp;&amp; (_mur_len &gt;= 4)) {                                           \</span></div>
-<div class="line"><a name="l00545"></a><span class="lineno">  545</span>&#160;<span class="preprocessor">    unsigned _mur_t = 0, _mur_d = 0;                                             \</span></div>
-<div class="line"><a name="l00546"></a><span class="lineno">  546</span>&#160;<span class="preprocessor">    switch(_mur_align) {                                                         \</span></div>
-<div class="line"><a name="l00547"></a><span class="lineno">  547</span>&#160;<span class="preprocessor">      case 1: _mur_t |= _mur_key[2] &lt;&lt; 16;                                       \</span></div>
-<div class="line"><a name="l00548"></a><span class="lineno">  548</span>&#160;<span class="preprocessor">      case 2: _mur_t |= _mur_key[1] &lt;&lt; 8;                                        \</span></div>
-<div class="line"><a name="l00549"></a><span class="lineno">  549</span>&#160;<span class="preprocessor">      case 3: _mur_t |= _mur_key[0];                                             \</span></div>
-<div class="line"><a name="l00550"></a><span class="lineno">  550</span>&#160;<span class="preprocessor">    }                                                                            \</span></div>
-<div class="line"><a name="l00551"></a><span class="lineno">  551</span>&#160;<span class="preprocessor">    _mur_t &lt;&lt;= (8 * _mur_align);                                                 \</span></div>
-<div class="line"><a name="l00552"></a><span class="lineno">  552</span>&#160;<span class="preprocessor">    _mur_key += 4-_mur_align;                                                    \</span></div>
-<div class="line"><a name="l00553"></a><span class="lineno">  553</span>&#160;<span class="preprocessor">    _mur_len -= 4-_mur_align;                                                    \</span></div>
-<div class="line"><a name="l00554"></a><span class="lineno">  554</span>&#160;<span class="preprocessor">    int _mur_sl = 8 * (4-_mur_align);                                            \</span></div>
-<div class="line"><a name="l00555"></a><span class="lineno">  555</span>&#160;<span class="preprocessor">    int _mur_sr = 8 * _mur_align;                                                \</span></div>
-<div class="line"><a name="l00556"></a><span class="lineno">  556</span>&#160;<span class="preprocessor">                                                                                 \</span></div>
-<div class="line"><a name="l00557"></a><span class="lineno">  557</span>&#160;<span class="preprocessor">    for (;_mur_len &gt;= 4; _mur_len-=4) {                                          \</span></div>
-<div class="line"><a name="l00558"></a><span class="lineno">  558</span>&#160;<span class="preprocessor">      _mur_d = *(unsigned *)_mur_key;                                            \</span></div>
-<div class="line"><a name="l00559"></a><span class="lineno">  559</span>&#160;<span class="preprocessor">      _mur_t = (_mur_t &gt;&gt; _mur_sr) | (_mur_d &lt;&lt; _mur_sl);                        \</span></div>
-<div class="line"><a name="l00560"></a><span class="lineno">  560</span>&#160;<span class="preprocessor">      unsigned _mur_k = _mur_t;                                                  \</span></div>
-<div class="line"><a name="l00561"></a><span class="lineno">  561</span>&#160;<span class="preprocessor">      _mur_k *= _mur_m;                                                          \</span></div>
-<div class="line"><a name="l00562"></a><span class="lineno">  562</span>&#160;<span class="preprocessor">      _mur_k ^= _mur_k &gt;&gt; _mur_r;                                                \</span></div>
-<div class="line"><a name="l00563"></a><span class="lineno">  563</span>&#160;<span class="preprocessor">      _mur_k *= _mur_m;                                                          \</span></div>
-<div class="line"><a name="l00564"></a><span class="lineno">  564</span>&#160;<span class="preprocessor">      hashv *= _mur_m;                                                           \</span></div>
-<div class="line"><a name="l00565"></a><span class="lineno">  565</span>&#160;<span class="preprocessor">      hashv ^= _mur_k;                                                           \</span></div>
-<div class="line"><a name="l00566"></a><span class="lineno">  566</span>&#160;<span class="preprocessor">      _mur_t = _mur_d;                                                           \</span></div>
-<div class="line"><a name="l00567"></a><span class="lineno">  567</span>&#160;<span class="preprocessor">      _mur_key += 4;                                                             \</span></div>
-<div class="line"><a name="l00568"></a><span class="lineno">  568</span>&#160;<span class="preprocessor">    }                                                                            \</span></div>
-<div class="line"><a name="l00569"></a><span class="lineno">  569</span>&#160;<span class="preprocessor">    _mur_d = 0;                                                                  \</span></div>
-<div class="line"><a name="l00570"></a><span class="lineno">  570</span>&#160;<span class="preprocessor">    if(_mur_len &gt;= _mur_align) {                                                 \</span></div>
-<div class="line"><a name="l00571"></a><span class="lineno">  571</span>&#160;<span class="preprocessor">      switch(_mur_align) {                                                       \</span></div>
-<div class="line"><a name="l00572"></a><span class="lineno">  572</span>&#160;<span class="preprocessor">        case 3: _mur_d |= _mur_key[2] &lt;&lt; 16;                                     \</span></div>
-<div class="line"><a name="l00573"></a><span class="lineno">  573</span>&#160;<span class="preprocessor">        case 2: _mur_d |= _mur_key[1] &lt;&lt; 8;                                      \</span></div>
-<div class="line"><a name="l00574"></a><span class="lineno">  574</span>&#160;<span class="preprocessor">        case 1: _mur_d |= _mur_key[0];                                           \</span></div>
-<div class="line"><a name="l00575"></a><span class="lineno">  575</span>&#160;<span class="preprocessor">      }                                                                          \</span></div>
-<div class="line"><a name="l00576"></a><span class="lineno">  576</span>&#160;<span class="preprocessor">      unsigned _mur_k = (_mur_t &gt;&gt; _mur_sr) | (_mur_d &lt;&lt; _mur_sl);               \</span></div>
-<div class="line"><a name="l00577"></a><span class="lineno">  577</span>&#160;<span class="preprocessor">      _mur_k *= _mur_m;                                                          \</span></div>
-<div class="line"><a name="l00578"></a><span class="lineno">  578</span>&#160;<span class="preprocessor">      _mur_k ^= _mur_k &gt;&gt; _mur_r;                                                \</span></div>
-<div class="line"><a name="l00579"></a><span class="lineno">  579</span>&#160;<span class="preprocessor">      _mur_k *= _mur_m;                                                          \</span></div>
-<div class="line"><a name="l00580"></a><span class="lineno">  580</span>&#160;<span class="preprocessor">      hashv *= _mur_m;                                                           \</span></div>
-<div class="line"><a name="l00581"></a><span class="lineno">  581</span>&#160;<span class="preprocessor">      hashv ^= _mur_k;                                                           \</span></div>
-<div class="line"><a name="l00582"></a><span class="lineno">  582</span>&#160;<span class="preprocessor">      _mur_k += _mur_align;                                                      \</span></div>
-<div class="line"><a name="l00583"></a><span class="lineno">  583</span>&#160;<span class="preprocessor">      _mur_len -= _mur_align;                                                    \</span></div>
-<div class="line"><a name="l00584"></a><span class="lineno">  584</span>&#160;<span class="preprocessor">                                                                                 \</span></div>
-<div class="line"><a name="l00585"></a><span class="lineno">  585</span>&#160;<span class="preprocessor">      switch(_mur_len)                                                           \</span></div>
-<div class="line"><a name="l00586"></a><span class="lineno">  586</span>&#160;<span class="preprocessor">      {                                                                          \</span></div>
-<div class="line"><a name="l00587"></a><span class="lineno">  587</span>&#160;<span class="preprocessor">        case 3: hashv ^= _mur_key[2] &lt;&lt; 16;                                      \</span></div>
-<div class="line"><a name="l00588"></a><span class="lineno">  588</span>&#160;<span class="preprocessor">        case 2: hashv ^= _mur_key[1] &lt;&lt; 8;                                       \</span></div>
-<div class="line"><a name="l00589"></a><span class="lineno">  589</span>&#160;<span class="preprocessor">        case 1: hashv ^= _mur_key[0];                                            \</span></div>
-<div class="line"><a name="l00590"></a><span class="lineno">  590</span>&#160;<span class="preprocessor">                hashv *= _mur_m;                                                 \</span></div>
-<div class="line"><a name="l00591"></a><span class="lineno">  591</span>&#160;<span class="preprocessor">      }                                                                          \</span></div>
-<div class="line"><a name="l00592"></a><span class="lineno">  592</span>&#160;<span class="preprocessor">    } else {                                                                     \</span></div>
-<div class="line"><a name="l00593"></a><span class="lineno">  593</span>&#160;<span class="preprocessor">      switch(_mur_len)                                                           \</span></div>
-<div class="line"><a name="l00594"></a><span class="lineno">  594</span>&#160;<span class="preprocessor">      {                                                                          \</span></div>
-<div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;<span class="preprocessor">        case 3: _mur_d ^= _mur_key[2] &lt;&lt; 16;                                     \</span></div>
-<div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160;<span class="preprocessor">        case 2: _mur_d ^= _mur_key[1] &lt;&lt; 8;                                      \</span></div>
-<div class="line"><a name="l00597"></a><span class="lineno">  597</span>&#160;<span class="preprocessor">        case 1: _mur_d ^= _mur_key[0];                                           \</span></div>
-<div class="line"><a name="l00598"></a><span class="lineno">  598</span>&#160;<span class="preprocessor">        case 0: hashv ^= (_mur_t &gt;&gt; _mur_sr) | (_mur_d &lt;&lt; _mur_sl);              \</span></div>
-<div class="line"><a name="l00599"></a><span class="lineno">  599</span>&#160;<span class="preprocessor">        hashv *= _mur_m;                                                         \</span></div>
-<div class="line"><a name="l00600"></a><span class="lineno">  600</span>&#160;<span class="preprocessor">      }                                                                          \</span></div>
-<div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160;<span class="preprocessor">    }                                                                            \</span></div>
-<div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;<span class="preprocessor">                                                                                 \</span></div>
-<div class="line"><a name="l00603"></a><span class="lineno">  603</span>&#160;<span class="preprocessor">    hashv ^= hashv &gt;&gt; 13;                                                        \</span></div>
-<div class="line"><a name="l00604"></a><span class="lineno">  604</span>&#160;<span class="preprocessor">    hashv *= _mur_m;                                                             \</span></div>
-<div class="line"><a name="l00605"></a><span class="lineno">  605</span>&#160;<span class="preprocessor">    hashv ^= hashv &gt;&gt; 15;                                                        \</span></div>
-<div class="line"><a name="l00606"></a><span class="lineno">  606</span>&#160;<span class="preprocessor">  } else {                                                                       \</span></div>
-<div class="line"><a name="l00607"></a><span class="lineno">  607</span>&#160;<span class="preprocessor">    for (;_mur_len &gt;= 4; _mur_len-=4) {                                          \</span></div>
-<div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;<span class="preprocessor">      unsigned _mur_k = *(unsigned*)_mur_key;                                    \</span></div>
-<div class="line"><a name="l00609"></a><span class="lineno">  609</span>&#160;<span class="preprocessor">      _mur_k *= _mur_m;                                                          \</span></div>
-<div class="line"><a name="l00610"></a><span class="lineno">  610</span>&#160;<span class="preprocessor">      _mur_k ^= _mur_k &gt;&gt; _mur_r;                                                \</span></div>
-<div class="line"><a name="l00611"></a><span class="lineno">  611</span>&#160;<span class="preprocessor">      _mur_k *= _mur_m;                                                          \</span></div>
-<div class="line"><a name="l00612"></a><span class="lineno">  612</span>&#160;<span class="preprocessor">      hashv *= _mur_m;                                                           \</span></div>
-<div class="line"><a name="l00613"></a><span class="lineno">  613</span>&#160;<span class="preprocessor">      hashv ^= _mur_k;                                                           \</span></div>
-<div class="line"><a name="l00614"></a><span class="lineno">  614</span>&#160;<span class="preprocessor">      _mur_key += 4;                                                             \</span></div>
-<div class="line"><a name="l00615"></a><span class="lineno">  615</span>&#160;<span class="preprocessor">    }                                                                            \</span></div>
-<div class="line"><a name="l00616"></a><span class="lineno">  616</span>&#160;<span class="preprocessor">    switch(_mur_len)                                                             \</span></div>
-<div class="line"><a name="l00617"></a><span class="lineno">  617</span>&#160;<span class="preprocessor">    {                                                                            \</span></div>
-<div class="line"><a name="l00618"></a><span class="lineno">  618</span>&#160;<span class="preprocessor">      case 3: hashv ^= _mur_key[2] &lt;&lt; 16;                                        \</span></div>
-<div class="line"><a name="l00619"></a><span class="lineno">  619</span>&#160;<span class="preprocessor">      case 2: hashv ^= _mur_key[1] &lt;&lt; 8;                                         \</span></div>
-<div class="line"><a name="l00620"></a><span class="lineno">  620</span>&#160;<span class="preprocessor">      case 1: hashv ^= _mur_key[0];                                              \</span></div>
-<div class="line"><a name="l00621"></a><span class="lineno">  621</span>&#160;<span class="preprocessor">      hashv *= _mur_m;                                                           \</span></div>
-<div class="line"><a name="l00622"></a><span class="lineno">  622</span>&#160;<span class="preprocessor">    }                                                                            \</span></div>
-<div class="line"><a name="l00623"></a><span class="lineno">  623</span>&#160;<span class="preprocessor">                                                                                 \</span></div>
-<div class="line"><a name="l00624"></a><span class="lineno">  624</span>&#160;<span class="preprocessor">    hashv ^= hashv &gt;&gt; 13;                                                        \</span></div>
-<div class="line"><a name="l00625"></a><span class="lineno">  625</span>&#160;<span class="preprocessor">    hashv *= _mur_m;                                                             \</span></div>
-<div class="line"><a name="l00626"></a><span class="lineno">  626</span>&#160;<span class="preprocessor">    hashv ^= hashv &gt;&gt; 15;                                                        \</span></div>
-<div class="line"><a name="l00627"></a><span class="lineno">  627</span>&#160;<span class="preprocessor">  }                                                                              \</span></div>
-<div class="line"><a name="l00628"></a><span class="lineno">  628</span>&#160;<span class="preprocessor">  bkt = hashv &amp; (num_bkts-1);                                                    \</span></div>
-<div class="line"><a name="l00629"></a><span class="lineno">  629</span>&#160;<span class="preprocessor">} while(0)</span></div>
-<div class="line"><a name="l00630"></a><span class="lineno">  630</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif  </span><span class="comment">/* HASH_USING_NO_STRICT_ALIASING */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00631"></a><span class="lineno">  631</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00632"></a><span class="lineno">  632</span>&#160;<span class="comment">/* key comparison function; return 0 if keys equal */</span></div>
-<div class="line"><a name="l00633"></a><span class="lineno"><a class="line" href="uthash_8h.html#a35c9b682ebb7a8cbf284b9f0a9594095">  633</a></span>&#160;<span class="preprocessor">#define HASH_KEYCMP(a,b,len) memcmp(a,b,len) </span></div>
-<div class="line"><a name="l00634"></a><span class="lineno">  634</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00635"></a><span class="lineno">  635</span>&#160;<span class="comment">/* iterate over items in a known bucket to find desired item */</span></div>
-<div class="line"><a name="l00636"></a><span class="lineno"><a class="line" href="uthash_8h.html#a42ae87cc63106a82601808f19329502c">  636</a></span>&#160;<span class="preprocessor">#define HASH_FIND_IN_BKT(tbl,hh,head,keyptr,keylen_in,out)                       \</span></div>
-<div class="line"><a name="l00637"></a><span class="lineno">  637</span>&#160;<span class="preprocessor">do {                                                                             \</span></div>
-<div class="line"><a name="l00638"></a><span class="lineno">  638</span>&#160;<span class="preprocessor"> if (head.hh_head) DECLTYPE_ASSIGN(out,ELMT_FROM_HH(tbl,head.hh_head));          \</span></div>
-<div class="line"><a name="l00639"></a><span class="lineno">  639</span>&#160;<span class="preprocessor"> else out=NULL;                                                                  \</span></div>
-<div class="line"><a name="l00640"></a><span class="lineno">  640</span>&#160;<span class="preprocessor"> while (out) {                                                                   \</span></div>
-<div class="line"><a name="l00641"></a><span class="lineno">  641</span>&#160;<span class="preprocessor">    if (out-&gt;hh.keylen == keylen_in) {                                           \</span></div>
-<div class="line"><a name="l00642"></a><span class="lineno">  642</span>&#160;<span class="preprocessor">        if ((HASH_KEYCMP(out-&gt;hh.key,keyptr,keylen_in)) == 0) break;             \</span></div>
-<div class="line"><a name="l00643"></a><span class="lineno">  643</span>&#160;<span class="preprocessor">    }                                                                            \</span></div>
-<div class="line"><a name="l00644"></a><span class="lineno">  644</span>&#160;<span class="preprocessor">    if (out-&gt;hh.hh_next) DECLTYPE_ASSIGN(out,ELMT_FROM_HH(tbl,out-&gt;hh.hh_next)); \</span></div>
-<div class="line"><a name="l00645"></a><span class="lineno">  645</span>&#160;<span class="preprocessor">    else out = NULL;                                                             \</span></div>
-<div class="line"><a name="l00646"></a><span class="lineno">  646</span>&#160;<span class="preprocessor"> }                                                                               \</span></div>
-<div class="line"><a name="l00647"></a><span class="lineno">  647</span>&#160;<span class="preprocessor">} while(0)</span></div>
-<div class="line"><a name="l00648"></a><span class="lineno">  648</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00649"></a><span class="lineno">  649</span>&#160;<span class="comment">/* add an item to a bucket  */</span></div>
-<div class="line"><a name="l00650"></a><span class="lineno"><a class="line" href="uthash_8h.html#a78e11adee321f45c5cb31ff2d6eb0348">  650</a></span>&#160;<span class="preprocessor">#define HASH_ADD_TO_BKT(head,addhh)                                              \</span></div>
-<div class="line"><a name="l00651"></a><span class="lineno">  651</span>&#160;<span class="preprocessor">do {                                                                             \</span></div>
-<div class="line"><a name="l00652"></a><span class="lineno">  652</span>&#160;<span class="preprocessor"> head.count++;                                                                   \</span></div>
-<div class="line"><a name="l00653"></a><span class="lineno">  653</span>&#160;<span class="preprocessor"> (addhh)-&gt;hh_next = head.hh_head;                                                \</span></div>
-<div class="line"><a name="l00654"></a><span class="lineno">  654</span>&#160;<span class="preprocessor"> (addhh)-&gt;hh_prev = NULL;                                                        \</span></div>
-<div class="line"><a name="l00655"></a><span class="lineno">  655</span>&#160;<span class="preprocessor"> if (head.hh_head) { (head).hh_head-&gt;hh_prev = (addhh); }                        \</span></div>
-<div class="line"><a name="l00656"></a><span class="lineno">  656</span>&#160;<span class="preprocessor"> (head).hh_head=addhh;                                                           \</span></div>
-<div class="line"><a name="l00657"></a><span class="lineno">  657</span>&#160;<span class="preprocessor"> if (head.count &gt;= ((head.expand_mult+1) * HASH_BKT_CAPACITY_THRESH)             \</span></div>
-<div class="line"><a name="l00658"></a><span class="lineno">  658</span>&#160;<span class="preprocessor">     &amp;&amp; (addhh)-&gt;tbl-&gt;noexpand != 1) {                                           \</span></div>
-<div class="line"><a name="l00659"></a><span class="lineno">  659</span>&#160;<span class="preprocessor">       HASH_EXPAND_BUCKETS((addhh)-&gt;tbl);                                        \</span></div>
-<div class="line"><a name="l00660"></a><span class="lineno">  660</span>&#160;<span class="preprocessor"> }                                                                               \</span></div>
-<div class="line"><a name="l00661"></a><span class="lineno">  661</span>&#160;<span class="preprocessor">} while(0)</span></div>
-<div class="line"><a name="l00662"></a><span class="lineno">  662</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00663"></a><span class="lineno">  663</span>&#160;<span class="comment">/* remove an item from a given bucket */</span></div>
-<div class="line"><a name="l00664"></a><span class="lineno"><a class="line" href="uthash_8h.html#a1b2d6f694f98cf6350cdd18225cb3f78">  664</a></span>&#160;<span class="preprocessor">#define HASH_DEL_IN_BKT(hh,head,hh_del)                                          \</span></div>
-<div class="line"><a name="l00665"></a><span class="lineno">  665</span>&#160;<span class="preprocessor">    (head).count--;                                                              \</span></div>
-<div class="line"><a name="l00666"></a><span class="lineno">  666</span>&#160;<span class="preprocessor">    if ((head).hh_head == hh_del) {                                              \</span></div>
-<div class="line"><a name="l00667"></a><span class="lineno">  667</span>&#160;<span class="preprocessor">      (head).hh_head = hh_del-&gt;hh_next;                                          \</span></div>
-<div class="line"><a name="l00668"></a><span class="lineno">  668</span>&#160;<span class="preprocessor">    }                                                                            \</span></div>
-<div class="line"><a name="l00669"></a><span class="lineno">  669</span>&#160;<span class="preprocessor">    if (hh_del-&gt;hh_prev) {                                                       \</span></div>
-<div class="line"><a name="l00670"></a><span class="lineno">  670</span>&#160;<span class="preprocessor">        hh_del-&gt;hh_prev-&gt;hh_next = hh_del-&gt;hh_next;                              \</span></div>
-<div class="line"><a name="l00671"></a><span class="lineno">  671</span>&#160;<span class="preprocessor">    }                                                                            \</span></div>
-<div class="line"><a name="l00672"></a><span class="lineno">  672</span>&#160;<span class="preprocessor">    if (hh_del-&gt;hh_next) {                                                       \</span></div>
-<div class="line"><a name="l00673"></a><span class="lineno">  673</span>&#160;<span class="preprocessor">        hh_del-&gt;hh_next-&gt;hh_prev = hh_del-&gt;hh_prev;                              \</span></div>
-<div class="line"><a name="l00674"></a><span class="lineno">  674</span>&#160;<span class="preprocessor">    }                                                                </span></div>
-<div class="line"><a name="l00675"></a><span class="lineno">  675</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00676"></a><span class="lineno">  676</span>&#160;<span class="comment">/* Bucket expansion has the effect of doubling the number of buckets</span></div>
-<div class="line"><a name="l00677"></a><span class="lineno">  677</span>&#160;<span class="comment"> * and redistributing the items into the new buckets. Ideally the</span></div>
-<div class="line"><a name="l00678"></a><span class="lineno">  678</span>&#160;<span class="comment"> * items will distribute more or less evenly into the new buckets</span></div>
-<div class="line"><a name="l00679"></a><span class="lineno">  679</span>&#160;<span class="comment"> * (the extent to which this is true is a measure of the quality of</span></div>
-<div class="line"><a name="l00680"></a><span class="lineno">  680</span>&#160;<span class="comment"> * the hash function as it applies to the key domain). </span></div>
-<div class="line"><a name="l00681"></a><span class="lineno">  681</span>&#160;<span class="comment"> * </span></div>
-<div class="line"><a name="l00682"></a><span class="lineno">  682</span>&#160;<span class="comment"> * With the items distributed into more buckets, the chain length</span></div>
-<div class="line"><a name="l00683"></a><span class="lineno">  683</span>&#160;<span class="comment"> * (item count) in each bucket is reduced. Thus by expanding buckets</span></div>
-<div class="line"><a name="l00684"></a><span class="lineno">  684</span>&#160;<span class="comment"> * the hash keeps a bound on the chain length. This bounded chain </span></div>
-<div class="line"><a name="l00685"></a><span class="lineno">  685</span>&#160;<span class="comment"> * length is the essence of how a hash provides constant time lookup.</span></div>
-<div class="line"><a name="l00686"></a><span class="lineno">  686</span>&#160;<span class="comment"> * </span></div>
-<div class="line"><a name="l00687"></a><span class="lineno">  687</span>&#160;<span class="comment"> * The calculation of tbl-&gt;ideal_chain_maxlen below deserves some</span></div>
-<div class="line"><a name="l00688"></a><span class="lineno">  688</span>&#160;<span class="comment"> * explanation. First, keep in mind that we&#39;re calculating the ideal</span></div>
-<div class="line"><a name="l00689"></a><span class="lineno">  689</span>&#160;<span class="comment"> * maximum chain length based on the *new* (doubled) bucket count.</span></div>
-<div class="line"><a name="l00690"></a><span class="lineno">  690</span>&#160;<span class="comment"> * In fractions this is just n/b (n=number of items,b=new num buckets).</span></div>
-<div class="line"><a name="l00691"></a><span class="lineno">  691</span>&#160;<span class="comment"> * Since the ideal chain length is an integer, we want to calculate </span></div>
-<div class="line"><a name="l00692"></a><span class="lineno">  692</span>&#160;<span class="comment"> * ceil(n/b). We don&#39;t depend on floating point arithmetic in this</span></div>
-<div class="line"><a name="l00693"></a><span class="lineno">  693</span>&#160;<span class="comment"> * hash, so to calculate ceil(n/b) with integers we could write</span></div>
-<div class="line"><a name="l00694"></a><span class="lineno">  694</span>&#160;<span class="comment"> * </span></div>
-<div class="line"><a name="l00695"></a><span class="lineno">  695</span>&#160;<span class="comment"> *      ceil(n/b) = (n/b) + ((n%b)?1:0)</span></div>
-<div class="line"><a name="l00696"></a><span class="lineno">  696</span>&#160;<span class="comment"> * </span></div>
-<div class="line"><a name="l00697"></a><span class="lineno">  697</span>&#160;<span class="comment"> * and in fact a previous version of this hash did just that.</span></div>
-<div class="line"><a name="l00698"></a><span class="lineno">  698</span>&#160;<span class="comment"> * But now we have improved things a bit by recognizing that b is</span></div>
-<div class="line"><a name="l00699"></a><span class="lineno">  699</span>&#160;<span class="comment"> * always a power of two. We keep its base 2 log handy (call it lb),</span></div>
-<div class="line"><a name="l00700"></a><span class="lineno">  700</span>&#160;<span class="comment"> * so now we can write this with a bit shift and logical AND:</span></div>
-<div class="line"><a name="l00701"></a><span class="lineno">  701</span>&#160;<span class="comment"> * </span></div>
-<div class="line"><a name="l00702"></a><span class="lineno">  702</span>&#160;<span class="comment"> *      ceil(n/b) = (n&gt;&gt;lb) + ( (n &amp; (b-1)) ? 1:0)</span></div>
-<div class="line"><a name="l00703"></a><span class="lineno">  703</span>&#160;<span class="comment"> * </span></div>
-<div class="line"><a name="l00704"></a><span class="lineno">  704</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00705"></a><span class="lineno"><a class="line" href="uthash_8h.html#a6439fd6271474e61b1840fbf83132f03">  705</a></span>&#160;<span class="preprocessor">#define HASH_EXPAND_BUCKETS(tbl)                                                 \</span></div>
-<div class="line"><a name="l00706"></a><span class="lineno">  706</span>&#160;<span class="preprocessor">do {                                                                             \</span></div>
-<div class="line"><a name="l00707"></a><span class="lineno">  707</span>&#160;<span class="preprocessor">    unsigned _he_bkt;                                                            \</span></div>
-<div class="line"><a name="l00708"></a><span class="lineno">  708</span>&#160;<span class="preprocessor">    unsigned _he_bkt_i;                                                          \</span></div>
-<div class="line"><a name="l00709"></a><span class="lineno">  709</span>&#160;<span class="preprocessor">    struct UT_hash_handle *_he_thh, *_he_hh_nxt;                                 \</span></div>
-<div class="line"><a name="l00710"></a><span class="lineno">  710</span>&#160;<span class="preprocessor">    UT_hash_bucket *_he_new_buckets, *_he_newbkt;                                \</span></div>
-<div class="line"><a name="l00711"></a><span class="lineno">  711</span>&#160;<span class="preprocessor">    _he_new_buckets = (UT_hash_bucket*)uthash_malloc(                            \</span></div>
-<div class="line"><a name="l00712"></a><span class="lineno">  712</span>&#160;<span class="preprocessor">             2 * tbl-&gt;num_buckets * sizeof(struct UT_hash_bucket));              \</span></div>
-<div class="line"><a name="l00713"></a><span class="lineno">  713</span>&#160;<span class="preprocessor">    if (!_he_new_buckets) { uthash_fatal( &quot;out of memory&quot;); }                    \</span></div>
-<div class="line"><a name="l00714"></a><span class="lineno">  714</span>&#160;<span class="preprocessor">    memset(_he_new_buckets, 0,                                                   \</span></div>
-<div class="line"><a name="l00715"></a><span class="lineno">  715</span>&#160;<span class="preprocessor">            2 * tbl-&gt;num_buckets * sizeof(struct UT_hash_bucket));               \</span></div>
-<div class="line"><a name="l00716"></a><span class="lineno">  716</span>&#160;<span class="preprocessor">    tbl-&gt;ideal_chain_maxlen =                                                    \</span></div>
-<div class="line"><a name="l00717"></a><span class="lineno">  717</span>&#160;<span class="preprocessor">       (tbl-&gt;num_items &gt;&gt; (tbl-&gt;log2_num_buckets+1)) +                           \</span></div>
-<div class="line"><a name="l00718"></a><span class="lineno">  718</span>&#160;<span class="preprocessor">       ((tbl-&gt;num_items &amp; ((tbl-&gt;num_buckets*2)-1)) ? 1 : 0);                    \</span></div>
-<div class="line"><a name="l00719"></a><span class="lineno">  719</span>&#160;<span class="preprocessor">    tbl-&gt;nonideal_items = 0;                                                     \</span></div>
-<div class="line"><a name="l00720"></a><span class="lineno">  720</span>&#160;<span class="preprocessor">    for(_he_bkt_i = 0; _he_bkt_i &lt; tbl-&gt;num_buckets; _he_bkt_i++)                \</span></div>
-<div class="line"><a name="l00721"></a><span class="lineno">  721</span>&#160;<span class="preprocessor">    {                                                                            \</span></div>
-<div class="line"><a name="l00722"></a><span class="lineno">  722</span>&#160;<span class="preprocessor">        _he_thh = tbl-&gt;buckets[ _he_bkt_i ].hh_head;                             \</span></div>
-<div class="line"><a name="l00723"></a><span class="lineno">  723</span>&#160;<span class="preprocessor">        while (_he_thh) {                                                        \</span></div>
-<div class="line"><a name="l00724"></a><span class="lineno">  724</span>&#160;<span class="preprocessor">           _he_hh_nxt = _he_thh-&gt;hh_next;                                        \</span></div>
-<div class="line"><a name="l00725"></a><span class="lineno">  725</span>&#160;<span class="preprocessor">           HASH_TO_BKT( _he_thh-&gt;hashv, tbl-&gt;num_buckets*2, _he_bkt);            \</span></div>
-<div class="line"><a name="l00726"></a><span class="lineno">  726</span>&#160;<span class="preprocessor">           _he_newbkt = &amp;(_he_new_buckets[ _he_bkt ]);                           \</span></div>
-<div class="line"><a name="l00727"></a><span class="lineno">  727</span>&#160;<span class="preprocessor">           if (++(_he_newbkt-&gt;count) &gt; tbl-&gt;ideal_chain_maxlen) {                \</span></div>
-<div class="line"><a name="l00728"></a><span class="lineno">  728</span>&#160;<span class="preprocessor">             tbl-&gt;nonideal_items++;                                              \</span></div>
-<div class="line"><a name="l00729"></a><span class="lineno">  729</span>&#160;<span class="preprocessor">             _he_newbkt-&gt;expand_mult = _he_newbkt-&gt;count /                       \</span></div>
-<div class="line"><a name="l00730"></a><span class="lineno">  730</span>&#160;<span class="preprocessor">                                        tbl-&gt;ideal_chain_maxlen;                 \</span></div>
-<div class="line"><a name="l00731"></a><span class="lineno">  731</span>&#160;<span class="preprocessor">           }                                                                     \</span></div>
-<div class="line"><a name="l00732"></a><span class="lineno">  732</span>&#160;<span class="preprocessor">           _he_thh-&gt;hh_prev = NULL;                                              \</span></div>
-<div class="line"><a name="l00733"></a><span class="lineno">  733</span>&#160;<span class="preprocessor">           _he_thh-&gt;hh_next = _he_newbkt-&gt;hh_head;                               \</span></div>
-<div class="line"><a name="l00734"></a><span class="lineno">  734</span>&#160;<span class="preprocessor">           if (_he_newbkt-&gt;hh_head) _he_newbkt-&gt;hh_head-&gt;hh_prev =               \</span></div>
-<div class="line"><a name="l00735"></a><span class="lineno">  735</span>&#160;<span class="preprocessor">                _he_thh;                                                         \</span></div>
-<div class="line"><a name="l00736"></a><span class="lineno">  736</span>&#160;<span class="preprocessor">           _he_newbkt-&gt;hh_head = _he_thh;                                        \</span></div>
-<div class="line"><a name="l00737"></a><span class="lineno">  737</span>&#160;<span class="preprocessor">           _he_thh = _he_hh_nxt;                                                 \</span></div>
-<div class="line"><a name="l00738"></a><span class="lineno">  738</span>&#160;<span class="preprocessor">        }                                                                        \</span></div>
-<div class="line"><a name="l00739"></a><span class="lineno">  739</span>&#160;<span class="preprocessor">    }                                                                            \</span></div>
-<div class="line"><a name="l00740"></a><span class="lineno">  740</span>&#160;<span class="preprocessor">    uthash_free( tbl-&gt;buckets, tbl-&gt;num_buckets*sizeof(struct UT_hash_bucket) ); \</span></div>
-<div class="line"><a name="l00741"></a><span class="lineno">  741</span>&#160;<span class="preprocessor">    tbl-&gt;num_buckets *= 2;                                                       \</span></div>
-<div class="line"><a name="l00742"></a><span class="lineno">  742</span>&#160;<span class="preprocessor">    tbl-&gt;log2_num_buckets++;                                                     \</span></div>
-<div class="line"><a name="l00743"></a><span class="lineno">  743</span>&#160;<span class="preprocessor">    tbl-&gt;buckets = _he_new_buckets;                                              \</span></div>
-<div class="line"><a name="l00744"></a><span class="lineno">  744</span>&#160;<span class="preprocessor">    tbl-&gt;ineff_expands = (tbl-&gt;nonideal_items &gt; (tbl-&gt;num_items &gt;&gt; 1)) ?         \</span></div>
-<div class="line"><a name="l00745"></a><span class="lineno">  745</span>&#160;<span class="preprocessor">        (tbl-&gt;ineff_expands+1) : 0;                                              \</span></div>
-<div class="line"><a name="l00746"></a><span class="lineno">  746</span>&#160;<span class="preprocessor">    if (tbl-&gt;ineff_expands &gt; 1) {                                                \</span></div>
-<div class="line"><a name="l00747"></a><span class="lineno">  747</span>&#160;<span class="preprocessor">        tbl-&gt;noexpand=1;                                                         \</span></div>
-<div class="line"><a name="l00748"></a><span class="lineno">  748</span>&#160;<span class="preprocessor">        uthash_noexpand_fyi(tbl);                                                \</span></div>
-<div class="line"><a name="l00749"></a><span class="lineno">  749</span>&#160;<span class="preprocessor">    }                                                                            \</span></div>
-<div class="line"><a name="l00750"></a><span class="lineno">  750</span>&#160;<span class="preprocessor">    uthash_expand_fyi(tbl);                                                      \</span></div>
-<div class="line"><a name="l00751"></a><span class="lineno">  751</span>&#160;<span class="preprocessor">} while(0)</span></div>
-<div class="line"><a name="l00752"></a><span class="lineno">  752</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00753"></a><span class="lineno">  753</span>&#160;</div>
-<div class="line"><a name="l00754"></a><span class="lineno">  754</span>&#160;<span class="comment">/* This is an adaptation of Simon Tatham&#39;s O(n log(n)) mergesort */</span></div>
-<div class="line"><a name="l00755"></a><span class="lineno">  755</span>&#160;<span class="comment">/* Note that HASH_SORT assumes the hash handle name to be hh. </span></div>
-<div class="line"><a name="l00756"></a><span class="lineno">  756</span>&#160;<span class="comment"> * HASH_SRT was added to allow the hash handle name to be passed in. */</span></div>
-<div class="line"><a name="l00757"></a><span class="lineno"><a class="line" href="uthash_8h.html#a88d2ab40956878caacd02c214f7e8f15">  757</a></span>&#160;<span class="preprocessor">#define HASH_SORT(head,cmpfcn) HASH_SRT(hh,head,cmpfcn)</span></div>
-<div class="line"><a name="l00758"></a><span class="lineno"><a class="line" href="uthash_8h.html#a388b4071dcff005154f431d3d3025fbd">  758</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define HASH_SRT(hh,head,cmpfcn)                                                 \</span></div>
-<div class="line"><a name="l00759"></a><span class="lineno">  759</span>&#160;<span class="preprocessor">do {                                                                             \</span></div>
-<div class="line"><a name="l00760"></a><span class="lineno">  760</span>&#160;<span class="preprocessor">  unsigned _hs_i;                                                                \</span></div>
-<div class="line"><a name="l00761"></a><span class="lineno">  761</span>&#160;<span class="preprocessor">  unsigned _hs_looping,_hs_nmerges,_hs_insize,_hs_psize,_hs_qsize;               \</span></div>
-<div class="line"><a name="l00762"></a><span class="lineno">  762</span>&#160;<span class="preprocessor">  struct UT_hash_handle *_hs_p, *_hs_q, *_hs_e, *_hs_list, *_hs_tail;            \</span></div>
-<div class="line"><a name="l00763"></a><span class="lineno">  763</span>&#160;<span class="preprocessor">  if (head) {                                                                    \</span></div>
-<div class="line"><a name="l00764"></a><span class="lineno">  764</span>&#160;<span class="preprocessor">      _hs_insize = 1;                                                            \</span></div>
-<div class="line"><a name="l00765"></a><span class="lineno">  765</span>&#160;<span class="preprocessor">      _hs_looping = 1;                                                           \</span></div>
-<div class="line"><a name="l00766"></a><span class="lineno">  766</span>&#160;<span class="preprocessor">      _hs_list = &amp;((head)-&gt;hh);                                                  \</span></div>
-<div class="line"><a name="l00767"></a><span class="lineno">  767</span>&#160;<span class="preprocessor">      while (_hs_looping) {                                                      \</span></div>
-<div class="line"><a name="l00768"></a><span class="lineno">  768</span>&#160;<span class="preprocessor">          _hs_p = _hs_list;                                                      \</span></div>
-<div class="line"><a name="l00769"></a><span class="lineno">  769</span>&#160;<span class="preprocessor">          _hs_list = NULL;                                                       \</span></div>
-<div class="line"><a name="l00770"></a><span class="lineno">  770</span>&#160;<span class="preprocessor">          _hs_tail = NULL;                                                       \</span></div>
-<div class="line"><a name="l00771"></a><span class="lineno">  771</span>&#160;<span class="preprocessor">          _hs_nmerges = 0;                                                       \</span></div>
-<div class="line"><a name="l00772"></a><span class="lineno">  772</span>&#160;<span class="preprocessor">          while (_hs_p) {                                                        \</span></div>
-<div class="line"><a name="l00773"></a><span class="lineno">  773</span>&#160;<span class="preprocessor">              _hs_nmerges++;                                                     \</span></div>
-<div class="line"><a name="l00774"></a><span class="lineno">  774</span>&#160;<span class="preprocessor">              _hs_q = _hs_p;                                                     \</span></div>
-<div class="line"><a name="l00775"></a><span class="lineno">  775</span>&#160;<span class="preprocessor">              _hs_psize = 0;                                                     \</span></div>
-<div class="line"><a name="l00776"></a><span class="lineno">  776</span>&#160;<span class="preprocessor">              for ( _hs_i = 0; _hs_i  &lt; _hs_insize; _hs_i++ ) {                  \</span></div>
-<div class="line"><a name="l00777"></a><span class="lineno">  777</span>&#160;<span class="preprocessor">                  _hs_psize++;                                                   \</span></div>
-<div class="line"><a name="l00778"></a><span class="lineno">  778</span>&#160;<span class="preprocessor">                  _hs_q = (UT_hash_handle*)((_hs_q-&gt;next) ?                      \</span></div>
-<div class="line"><a name="l00779"></a><span class="lineno">  779</span>&#160;<span class="preprocessor">                          ((void*)((char*)(_hs_q-&gt;next) +                        \</span></div>
-<div class="line"><a name="l00780"></a><span class="lineno">  780</span>&#160;<span class="preprocessor">                          (head)-&gt;hh.tbl-&gt;hho)) : NULL);                         \</span></div>
-<div class="line"><a name="l00781"></a><span class="lineno">  781</span>&#160;<span class="preprocessor">                  if (! (_hs_q) ) break;                                         \</span></div>
-<div class="line"><a name="l00782"></a><span class="lineno">  782</span>&#160;<span class="preprocessor">              }                                                                  \</span></div>
-<div class="line"><a name="l00783"></a><span class="lineno">  783</span>&#160;<span class="preprocessor">              _hs_qsize = _hs_insize;                                            \</span></div>
-<div class="line"><a name="l00784"></a><span class="lineno">  784</span>&#160;<span class="preprocessor">              while ((_hs_psize &gt; 0) || ((_hs_qsize &gt; 0) &amp;&amp; _hs_q )) {           \</span></div>
-<div class="line"><a name="l00785"></a><span class="lineno">  785</span>&#160;<span class="preprocessor">                  if (_hs_psize == 0) {                                          \</span></div>
-<div class="line"><a name="l00786"></a><span class="lineno">  786</span>&#160;<span class="preprocessor">                      _hs_e = _hs_q;                                             \</span></div>
-<div class="line"><a name="l00787"></a><span class="lineno">  787</span>&#160;<span class="preprocessor">                      _hs_q = (UT_hash_handle*)((_hs_q-&gt;next) ?                  \</span></div>
-<div class="line"><a name="l00788"></a><span class="lineno">  788</span>&#160;<span class="preprocessor">                              ((void*)((char*)(_hs_q-&gt;next) +                    \</span></div>
-<div class="line"><a name="l00789"></a><span class="lineno">  789</span>&#160;<span class="preprocessor">                              (head)-&gt;hh.tbl-&gt;hho)) : NULL);                     \</span></div>
-<div class="line"><a name="l00790"></a><span class="lineno">  790</span>&#160;<span class="preprocessor">                      _hs_qsize--;                                               \</span></div>
-<div class="line"><a name="l00791"></a><span class="lineno">  791</span>&#160;<span class="preprocessor">                  } else if ( (_hs_qsize == 0) || !(_hs_q) ) {                   \</span></div>
-<div class="line"><a name="l00792"></a><span class="lineno">  792</span>&#160;<span class="preprocessor">                      _hs_e = _hs_p;                                             \</span></div>
-<div class="line"><a name="l00793"></a><span class="lineno">  793</span>&#160;<span class="preprocessor">                      _hs_p = (UT_hash_handle*)((_hs_p-&gt;next) ?                  \</span></div>
-<div class="line"><a name="l00794"></a><span class="lineno">  794</span>&#160;<span class="preprocessor">                              ((void*)((char*)(_hs_p-&gt;next) +                    \</span></div>
-<div class="line"><a name="l00795"></a><span class="lineno">  795</span>&#160;<span class="preprocessor">                              (head)-&gt;hh.tbl-&gt;hho)) : NULL);                     \</span></div>
-<div class="line"><a name="l00796"></a><span class="lineno">  796</span>&#160;<span class="preprocessor">                      _hs_psize--;                                               \</span></div>
-<div class="line"><a name="l00797"></a><span class="lineno">  797</span>&#160;<span class="preprocessor">                  } else if ((                                                   \</span></div>
-<div class="line"><a name="l00798"></a><span class="lineno">  798</span>&#160;<span class="preprocessor">                      cmpfcn(DECLTYPE(head)(ELMT_FROM_HH((head)-&gt;hh.tbl,_hs_p)), \</span></div>
-<div class="line"><a name="l00799"></a><span class="lineno">  799</span>&#160;<span class="preprocessor">                             DECLTYPE(head)(ELMT_FROM_HH((head)-&gt;hh.tbl,_hs_q))) \</span></div>
-<div class="line"><a name="l00800"></a><span class="lineno">  800</span>&#160;<span class="preprocessor">                             ) &lt;= 0) {                                           \</span></div>
-<div class="line"><a name="l00801"></a><span class="lineno">  801</span>&#160;<span class="preprocessor">                      _hs_e = _hs_p;                                             \</span></div>
-<div class="line"><a name="l00802"></a><span class="lineno">  802</span>&#160;<span class="preprocessor">                      _hs_p = (UT_hash_handle*)((_hs_p-&gt;next) ?                  \</span></div>
-<div class="line"><a name="l00803"></a><span class="lineno">  803</span>&#160;<span class="preprocessor">                              ((void*)((char*)(_hs_p-&gt;next) +                    \</span></div>
-<div class="line"><a name="l00804"></a><span class="lineno">  804</span>&#160;<span class="preprocessor">                              (head)-&gt;hh.tbl-&gt;hho)) : NULL);                     \</span></div>
-<div class="line"><a name="l00805"></a><span class="lineno">  805</span>&#160;<span class="preprocessor">                      _hs_psize--;                                               \</span></div>
-<div class="line"><a name="l00806"></a><span class="lineno">  806</span>&#160;<span class="preprocessor">                  } else {                                                       \</span></div>
-<div class="line"><a name="l00807"></a><span class="lineno">  807</span>&#160;<span class="preprocessor">                      _hs_e = _hs_q;                                             \</span></div>
-<div class="line"><a name="l00808"></a><span class="lineno">  808</span>&#160;<span class="preprocessor">                      _hs_q = (UT_hash_handle*)((_hs_q-&gt;next) ?                  \</span></div>
-<div class="line"><a name="l00809"></a><span class="lineno">  809</span>&#160;<span class="preprocessor">                              ((void*)((char*)(_hs_q-&gt;next) +                    \</span></div>
-<div class="line"><a name="l00810"></a><span class="lineno">  810</span>&#160;<span class="preprocessor">                              (head)-&gt;hh.tbl-&gt;hho)) : NULL);                     \</span></div>
-<div class="line"><a name="l00811"></a><span class="lineno">  811</span>&#160;<span class="preprocessor">                      _hs_qsize--;                                               \</span></div>
-<div class="line"><a name="l00812"></a><span class="lineno">  812</span>&#160;<span class="preprocessor">                  }                                                              \</span></div>
-<div class="line"><a name="l00813"></a><span class="lineno">  813</span>&#160;<span class="preprocessor">                  if ( _hs_tail ) {                                              \</span></div>
-<div class="line"><a name="l00814"></a><span class="lineno">  814</span>&#160;<span class="preprocessor">                      _hs_tail-&gt;next = ((_hs_e) ?                                \</span></div>
-<div class="line"><a name="l00815"></a><span class="lineno">  815</span>&#160;<span class="preprocessor">                            ELMT_FROM_HH((head)-&gt;hh.tbl,_hs_e) : NULL);          \</span></div>
-<div class="line"><a name="l00816"></a><span class="lineno">  816</span>&#160;<span class="preprocessor">                  } else {                                                       \</span></div>
-<div class="line"><a name="l00817"></a><span class="lineno">  817</span>&#160;<span class="preprocessor">                      _hs_list = _hs_e;                                          \</span></div>
-<div class="line"><a name="l00818"></a><span class="lineno">  818</span>&#160;<span class="preprocessor">                  }                                                              \</span></div>
-<div class="line"><a name="l00819"></a><span class="lineno">  819</span>&#160;<span class="preprocessor">                  _hs_e-&gt;prev = ((_hs_tail) ?                                    \</span></div>
-<div class="line"><a name="l00820"></a><span class="lineno">  820</span>&#160;<span class="preprocessor">                     ELMT_FROM_HH((head)-&gt;hh.tbl,_hs_tail) : NULL);              \</span></div>
-<div class="line"><a name="l00821"></a><span class="lineno">  821</span>&#160;<span class="preprocessor">                  _hs_tail = _hs_e;                                              \</span></div>
-<div class="line"><a name="l00822"></a><span class="lineno">  822</span>&#160;<span class="preprocessor">              }                                                                  \</span></div>
-<div class="line"><a name="l00823"></a><span class="lineno">  823</span>&#160;<span class="preprocessor">              _hs_p = _hs_q;                                                     \</span></div>
-<div class="line"><a name="l00824"></a><span class="lineno">  824</span>&#160;<span class="preprocessor">          }                                                                      \</span></div>
-<div class="line"><a name="l00825"></a><span class="lineno">  825</span>&#160;<span class="preprocessor">          _hs_tail-&gt;next = NULL;                                                 \</span></div>
-<div class="line"><a name="l00826"></a><span class="lineno">  826</span>&#160;<span class="preprocessor">          if ( _hs_nmerges &lt;= 1 ) {                                              \</span></div>
-<div class="line"><a name="l00827"></a><span class="lineno">  827</span>&#160;<span class="preprocessor">              _hs_looping=0;                                                     \</span></div>
-<div class="line"><a name="l00828"></a><span class="lineno">  828</span>&#160;<span class="preprocessor">              (head)-&gt;hh.tbl-&gt;tail = _hs_tail;                                   \</span></div>
-<div class="line"><a name="l00829"></a><span class="lineno">  829</span>&#160;<span class="preprocessor">              DECLTYPE_ASSIGN(head,ELMT_FROM_HH((head)-&gt;hh.tbl, _hs_list));      \</span></div>
-<div class="line"><a name="l00830"></a><span class="lineno">  830</span>&#160;<span class="preprocessor">          }                                                                      \</span></div>
-<div class="line"><a name="l00831"></a><span class="lineno">  831</span>&#160;<span class="preprocessor">          _hs_insize *= 2;                                                       \</span></div>
-<div class="line"><a name="l00832"></a><span class="lineno">  832</span>&#160;<span class="preprocessor">      }                                                                          \</span></div>
-<div class="line"><a name="l00833"></a><span class="lineno">  833</span>&#160;<span class="preprocessor">      HASH_FSCK(hh,head);                                                        \</span></div>
-<div class="line"><a name="l00834"></a><span class="lineno">  834</span>&#160;<span class="preprocessor"> }                                                                               \</span></div>
-<div class="line"><a name="l00835"></a><span class="lineno">  835</span>&#160;<span class="preprocessor">} while (0)</span></div>
-<div class="line"><a name="l00836"></a><span class="lineno">  836</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00837"></a><span class="lineno">  837</span>&#160;<span class="comment">/* This function selects items from one hash into another hash. </span></div>
-<div class="line"><a name="l00838"></a><span class="lineno">  838</span>&#160;<span class="comment"> * The end result is that the selected items have dual presence </span></div>
-<div class="line"><a name="l00839"></a><span class="lineno">  839</span>&#160;<span class="comment"> * in both hashes. There is no copy of the items made; rather </span></div>
-<div class="line"><a name="l00840"></a><span class="lineno">  840</span>&#160;<span class="comment"> * they are added into the new hash through a secondary hash </span></div>
-<div class="line"><a name="l00841"></a><span class="lineno">  841</span>&#160;<span class="comment"> * hash handle that must be present in the structure. */</span></div>
-<div class="line"><a name="l00842"></a><span class="lineno"><a class="line" href="uthash_8h.html#ad190366f7a476ece79bd628240a5fc93">  842</a></span>&#160;<span class="preprocessor">#define HASH_SELECT(hh_dst, dst, hh_src, src, cond)                              \</span></div>
-<div class="line"><a name="l00843"></a><span class="lineno">  843</span>&#160;<span class="preprocessor">do {                                                                             \</span></div>
-<div class="line"><a name="l00844"></a><span class="lineno">  844</span>&#160;<span class="preprocessor">  unsigned _src_bkt, _dst_bkt;                                                   \</span></div>
-<div class="line"><a name="l00845"></a><span class="lineno">  845</span>&#160;<span class="preprocessor">  void *_last_elt=NULL, *_elt;                                                   \</span></div>
-<div class="line"><a name="l00846"></a><span class="lineno">  846</span>&#160;<span class="preprocessor">  UT_hash_handle *_src_hh, *_dst_hh, *_last_elt_hh=NULL;                         \</span></div>
-<div class="line"><a name="l00847"></a><span class="lineno">  847</span>&#160;<span class="preprocessor">  ptrdiff_t _dst_hho = ((char*)(&amp;(dst)-&gt;hh_dst) - (char*)(dst));                 \</span></div>
-<div class="line"><a name="l00848"></a><span class="lineno">  848</span>&#160;<span class="preprocessor">  if (src) {                                                                     \</span></div>
-<div class="line"><a name="l00849"></a><span class="lineno">  849</span>&#160;<span class="preprocessor">    for(_src_bkt=0; _src_bkt &lt; (src)-&gt;hh_src.tbl-&gt;num_buckets; _src_bkt++) {     \</span></div>
-<div class="line"><a name="l00850"></a><span class="lineno">  850</span>&#160;<span class="preprocessor">      for(_src_hh = (src)-&gt;hh_src.tbl-&gt;buckets[_src_bkt].hh_head;                \</span></div>
-<div class="line"><a name="l00851"></a><span class="lineno">  851</span>&#160;<span class="preprocessor">          _src_hh;                                                               \</span></div>
-<div class="line"><a name="l00852"></a><span class="lineno">  852</span>&#160;<span class="preprocessor">          _src_hh = _src_hh-&gt;hh_next) {                                          \</span></div>
-<div class="line"><a name="l00853"></a><span class="lineno">  853</span>&#160;<span class="preprocessor">          _elt = ELMT_FROM_HH((src)-&gt;hh_src.tbl, _src_hh);                       \</span></div>
-<div class="line"><a name="l00854"></a><span class="lineno">  854</span>&#160;<span class="preprocessor">          if (cond(_elt)) {                                                      \</span></div>
-<div class="line"><a name="l00855"></a><span class="lineno">  855</span>&#160;<span class="preprocessor">            _dst_hh = (UT_hash_handle*)(((char*)_elt) + _dst_hho);               \</span></div>
-<div class="line"><a name="l00856"></a><span class="lineno">  856</span>&#160;<span class="preprocessor">            _dst_hh-&gt;key = _src_hh-&gt;key;                                         \</span></div>
-<div class="line"><a name="l00857"></a><span class="lineno">  857</span>&#160;<span class="preprocessor">            _dst_hh-&gt;keylen = _src_hh-&gt;keylen;                                   \</span></div>
-<div class="line"><a name="l00858"></a><span class="lineno">  858</span>&#160;<span class="preprocessor">            _dst_hh-&gt;hashv = _src_hh-&gt;hashv;                                     \</span></div>
-<div class="line"><a name="l00859"></a><span class="lineno">  859</span>&#160;<span class="preprocessor">            _dst_hh-&gt;prev = _last_elt;                                           \</span></div>
-<div class="line"><a name="l00860"></a><span class="lineno">  860</span>&#160;<span class="preprocessor">            _dst_hh-&gt;next = NULL;                                                \</span></div>
-<div class="line"><a name="l00861"></a><span class="lineno">  861</span>&#160;<span class="preprocessor">            if (_last_elt_hh) { _last_elt_hh-&gt;next = _elt; }                     \</span></div>
-<div class="line"><a name="l00862"></a><span class="lineno">  862</span>&#160;<span class="preprocessor">            if (!dst) {                                                          \</span></div>
-<div class="line"><a name="l00863"></a><span class="lineno">  863</span>&#160;<span class="preprocessor">              DECLTYPE_ASSIGN(dst,_elt);                                         \</span></div>
-<div class="line"><a name="l00864"></a><span class="lineno">  864</span>&#160;<span class="preprocessor">              HASH_MAKE_TABLE(hh_dst,dst);                                       \</span></div>
-<div class="line"><a name="l00865"></a><span class="lineno">  865</span>&#160;<span class="preprocessor">            } else {                                                             \</span></div>
-<div class="line"><a name="l00866"></a><span class="lineno">  866</span>&#160;<span class="preprocessor">              _dst_hh-&gt;tbl = (dst)-&gt;hh_dst.tbl;                                  \</span></div>
-<div class="line"><a name="l00867"></a><span class="lineno">  867</span>&#160;<span class="preprocessor">            }                                                                    \</span></div>
-<div class="line"><a name="l00868"></a><span class="lineno">  868</span>&#160;<span class="preprocessor">            HASH_TO_BKT(_dst_hh-&gt;hashv, _dst_hh-&gt;tbl-&gt;num_buckets, _dst_bkt);    \</span></div>
-<div class="line"><a name="l00869"></a><span class="lineno">  869</span>&#160;<span class="preprocessor">            HASH_ADD_TO_BKT(_dst_hh-&gt;tbl-&gt;buckets[_dst_bkt],_dst_hh);            \</span></div>
-<div class="line"><a name="l00870"></a><span class="lineno">  870</span>&#160;<span class="preprocessor">            (dst)-&gt;hh_dst.tbl-&gt;num_items++;                                      \</span></div>
-<div class="line"><a name="l00871"></a><span class="lineno">  871</span>&#160;<span class="preprocessor">            _last_elt = _elt;                                                    \</span></div>
-<div class="line"><a name="l00872"></a><span class="lineno">  872</span>&#160;<span class="preprocessor">            _last_elt_hh = _dst_hh;                                              \</span></div>
-<div class="line"><a name="l00873"></a><span class="lineno">  873</span>&#160;<span class="preprocessor">          }                                                                      \</span></div>
-<div class="line"><a name="l00874"></a><span class="lineno">  874</span>&#160;<span class="preprocessor">      }                                                                          \</span></div>
-<div class="line"><a name="l00875"></a><span class="lineno">  875</span>&#160;<span class="preprocessor">    }                                                                            \</span></div>
-<div class="line"><a name="l00876"></a><span class="lineno">  876</span>&#160;<span class="preprocessor">  }                                                                              \</span></div>
-<div class="line"><a name="l00877"></a><span class="lineno">  877</span>&#160;<span class="preprocessor">  HASH_FSCK(hh_dst,dst);                                                         \</span></div>
-<div class="line"><a name="l00878"></a><span class="lineno">  878</span>&#160;<span class="preprocessor">} while (0)</span></div>
-<div class="line"><a name="l00879"></a><span class="lineno">  879</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00880"></a><span class="lineno"><a class="line" href="uthash_8h.html#a0512b3f7a824275579ec82643ef2cc23">  880</a></span>&#160;<span class="preprocessor">#define HASH_CLEAR(hh,head)                                                      \</span></div>
-<div class="line"><a name="l00881"></a><span class="lineno">  881</span>&#160;<span class="preprocessor">do {                                                                             \</span></div>
-<div class="line"><a name="l00882"></a><span class="lineno">  882</span>&#160;<span class="preprocessor">  if (head) {                                                                    \</span></div>
-<div class="line"><a name="l00883"></a><span class="lineno">  883</span>&#160;<span class="preprocessor">    uthash_free((head)-&gt;hh.tbl-&gt;buckets,                                         \</span></div>
-<div class="line"><a name="l00884"></a><span class="lineno">  884</span>&#160;<span class="preprocessor">                (head)-&gt;hh.tbl-&gt;num_buckets*sizeof(struct UT_hash_bucket));      \</span></div>
-<div class="line"><a name="l00885"></a><span class="lineno">  885</span>&#160;<span class="preprocessor">    uthash_free((head)-&gt;hh.tbl, sizeof(UT_hash_table));                          \</span></div>
-<div class="line"><a name="l00886"></a><span class="lineno">  886</span>&#160;<span class="preprocessor">    (head)=NULL;                                                                 \</span></div>
-<div class="line"><a name="l00887"></a><span class="lineno">  887</span>&#160;<span class="preprocessor">  }                                                                              \</span></div>
-<div class="line"><a name="l00888"></a><span class="lineno">  888</span>&#160;<span class="preprocessor">} while(0)</span></div>
-<div class="line"><a name="l00889"></a><span class="lineno">  889</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00890"></a><span class="lineno">  890</span>&#160;<span class="preprocessor">#ifdef NO_DECLTYPE</span></div>
-<div class="line"><a name="l00891"></a><span class="lineno">  891</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define HASH_ITER(hh,head,el,tmp)                                                \</span></div>
-<div class="line"><a name="l00892"></a><span class="lineno">  892</span>&#160;<span class="preprocessor">for((el)=(head), (*(char**)(&amp;(tmp)))=(char*)((head)?(head)-&gt;hh.next:NULL);       \</span></div>
-<div class="line"><a name="l00893"></a><span class="lineno">  893</span>&#160;<span class="preprocessor">  el; (el)=(tmp),(*(char**)(&amp;(tmp)))=(char*)((tmp)?(tmp)-&gt;hh.next:NULL)) </span></div>
-<div class="line"><a name="l00894"></a><span class="lineno">  894</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00895"></a><span class="lineno"><a class="line" href="uthash_8h.html#a4d524042f1fcb976d8bccae9e4cc63d6">  895</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define HASH_ITER(hh,head,el,tmp)                                                \</span></div>
-<div class="line"><a name="l00896"></a><span class="lineno">  896</span>&#160;<span class="preprocessor">for((el)=(head),(tmp)=DECLTYPE(el)((head)?(head)-&gt;hh.next:NULL);                 \</span></div>
-<div class="line"><a name="l00897"></a><span class="lineno">  897</span>&#160;<span class="preprocessor">  el; (el)=(tmp),(tmp)=DECLTYPE(el)((tmp)?(tmp)-&gt;hh.next:NULL))</span></div>
-<div class="line"><a name="l00898"></a><span class="lineno">  898</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00899"></a><span class="lineno">  899</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00900"></a><span class="lineno">  900</span>&#160;<span class="comment">/* obtain a count of items in the hash */</span></div>
-<div class="line"><a name="l00901"></a><span class="lineno"><a class="line" href="uthash_8h.html#a7d3edf55a3ee4da1a0e1b477c314342f">  901</a></span>&#160;<span class="preprocessor">#define HASH_COUNT(head) HASH_CNT(hh,head) </span></div>
-<div class="line"><a name="l00902"></a><span class="lineno"><a class="line" href="uthash_8h.html#a6ea9e661cd8c35eff1fdcd5731127edd">  902</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define HASH_CNT(hh,head) ((head)?((head)-&gt;hh.tbl-&gt;num_items):0)</span></div>
-<div class="line"><a name="l00903"></a><span class="lineno">  903</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00904"></a><span class="lineno"><a class="line" href="structUT__hash__bucket.html">  904</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structUT__hash__bucket.html">UT_hash_bucket</a> {</div>
-<div class="line"><a name="l00905"></a><span class="lineno"><a class="line" href="structUT__hash__bucket.html#a785a785132212378bb28fb4341cfecaf">  905</a></span>&#160;   <span class="keyword">struct </span><a class="code" href="structUT__hash__handle.html">UT_hash_handle</a> *<a class="code" href="structUT__hash__bucket.html#a785a785132212378bb28fb4341cfecaf">hh_head</a>;</div>
-<div class="line"><a name="l00906"></a><span class="lineno"><a class="line" href="structUT__hash__bucket.html#a5d20cc12bdcbde360398910eefb45634">  906</a></span>&#160;   <span class="keywordtype">unsigned</span> <a class="code" href="structUT__hash__bucket.html#a5d20cc12bdcbde360398910eefb45634">count</a>;</div>
-<div class="line"><a name="l00907"></a><span class="lineno">  907</span>&#160;</div>
-<div class="line"><a name="l00908"></a><span class="lineno">  908</span>&#160;   <span class="comment">/* expand_mult is normally set to 0. In this situation, the max chain length</span></div>
-<div class="line"><a name="l00909"></a><span class="lineno">  909</span>&#160;<span class="comment">    * threshold is enforced at its default value, HASH_BKT_CAPACITY_THRESH. (If</span></div>
-<div class="line"><a name="l00910"></a><span class="lineno">  910</span>&#160;<span class="comment">    * the bucket&#39;s chain exceeds this length, bucket expansion is triggered). </span></div>
-<div class="line"><a name="l00911"></a><span class="lineno">  911</span>&#160;<span class="comment">    * However, setting expand_mult to a non-zero value delays bucket expansion</span></div>
-<div class="line"><a name="l00912"></a><span class="lineno">  912</span>&#160;<span class="comment">    * (that would be triggered by additions to this particular bucket)</span></div>
-<div class="line"><a name="l00913"></a><span class="lineno">  913</span>&#160;<span class="comment">    * until its chain length reaches a *multiple* of HASH_BKT_CAPACITY_THRESH.</span></div>
-<div class="line"><a name="l00914"></a><span class="lineno">  914</span>&#160;<span class="comment">    * (The multiplier is simply expand_mult+1). The whole idea of this</span></div>
-<div class="line"><a name="l00915"></a><span class="lineno">  915</span>&#160;<span class="comment">    * multiplier is to reduce bucket expansions, since they are expensive, in</span></div>
-<div class="line"><a name="l00916"></a><span class="lineno">  916</span>&#160;<span class="comment">    * situations where we know that a particular bucket tends to be overused.</span></div>
-<div class="line"><a name="l00917"></a><span class="lineno">  917</span>&#160;<span class="comment">    * It is better to let its chain length grow to a longer yet-still-bounded</span></div>
-<div class="line"><a name="l00918"></a><span class="lineno">  918</span>&#160;<span class="comment">    * value, than to do an O(n) bucket expansion too often. </span></div>
-<div class="line"><a name="l00919"></a><span class="lineno">  919</span>&#160;<span class="comment">    */</span></div>
-<div class="line"><a name="l00920"></a><span class="lineno"><a class="line" href="structUT__hash__bucket.html#a9b739c1b69c141e8198c0c64af643b2b">  920</a></span>&#160;   <span class="keywordtype">unsigned</span> <a class="code" href="structUT__hash__bucket.html#a9b739c1b69c141e8198c0c64af643b2b">expand_mult</a>;</div>
-<div class="line"><a name="l00921"></a><span class="lineno">  921</span>&#160;</div>
-<div class="line"><a name="l00922"></a><span class="lineno">  922</span>&#160;} <a class="code" href="uthash_8h.html#a3ba3da0ca59a082c35a0d6b52e803ddf">UT_hash_bucket</a>;</div>
-<div class="line"><a name="l00923"></a><span class="lineno">  923</span>&#160;</div>
-<div class="line"><a name="l00924"></a><span class="lineno">  924</span>&#160;<span class="comment">/* random signature used only to find hash tables in external analysis */</span></div>
-<div class="line"><a name="l00925"></a><span class="lineno"><a class="line" href="uthash_8h.html#a4a7a46b9b92a9c73e4f9321e8e6b6bb2">  925</a></span>&#160;<span class="preprocessor">#define HASH_SIGNATURE 0xa0111fe1</span></div>
-<div class="line"><a name="l00926"></a><span class="lineno"><a class="line" href="uthash_8h.html#a18a33f4269f05c1e81ce54edbc0ffca6">  926</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define HASH_BLOOM_SIGNATURE 0xb12220f2</span></div>
-<div class="line"><a name="l00927"></a><span class="lineno">  927</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00928"></a><span class="lineno"><a class="line" href="structUT__hash__table.html">  928</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structUT__hash__table.html">UT_hash_table</a> {</div>
-<div class="line"><a name="l00929"></a><span class="lineno"><a class="line" href="structUT__hash__table.html#a04556bbef9c9a1c40b1bc0d17a2a6e0b">  929</a></span>&#160;   <a class="code" href="structUT__hash__bucket.html">UT_hash_bucket</a> *<a class="code" href="structUT__hash__table.html#a04556bbef9c9a1c40b1bc0d17a2a6e0b">buckets</a>;</div>
-<div class="line"><a name="l00930"></a><span class="lineno"><a class="line" href="structUT__hash__table.html#a3ed04b6233facaedf910672578d86339">  930</a></span>&#160;   <span class="keywordtype">unsigned</span> <a class="code" href="structUT__hash__table.html#a3ed04b6233facaedf910672578d86339">num_buckets</a>, <a class="code" href="structUT__hash__table.html#ae376a7f3fac525f3a9d03b6beec8d12f">log2_num_buckets</a>;</div>
-<div class="line"><a name="l00931"></a><span class="lineno"><a class="line" href="structUT__hash__table.html#a74534cc14f080c96f94d8f5da83d9d76">  931</a></span>&#160;   <span class="keywordtype">unsigned</span> <a class="code" href="structUT__hash__table.html#a74534cc14f080c96f94d8f5da83d9d76">num_items</a>;</div>
-<div class="line"><a name="l00932"></a><span class="lineno"><a class="line" href="structUT__hash__table.html#a00a889a5e1ebaeec0a83ec2701df1992">  932</a></span>&#160;   <span class="keyword">struct </span><a class="code" href="structUT__hash__handle.html">UT_hash_handle</a> *<a class="code" href="structUT__hash__table.html#a00a889a5e1ebaeec0a83ec2701df1992">tail</a>; <span class="comment">/* tail hh in app order, for fast append    */</span></div>
-<div class="line"><a name="l00933"></a><span class="lineno"><a class="line" href="structUT__hash__table.html#afd05f4d9e45354fb010367ae9e1bddb6">  933</a></span>&#160;   ptrdiff_t <a class="code" href="structUT__hash__table.html#afd05f4d9e45354fb010367ae9e1bddb6">hho</a>; <span class="comment">/* hash handle offset (byte pos of hash handle in element */</span></div>
-<div class="line"><a name="l00934"></a><span class="lineno">  934</span>&#160;</div>
-<div class="line"><a name="l00935"></a><span class="lineno">  935</span>&#160;   <span class="comment">/* in an ideal situation (all buckets used equally), no bucket would have</span></div>
-<div class="line"><a name="l00936"></a><span class="lineno">  936</span>&#160;<span class="comment">    * more than ceil(#items/#buckets) items. that&#39;s the ideal chain length. */</span></div>
-<div class="line"><a name="l00937"></a><span class="lineno"><a class="line" href="structUT__hash__table.html#a5f1cec93d5d753ba02097c797e4d67ad">  937</a></span>&#160;   <span class="keywordtype">unsigned</span> <a class="code" href="structUT__hash__table.html#a5f1cec93d5d753ba02097c797e4d67ad">ideal_chain_maxlen</a>;</div>
-<div class="line"><a name="l00938"></a><span class="lineno">  938</span>&#160;</div>
-<div class="line"><a name="l00939"></a><span class="lineno">  939</span>&#160;   <span class="comment">/* nonideal_items is the number of items in the hash whose chain position</span></div>
-<div class="line"><a name="l00940"></a><span class="lineno">  940</span>&#160;<span class="comment">    * exceeds the ideal chain maxlen. these items pay the penalty for an uneven</span></div>
-<div class="line"><a name="l00941"></a><span class="lineno">  941</span>&#160;<span class="comment">    * hash distribution; reaching them in a chain traversal takes &gt;ideal steps */</span></div>
-<div class="line"><a name="l00942"></a><span class="lineno"><a class="line" href="structUT__hash__table.html#a8cb66cfb259a204cda59a815e4db664f">  942</a></span>&#160;   <span class="keywordtype">unsigned</span> <a class="code" href="structUT__hash__table.html#a8cb66cfb259a204cda59a815e4db664f">nonideal_items</a>;</div>
-<div class="line"><a name="l00943"></a><span class="lineno">  943</span>&#160;</div>
-<div class="line"><a name="l00944"></a><span class="lineno">  944</span>&#160;   <span class="comment">/* ineffective expands occur when a bucket doubling was performed, but </span></div>
-<div class="line"><a name="l00945"></a><span class="lineno">  945</span>&#160;<span class="comment">    * afterward, more than half the items in the hash had nonideal chain</span></div>
-<div class="line"><a name="l00946"></a><span class="lineno">  946</span>&#160;<span class="comment">    * positions. If this happens on two consecutive expansions we inhibit any</span></div>
-<div class="line"><a name="l00947"></a><span class="lineno">  947</span>&#160;<span class="comment">    * further expansion, as it&#39;s not helping; this happens when the hash</span></div>
-<div class="line"><a name="l00948"></a><span class="lineno">  948</span>&#160;<span class="comment">    * function isn&#39;t a good fit for the key domain. When expansion is inhibited</span></div>
-<div class="line"><a name="l00949"></a><span class="lineno">  949</span>&#160;<span class="comment">    * the hash will still work, albeit no longer in constant time. */</span></div>
-<div class="line"><a name="l00950"></a><span class="lineno"><a class="line" href="structUT__hash__table.html#a635661789933752e7b83dac84430eae1">  950</a></span>&#160;   <span class="keywordtype">unsigned</span> <a class="code" href="structUT__hash__table.html#a216c7d98cf40a0064bee94aa8a5bf1b7">ineff_expands</a>, <a class="code" href="structUT__hash__table.html#a635661789933752e7b83dac84430eae1">noexpand</a>;</div>
-<div class="line"><a name="l00951"></a><span class="lineno">  951</span>&#160;</div>
-<div class="line"><a name="l00952"></a><span class="lineno"><a class="line" href="structUT__hash__table.html#a87d1ab3f3ede1809c6a485972d20b25f">  952</a></span>&#160;   uint32_t <a class="code" href="structUT__hash__table.html#a87d1ab3f3ede1809c6a485972d20b25f">signature</a>; <span class="comment">/* used only to find hash tables in external analysis */</span></div>
-<div class="line"><a name="l00953"></a><span class="lineno">  953</span>&#160;<span class="preprocessor">#ifdef HASH_BLOOM</span></div>
-<div class="line"><a name="l00954"></a><span class="lineno">  954</span>&#160;<span class="preprocessor"></span>   uint32_t bloom_sig; <span class="comment">/* used only to test bloom exists in external analysis */</span></div>
-<div class="line"><a name="l00955"></a><span class="lineno">  955</span>&#160;   uint8_t *bloom_bv;</div>
-<div class="line"><a name="l00956"></a><span class="lineno">  956</span>&#160;   <span class="keywordtype">char</span> bloom_nbits;</div>
-<div class="line"><a name="l00957"></a><span class="lineno">  957</span>&#160;<span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00958"></a><span class="lineno">  958</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00959"></a><span class="lineno">  959</span>&#160;} <a class="code" href="uthash_8h.html#a0758074b9942c2ad076610b3e0ce548e">UT_hash_table</a>;</div>
-<div class="line"><a name="l00960"></a><span class="lineno">  960</span>&#160;</div>
-<div class="line"><a name="l00961"></a><span class="lineno"><a class="line" href="structUT__hash__handle.html">  961</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structUT__hash__handle.html">UT_hash_handle</a> {</div>
-<div class="line"><a name="l00962"></a><span class="lineno"><a class="line" href="structUT__hash__handle.html#ad2035ee3b2aa55b22e352341372a5e73">  962</a></span>&#160;   <span class="keyword">struct </span><a class="code" href="structUT__hash__table.html">UT_hash_table</a> *<a class="code" href="structUT__hash__handle.html#ad2035ee3b2aa55b22e352341372a5e73">tbl</a>;</div>
-<div class="line"><a name="l00963"></a><span class="lineno"><a class="line" href="structUT__hash__handle.html#abaf54a69367933df2d45575f48ca6a58">  963</a></span>&#160;   <span class="keywordtype">void</span> *<a class="code" href="structUT__hash__handle.html#abaf54a69367933df2d45575f48ca6a58">prev</a>;                       <span class="comment">/* prev element in app order      */</span></div>
-<div class="line"><a name="l00964"></a><span class="lineno"><a class="line" href="structUT__hash__handle.html#a93bc88ffe97f85ea0d9e0056b7118942">  964</a></span>&#160;   <span class="keywordtype">void</span> *<a class="code" href="structUT__hash__handle.html#a93bc88ffe97f85ea0d9e0056b7118942">next</a>;                       <span class="comment">/* next element in app order      */</span></div>
-<div class="line"><a name="l00965"></a><span class="lineno"><a class="line" href="structUT__hash__handle.html#a3ec03e34d7975d5c1981c44b324619b2">  965</a></span>&#160;   <span class="keyword">struct </span><a class="code" href="structUT__hash__handle.html">UT_hash_handle</a> *<a class="code" href="structUT__hash__handle.html#a3ec03e34d7975d5c1981c44b324619b2">hh_prev</a>;   <span class="comment">/* previous hh in bucket order    */</span></div>
-<div class="line"><a name="l00966"></a><span class="lineno"><a class="line" href="structUT__hash__handle.html#a4f6989385499ba6f594b0f0facd28325">  966</a></span>&#160;   <span class="keyword">struct </span><a class="code" href="structUT__hash__handle.html">UT_hash_handle</a> *<a class="code" href="structUT__hash__handle.html#a4f6989385499ba6f594b0f0facd28325">hh_next</a>;   <span class="comment">/* next hh in bucket order        */</span></div>
-<div class="line"><a name="l00967"></a><span class="lineno"><a class="line" href="structUT__hash__handle.html#a40690fc15aeaeba8f25385f05f84dd4d">  967</a></span>&#160;   <span class="keywordtype">void</span> *<a class="code" href="structUT__hash__handle.html#a40690fc15aeaeba8f25385f05f84dd4d">key</a>;                        <span class="comment">/* ptr to enclosing struct&#39;s key  */</span></div>
-<div class="line"><a name="l00968"></a><span class="lineno"><a class="line" href="structUT__hash__handle.html#af2abdc405972a6bbdee2ade2c0f346c4">  968</a></span>&#160;   <span class="keywordtype">unsigned</span> <a class="code" href="structUT__hash__handle.html#af2abdc405972a6bbdee2ade2c0f346c4">keylen</a>;                  <span class="comment">/* enclosing struct&#39;s key len     */</span></div>
-<div class="line"><a name="l00969"></a><span class="lineno"><a class="line" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">  969</a></span>&#160;   <span class="keywordtype">unsigned</span> <a class="code" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">hashv</a>;                   <span class="comment">/* result of hash-fcn(key)        */</span></div>
-<div class="line"><a name="l00970"></a><span class="lineno">  970</span>&#160;} <a class="code" href="uthash_8h.html#a0e3a99ed9f776349720d0c362f956fb6">UT_hash_handle</a>;</div>
-<div class="line"><a name="l00971"></a><span class="lineno">  971</span>&#160;</div>
-<div class="line"><a name="l00972"></a><span class="lineno">  972</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* _DTLS_UTHASH_H */</span><span class="preprocessor"></span></div>
-<div class="ttc" id="structUT__hash__table_html_a216c7d98cf40a0064bee94aa8a5bf1b7"><div class="ttname"><a href="structUT__hash__table.html#a216c7d98cf40a0064bee94aa8a5bf1b7">UT_hash_table::ineff_expands</a></div><div class="ttdeci">unsigned ineff_expands</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00950">uthash.h:950</a></div></div>
-<div class="ttc" id="structUT__hash__table_html_a00a889a5e1ebaeec0a83ec2701df1992"><div class="ttname"><a href="structUT__hash__table.html#a00a889a5e1ebaeec0a83ec2701df1992">UT_hash_table::tail</a></div><div class="ttdeci">struct UT_hash_handle * tail</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00932">uthash.h:932</a></div></div>
-<div class="ttc" id="structUT__hash__table_html_a04556bbef9c9a1c40b1bc0d17a2a6e0b"><div class="ttname"><a href="structUT__hash__table.html#a04556bbef9c9a1c40b1bc0d17a2a6e0b">UT_hash_table::buckets</a></div><div class="ttdeci">UT_hash_bucket * buckets</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00929">uthash.h:929</a></div></div>
-<div class="ttc" id="structUT__hash__bucket_html_a9b739c1b69c141e8198c0c64af643b2b"><div class="ttname"><a href="structUT__hash__bucket.html#a9b739c1b69c141e8198c0c64af643b2b">UT_hash_bucket::expand_mult</a></div><div class="ttdeci">unsigned expand_mult</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00920">uthash.h:920</a></div></div>
-<div class="ttc" id="structUT__hash__bucket_html_a785a785132212378bb28fb4341cfecaf"><div class="ttname"><a href="structUT__hash__bucket.html#a785a785132212378bb28fb4341cfecaf">UT_hash_bucket::hh_head</a></div><div class="ttdeci">struct UT_hash_handle * hh_head</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00905">uthash.h:905</a></div></div>
-<div class="ttc" id="structUT__hash__table_html_ae376a7f3fac525f3a9d03b6beec8d12f"><div class="ttname"><a href="structUT__hash__table.html#ae376a7f3fac525f3a9d03b6beec8d12f">UT_hash_table::log2_num_buckets</a></div><div class="ttdeci">unsigned log2_num_buckets</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00930">uthash.h:930</a></div></div>
-<div class="ttc" id="structUT__hash__handle_html_a4f6989385499ba6f594b0f0facd28325"><div class="ttname"><a href="structUT__hash__handle.html#a4f6989385499ba6f594b0f0facd28325">UT_hash_handle::hh_next</a></div><div class="ttdeci">struct UT_hash_handle * hh_next</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00966">uthash.h:966</a></div></div>
-<div class="ttc" id="structUT__hash__bucket_html_a5d20cc12bdcbde360398910eefb45634"><div class="ttname"><a href="structUT__hash__bucket.html#a5d20cc12bdcbde360398910eefb45634">UT_hash_bucket::count</a></div><div class="ttdeci">unsigned count</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00906">uthash.h:906</a></div></div>
-<div class="ttc" id="structUT__hash__handle_html"><div class="ttname"><a href="structUT__hash__handle.html">UT_hash_handle</a></div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00961">uthash.h:961</a></div></div>
-<div class="ttc" id="structUT__hash__table_html_a635661789933752e7b83dac84430eae1"><div class="ttname"><a href="structUT__hash__table.html#a635661789933752e7b83dac84430eae1">UT_hash_table::noexpand</a></div><div class="ttdeci">unsigned noexpand</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00950">uthash.h:950</a></div></div>
-<div class="ttc" id="structUT__hash__handle_html_af2abdc405972a6bbdee2ade2c0f346c4"><div class="ttname"><a href="structUT__hash__handle.html#af2abdc405972a6bbdee2ade2c0f346c4">UT_hash_handle::keylen</a></div><div class="ttdeci">unsigned keylen</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00968">uthash.h:968</a></div></div>
-<div class="ttc" id="structUT__hash__table_html_a8cb66cfb259a204cda59a815e4db664f"><div class="ttname"><a href="structUT__hash__table.html#a8cb66cfb259a204cda59a815e4db664f">UT_hash_table::nonideal_items</a></div><div class="ttdeci">unsigned nonideal_items</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00942">uthash.h:942</a></div></div>
-<div class="ttc" id="structUT__hash__table_html_afd05f4d9e45354fb010367ae9e1bddb6"><div class="ttname"><a href="structUT__hash__table.html#afd05f4d9e45354fb010367ae9e1bddb6">UT_hash_table::hho</a></div><div class="ttdeci">ptrdiff_t hho</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00933">uthash.h:933</a></div></div>
-<div class="ttc" id="structUT__hash__table_html_a3ed04b6233facaedf910672578d86339"><div class="ttname"><a href="structUT__hash__table.html#a3ed04b6233facaedf910672578d86339">UT_hash_table::num_buckets</a></div><div class="ttdeci">unsigned num_buckets</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00930">uthash.h:930</a></div></div>
-<div class="ttc" id="structUT__hash__table_html"><div class="ttname"><a href="structUT__hash__table.html">UT_hash_table</a></div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00928">uthash.h:928</a></div></div>
-<div class="ttc" id="uthash_8h_html_a3ba3da0ca59a082c35a0d6b52e803ddf"><div class="ttname"><a href="uthash_8h.html#a3ba3da0ca59a082c35a0d6b52e803ddf">UT_hash_bucket</a></div><div class="ttdeci">struct UT_hash_bucket UT_hash_bucket</div></div>
-<div class="ttc" id="structUT__hash__handle_html_aae5e635fa110556e5007f627089f8323"><div class="ttname"><a href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">UT_hash_handle::hashv</a></div><div class="ttdeci">unsigned hashv</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00969">uthash.h:969</a></div></div>
-<div class="ttc" id="structUT__hash__handle_html_a40690fc15aeaeba8f25385f05f84dd4d"><div class="ttname"><a href="structUT__hash__handle.html#a40690fc15aeaeba8f25385f05f84dd4d">UT_hash_handle::key</a></div><div class="ttdeci">void * key</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00967">uthash.h:967</a></div></div>
-<div class="ttc" id="structUT__hash__handle_html_ad2035ee3b2aa55b22e352341372a5e73"><div class="ttname"><a href="structUT__hash__handle.html#ad2035ee3b2aa55b22e352341372a5e73">UT_hash_handle::tbl</a></div><div class="ttdeci">struct UT_hash_table * tbl</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00962">uthash.h:962</a></div></div>
-<div class="ttc" id="structUT__hash__table_html_a87d1ab3f3ede1809c6a485972d20b25f"><div class="ttname"><a href="structUT__hash__table.html#a87d1ab3f3ede1809c6a485972d20b25f">UT_hash_table::signature</a></div><div class="ttdeci">uint32_t signature</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00952">uthash.h:952</a></div></div>
-<div class="ttc" id="structUT__hash__bucket_html"><div class="ttname"><a href="structUT__hash__bucket.html">UT_hash_bucket</a></div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00904">uthash.h:904</a></div></div>
-<div class="ttc" id="uthash_8h_html_a0758074b9942c2ad076610b3e0ce548e"><div class="ttname"><a href="uthash_8h.html#a0758074b9942c2ad076610b3e0ce548e">UT_hash_table</a></div><div class="ttdeci">struct UT_hash_table UT_hash_table</div></div>
-<div class="ttc" id="structUT__hash__table_html_a5f1cec93d5d753ba02097c797e4d67ad"><div class="ttname"><a href="structUT__hash__table.html#a5f1cec93d5d753ba02097c797e4d67ad">UT_hash_table::ideal_chain_maxlen</a></div><div class="ttdeci">unsigned ideal_chain_maxlen</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00937">uthash.h:937</a></div></div>
-<div class="ttc" id="uthash_8h_html_a0e3a99ed9f776349720d0c362f956fb6"><div class="ttname"><a href="uthash_8h.html#a0e3a99ed9f776349720d0c362f956fb6">UT_hash_handle</a></div><div class="ttdeci">struct UT_hash_handle UT_hash_handle</div></div>
-<div class="ttc" id="structUT__hash__handle_html_a3ec03e34d7975d5c1981c44b324619b2"><div class="ttname"><a href="structUT__hash__handle.html#a3ec03e34d7975d5c1981c44b324619b2">UT_hash_handle::hh_prev</a></div><div class="ttdeci">struct UT_hash_handle * hh_prev</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00965">uthash.h:965</a></div></div>
-<div class="ttc" id="structUT__hash__table_html_a74534cc14f080c96f94d8f5da83d9d76"><div class="ttname"><a href="structUT__hash__table.html#a74534cc14f080c96f94d8f5da83d9d76">UT_hash_table::num_items</a></div><div class="ttdeci">unsigned num_items</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00931">uthash.h:931</a></div></div>
-<div class="ttc" id="structUT__hash__handle_html_abaf54a69367933df2d45575f48ca6a58"><div class="ttname"><a href="structUT__hash__handle.html#abaf54a69367933df2d45575f48ca6a58">UT_hash_handle::prev</a></div><div class="ttdeci">void * prev</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00963">uthash.h:963</a></div></div>
-<div class="ttc" id="structUT__hash__handle_html_a93bc88ffe97f85ea0d9e0056b7118942"><div class="ttname"><a href="structUT__hash__handle.html#a93bc88ffe97f85ea0d9e0056b7118942">UT_hash_handle::next</a></div><div class="ttdeci">void * next</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00964">uthash.h:964</a></div></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/utlist_8h.html b/external/wakaama/examples/shared/tinydtls/doc/html/utlist_8h.html
deleted file mode 100644 (file)
index 0f2cc40..0000000
+++ /dev/null
@@ -1,1307 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: utlist.h File Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#define-members">Macros</a>  </div>
-  <div class="headertitle">
-<div class="title">utlist.h File Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p><a href="utlist_8h_source.html">Go to the source code of this file.</a></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
-Macros</h2></td></tr>
-<tr class="memitem:a9f3779f3c49ddf609c97f1c3d1f29730"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utlist_8h.html#a9f3779f3c49ddf609c97f1c3d1f29730">UTLIST_VERSION</a>&#160;&#160;&#160;1.9.1</td></tr>
-<tr class="separator:a9f3779f3c49ddf609c97f1c3d1f29730"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae8c9864192170d02fd996abaa1589611"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utlist_8h.html#ae8c9864192170d02fd996abaa1589611">LDECLTYPE</a>(x)&#160;&#160;&#160;__typeof(x)</td></tr>
-<tr class="separator:ae8c9864192170d02fd996abaa1589611"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9eded80a8b98df631e889eb72b77c7a4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utlist_8h.html#a9eded80a8b98df631e889eb72b77c7a4">_SV</a>(elt, <a class="el" href="structlist.html">list</a>)</td></tr>
-<tr class="separator:a9eded80a8b98df631e889eb72b77c7a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aec696573e92f2ebd0a1641d77bb5b0fe"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utlist_8h.html#aec696573e92f2ebd0a1641d77bb5b0fe">_NEXT</a>(elt, <a class="el" href="structlist.html">list</a>)&#160;&#160;&#160;((elt)-&gt;next)</td></tr>
-<tr class="separator:aec696573e92f2ebd0a1641d77bb5b0fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a93e2d161c8ad8350100a4fad092ef058"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utlist_8h.html#a93e2d161c8ad8350100a4fad092ef058">_NEXTASGN</a>(elt, <a class="el" href="structlist.html">list</a>, to)&#160;&#160;&#160;((elt)-&gt;next)=(to)</td></tr>
-<tr class="separator:a93e2d161c8ad8350100a4fad092ef058"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ade8452ec59d6bf7ef23770ee4d96f8d5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utlist_8h.html#ade8452ec59d6bf7ef23770ee4d96f8d5">_PREV</a>(elt, <a class="el" href="structlist.html">list</a>)&#160;&#160;&#160;((elt)-&gt;prev)</td></tr>
-<tr class="separator:ade8452ec59d6bf7ef23770ee4d96f8d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6f6acf0ac7f07dcb26cef2110fef496a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utlist_8h.html#a6f6acf0ac7f07dcb26cef2110fef496a">_PREVASGN</a>(elt, <a class="el" href="structlist.html">list</a>, to)&#160;&#160;&#160;((elt)-&gt;prev)=(to)</td></tr>
-<tr class="separator:a6f6acf0ac7f07dcb26cef2110fef496a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9916f2c26fd7f6f7edb1f6baf400f315"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utlist_8h.html#a9916f2c26fd7f6f7edb1f6baf400f315">_RS</a>(<a class="el" href="structlist.html">list</a>)</td></tr>
-<tr class="separator:a9916f2c26fd7f6f7edb1f6baf400f315"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1eb4a3192390405087ef1bb6c57241e3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utlist_8h.html#a1eb4a3192390405087ef1bb6c57241e3">_CASTASGN</a>(a, b)&#160;&#160;&#160;(a)=(b)</td></tr>
-<tr class="separator:a1eb4a3192390405087ef1bb6c57241e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0b2137d4a0c157cb7a1a30d9340ece31"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utlist_8h.html#a0b2137d4a0c157cb7a1a30d9340ece31">LL_SORT</a>(<a class="el" href="structlist.html">list</a>, cmp)</td></tr>
-<tr class="separator:a0b2137d4a0c157cb7a1a30d9340ece31"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad966f284f615a2ced4028258fa08f8f3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utlist_8h.html#ad966f284f615a2ced4028258fa08f8f3">DL_SORT</a>(<a class="el" href="structlist.html">list</a>, cmp)</td></tr>
-<tr class="separator:ad966f284f615a2ced4028258fa08f8f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a13add78e5524efe1ae6bfb1631b2dc17"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utlist_8h.html#a13add78e5524efe1ae6bfb1631b2dc17">CDL_SORT</a>(<a class="el" href="structlist.html">list</a>, cmp)</td></tr>
-<tr class="separator:a13add78e5524efe1ae6bfb1631b2dc17"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a851fb4b583b0dc000097eeee6dd551d4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utlist_8h.html#a851fb4b583b0dc000097eeee6dd551d4">LL_PREPEND</a>(head, add)</td></tr>
-<tr class="separator:a851fb4b583b0dc000097eeee6dd551d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ace33c571c3df78e721a99a4494983855"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utlist_8h.html#ace33c571c3df78e721a99a4494983855">LL_APPEND</a>(head, add)</td></tr>
-<tr class="separator:ace33c571c3df78e721a99a4494983855"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a34a4e54d488753465f6e87bb63b93c0e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utlist_8h.html#a34a4e54d488753465f6e87bb63b93c0e">LL_DELETE</a>(head, del)</td></tr>
-<tr class="separator:a34a4e54d488753465f6e87bb63b93c0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3c301ddde2cfd8c32df4137c902b66f3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utlist_8h.html#a3c301ddde2cfd8c32df4137c902b66f3">LL_APPEND_VS2008</a>(head, add)</td></tr>
-<tr class="separator:a3c301ddde2cfd8c32df4137c902b66f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a832d4d46464fb2dada9e198ad4f70cdf"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utlist_8h.html#a832d4d46464fb2dada9e198ad4f70cdf">LL_DELETE_VS2008</a>(head, del)</td></tr>
-<tr class="separator:a832d4d46464fb2dada9e198ad4f70cdf"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a487c0ce49f397e1743caae16a797e4bb"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utlist_8h.html#a487c0ce49f397e1743caae16a797e4bb">LL_FOREACH</a>(head, el)&#160;&#160;&#160;for(el=head;el;el=el-&gt;next)</td></tr>
-<tr class="separator:a487c0ce49f397e1743caae16a797e4bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad0a695664d31f0b929fd50b39ebcf0ef"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utlist_8h.html#ad0a695664d31f0b929fd50b39ebcf0ef">LL_FOREACH_SAFE</a>(head, el, tmp)&#160;&#160;&#160;for((el)=(head);(el) &amp;&amp; (tmp = (el)-&gt;next, 1); (el) = tmp)</td></tr>
-<tr class="separator:ad0a695664d31f0b929fd50b39ebcf0ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8c5c97079c5b259e4c0ff7c563b0f8ed"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utlist_8h.html#a8c5c97079c5b259e4c0ff7c563b0f8ed">LL_SEARCH_SCALAR</a>(head, out, field, val)</td></tr>
-<tr class="separator:a8c5c97079c5b259e4c0ff7c563b0f8ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af7a5ae66c9386c4b89403d9ca038adcb"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utlist_8h.html#af7a5ae66c9386c4b89403d9ca038adcb">LL_SEARCH</a>(head, out, elt, cmp)</td></tr>
-<tr class="separator:af7a5ae66c9386c4b89403d9ca038adcb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a78be4dea3344ba1b1c7fe1b893c0fdfa"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utlist_8h.html#a78be4dea3344ba1b1c7fe1b893c0fdfa">DL_PREPEND</a>(head, add)</td></tr>
-<tr class="separator:a78be4dea3344ba1b1c7fe1b893c0fdfa"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a17d40c945e1dc55490feb2fe160670c8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utlist_8h.html#a17d40c945e1dc55490feb2fe160670c8">DL_APPEND</a>(head, add)</td></tr>
-<tr class="separator:a17d40c945e1dc55490feb2fe160670c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aad429903354ffe8cdf4ca2e9d0ae89cc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utlist_8h.html#aad429903354ffe8cdf4ca2e9d0ae89cc">DL_DELETE</a>(head, del)</td></tr>
-<tr class="separator:aad429903354ffe8cdf4ca2e9d0ae89cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:abb0c2851c5f0567be7b8827ce5168ef7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utlist_8h.html#abb0c2851c5f0567be7b8827ce5168ef7">DL_FOREACH</a>(head, el)&#160;&#160;&#160;for(el=head;el;el=el-&gt;next)</td></tr>
-<tr class="separator:abb0c2851c5f0567be7b8827ce5168ef7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3bb0c84a69846d2f019a97ea0b4709aa"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utlist_8h.html#a3bb0c84a69846d2f019a97ea0b4709aa">DL_FOREACH_SAFE</a>(head, el, tmp)&#160;&#160;&#160;for((el)=(head);(el) &amp;&amp; (tmp = (el)-&gt;next, 1); (el) = tmp)</td></tr>
-<tr class="separator:a3bb0c84a69846d2f019a97ea0b4709aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a172fce2d647fdedadf0f8080e0441c5b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utlist_8h.html#a172fce2d647fdedadf0f8080e0441c5b">DL_SEARCH_SCALAR</a>&#160;&#160;&#160;<a class="el" href="utlist_8h.html#a8c5c97079c5b259e4c0ff7c563b0f8ed">LL_SEARCH_SCALAR</a></td></tr>
-<tr class="separator:a172fce2d647fdedadf0f8080e0441c5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a819373d14278b52c313b743acc292ba0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utlist_8h.html#a819373d14278b52c313b743acc292ba0">DL_SEARCH</a>&#160;&#160;&#160;<a class="el" href="utlist_8h.html#af7a5ae66c9386c4b89403d9ca038adcb">LL_SEARCH</a></td></tr>
-<tr class="separator:a819373d14278b52c313b743acc292ba0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6c6a7232d281eab4b18563b92e5653bd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utlist_8h.html#a6c6a7232d281eab4b18563b92e5653bd">CDL_PREPEND</a>(head, add)</td></tr>
-<tr class="separator:a6c6a7232d281eab4b18563b92e5653bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a60fd7696c4d0865f53a07579a7b08235"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utlist_8h.html#a60fd7696c4d0865f53a07579a7b08235">CDL_DELETE</a>(head, del)</td></tr>
-<tr class="separator:a60fd7696c4d0865f53a07579a7b08235"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a795df7857792d7e811709a060c911a36"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utlist_8h.html#a795df7857792d7e811709a060c911a36">CDL_FOREACH</a>(head, el)&#160;&#160;&#160;for(el=head;el;el=(el-&gt;next==head ? 0L : el-&gt;next))</td></tr>
-<tr class="separator:a795df7857792d7e811709a060c911a36"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:abdb80106f7733e37fbe4f62e9d97ccfd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utlist_8h.html#abdb80106f7733e37fbe4f62e9d97ccfd">CDL_FOREACH_SAFE</a>(head, el, tmp1, tmp2)</td></tr>
-<tr class="separator:abdb80106f7733e37fbe4f62e9d97ccfd"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad064cddb894b478b3c3cd23719f58651"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utlist_8h.html#ad064cddb894b478b3c3cd23719f58651">CDL_SEARCH_SCALAR</a>(head, out, field, val)</td></tr>
-<tr class="separator:ad064cddb894b478b3c3cd23719f58651"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:afb329a0bdf1fa0b644317e9d84082e1e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utlist_8h.html#afb329a0bdf1fa0b644317e9d84082e1e">CDL_SEARCH</a>(head, out, elt, cmp)</td></tr>
-<tr class="separator:afb329a0bdf1fa0b644317e9d84082e1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<h2 class="groupheader">Macro Definition Documentation</h2>
-<a class="anchor" id="a1eb4a3192390405087ef1bb6c57241e3"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define _CASTASGN</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">a, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">b&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td>&#160;&#160;&#160;(a)=(b)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="utlist_8h_source.html#l00093">93</a> of file <a class="el" href="utlist_8h_source.html">utlist.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aec696573e92f2ebd0a1641d77bb5b0fe"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define _NEXT</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">elt, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname"><a class="el" href="structlist.html">list</a>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td>&#160;&#160;&#160;((elt)-&gt;next)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="utlist_8h_source.html#l00088">88</a> of file <a class="el" href="utlist_8h_source.html">utlist.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a93e2d161c8ad8350100a4fad092ef058"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define _NEXTASGN</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">elt, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname"><a class="el" href="structlist.html">list</a>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">to&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td>&#160;&#160;&#160;((elt)-&gt;next)=(to)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="utlist_8h_source.html#l00089">89</a> of file <a class="el" href="utlist_8h_source.html">utlist.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ade8452ec59d6bf7ef23770ee4d96f8d5"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define _PREV</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">elt, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname"><a class="el" href="structlist.html">list</a>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td>&#160;&#160;&#160;((elt)-&gt;prev)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="utlist_8h_source.html#l00090">90</a> of file <a class="el" href="utlist_8h_source.html">utlist.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a6f6acf0ac7f07dcb26cef2110fef496a"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define _PREVASGN</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">elt, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname"><a class="el" href="structlist.html">list</a>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">to&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td>&#160;&#160;&#160;((elt)-&gt;prev)=(to)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="utlist_8h_source.html#l00091">91</a> of file <a class="el" href="utlist_8h_source.html">utlist.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a9916f2c26fd7f6f7edb1f6baf400f315"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define _RS</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname"><a class="el" href="structlist.html">list</a></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="utlist_8h_source.html#l00092">92</a> of file <a class="el" href="utlist_8h_source.html">utlist.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a9eded80a8b98df631e889eb72b77c7a4"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define _SV</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">elt, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname"><a class="el" href="structlist.html">list</a>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="utlist_8h_source.html#l00087">87</a> of file <a class="el" href="utlist_8h_source.html">utlist.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a60fd7696c4d0865f53a07579a7b08235"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define CDL_DELETE</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">head, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">del&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">do</span> {                                                                                           \</div>
-<div class="line">  if ( ((head)==(del)) &amp;&amp; ((head)-&gt;<a class="code" href="structUT__hash__handle.html#a93bc88ffe97f85ea0d9e0056b7118942">next</a> == (head))) {                                          \</div>
-<div class="line">      (head) = 0L;                                                                             \</div>
-<div class="line">  } <span class="keywordflow">else</span> {                                                                                     \</div>
-<div class="line">     (del)-&gt;<a class="code" href="structUT__hash__handle.html#a93bc88ffe97f85ea0d9e0056b7118942">next</a>-&gt;prev = (del)-&gt;prev;                                                          \</div>
-<div class="line">     (del)-&gt;<a class="code" href="structUT__hash__handle.html#abaf54a69367933df2d45575f48ca6a58">prev</a>-&gt;next = (del)-&gt;next;                                                          \</div>
-<div class="line">     if ((del) == (head)) (head)=(del)-&gt;next;                                                  \</div>
-<div class="line">  }                                                                                            \</div>
-<div class="line">} <span class="keywordflow">while</span> (0);</div>
-<div class="ttc" id="structUT__hash__handle_html_abaf54a69367933df2d45575f48ca6a58"><div class="ttname"><a href="structUT__hash__handle.html#abaf54a69367933df2d45575f48ca6a58">UT_hash_handle::prev</a></div><div class="ttdeci">void * prev</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00963">uthash.h:963</a></div></div>
-<div class="ttc" id="structUT__hash__handle_html_a93bc88ffe97f85ea0d9e0056b7118942"><div class="ttname"><a href="structUT__hash__handle.html#a93bc88ffe97f85ea0d9e0056b7118942">UT_hash_handle::next</a></div><div class="ttdeci">void * next</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00964">uthash.h:964</a></div></div>
-</div><!-- fragment -->
-<p>Definition at line <a class="el" href="utlist_8h_source.html#l00456">456</a> of file <a class="el" href="utlist_8h_source.html">utlist.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a795df7857792d7e811709a060c911a36"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define CDL_FOREACH</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">head, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">el&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td>&#160;&#160;&#160;for(el=head;el;el=(el-&gt;next==head ? 0L : el-&gt;next))</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="utlist_8h_source.html#l00467">467</a> of file <a class="el" href="utlist_8h_source.html">utlist.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="abdb80106f7733e37fbe4f62e9d97ccfd"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define CDL_FOREACH_SAFE</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">head, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">el, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">tmp1, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">tmp2&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">for</span>((el)=(head), ((tmp1)=(head)?((head)-&gt;<a class="code" href="structUT__hash__handle.html#abaf54a69367933df2d45575f48ca6a58">prev</a>):NULL);                                        \</div>
-<div class="line">      (el) &amp;&amp; ((tmp2)=(el)-&gt;<a class="code" href="structUT__hash__handle.html#a93bc88ffe97f85ea0d9e0056b7118942">next</a>, 1);                                                          \</div>
-<div class="line">      ((el) = (((el)==(tmp1)) ? 0L : (tmp2))))</div>
-<div class="ttc" id="structUT__hash__handle_html_abaf54a69367933df2d45575f48ca6a58"><div class="ttname"><a href="structUT__hash__handle.html#abaf54a69367933df2d45575f48ca6a58">UT_hash_handle::prev</a></div><div class="ttdeci">void * prev</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00963">uthash.h:963</a></div></div>
-<div class="ttc" id="structUT__hash__handle_html_a93bc88ffe97f85ea0d9e0056b7118942"><div class="ttname"><a href="structUT__hash__handle.html#a93bc88ffe97f85ea0d9e0056b7118942">UT_hash_handle::next</a></div><div class="ttdeci">void * next</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00964">uthash.h:964</a></div></div>
-</div><!-- fragment -->
-<p>Definition at line <a class="el" href="utlist_8h_source.html#l00470">470</a> of file <a class="el" href="utlist_8h_source.html">utlist.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a6c6a7232d281eab4b18563b92e5653bd"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define CDL_PREPEND</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">head, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">add&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">do</span> {                                                                                           \</div>
-<div class="line"> if (head) {                                                                                   \</div>
-<div class="line">   (add)-&gt;<a class="code" href="structUT__hash__handle.html#abaf54a69367933df2d45575f48ca6a58">prev</a> = (head)-&gt;prev;                                                                 \</div>
-<div class="line">   (add)-&gt;<a class="code" href="structUT__hash__handle.html#a93bc88ffe97f85ea0d9e0056b7118942">next</a> = (head);                                                                       \</div>
-<div class="line">   (head)-&gt;<a class="code" href="structUT__hash__handle.html#abaf54a69367933df2d45575f48ca6a58">prev</a> = (add);                                                                       \</div>
-<div class="line">   (add)-&gt;<a class="code" href="structUT__hash__handle.html#abaf54a69367933df2d45575f48ca6a58">prev</a>-&gt;next = (add);                                                                  \</div>
-<div class="line"> } <span class="keywordflow">else</span> {                                                                                      \</div>
-<div class="line">   (add)-&gt;<a class="code" href="structUT__hash__handle.html#abaf54a69367933df2d45575f48ca6a58">prev</a> = (add);                                                                        \</div>
-<div class="line">   (add)-&gt;<a class="code" href="structUT__hash__handle.html#a93bc88ffe97f85ea0d9e0056b7118942">next</a> = (add);                                                                        \</div>
-<div class="line"> }                                                                                             \</div>
-<div class="line">(head)=(add);                                                                                  \</div>
-<div class="line">} <span class="keywordflow">while</span> (0)</div>
-<div class="ttc" id="structUT__hash__handle_html_abaf54a69367933df2d45575f48ca6a58"><div class="ttname"><a href="structUT__hash__handle.html#abaf54a69367933df2d45575f48ca6a58">UT_hash_handle::prev</a></div><div class="ttdeci">void * prev</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00963">uthash.h:963</a></div></div>
-<div class="ttc" id="structUT__hash__handle_html_a93bc88ffe97f85ea0d9e0056b7118942"><div class="ttname"><a href="structUT__hash__handle.html#a93bc88ffe97f85ea0d9e0056b7118942">UT_hash_handle::next</a></div><div class="ttdeci">void * next</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00964">uthash.h:964</a></div></div>
-</div><!-- fragment -->
-<p>Definition at line <a class="el" href="utlist_8h_source.html#l00442">442</a> of file <a class="el" href="utlist_8h_source.html">utlist.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="afb329a0bdf1fa0b644317e9d84082e1e"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define CDL_SEARCH</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">head, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">out, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">elt, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">cmp&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">do</span> {                                                                                           <a class="code" href="utlist_8h.html#a795df7857792d7e811709a060c911a36">\</a></div>
-<div class="line"><a class="code" href="utlist_8h.html#a795df7857792d7e811709a060c911a36">    CDL_FOREACH</a>(head,out) {                                                                    \</div>
-<div class="line">      if ((cmp(out,elt))==0) break;                                                            \</div>
-<div class="line">    }                                                                                          \</div>
-<div class="line">} while(0)</div>
-<div class="ttc" id="utlist_8h_html_a795df7857792d7e811709a060c911a36"><div class="ttname"><a href="utlist_8h.html#a795df7857792d7e811709a060c911a36">CDL_FOREACH</a></div><div class="ttdeci">#define CDL_FOREACH(head, el)</div><div class="ttdef"><b>Definition:</b> <a href="utlist_8h_source.html#l00467">utlist.h:467</a></div></div>
-</div><!-- fragment -->
-<p>Definition at line <a class="el" href="utlist_8h_source.html#l00482">482</a> of file <a class="el" href="utlist_8h_source.html">utlist.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ad064cddb894b478b3c3cd23719f58651"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define CDL_SEARCH_SCALAR</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">head, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">out, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">field, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">val&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">do</span> {                                                                                           <a class="code" href="utlist_8h.html#a795df7857792d7e811709a060c911a36">\</a></div>
-<div class="line"><a class="code" href="utlist_8h.html#a795df7857792d7e811709a060c911a36">    CDL_FOREACH</a>(head,out) {                                                                    \</div>
-<div class="line">      if ((out)-&gt;field == (val)) break;                                                        \</div>
-<div class="line">    }                                                                                          \</div>
-<div class="line">} while(0)</div>
-<div class="ttc" id="utlist_8h_html_a795df7857792d7e811709a060c911a36"><div class="ttname"><a href="utlist_8h.html#a795df7857792d7e811709a060c911a36">CDL_FOREACH</a></div><div class="ttdeci">#define CDL_FOREACH(head, el)</div><div class="ttdef"><b>Definition:</b> <a href="utlist_8h_source.html#l00467">utlist.h:467</a></div></div>
-</div><!-- fragment -->
-<p>Definition at line <a class="el" href="utlist_8h_source.html#l00475">475</a> of file <a class="el" href="utlist_8h_source.html">utlist.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a13add78e5524efe1ae6bfb1631b2dc17"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define CDL_SORT</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname"><a class="el" href="structlist.html">list</a>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">cmp&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="utlist_8h_source.html#l00214">214</a> of file <a class="el" href="utlist_8h_source.html">utlist.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a17d40c945e1dc55490feb2fe160670c8"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DL_APPEND</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">head, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">add&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">do</span> {                                                                                           \</div>
-<div class="line">  if (head) {                                                                                  \</div>
-<div class="line">      (add)-&gt;<a class="code" href="structUT__hash__handle.html#abaf54a69367933df2d45575f48ca6a58">prev</a> = (head)-&gt;prev;                                                              \</div>
-<div class="line">      (head)-&gt;<a class="code" href="structUT__hash__handle.html#abaf54a69367933df2d45575f48ca6a58">prev</a>-&gt;next = (add);                                                              \</div>
-<div class="line">      (head)-&gt;<a class="code" href="structUT__hash__handle.html#abaf54a69367933df2d45575f48ca6a58">prev</a> = (add);                                                                    \</div>
-<div class="line">      (add)-&gt;<a class="code" href="structUT__hash__handle.html#a93bc88ffe97f85ea0d9e0056b7118942">next</a> = NULL;                                                                      \</div>
-<div class="line">  } <span class="keywordflow">else</span> {                                                                                     \</div>
-<div class="line">      (head)=(add);                                                                            \</div>
-<div class="line">      (head)-&gt;<a class="code" href="structUT__hash__handle.html#abaf54a69367933df2d45575f48ca6a58">prev</a> = (head);                                                                   \</div>
-<div class="line">      (head)-&gt;<a class="code" href="structUT__hash__handle.html#a93bc88ffe97f85ea0d9e0056b7118942">next</a> = NULL;                                                                     \</div>
-<div class="line">  }                                                                                            \</div>
-<div class="line">} <span class="keywordflow">while</span> (0);</div>
-<div class="ttc" id="structUT__hash__handle_html_abaf54a69367933df2d45575f48ca6a58"><div class="ttname"><a href="structUT__hash__handle.html#abaf54a69367933df2d45575f48ca6a58">UT_hash_handle::prev</a></div><div class="ttdeci">void * prev</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00963">uthash.h:963</a></div></div>
-<div class="ttc" id="structUT__hash__handle_html_a93bc88ffe97f85ea0d9e0056b7118942"><div class="ttname"><a href="structUT__hash__handle.html#a93bc88ffe97f85ea0d9e0056b7118942">UT_hash_handle::next</a></div><div class="ttdeci">void * next</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00964">uthash.h:964</a></div></div>
-</div><!-- fragment -->
-<p>Definition at line <a class="el" href="utlist_8h_source.html#l00396">396</a> of file <a class="el" href="utlist_8h_source.html">utlist.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aad429903354ffe8cdf4ca2e9d0ae89cc"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DL_DELETE</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">head, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">del&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">do</span> {                                                                                           \</div>
-<div class="line">  if ((del)-&gt;<a class="code" href="structUT__hash__handle.html#abaf54a69367933df2d45575f48ca6a58">prev</a> == (del)) {                                                                  \</div>
-<div class="line">      (head)=NULL;                                                                             \</div>
-<div class="line">  } <span class="keywordflow">else</span> <span class="keywordflow">if</span> ((del)==(head)) {                                                                  \</div>
-<div class="line">      (del)-&gt;<a class="code" href="structUT__hash__handle.html#a93bc88ffe97f85ea0d9e0056b7118942">next</a>-&gt;prev = (del)-&gt;prev;                                                         \</div>
-<div class="line">      (head) = (del)-&gt;next;                                                                    \</div>
-<div class="line">  } <span class="keywordflow">else</span> {                                                                                     \</div>
-<div class="line">      (del)-&gt;<a class="code" href="structUT__hash__handle.html#abaf54a69367933df2d45575f48ca6a58">prev</a>-&gt;next = (del)-&gt;next;                                                         \</div>
-<div class="line">      if ((del)-&gt;<a class="code" href="structUT__hash__handle.html#a93bc88ffe97f85ea0d9e0056b7118942">next</a>) {                                                                       \</div>
-<div class="line">          (del)-&gt;<a class="code" href="structUT__hash__handle.html#a93bc88ffe97f85ea0d9e0056b7118942">next</a>-&gt;prev = (del)-&gt;prev;                                                     \</div>
-<div class="line">      } <span class="keywordflow">else</span> {                                                                                 \</div>
-<div class="line">          (head)-&gt;<a class="code" href="structUT__hash__handle.html#abaf54a69367933df2d45575f48ca6a58">prev</a> = (del)-&gt;prev;                                                          \</div>
-<div class="line">      }                                                                                        \</div>
-<div class="line">  }                                                                                            \</div>
-<div class="line">} <span class="keywordflow">while</span> (0);</div>
-<div class="ttc" id="structUT__hash__handle_html_abaf54a69367933df2d45575f48ca6a58"><div class="ttname"><a href="structUT__hash__handle.html#abaf54a69367933df2d45575f48ca6a58">UT_hash_handle::prev</a></div><div class="ttdeci">void * prev</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00963">uthash.h:963</a></div></div>
-<div class="ttc" id="structUT__hash__handle_html_a93bc88ffe97f85ea0d9e0056b7118942"><div class="ttname"><a href="structUT__hash__handle.html#a93bc88ffe97f85ea0d9e0056b7118942">UT_hash_handle::next</a></div><div class="ttdeci">void * next</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00964">uthash.h:964</a></div></div>
-</div><!-- fragment -->
-<p>Definition at line <a class="el" href="utlist_8h_source.html#l00410">410</a> of file <a class="el" href="utlist_8h_source.html">utlist.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="abb0c2851c5f0567be7b8827ce5168ef7"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DL_FOREACH</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">head, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">el&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td>&#160;&#160;&#160;for(el=head;el;el=el-&gt;next)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="utlist_8h_source.html#l00428">428</a> of file <a class="el" href="utlist_8h_source.html">utlist.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a3bb0c84a69846d2f019a97ea0b4709aa"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DL_FOREACH_SAFE</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">head, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">el, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">tmp&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td>&#160;&#160;&#160;for((el)=(head);(el) &amp;&amp; (tmp = (el)-&gt;next, 1); (el) = tmp)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="utlist_8h_source.html#l00432">432</a> of file <a class="el" href="utlist_8h_source.html">utlist.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a78be4dea3344ba1b1c7fe1b893c0fdfa"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DL_PREPEND</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">head, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">add&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">do</span> {                                                                                           \</div>
-<div class="line"> (add)-&gt;<a class="code" href="structUT__hash__handle.html#a93bc88ffe97f85ea0d9e0056b7118942">next</a> = head;                                                                           \</div>
-<div class="line"> if (head) {                                                                                   \</div>
-<div class="line">   (add)-&gt;<a class="code" href="structUT__hash__handle.html#abaf54a69367933df2d45575f48ca6a58">prev</a> = (head)-&gt;prev;                                                                 \</div>
-<div class="line">   (head)-&gt;<a class="code" href="structUT__hash__handle.html#abaf54a69367933df2d45575f48ca6a58">prev</a> = (add);                                                                       \</div>
-<div class="line"> } <span class="keywordflow">else</span> {                                                                                      \</div>
-<div class="line">   (add)-&gt;<a class="code" href="structUT__hash__handle.html#abaf54a69367933df2d45575f48ca6a58">prev</a> = (add);                                                                        \</div>
-<div class="line"> }                                                                                             \</div>
-<div class="line"> (head) = (add);                                                                               \</div>
-<div class="line">} <span class="keywordflow">while</span> (0)</div>
-<div class="ttc" id="structUT__hash__handle_html_abaf54a69367933df2d45575f48ca6a58"><div class="ttname"><a href="structUT__hash__handle.html#abaf54a69367933df2d45575f48ca6a58">UT_hash_handle::prev</a></div><div class="ttdeci">void * prev</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00963">uthash.h:963</a></div></div>
-<div class="ttc" id="structUT__hash__handle_html_a93bc88ffe97f85ea0d9e0056b7118942"><div class="ttname"><a href="structUT__hash__handle.html#a93bc88ffe97f85ea0d9e0056b7118942">UT_hash_handle::next</a></div><div class="ttdeci">void * next</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00964">uthash.h:964</a></div></div>
-</div><!-- fragment -->
-<p>Definition at line <a class="el" href="utlist_8h_source.html#l00384">384</a> of file <a class="el" href="utlist_8h_source.html">utlist.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a819373d14278b52c313b743acc292ba0"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DL_SEARCH&#160;&#160;&#160;<a class="el" href="utlist_8h.html#af7a5ae66c9386c4b89403d9ca038adcb">LL_SEARCH</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="utlist_8h_source.html#l00437">437</a> of file <a class="el" href="utlist_8h_source.html">utlist.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a172fce2d647fdedadf0f8080e0441c5b"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DL_SEARCH_SCALAR&#160;&#160;&#160;<a class="el" href="utlist_8h.html#a8c5c97079c5b259e4c0ff7c563b0f8ed">LL_SEARCH_SCALAR</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="utlist_8h_source.html#l00436">436</a> of file <a class="el" href="utlist_8h_source.html">utlist.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ad966f284f615a2ced4028258fa08f8f3"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DL_SORT</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname"><a class="el" href="structlist.html">list</a>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">cmp&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="utlist_8h_source.html#l00156">156</a> of file <a class="el" href="utlist_8h_source.html">utlist.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ae8c9864192170d02fd996abaa1589611"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define LDECLTYPE</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">x</td><td>)</td>
-          <td>&#160;&#160;&#160;__typeof(x)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="utlist_8h_source.html#l00072">72</a> of file <a class="el" href="utlist_8h_source.html">utlist.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ace33c571c3df78e721a99a4494983855"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define LL_APPEND</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">head, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">add&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">do</span> {                                                                                           <a class="code" href="utlist_8h.html#ae8c9864192170d02fd996abaa1589611">\</a></div>
-<div class="line"><a class="code" href="utlist_8h.html#ae8c9864192170d02fd996abaa1589611">  LDECLTYPE</a>(head) _tmp;                                                                        \</div>
-<div class="line">  (add)-&gt;<a class="code" href="structUT__hash__handle.html#a93bc88ffe97f85ea0d9e0056b7118942">next</a>=NULL;                                                                            \</div>
-<div class="line">  if (head) {                                                                                  \</div>
-<div class="line">    _tmp = head;                                                                               \</div>
-<div class="line">    while (_tmp-&gt;next) { _tmp = _tmp-&gt;next; }                                                  \</div>
-<div class="line">    _tmp-&gt;next=(add);                                                                          \</div>
-<div class="line">  } <span class="keywordflow">else</span> {                                                                                     \</div>
-<div class="line">    (head)=(add);                                                                              \</div>
-<div class="line">  }                                                                                            \</div>
-<div class="line">} <span class="keywordflow">while</span> (0)</div>
-<div class="ttc" id="utlist_8h_html_ae8c9864192170d02fd996abaa1589611"><div class="ttname"><a href="utlist_8h.html#ae8c9864192170d02fd996abaa1589611">LDECLTYPE</a></div><div class="ttdeci">#define LDECLTYPE(x)</div><div class="ttdef"><b>Definition:</b> <a href="utlist_8h_source.html#l00072">utlist.h:72</a></div></div>
-<div class="ttc" id="structUT__hash__handle_html_a93bc88ffe97f85ea0d9e0056b7118942"><div class="ttname"><a href="structUT__hash__handle.html#a93bc88ffe97f85ea0d9e0056b7118942">UT_hash_handle::next</a></div><div class="ttdeci">void * next</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00964">uthash.h:964</a></div></div>
-</div><!-- fragment -->
-<p>Definition at line <a class="el" href="utlist_8h_source.html#l00293">293</a> of file <a class="el" href="utlist_8h_source.html">utlist.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a3c301ddde2cfd8c32df4137c902b66f3"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define LL_APPEND_VS2008</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">head, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">add&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">do</span> {                                                                                           \</div>
-<div class="line">  if (head) {                                                                                  \</div>
-<div class="line">    (add)-&gt;<a class="code" href="structUT__hash__handle.html#a93bc88ffe97f85ea0d9e0056b7118942">next</a> = head;     <span class="comment">/* use add-&gt;next as a temp variable */</span>                             \</div>
-<div class="line">    while ((add)-&gt;<a class="code" href="structUT__hash__handle.html#a93bc88ffe97f85ea0d9e0056b7118942">next</a>-&gt;next) { (add)-&gt;<a class="code" href="structUT__hash__handle.html#a93bc88ffe97f85ea0d9e0056b7118942">next</a> = (add)-&gt;next-&gt;next; }                             \</div>
-<div class="line">    (add)-&gt;<a class="code" href="structUT__hash__handle.html#a93bc88ffe97f85ea0d9e0056b7118942">next</a>-&gt;next=(add);                                                                   \</div>
-<div class="line">  } <span class="keywordflow">else</span> {                                                                                     \</div>
-<div class="line">    (head)=(add);                                                                              \</div>
-<div class="line">  }                                                                                            \</div>
-<div class="line">  (add)-&gt;<a class="code" href="structUT__hash__handle.html#a93bc88ffe97f85ea0d9e0056b7118942">next</a>=NULL;                                                                            \</div>
-<div class="line">} <span class="keywordflow">while</span> (0)</div>
-<div class="ttc" id="structUT__hash__handle_html_a93bc88ffe97f85ea0d9e0056b7118942"><div class="ttname"><a href="structUT__hash__handle.html#a93bc88ffe97f85ea0d9e0056b7118942">UT_hash_handle::next</a></div><div class="ttdeci">void * next</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00964">uthash.h:964</a></div></div>
-</div><!-- fragment -->
-<p>Definition at line <a class="el" href="utlist_8h_source.html#l00323">323</a> of file <a class="el" href="utlist_8h_source.html">utlist.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a34a4e54d488753465f6e87bb63b93c0e"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define LL_DELETE</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">head, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">del&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">do</span> {                                                                                           <a class="code" href="utlist_8h.html#ae8c9864192170d02fd996abaa1589611">\</a></div>
-<div class="line"><a class="code" href="utlist_8h.html#ae8c9864192170d02fd996abaa1589611">  LDECLTYPE</a>(head) _tmp;                                                                        \</div>
-<div class="line">  if ((head) == (del)) {                                                                       \</div>
-<div class="line">    (head)=(head)-&gt;next;                                                                       \</div>
-<div class="line">  } <span class="keywordflow">else</span> {                                                                                     \</div>
-<div class="line">    _tmp = head;                                                                               \</div>
-<div class="line">    while (_tmp-&gt;next &amp;&amp; (_tmp-&gt;next != (del))) {                                              \</div>
-<div class="line">      _tmp = _tmp-&gt;next;                                                                       \</div>
-<div class="line">    }                                                                                          \</div>
-<div class="line">    if (_tmp-&gt;next) {                                                                          \</div>
-<div class="line">      _tmp-&gt;next = ((del)-&gt;<a class="code" href="structUT__hash__handle.html#a93bc88ffe97f85ea0d9e0056b7118942">next</a>);                                                              \</div>
-<div class="line">    }                                                                                          \</div>
-<div class="line">  }                                                                                            \</div>
-<div class="line">} <span class="keywordflow">while</span> (0)</div>
-<div class="ttc" id="utlist_8h_html_ae8c9864192170d02fd996abaa1589611"><div class="ttname"><a href="utlist_8h.html#ae8c9864192170d02fd996abaa1589611">LDECLTYPE</a></div><div class="ttdeci">#define LDECLTYPE(x)</div><div class="ttdef"><b>Definition:</b> <a href="utlist_8h_source.html#l00072">utlist.h:72</a></div></div>
-<div class="ttc" id="structUT__hash__handle_html_a93bc88ffe97f85ea0d9e0056b7118942"><div class="ttname"><a href="structUT__hash__handle.html#a93bc88ffe97f85ea0d9e0056b7118942">UT_hash_handle::next</a></div><div class="ttdeci">void * next</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00964">uthash.h:964</a></div></div>
-</div><!-- fragment -->
-<p>Definition at line <a class="el" href="utlist_8h_source.html#l00306">306</a> of file <a class="el" href="utlist_8h_source.html">utlist.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a832d4d46464fb2dada9e198ad4f70cdf"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define LL_DELETE_VS2008</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">head, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">del&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">do</span> {                                                                                           \</div>
-<div class="line">  if ((head) == (del)) {                                                                       \</div>
-<div class="line">    (head)=(head)-&gt;next;                                                                       \</div>
-<div class="line">  } <span class="keywordflow">else</span> {                                                                                     \</div>
-<div class="line">    char *_tmp = (<span class="keywordtype">char</span>*)(head);                                                                \</div>
-<div class="line">    while (head-&gt;next &amp;&amp; (head-&gt;next != (del))) {                                              \</div>
-<div class="line">      head = head-&gt;next;                                                                       \</div>
-<div class="line">    }                                                                                          \</div>
-<div class="line">    if (head-&gt;next) {                                                                          \</div>
-<div class="line">      head-&gt;next = ((del)-&gt;<a class="code" href="structUT__hash__handle.html#a93bc88ffe97f85ea0d9e0056b7118942">next</a>);                                                              \</div>
-<div class="line">    }                                                                                          \</div>
-<div class="line">    {                                                                                          \</div>
-<div class="line">      char **_head_alias = (<span class="keywordtype">char</span>**)&amp;(head);                                                    \</div>
-<div class="line">      *_head_alias = _tmp;                                                                     \</div>
-<div class="line">    }                                                                                          \</div>
-<div class="line">  }                                                                                            \</div>
-<div class="line">} <span class="keywordflow">while</span> (0)</div>
-<div class="ttc" id="structUT__hash__handle_html_a93bc88ffe97f85ea0d9e0056b7118942"><div class="ttname"><a href="structUT__hash__handle.html#a93bc88ffe97f85ea0d9e0056b7118942">UT_hash_handle::next</a></div><div class="ttdeci">void * next</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00964">uthash.h:964</a></div></div>
-</div><!-- fragment -->
-<p>Definition at line <a class="el" href="utlist_8h_source.html#l00335">335</a> of file <a class="el" href="utlist_8h_source.html">utlist.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a487c0ce49f397e1743caae16a797e4bb"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define LL_FOREACH</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">head, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">el&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td>&#160;&#160;&#160;for(el=head;el;el=el-&gt;next)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="utlist_8h_source.html#l00361">361</a> of file <a class="el" href="utlist_8h_source.html">utlist.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ad0a695664d31f0b929fd50b39ebcf0ef"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define LL_FOREACH_SAFE</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">head, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">el, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">tmp&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td>&#160;&#160;&#160;for((el)=(head);(el) &amp;&amp; (tmp = (el)-&gt;next, 1); (el) = tmp)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="utlist_8h_source.html#l00364">364</a> of file <a class="el" href="utlist_8h_source.html">utlist.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a851fb4b583b0dc000097eeee6dd551d4"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define LL_PREPEND</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">head, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">add&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">do</span> {                                                                                           \</div>
-<div class="line">  (add)-&gt;<a class="code" href="structUT__hash__handle.html#a93bc88ffe97f85ea0d9e0056b7118942">next</a> = head;                                                                          \</div>
-<div class="line">  head = add;                                                                                  \</div>
-<div class="line">} <span class="keywordflow">while</span> (0)</div>
-<div class="ttc" id="structUT__hash__handle_html_a93bc88ffe97f85ea0d9e0056b7118942"><div class="ttname"><a href="structUT__hash__handle.html#a93bc88ffe97f85ea0d9e0056b7118942">UT_hash_handle::next</a></div><div class="ttdeci">void * next</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00964">uthash.h:964</a></div></div>
-</div><!-- fragment -->
-<p>Definition at line <a class="el" href="utlist_8h_source.html#l00287">287</a> of file <a class="el" href="utlist_8h_source.html">utlist.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="af7a5ae66c9386c4b89403d9ca038adcb"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define LL_SEARCH</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">head, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">out, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">elt, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">cmp&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">do</span> {                                                                                           <a class="code" href="utlist_8h.html#a487c0ce49f397e1743caae16a797e4bb">\</a></div>
-<div class="line"><a class="code" href="utlist_8h.html#a487c0ce49f397e1743caae16a797e4bb">    LL_FOREACH</a>(head,out) {                                                                     \</div>
-<div class="line">      if ((cmp(out,elt))==0) break;                                                            \</div>
-<div class="line">    }                                                                                          \</div>
-<div class="line">} while(0)</div>
-<div class="ttc" id="utlist_8h_html_a487c0ce49f397e1743caae16a797e4bb"><div class="ttname"><a href="utlist_8h.html#a487c0ce49f397e1743caae16a797e4bb">LL_FOREACH</a></div><div class="ttdeci">#define LL_FOREACH(head, el)</div><div class="ttdef"><b>Definition:</b> <a href="utlist_8h_source.html#l00361">utlist.h:361</a></div></div>
-</div><!-- fragment -->
-<p>Definition at line <a class="el" href="utlist_8h_source.html#l00374">374</a> of file <a class="el" href="utlist_8h_source.html">utlist.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a8c5c97079c5b259e4c0ff7c563b0f8ed"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define LL_SEARCH_SCALAR</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">head, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">out, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">field, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">val&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">do</span> {                                                                                           <a class="code" href="utlist_8h.html#a487c0ce49f397e1743caae16a797e4bb">\</a></div>
-<div class="line"><a class="code" href="utlist_8h.html#a487c0ce49f397e1743caae16a797e4bb">    LL_FOREACH</a>(head,out) {                                                                     \</div>
-<div class="line">      if ((out)-&gt;field == (val)) break;                                                        \</div>
-<div class="line">    }                                                                                          \</div>
-<div class="line">} while(0)</div>
-<div class="ttc" id="utlist_8h_html_a487c0ce49f397e1743caae16a797e4bb"><div class="ttname"><a href="utlist_8h.html#a487c0ce49f397e1743caae16a797e4bb">LL_FOREACH</a></div><div class="ttdeci">#define LL_FOREACH(head, el)</div><div class="ttdef"><b>Definition:</b> <a href="utlist_8h_source.html#l00361">utlist.h:361</a></div></div>
-</div><!-- fragment -->
-<p>Definition at line <a class="el" href="utlist_8h_source.html#l00367">367</a> of file <a class="el" href="utlist_8h_source.html">utlist.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a0b2137d4a0c157cb7a1a30d9340ece31"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define LL_SORT</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname"><a class="el" href="structlist.html">list</a>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">cmp&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="utlist_8h_source.html#l00100">100</a> of file <a class="el" href="utlist_8h_source.html">utlist.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a9f3779f3c49ddf609c97f1c3d1f29730"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define UTLIST_VERSION&#160;&#160;&#160;1.9.1</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Definition at line <a class="el" href="utlist_8h_source.html#l00027">27</a> of file <a class="el" href="utlist_8h_source.html">utlist.h</a>.</p>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/doc/html/utlist_8h_source.html b/external/wakaama/examples/shared/tinydtls/doc/html/utlist_8h_source.html
deleted file mode 100644 (file)
index 1427957..0000000
+++ /dev/null
@@ -1,586 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.6"/>
-<title>tinydtls: utlist.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">tinydtls
-   &#160;<span id="projectnumber">0.8.2</span>
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-</div><!-- top -->
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="header">
-  <div class="headertitle">
-<div class="title">utlist.h</div>  </div>
-</div><!--header-->
-<div class="contents">
-<a href="utlist_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">Copyright (c) 2007-2010, Troy D. Hanson   http://uthash.sourceforge.net</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">All rights reserved.</span></div>
-<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">Redistribution and use in source and binary forms, with or without</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">modification, are permitted provided that the following conditions are met:</span></div>
-<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">    * Redistributions of source code must retain the above copyright</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">      notice, this list of conditions and the following disclaimer.</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &quot;AS</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">*/</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;</div>
-<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#ifndef _DTLS_UTLIST_H</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define _DTLS_UTLIST_H</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"><a class="line" href="utlist_8h.html#a9f3779f3c49ddf609c97f1c3d1f29730">   27</a></span>&#160;<span class="preprocessor">#define UTLIST_VERSION 1.9.1</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment">/* </span></div>
-<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment"> * This file contains macros to manipulate singly and doubly-linked lists.</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment"> * 1. LL_ macros:  singly-linked lists.</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment"> * 2. DL_ macros:  doubly-linked lists.</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment"> * 3. CDL_ macros: circular doubly-linked lists.</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="comment"> * To use singly-linked lists, your structure must have a &quot;next&quot; pointer.</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="comment"> * To use doubly-linked lists, your structure must &quot;prev&quot; and &quot;next&quot; pointers.</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment"> * Either way, the pointer to the head of the list must be initialized to NULL.</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="comment"> * </span></div>
-<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="comment"> * ----------------.EXAMPLE -------------------------</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment"> * struct item {</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="comment"> *      int id;</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="comment"> *      struct item *prev, *next;</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment"> * }</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment"> * struct item *list = NULL:</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="comment"> * int main() {</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="comment"> *      struct item *item;</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="comment"> *      ... allocate and populate item ...</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment"> *      DL_APPEND(list, item);</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment"> * }</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment"> * --------------------------------------------------</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment"> * For doubly-linked lists, the append and delete macros are O(1)</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="comment"> * For singly-linked lists, append and delete are O(n) but prepend is O(1)</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="comment"> * The sort macro is O(n log(n)) for all types of single/double/circular lists.</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;</div>
-<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="comment">/* These macros use decltype or the earlier __typeof GNU extension.</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="comment">   As decltype is only available in newer compilers (VS2010 or gcc 4.3+</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="comment">   when compiling c++ code), this code uses whatever method is needed</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="comment">   or, for VS2008 where neither is available, uses casting workarounds. */</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="preprocessor">#ifdef _MSC_VER            </span><span class="comment">/* MS compiler */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#if _MSC_VER &gt;= 1600 &amp;&amp; __cplusplus  </span><span class="comment">/* VS2010 and newer in C++ mode */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define LDECLTYPE(x) decltype(x)</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#else                     </span><span class="comment">/* VS2008 or older (or VS2010 in C mode) */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define NO_DECLTYPE</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define LDECLTYPE(x) char*</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#else                      </span><span class="comment">/* GNU, Sun and other compilers */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="utlist_8h.html#ae8c9864192170d02fd996abaa1589611">   72</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define LDECLTYPE(x) __typeof(x)</span></div>
-<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="comment">/* for VS2008 we use some workarounds to get around the lack of decltype,</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="comment"> * namely, we always reassign our tmp variable to the list head if we need</span></div>
-<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="comment"> * to dereference its prev/next pointers, and save/restore the real head.*/</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="preprocessor">#ifdef NO_DECLTYPE</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define _SV(elt,list) _tmp = (char*)(list); {char **_alias = (char**)&amp;(list); *_alias = (elt); }</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define _NEXT(elt,list) ((char*)((list)-&gt;next))</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define _NEXTASGN(elt,list,to) { char **_alias = (char**)&amp;((list)-&gt;next); *_alias=(char*)(to); }</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define _PREV(elt,list) ((char*)((list)-&gt;prev))</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define _PREVASGN(elt,list,to) { char **_alias = (char**)&amp;((list)-&gt;prev); *_alias=(char*)(to); }</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define _RS(list) { char **_alias = (char**)&amp;(list); *_alias=_tmp; }</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define _CASTASGN(a,b) { char **_alias = (char**)&amp;(a); *_alias=(char*)(b); }</span></div>
-<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#else </span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="utlist_8h.html#a9eded80a8b98df631e889eb72b77c7a4">   87</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define _SV(elt,list)</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="utlist_8h.html#aec696573e92f2ebd0a1641d77bb5b0fe">   88</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define _NEXT(elt,list) ((elt)-&gt;next)</span></div>
-<div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="utlist_8h.html#a93e2d161c8ad8350100a4fad092ef058">   89</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define _NEXTASGN(elt,list,to) ((elt)-&gt;next)=(to)</span></div>
-<div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="utlist_8h.html#ade8452ec59d6bf7ef23770ee4d96f8d5">   90</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define _PREV(elt,list) ((elt)-&gt;prev)</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="utlist_8h.html#a6f6acf0ac7f07dcb26cef2110fef496a">   91</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define _PREVASGN(elt,list,to) ((elt)-&gt;prev)=(to)</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="utlist_8h.html#a9916f2c26fd7f6f7edb1f6baf400f315">   92</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define _RS(list)</span></div>
-<div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="utlist_8h.html#a1eb4a3192390405087ef1bb6c57241e3">   93</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define _CASTASGN(a,b) (a)=(b)</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="comment">/******************************************************************************</span></div>
-<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="comment"> * The sort macro is an adaptation of Simon Tatham&#39;s O(n log(n)) mergesort    *</span></div>
-<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="comment"> * Unwieldy variable names used here to avoid shadowing passed-in variables.  *</span></div>
-<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;<span class="comment"> *****************************************************************************/</span></div>
-<div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="utlist_8h.html#a0b2137d4a0c157cb7a1a30d9340ece31">  100</a></span>&#160;<span class="preprocessor">#define LL_SORT(list, cmp)                                                                     \</span></div>
-<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;<span class="preprocessor">do {                                                                                           \</span></div>
-<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="preprocessor">  LDECLTYPE(list) _ls_p;                                                                       \</span></div>
-<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="preprocessor">  LDECLTYPE(list) _ls_q;                                                                       \</span></div>
-<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="preprocessor">  LDECLTYPE(list) _ls_e;                                                                       \</span></div>
-<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;<span class="preprocessor">  LDECLTYPE(list) _ls_tail;                                                                    \</span></div>
-<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="preprocessor">  LDECLTYPE(list) _ls_oldhead;                                                                 \</span></div>
-<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="preprocessor">  LDECLTYPE(list) _tmp;                                                                        \</span></div>
-<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<span class="preprocessor">  int _ls_insize, _ls_nmerges, _ls_psize, _ls_qsize, _ls_i, _ls_looping;                       \</span></div>
-<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="preprocessor">  if (list) {                                                                                  \</span></div>
-<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="preprocessor">    _ls_insize = 1;                                                                            \</span></div>
-<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;<span class="preprocessor">    _ls_looping = 1;                                                                           \</span></div>
-<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="preprocessor">    while (_ls_looping) {                                                                      \</span></div>
-<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;<span class="preprocessor">      _CASTASGN(_ls_p,list);                                                                   \</span></div>
-<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="preprocessor">      _CASTASGN(_ls_oldhead,list);                                                             \</span></div>
-<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;<span class="preprocessor">      list = NULL;                                                                             \</span></div>
-<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="preprocessor">      _ls_tail = NULL;                                                                         \</span></div>
-<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="preprocessor">      _ls_nmerges = 0;                                                                         \</span></div>
-<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="preprocessor">      while (_ls_p) {                                                                          \</span></div>
-<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;<span class="preprocessor">        _ls_nmerges++;                                                                         \</span></div>
-<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;<span class="preprocessor">        _ls_q = _ls_p;                                                                         \</span></div>
-<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;<span class="preprocessor">        _ls_psize = 0;                                                                         \</span></div>
-<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;<span class="preprocessor">        for (_ls_i = 0; _ls_i &lt; _ls_insize; _ls_i++) {                                         \</span></div>
-<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="preprocessor">          _ls_psize++;                                                                         \</span></div>
-<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;<span class="preprocessor">          _SV(_ls_q,list); _ls_q = _NEXT(_ls_q,list); _RS(list);                               \</span></div>
-<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="preprocessor">          if (!_ls_q) break;                                                                   \</span></div>
-<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;<span class="preprocessor">        }                                                                                      \</span></div>
-<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;<span class="preprocessor">        _ls_qsize = _ls_insize;                                                                \</span></div>
-<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;<span class="preprocessor">        while (_ls_psize &gt; 0 || (_ls_qsize &gt; 0 &amp;&amp; _ls_q)) {                                    \</span></div>
-<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="preprocessor">          if (_ls_psize == 0) {                                                                \</span></div>
-<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="preprocessor">            _ls_e = _ls_q; _SV(_ls_q,list); _ls_q = _NEXT(_ls_q,list); _RS(list); _ls_qsize--; \</span></div>
-<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="preprocessor">          } else if (_ls_qsize == 0 || !_ls_q) {                                               \</span></div>
-<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="preprocessor">            _ls_e = _ls_p; _SV(_ls_p,list); _ls_p = _NEXT(_ls_p,list); _RS(list); _ls_psize--; \</span></div>
-<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;<span class="preprocessor">          } else if (cmp(_ls_p,_ls_q) &lt;= 0) {                                                  \</span></div>
-<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;<span class="preprocessor">            _ls_e = _ls_p; _SV(_ls_p,list); _ls_p = _NEXT(_ls_p,list); _RS(list); _ls_psize--; \</span></div>
-<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;<span class="preprocessor">          } else {                                                                             \</span></div>
-<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="preprocessor">            _ls_e = _ls_q; _SV(_ls_q,list); _ls_q = _NEXT(_ls_q,list); _RS(list); _ls_qsize--; \</span></div>
-<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;<span class="preprocessor">          }                                                                                    \</span></div>
-<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;<span class="preprocessor">          if (_ls_tail) {                                                                      \</span></div>
-<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="preprocessor">            _SV(_ls_tail,list); _NEXTASGN(_ls_tail,list,_ls_e); _RS(list);                     \</span></div>
-<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;<span class="preprocessor">          } else {                                                                             \</span></div>
-<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="preprocessor">            _CASTASGN(list,_ls_e);                                                             \</span></div>
-<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="preprocessor">          }                                                                                    \</span></div>
-<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="preprocessor">          _ls_tail = _ls_e;                                                                    \</span></div>
-<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;<span class="preprocessor">        }                                                                                      \</span></div>
-<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="preprocessor">        _ls_p = _ls_q;                                                                         \</span></div>
-<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;<span class="preprocessor">      }                                                                                        \</span></div>
-<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;<span class="preprocessor">      _SV(_ls_tail,list); _NEXTASGN(_ls_tail,list,NULL); _RS(list);                            \</span></div>
-<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;<span class="preprocessor">      if (_ls_nmerges &lt;= 1) {                                                                  \</span></div>
-<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;<span class="preprocessor">        _ls_looping=0;                                                                         \</span></div>
-<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;<span class="preprocessor">      }                                                                                        \</span></div>
-<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;<span class="preprocessor">      _ls_insize *= 2;                                                                         \</span></div>
-<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;<span class="preprocessor">    }                                                                                          \</span></div>
-<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;<span class="preprocessor">  } else _tmp=NULL; </span><span class="comment">/* quiet gcc unused variable warning */</span><span class="preprocessor">                                    \</span></div>
-<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="preprocessor">} while (0)</span></div>
-<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00156"></a><span class="lineno"><a class="line" href="utlist_8h.html#ad966f284f615a2ced4028258fa08f8f3">  156</a></span>&#160;<span class="preprocessor">#define DL_SORT(list, cmp)                                                                     \</span></div>
-<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;<span class="preprocessor">do {                                                                                           \</span></div>
-<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;<span class="preprocessor">  LDECLTYPE(list) _ls_p;                                                                       \</span></div>
-<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;<span class="preprocessor">  LDECLTYPE(list) _ls_q;                                                                       \</span></div>
-<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;<span class="preprocessor">  LDECLTYPE(list) _ls_e;                                                                       \</span></div>
-<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;<span class="preprocessor">  LDECLTYPE(list) _ls_tail;                                                                    \</span></div>
-<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;<span class="preprocessor">  LDECLTYPE(list) _ls_oldhead;                                                                 \</span></div>
-<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;<span class="preprocessor">  LDECLTYPE(list) _tmp;                                                                        \</span></div>
-<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="preprocessor">  int _ls_insize, _ls_nmerges, _ls_psize, _ls_qsize, _ls_i, _ls_looping;                       \</span></div>
-<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;<span class="preprocessor">  if (list) {                                                                                  \</span></div>
-<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;<span class="preprocessor">    _ls_insize = 1;                                                                            \</span></div>
-<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;<span class="preprocessor">    _ls_looping = 1;                                                                           \</span></div>
-<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;<span class="preprocessor">    while (_ls_looping) {                                                                      \</span></div>
-<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;<span class="preprocessor">      _CASTASGN(_ls_p,list);                                                                   \</span></div>
-<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;<span class="preprocessor">      _CASTASGN(_ls_oldhead,list);                                                             \</span></div>
-<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="preprocessor">      list = NULL;                                                                             \</span></div>
-<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;<span class="preprocessor">      _ls_tail = NULL;                                                                         \</span></div>
-<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;<span class="preprocessor">      _ls_nmerges = 0;                                                                         \</span></div>
-<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<span class="preprocessor">      while (_ls_p) {                                                                          \</span></div>
-<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;<span class="preprocessor">        _ls_nmerges++;                                                                         \</span></div>
-<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;<span class="preprocessor">        _ls_q = _ls_p;                                                                         \</span></div>
-<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;<span class="preprocessor">        _ls_psize = 0;                                                                         \</span></div>
-<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;<span class="preprocessor">        for (_ls_i = 0; _ls_i &lt; _ls_insize; _ls_i++) {                                         \</span></div>
-<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="preprocessor">          _ls_psize++;                                                                         \</span></div>
-<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="preprocessor">          _SV(_ls_q,list); _ls_q = _NEXT(_ls_q,list); _RS(list);                               \</span></div>
-<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;<span class="preprocessor">          if (!_ls_q) break;                                                                   \</span></div>
-<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;<span class="preprocessor">        }                                                                                      \</span></div>
-<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;<span class="preprocessor">        _ls_qsize = _ls_insize;                                                                \</span></div>
-<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;<span class="preprocessor">        while (_ls_psize &gt; 0 || (_ls_qsize &gt; 0 &amp;&amp; _ls_q)) {                                    \</span></div>
-<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;<span class="preprocessor">          if (_ls_psize == 0) {                                                                \</span></div>
-<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;<span class="preprocessor">            _ls_e = _ls_q; _SV(_ls_q,list); _ls_q = _NEXT(_ls_q,list); _RS(list); _ls_qsize--; \</span></div>
-<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<span class="preprocessor">          } else if (_ls_qsize == 0 || !_ls_q) {                                               \</span></div>
-<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;<span class="preprocessor">            _ls_e = _ls_p; _SV(_ls_p,list); _ls_p = _NEXT(_ls_p,list); _RS(list); _ls_psize--; \</span></div>
-<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="preprocessor">          } else if (cmp(_ls_p,_ls_q) &lt;= 0) {                                                  \</span></div>
-<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="preprocessor">            _ls_e = _ls_p; _SV(_ls_p,list); _ls_p = _NEXT(_ls_p,list); _RS(list); _ls_psize--; \</span></div>
-<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;<span class="preprocessor">          } else {                                                                             \</span></div>
-<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;<span class="preprocessor">            _ls_e = _ls_q; _SV(_ls_q,list); _ls_q = _NEXT(_ls_q,list); _RS(list); _ls_qsize--; \</span></div>
-<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;<span class="preprocessor">          }                                                                                    \</span></div>
-<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<span class="preprocessor">          if (_ls_tail) {                                                                      \</span></div>
-<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;<span class="preprocessor">            _SV(_ls_tail,list); _NEXTASGN(_ls_tail,list,_ls_e); _RS(list);                     \</span></div>
-<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;<span class="preprocessor">          } else {                                                                             \</span></div>
-<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;<span class="preprocessor">            _CASTASGN(list,_ls_e);                                                             \</span></div>
-<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="preprocessor">          }                                                                                    \</span></div>
-<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;<span class="preprocessor">          _SV(_ls_e,list); _PREVASGN(_ls_e,list,_ls_tail); _RS(list);                          \</span></div>
-<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;<span class="preprocessor">          _ls_tail = _ls_e;                                                                    \</span></div>
-<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;<span class="preprocessor">        }                                                                                      \</span></div>
-<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;<span class="preprocessor">        _ls_p = _ls_q;                                                                         \</span></div>
-<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;<span class="preprocessor">      }                                                                                        \</span></div>
-<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<span class="preprocessor">      _CASTASGN(list-&gt;prev, _ls_tail);                                                         \</span></div>
-<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;<span class="preprocessor">      _SV(_ls_tail,list); _NEXTASGN(_ls_tail,list,NULL); _RS(list);                            \</span></div>
-<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;<span class="preprocessor">      if (_ls_nmerges &lt;= 1) {                                                                  \</span></div>
-<div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;<span class="preprocessor">        _ls_looping=0;                                                                         \</span></div>
-<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;<span class="preprocessor">      }                                                                                        \</span></div>
-<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;<span class="preprocessor">      _ls_insize *= 2;                                                                         \</span></div>
-<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;<span class="preprocessor">    }                                                                                          \</span></div>
-<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;<span class="preprocessor">  } else _tmp=NULL; </span><span class="comment">/* quiet gcc unused variable warning */</span><span class="preprocessor">                                    \</span></div>
-<div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;<span class="preprocessor">} while (0)</span></div>
-<div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00214"></a><span class="lineno"><a class="line" href="utlist_8h.html#a13add78e5524efe1ae6bfb1631b2dc17">  214</a></span>&#160;<span class="preprocessor">#define CDL_SORT(list, cmp)                                                                    \</span></div>
-<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;<span class="preprocessor">do {                                                                                           \</span></div>
-<div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;<span class="preprocessor">  LDECLTYPE(list) _ls_p;                                                                       \</span></div>
-<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;<span class="preprocessor">  LDECLTYPE(list) _ls_q;                                                                       \</span></div>
-<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="preprocessor">  LDECLTYPE(list) _ls_e;                                                                       \</span></div>
-<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="preprocessor">  LDECLTYPE(list) _ls_tail;                                                                    \</span></div>
-<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;<span class="preprocessor">  LDECLTYPE(list) _ls_oldhead;                                                                 \</span></div>
-<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;<span class="preprocessor">  LDECLTYPE(list) _tmp;                                                                        \</span></div>
-<div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;<span class="preprocessor">  LDECLTYPE(list) _tmp2;                                                                       \</span></div>
-<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="preprocessor">  int _ls_insize, _ls_nmerges, _ls_psize, _ls_qsize, _ls_i, _ls_looping;                       \</span></div>
-<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;<span class="preprocessor">  if (list) {                                                                                  \</span></div>
-<div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;<span class="preprocessor">    _ls_insize = 1;                                                                            \</span></div>
-<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;<span class="preprocessor">    _ls_looping = 1;                                                                           \</span></div>
-<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="preprocessor">    while (_ls_looping) {                                                                      \</span></div>
-<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<span class="preprocessor">      _CASTASGN(_ls_p,list);                                                                   \</span></div>
-<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;<span class="preprocessor">      _CASTASGN(_ls_oldhead,list);                                                             \</span></div>
-<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;<span class="preprocessor">      list = NULL;                                                                             \</span></div>
-<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;<span class="preprocessor">      _ls_tail = NULL;                                                                         \</span></div>
-<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="preprocessor">      _ls_nmerges = 0;                                                                         \</span></div>
-<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;<span class="preprocessor">      while (_ls_p) {                                                                          \</span></div>
-<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="preprocessor">        _ls_nmerges++;                                                                         \</span></div>
-<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;<span class="preprocessor">        _ls_q = _ls_p;                                                                         \</span></div>
-<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;<span class="preprocessor">        _ls_psize = 0;                                                                         \</span></div>
-<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;<span class="preprocessor">        for (_ls_i = 0; _ls_i &lt; _ls_insize; _ls_i++) {                                         \</span></div>
-<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;<span class="preprocessor">          _ls_psize++;                                                                         \</span></div>
-<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;<span class="preprocessor">          _SV(_ls_q,list);                                                                     \</span></div>
-<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="preprocessor">          if (_NEXT(_ls_q,list) == _ls_oldhead) {                                              \</span></div>
-<div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;<span class="preprocessor">            _ls_q = NULL;                                                                      \</span></div>
-<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;<span class="preprocessor">          } else {                                                                             \</span></div>
-<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;<span class="preprocessor">            _ls_q = _NEXT(_ls_q,list);                                                         \</span></div>
-<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;<span class="preprocessor">          }                                                                                    \</span></div>
-<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="preprocessor">          _RS(list);                                                                           \</span></div>
-<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;<span class="preprocessor">          if (!_ls_q) break;                                                                   \</span></div>
-<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;<span class="preprocessor">        }                                                                                      \</span></div>
-<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;<span class="preprocessor">        _ls_qsize = _ls_insize;                                                                \</span></div>
-<div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;<span class="preprocessor">        while (_ls_psize &gt; 0 || (_ls_qsize &gt; 0 &amp;&amp; _ls_q)) {                                    \</span></div>
-<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;<span class="preprocessor">          if (_ls_psize == 0) {                                                                \</span></div>
-<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;<span class="preprocessor">            _ls_e = _ls_q; _SV(_ls_q,list); _ls_q = _NEXT(_ls_q,list); _RS(list); _ls_qsize--; \</span></div>
-<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;<span class="preprocessor">            if (_ls_q == _ls_oldhead) { _ls_q = NULL; }                                        \</span></div>
-<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;<span class="preprocessor">          } else if (_ls_qsize == 0 || !_ls_q) {                                               \</span></div>
-<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;<span class="preprocessor">            _ls_e = _ls_p; _SV(_ls_p,list); _ls_p = _NEXT(_ls_p,list); _RS(list); _ls_psize--; \</span></div>
-<div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;<span class="preprocessor">            if (_ls_p == _ls_oldhead) { _ls_p = NULL; }                                        \</span></div>
-<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="preprocessor">          } else if (cmp(_ls_p,_ls_q) &lt;= 0) {                                                  \</span></div>
-<div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;<span class="preprocessor">            _ls_e = _ls_p; _SV(_ls_p,list); _ls_p = _NEXT(_ls_p,list); _RS(list); _ls_psize--; \</span></div>
-<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;<span class="preprocessor">            if (_ls_p == _ls_oldhead) { _ls_p = NULL; }                                        \</span></div>
-<div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;<span class="preprocessor">          } else {                                                                             \</span></div>
-<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;<span class="preprocessor">            _ls_e = _ls_q; _SV(_ls_q,list); _ls_q = _NEXT(_ls_q,list); _RS(list); _ls_qsize--; \</span></div>
-<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;<span class="preprocessor">            if (_ls_q == _ls_oldhead) { _ls_q = NULL; }                                        \</span></div>
-<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;<span class="preprocessor">          }                                                                                    \</span></div>
-<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;<span class="preprocessor">          if (_ls_tail) {                                                                      \</span></div>
-<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;<span class="preprocessor">            _SV(_ls_tail,list); _NEXTASGN(_ls_tail,list,_ls_e); _RS(list);                     \</span></div>
-<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;<span class="preprocessor">          } else {                                                                             \</span></div>
-<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;<span class="preprocessor">            _CASTASGN(list,_ls_e);                                                             \</span></div>
-<div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="preprocessor">          }                                                                                    \</span></div>
-<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;<span class="preprocessor">          _SV(_ls_e,list); _PREVASGN(_ls_e,list,_ls_tail); _RS(list);                          \</span></div>
-<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;<span class="preprocessor">          _ls_tail = _ls_e;                                                                    \</span></div>
-<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;<span class="preprocessor">        }                                                                                      \</span></div>
-<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;<span class="preprocessor">        _ls_p = _ls_q;                                                                         \</span></div>
-<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;<span class="preprocessor">      }                                                                                        \</span></div>
-<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;<span class="preprocessor">      _CASTASGN(list-&gt;prev,_ls_tail);                                                          \</span></div>
-<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;<span class="preprocessor">      _CASTASGN(_tmp2,list);                                                                   \</span></div>
-<div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;<span class="preprocessor">      _SV(_ls_tail,list); _NEXTASGN(_ls_tail,list,_tmp2); _RS(list);                           \</span></div>
-<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;<span class="preprocessor">      if (_ls_nmerges &lt;= 1) {                                                                  \</span></div>
-<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;<span class="preprocessor">        _ls_looping=0;                                                                         \</span></div>
-<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="preprocessor">      }                                                                                        \</span></div>
-<div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;<span class="preprocessor">      _ls_insize *= 2;                                                                         \</span></div>
-<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;<span class="preprocessor">    }                                                                                          \</span></div>
-<div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;<span class="preprocessor">  } else _tmp=NULL; </span><span class="comment">/* quiet gcc unused variable warning */</span><span class="preprocessor">                                    \</span></div>
-<div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;<span class="preprocessor">} while (0)</span></div>
-<div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;<span class="comment">/******************************************************************************</span></div>
-<div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;<span class="comment"> * singly linked list macros (non-circular)                                   *</span></div>
-<div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;<span class="comment"> *****************************************************************************/</span></div>
-<div class="line"><a name="l00287"></a><span class="lineno"><a class="line" href="utlist_8h.html#a851fb4b583b0dc000097eeee6dd551d4">  287</a></span>&#160;<span class="preprocessor">#define LL_PREPEND(head,add)                                                                   \</span></div>
-<div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;<span class="preprocessor">do {                                                                                           \</span></div>
-<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;<span class="preprocessor">  (add)-&gt;next = head;                                                                          \</span></div>
-<div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;<span class="preprocessor">  head = add;                                                                                  \</span></div>
-<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;<span class="preprocessor">} while (0)</span></div>
-<div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00293"></a><span class="lineno"><a class="line" href="utlist_8h.html#ace33c571c3df78e721a99a4494983855">  293</a></span>&#160;<span class="preprocessor">#define LL_APPEND(head,add)                                                                    \</span></div>
-<div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;<span class="preprocessor">do {                                                                                           \</span></div>
-<div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;<span class="preprocessor">  LDECLTYPE(head) _tmp;                                                                        \</span></div>
-<div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;<span class="preprocessor">  (add)-&gt;next=NULL;                                                                            \</span></div>
-<div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;<span class="preprocessor">  if (head) {                                                                                  \</span></div>
-<div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;<span class="preprocessor">    _tmp = head;                                                                               \</span></div>
-<div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;<span class="preprocessor">    while (_tmp-&gt;next) { _tmp = _tmp-&gt;next; }                                                  \</span></div>
-<div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;<span class="preprocessor">    _tmp-&gt;next=(add);                                                                          \</span></div>
-<div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;<span class="preprocessor">  } else {                                                                                     \</span></div>
-<div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;<span class="preprocessor">    (head)=(add);                                                                              \</span></div>
-<div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;<span class="preprocessor">  }                                                                                            \</span></div>
-<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;<span class="preprocessor">} while (0)</span></div>
-<div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00306"></a><span class="lineno"><a class="line" href="utlist_8h.html#a34a4e54d488753465f6e87bb63b93c0e">  306</a></span>&#160;<span class="preprocessor">#define LL_DELETE(head,del)                                                                    \</span></div>
-<div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;<span class="preprocessor">do {                                                                                           \</span></div>
-<div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;<span class="preprocessor">  LDECLTYPE(head) _tmp;                                                                        \</span></div>
-<div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;<span class="preprocessor">  if ((head) == (del)) {                                                                       \</span></div>
-<div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;<span class="preprocessor">    (head)=(head)-&gt;next;                                                                       \</span></div>
-<div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;<span class="preprocessor">  } else {                                                                                     \</span></div>
-<div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;<span class="preprocessor">    _tmp = head;                                                                               \</span></div>
-<div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;<span class="preprocessor">    while (_tmp-&gt;next &amp;&amp; (_tmp-&gt;next != (del))) {                                              \</span></div>
-<div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;<span class="preprocessor">      _tmp = _tmp-&gt;next;                                                                       \</span></div>
-<div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;<span class="preprocessor">    }                                                                                          \</span></div>
-<div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;<span class="preprocessor">    if (_tmp-&gt;next) {                                                                          \</span></div>
-<div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;<span class="preprocessor">      _tmp-&gt;next = ((del)-&gt;next);                                                              \</span></div>
-<div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;<span class="preprocessor">    }                                                                                          \</span></div>
-<div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;<span class="preprocessor">  }                                                                                            \</span></div>
-<div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;<span class="preprocessor">} while (0)</span></div>
-<div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;<span class="comment">/* Here are VS2008 replacements for LL_APPEND and LL_DELETE */</span></div>
-<div class="line"><a name="l00323"></a><span class="lineno"><a class="line" href="utlist_8h.html#a3c301ddde2cfd8c32df4137c902b66f3">  323</a></span>&#160;<span class="preprocessor">#define LL_APPEND_VS2008(head,add)                                                             \</span></div>
-<div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;<span class="preprocessor">do {                                                                                           \</span></div>
-<div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;<span class="preprocessor">  if (head) {                                                                                  \</span></div>
-<div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;<span class="preprocessor">    (add)-&gt;next = head;     </span><span class="comment">/* use add-&gt;next as a temp variable */</span><span class="preprocessor">                             \</span></div>
-<div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;<span class="preprocessor">    while ((add)-&gt;next-&gt;next) { (add)-&gt;next = (add)-&gt;next-&gt;next; }                             \</span></div>
-<div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;<span class="preprocessor">    (add)-&gt;next-&gt;next=(add);                                                                   \</span></div>
-<div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;<span class="preprocessor">  } else {                                                                                     \</span></div>
-<div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;<span class="preprocessor">    (head)=(add);                                                                              \</span></div>
-<div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;<span class="preprocessor">  }                                                                                            \</span></div>
-<div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;<span class="preprocessor">  (add)-&gt;next=NULL;                                                                            \</span></div>
-<div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;<span class="preprocessor">} while (0)</span></div>
-<div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00335"></a><span class="lineno"><a class="line" href="utlist_8h.html#a832d4d46464fb2dada9e198ad4f70cdf">  335</a></span>&#160;<span class="preprocessor">#define LL_DELETE_VS2008(head,del)                                                             \</span></div>
-<div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;<span class="preprocessor">do {                                                                                           \</span></div>
-<div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;<span class="preprocessor">  if ((head) == (del)) {                                                                       \</span></div>
-<div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;<span class="preprocessor">    (head)=(head)-&gt;next;                                                                       \</span></div>
-<div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;<span class="preprocessor">  } else {                                                                                     \</span></div>
-<div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;<span class="preprocessor">    char *_tmp = (char*)(head);                                                                \</span></div>
-<div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;<span class="preprocessor">    while (head-&gt;next &amp;&amp; (head-&gt;next != (del))) {                                              \</span></div>
-<div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;<span class="preprocessor">      head = head-&gt;next;                                                                       \</span></div>
-<div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;<span class="preprocessor">    }                                                                                          \</span></div>
-<div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;<span class="preprocessor">    if (head-&gt;next) {                                                                          \</span></div>
-<div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;<span class="preprocessor">      head-&gt;next = ((del)-&gt;next);                                                              \</span></div>
-<div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;<span class="preprocessor">    }                                                                                          \</span></div>
-<div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;<span class="preprocessor">    {                                                                                          \</span></div>
-<div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;<span class="preprocessor">      char **_head_alias = (char**)&amp;(head);                                                    \</span></div>
-<div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;<span class="preprocessor">      *_head_alias = _tmp;                                                                     \</span></div>
-<div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;<span class="preprocessor">    }                                                                                          \</span></div>
-<div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;<span class="preprocessor">  }                                                                                            \</span></div>
-<div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;<span class="preprocessor">} while (0)</span></div>
-<div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#ifdef NO_DECLTYPE</span></div>
-<div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#undef LL_APPEND</span></div>
-<div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define LL_APPEND LL_APPEND_VS2008</span></div>
-<div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#undef LL_DELETE</span></div>
-<div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define LL_DELETE LL_DELETE_VS2008</span></div>
-<div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;<span class="preprocessor"></span><span class="comment">/* end VS2008 replacements */</span></div>
-<div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;</div>
-<div class="line"><a name="l00361"></a><span class="lineno"><a class="line" href="utlist_8h.html#a487c0ce49f397e1743caae16a797e4bb">  361</a></span>&#160;<span class="preprocessor">#define LL_FOREACH(head,el)                                                                    \</span></div>
-<div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;<span class="preprocessor">    for(el=head;el;el=el-&gt;next)</span></div>
-<div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00364"></a><span class="lineno"><a class="line" href="utlist_8h.html#ad0a695664d31f0b929fd50b39ebcf0ef">  364</a></span>&#160;<span class="preprocessor">#define LL_FOREACH_SAFE(head,el,tmp)                                                           \</span></div>
-<div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;<span class="preprocessor">  for((el)=(head);(el) &amp;&amp; (tmp = (el)-&gt;next, 1); (el) = tmp)</span></div>
-<div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00367"></a><span class="lineno"><a class="line" href="utlist_8h.html#a8c5c97079c5b259e4c0ff7c563b0f8ed">  367</a></span>&#160;<span class="preprocessor">#define LL_SEARCH_SCALAR(head,out,field,val)                                                   \</span></div>
-<div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;<span class="preprocessor">do {                                                                                           \</span></div>
-<div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;<span class="preprocessor">    LL_FOREACH(head,out) {                                                                     \</span></div>
-<div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;<span class="preprocessor">      if ((out)-&gt;field == (val)) break;                                                        \</span></div>
-<div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;<span class="preprocessor">    }                                                                                          \</span></div>
-<div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;<span class="preprocessor">} while(0) </span></div>
-<div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00374"></a><span class="lineno"><a class="line" href="utlist_8h.html#af7a5ae66c9386c4b89403d9ca038adcb">  374</a></span>&#160;<span class="preprocessor">#define LL_SEARCH(head,out,elt,cmp)                                                            \</span></div>
-<div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;<span class="preprocessor">do {                                                                                           \</span></div>
-<div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;<span class="preprocessor">    LL_FOREACH(head,out) {                                                                     \</span></div>
-<div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;<span class="preprocessor">      if ((cmp(out,elt))==0) break;                                                            \</span></div>
-<div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;<span class="preprocessor">    }                                                                                          \</span></div>
-<div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;<span class="preprocessor">} while(0) </span></div>
-<div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;<span class="comment">/******************************************************************************</span></div>
-<div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;<span class="comment"> * doubly linked list macros (non-circular)                                   *</span></div>
-<div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;<span class="comment"> *****************************************************************************/</span></div>
-<div class="line"><a name="l00384"></a><span class="lineno"><a class="line" href="utlist_8h.html#a78be4dea3344ba1b1c7fe1b893c0fdfa">  384</a></span>&#160;<span class="preprocessor">#define DL_PREPEND(head,add)                                                                   \</span></div>
-<div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;<span class="preprocessor">do {                                                                                           \</span></div>
-<div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160;<span class="preprocessor"> (add)-&gt;next = head;                                                                           \</span></div>
-<div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;<span class="preprocessor"> if (head) {                                                                                   \</span></div>
-<div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;<span class="preprocessor">   (add)-&gt;prev = (head)-&gt;prev;                                                                 \</span></div>
-<div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;<span class="preprocessor">   (head)-&gt;prev = (add);                                                                       \</span></div>
-<div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;<span class="preprocessor"> } else {                                                                                      \</span></div>
-<div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;<span class="preprocessor">   (add)-&gt;prev = (add);                                                                        \</span></div>
-<div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;<span class="preprocessor"> }                                                                                             \</span></div>
-<div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;<span class="preprocessor"> (head) = (add);                                                                               \</span></div>
-<div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;<span class="preprocessor">} while (0)</span></div>
-<div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00396"></a><span class="lineno"><a class="line" href="utlist_8h.html#a17d40c945e1dc55490feb2fe160670c8">  396</a></span>&#160;<span class="preprocessor">#define DL_APPEND(head,add)                                                                    \</span></div>
-<div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;<span class="preprocessor">do {                                                                                           \</span></div>
-<div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;<span class="preprocessor">  if (head) {                                                                                  \</span></div>
-<div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;<span class="preprocessor">      (add)-&gt;prev = (head)-&gt;prev;                                                              \</span></div>
-<div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;<span class="preprocessor">      (head)-&gt;prev-&gt;next = (add);                                                              \</span></div>
-<div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;<span class="preprocessor">      (head)-&gt;prev = (add);                                                                    \</span></div>
-<div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;<span class="preprocessor">      (add)-&gt;next = NULL;                                                                      \</span></div>
-<div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;<span class="preprocessor">  } else {                                                                                     \</span></div>
-<div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;<span class="preprocessor">      (head)=(add);                                                                            \</span></div>
-<div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;<span class="preprocessor">      (head)-&gt;prev = (head);                                                                   \</span></div>
-<div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;<span class="preprocessor">      (head)-&gt;next = NULL;                                                                     \</span></div>
-<div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;<span class="preprocessor">  }                                                                                            \</span></div>
-<div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;<span class="preprocessor">} while (0);</span></div>
-<div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00410"></a><span class="lineno"><a class="line" href="utlist_8h.html#aad429903354ffe8cdf4ca2e9d0ae89cc">  410</a></span>&#160;<span class="preprocessor">#define DL_DELETE(head,del)                                                                    \</span></div>
-<div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;<span class="preprocessor">do {                                                                                           \</span></div>
-<div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;<span class="preprocessor">  if ((del)-&gt;prev == (del)) {                                                                  \</span></div>
-<div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;<span class="preprocessor">      (head)=NULL;                                                                             \</span></div>
-<div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;<span class="preprocessor">  } else if ((del)==(head)) {                                                                  \</span></div>
-<div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;<span class="preprocessor">      (del)-&gt;next-&gt;prev = (del)-&gt;prev;                                                         \</span></div>
-<div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;<span class="preprocessor">      (head) = (del)-&gt;next;                                                                    \</span></div>
-<div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;<span class="preprocessor">  } else {                                                                                     \</span></div>
-<div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;<span class="preprocessor">      (del)-&gt;prev-&gt;next = (del)-&gt;next;                                                         \</span></div>
-<div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;<span class="preprocessor">      if ((del)-&gt;next) {                                                                       \</span></div>
-<div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;<span class="preprocessor">          (del)-&gt;next-&gt;prev = (del)-&gt;prev;                                                     \</span></div>
-<div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;<span class="preprocessor">      } else {                                                                                 \</span></div>
-<div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;<span class="preprocessor">          (head)-&gt;prev = (del)-&gt;prev;                                                          \</span></div>
-<div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;<span class="preprocessor">      }                                                                                        \</span></div>
-<div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;<span class="preprocessor">  }                                                                                            \</span></div>
-<div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;<span class="preprocessor">} while (0);</span></div>
-<div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;</div>
-<div class="line"><a name="l00428"></a><span class="lineno"><a class="line" href="utlist_8h.html#abb0c2851c5f0567be7b8827ce5168ef7">  428</a></span>&#160;<span class="preprocessor">#define DL_FOREACH(head,el)                                                                    \</span></div>
-<div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;<span class="preprocessor">    for(el=head;el;el=el-&gt;next)</span></div>
-<div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;<span class="comment">/* this version is safe for deleting the elements during iteration */</span></div>
-<div class="line"><a name="l00432"></a><span class="lineno"><a class="line" href="utlist_8h.html#a3bb0c84a69846d2f019a97ea0b4709aa">  432</a></span>&#160;<span class="preprocessor">#define DL_FOREACH_SAFE(head,el,tmp)                                                           \</span></div>
-<div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;<span class="preprocessor">  for((el)=(head);(el) &amp;&amp; (tmp = (el)-&gt;next, 1); (el) = tmp)</span></div>
-<div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;<span class="comment">/* these are identical to their singly-linked list counterparts */</span></div>
-<div class="line"><a name="l00436"></a><span class="lineno"><a class="line" href="utlist_8h.html#a172fce2d647fdedadf0f8080e0441c5b">  436</a></span>&#160;<span class="preprocessor">#define DL_SEARCH_SCALAR LL_SEARCH_SCALAR</span></div>
-<div class="line"><a name="l00437"></a><span class="lineno"><a class="line" href="utlist_8h.html#a819373d14278b52c313b743acc292ba0">  437</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define DL_SEARCH LL_SEARCH</span></div>
-<div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;<span class="comment">/******************************************************************************</span></div>
-<div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;<span class="comment"> * circular doubly linked list macros                                         *</span></div>
-<div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;<span class="comment"> *****************************************************************************/</span></div>
-<div class="line"><a name="l00442"></a><span class="lineno"><a class="line" href="utlist_8h.html#a6c6a7232d281eab4b18563b92e5653bd">  442</a></span>&#160;<span class="preprocessor">#define CDL_PREPEND(head,add)                                                                  \</span></div>
-<div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;<span class="preprocessor">do {                                                                                           \</span></div>
-<div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;<span class="preprocessor"> if (head) {                                                                                   \</span></div>
-<div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;<span class="preprocessor">   (add)-&gt;prev = (head)-&gt;prev;                                                                 \</span></div>
-<div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160;<span class="preprocessor">   (add)-&gt;next = (head);                                                                       \</span></div>
-<div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;<span class="preprocessor">   (head)-&gt;prev = (add);                                                                       \</span></div>
-<div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160;<span class="preprocessor">   (add)-&gt;prev-&gt;next = (add);                                                                  \</span></div>
-<div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;<span class="preprocessor"> } else {                                                                                      \</span></div>
-<div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;<span class="preprocessor">   (add)-&gt;prev = (add);                                                                        \</span></div>
-<div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160;<span class="preprocessor">   (add)-&gt;next = (add);                                                                        \</span></div>
-<div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;<span class="preprocessor"> }                                                                                             \</span></div>
-<div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;<span class="preprocessor">(head)=(add);                                                                                  \</span></div>
-<div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;<span class="preprocessor">} while (0)</span></div>
-<div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00456"></a><span class="lineno"><a class="line" href="utlist_8h.html#a60fd7696c4d0865f53a07579a7b08235">  456</a></span>&#160;<span class="preprocessor">#define CDL_DELETE(head,del)                                                                   \</span></div>
-<div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;<span class="preprocessor">do {                                                                                           \</span></div>
-<div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;<span class="preprocessor">  if ( ((head)==(del)) &amp;&amp; ((head)-&gt;next == (head))) {                                          \</span></div>
-<div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;<span class="preprocessor">      (head) = 0L;                                                                             \</span></div>
-<div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160;<span class="preprocessor">  } else {                                                                                     \</span></div>
-<div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160;<span class="preprocessor">     (del)-&gt;next-&gt;prev = (del)-&gt;prev;                                                          \</span></div>
-<div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160;<span class="preprocessor">     (del)-&gt;prev-&gt;next = (del)-&gt;next;                                                          \</span></div>
-<div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;<span class="preprocessor">     if ((del) == (head)) (head)=(del)-&gt;next;                                                  \</span></div>
-<div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160;<span class="preprocessor">  }                                                                                            \</span></div>
-<div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;<span class="preprocessor">} while (0);</span></div>
-<div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00467"></a><span class="lineno"><a class="line" href="utlist_8h.html#a795df7857792d7e811709a060c911a36">  467</a></span>&#160;<span class="preprocessor">#define CDL_FOREACH(head,el)                                                                   \</span></div>
-<div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;<span class="preprocessor">    for(el=head;el;el=(el-&gt;next==head ? 0L : el-&gt;next)) </span></div>
-<div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00470"></a><span class="lineno"><a class="line" href="utlist_8h.html#abdb80106f7733e37fbe4f62e9d97ccfd">  470</a></span>&#160;<span class="preprocessor">#define CDL_FOREACH_SAFE(head,el,tmp1,tmp2)                                                    \</span></div>
-<div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;<span class="preprocessor">  for((el)=(head), ((tmp1)=(head)?((head)-&gt;prev):NULL);                                        \</span></div>
-<div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;<span class="preprocessor">      (el) &amp;&amp; ((tmp2)=(el)-&gt;next, 1);                                                          \</span></div>
-<div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;<span class="preprocessor">      ((el) = (((el)==(tmp1)) ? 0L : (tmp2))))</span></div>
-<div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00475"></a><span class="lineno"><a class="line" href="utlist_8h.html#ad064cddb894b478b3c3cd23719f58651">  475</a></span>&#160;<span class="preprocessor">#define CDL_SEARCH_SCALAR(head,out,field,val)                                                  \</span></div>
-<div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;<span class="preprocessor">do {                                                                                           \</span></div>
-<div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160;<span class="preprocessor">    CDL_FOREACH(head,out) {                                                                    \</span></div>
-<div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160;<span class="preprocessor">      if ((out)-&gt;field == (val)) break;                                                        \</span></div>
-<div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;<span class="preprocessor">    }                                                                                          \</span></div>
-<div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;<span class="preprocessor">} while(0) </span></div>
-<div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00482"></a><span class="lineno"><a class="line" href="utlist_8h.html#afb329a0bdf1fa0b644317e9d84082e1e">  482</a></span>&#160;<span class="preprocessor">#define CDL_SEARCH(head,out,elt,cmp)                                                           \</span></div>
-<div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;<span class="preprocessor">do {                                                                                           \</span></div>
-<div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;<span class="preprocessor">    CDL_FOREACH(head,out) {                                                                    \</span></div>
-<div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;<span class="preprocessor">      if ((cmp(out,elt))==0) break;                                                            \</span></div>
-<div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;<span class="preprocessor">    }                                                                                          \</span></div>
-<div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;<span class="preprocessor">} while(0) </span></div>
-<div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;<span class="preprocessor"></span></div>
-<div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* _DTLS_UTLIST_H */</span><span class="preprocessor"></span></div>
-<div class="line"><a name="l00490"></a><span class="lineno">  490</span>&#160;<span class="preprocessor"></span></div>
-</div><!-- fragment --></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.6
-</small></address>
-</body>
-</html>
diff --git a/external/wakaama/examples/shared/tinydtls/dtls.c b/external/wakaama/examples/shared/tinydtls/dtls.c
deleted file mode 100644 (file)
index 31d2ed8..0000000
+++ /dev/null
@@ -1,4011 +0,0 @@
-/* dtls -- a very basic DTLS implementation
- *
- * Copyright (C) 2011--2012,2014 Olaf Bergmann <bergmann@tzi.org>
- * Copyright (C) 2013 Hauke Mehrtens <hauke@hauke-m.de>
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-#include "tinydtls.h"
-#include "dtls_config.h"
-#include "dtls_time.h"
-
-#include <stdio.h>
-#include <stdlib.h>
-#ifdef HAVE_ASSERT_H
-#include <assert.h>
-#endif
-#ifndef WITH_CONTIKI
-#include <stdlib.h>
-#include "uthash.h"
-#endif /* WITH_CONTIKI */
-
-#include "dtls_debug.h"
-#include "numeric.h"
-#include "netq.h"
-#include "dtls.h"
-
-#include "alert.h"
-#include "session.h"
-#include "prng.h"
-
-#ifdef WITH_SHA256
-#  include "sha2/sha2.h"
-#endif
-
-#define dtls_set_version(H,V) dtls_int_to_uint16((H)->version, (V))
-#define dtls_set_content_type(H,V) ((H)->content_type = (V) & 0xff)
-#define dtls_set_length(H,V)  ((H)->length = (V))
-
-#define dtls_get_content_type(H) ((H)->content_type & 0xff)
-#define dtls_get_version(H) dtls_uint16_to_int((H)->version)
-#define dtls_get_epoch(H) dtls_uint16_to_int((H)->epoch)
-#define dtls_get_sequence_number(H) dtls_uint48_to_ulong((H)->sequence_number)
-#define dtls_get_fragment_length(H) dtls_uint24_to_int((H)->fragment_length)
-
-#ifndef WITH_CONTIKI
-#define HASH_FIND_PEER(head,sess,out)          \
-  HASH_FIND(hh,head,sess,sizeof(session_t),out)
-#define HASH_ADD_PEER(head,sess,add)           \
-  HASH_ADD(hh,head,sess,sizeof(session_t),add)
-#define HASH_DEL_PEER(head,delptr)             \
-  HASH_DELETE(hh,head,delptr)
-#endif /* WITH_CONTIKI */
-
-#define DTLS_RH_LENGTH sizeof(dtls_record_header_t)
-#define DTLS_HS_LENGTH sizeof(dtls_handshake_header_t)
-#define DTLS_CH_LENGTH sizeof(dtls_client_hello_t) /* no variable length fields! */
-#define DTLS_COOKIE_LENGTH_MAX 32
-#define DTLS_CH_LENGTH_MAX sizeof(dtls_client_hello_t) + DTLS_COOKIE_LENGTH_MAX + 12 + 26
-#define DTLS_HV_LENGTH sizeof(dtls_hello_verify_t)
-#define DTLS_SH_LENGTH (2 + DTLS_RANDOM_LENGTH + 1 + 2 + 1)
-#define DTLS_CE_LENGTH (3 + 3 + 27 + DTLS_EC_KEY_SIZE + DTLS_EC_KEY_SIZE)
-#define DTLS_SKEXEC_LENGTH (1 + 2 + 1 + 1 + DTLS_EC_KEY_SIZE + DTLS_EC_KEY_SIZE + 1 + 1 + 2 + 70)
-#define DTLS_SKEXECPSK_LENGTH_MIN 2
-#define DTLS_SKEXECPSK_LENGTH_MAX 2 + DTLS_PSK_MAX_CLIENT_IDENTITY_LEN
-#define DTLS_CKXPSK_LENGTH_MIN 2
-#define DTLS_CKXEC_LENGTH (1 + 1 + DTLS_EC_KEY_SIZE + DTLS_EC_KEY_SIZE)
-#define DTLS_CV_LENGTH (1 + 1 + 2 + 1 + 1 + 1 + 1 + DTLS_EC_KEY_SIZE + 1 + 1 + DTLS_EC_KEY_SIZE)
-#define DTLS_FIN_LENGTH 12
-
-#define HS_HDR_LENGTH  DTLS_RH_LENGTH + DTLS_HS_LENGTH
-#define HV_HDR_LENGTH  HS_HDR_LENGTH + DTLS_HV_LENGTH
-
-#define HIGH(V) (((V) >> 8) & 0xff)
-#define LOW(V)  ((V) & 0xff)
-
-#define DTLS_RECORD_HEADER(M) ((dtls_record_header_t *)(M))
-#define DTLS_HANDSHAKE_HEADER(M) ((dtls_handshake_header_t *)(M))
-
-#define HANDSHAKE(M) ((dtls_handshake_header_t *)((M) + DTLS_RH_LENGTH))
-#define CLIENTHELLO(M) ((dtls_client_hello_t *)((M) + HS_HDR_LENGTH))
-
-/* The length check here should work because dtls_*_to_int() works on
- * unsigned char. Otherwise, broken messages could cause severe
- * trouble. Note that this macro jumps out of the current program flow
- * when the message is too short. Beware!
- */
-#define SKIP_VAR_FIELD(P,L,T) {                                                \
-    if (L < dtls_ ## T ## _to_int(P) + sizeof(T))                      \
-      goto error;                                                      \
-    L -= dtls_ ## T ## _to_int(P) + sizeof(T);                         \
-    P += dtls_ ## T ## _to_int(P) + sizeof(T);                         \
-  }
-
-/* some constants for the PRF */
-#define PRF_LABEL(Label) prf_label_##Label
-#define PRF_LABEL_SIZE(Label) (sizeof(PRF_LABEL(Label)) - 1)
-
-static const unsigned char prf_label_master[] = "master secret";
-static const unsigned char prf_label_key[] = "key expansion";
-static const unsigned char prf_label_client[] = "client";
-static const unsigned char prf_label_server[] = "server";
-static const unsigned char prf_label_finished[] = " finished";
-
-/* first part of Raw public key, the is the start of the Subject Public Key */
-static const unsigned char cert_asn1_header[] = {
-  0x30, 0x59, /* SEQUENCE, length 89 bytes */
-    0x30, 0x13, /* SEQUENCE, length 19 bytes */
-      0x06, 0x07, /* OBJECT IDENTIFIER ecPublicKey (1 2 840 10045 2 1) */
-        0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x02, 0x01,
-      0x06, 0x08, /* OBJECT IDENTIFIER prime256v1 (1 2 840 10045 3 1 7) */
-        0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x03, 0x01, 0x07,
-      0x03, 0x42, 0x00, /* BIT STRING, length 66 bytes, 0 bits unused */
-         0x04 /* uncompressed, followed by the r und s values of the public key */
-};
-
-#ifdef WITH_CONTIKI
-PROCESS(dtls_retransmit_process, "DTLS retransmit process");
-
-static dtls_context_t the_dtls_context;
-
-static inline dtls_context_t *
-malloc_context() {
-  return &the_dtls_context;
-}
-
-static inline void
-free_context(dtls_context_t *context) {
-}
-
-#else /* WITH_CONTIKI */
-
-static inline dtls_context_t *
-malloc_context() {
-  return (dtls_context_t *)malloc(sizeof(dtls_context_t));
-}
-
-static inline void
-free_context(dtls_context_t *context) {
-  free(context);
-}
-#endif
-
-void
-dtls_init() {
-  dtls_clock_init();
-  crypto_init();
-  netq_init();
-  peer_init();
-}
-
-/* Calls cb_alert() with given arguments if defined, otherwise an
- * error message is logged and the result is -1. This is just an
- * internal helper.
- */
-#define CALL(Context, which, ...)                                      \
-  ((Context)->h && (Context)->h->which                                 \
-   ? (Context)->h->which((Context), ##__VA_ARGS__)                     \
-   : -1)
-
-static int
-dtls_send_multi(dtls_context_t *ctx, dtls_peer_t *peer,
-               dtls_security_parameters_t *security , session_t *session,
-               unsigned char type, uint8 *buf_array[],
-               size_t buf_len_array[], size_t buf_array_len);
-
-/** 
- * Sends the fragment of length \p buflen given in \p buf to the
- * specified \p peer. The data will be MAC-protected and encrypted
- * according to the selected cipher and split into one or more DTLS
- * records of the specified \p type. This function returns the number
- * of bytes that were sent, or \c -1 if an error occurred.
- *
- * \param ctx    The DTLS context to use.
- * \param peer   The remote peer.
- * \param type   The content type of the record. 
- * \param buf    The data to send.
- * \param buflen The actual length of \p buf.
- * \return Less than zero on error, the number of bytes written otherwise.
- */
-static int
-dtls_send(dtls_context_t *ctx, dtls_peer_t *peer, unsigned char type,
-         uint8 *buf, size_t buflen) {
-  return dtls_send_multi(ctx, peer, dtls_security_params(peer), &peer->session,
-                        type, &buf, &buflen, 1);
-}
-
-/**
- * Stops ongoing retransmissions of handshake messages for @p peer.
- */
-static void dtls_stop_retransmission(dtls_context_t *context, dtls_peer_t *peer);
-
-dtls_peer_t *
-dtls_get_peer(const dtls_context_t *ctx, const session_t *session) {
-  dtls_peer_t *p = NULL;
-
-#ifndef WITH_CONTIKI
-  HASH_FIND_PEER(ctx->peers, session, p);
-#else /* WITH_CONTIKI */
-  for (p = list_head(ctx->peers); p; p = list_item_next(p))
-    if (dtls_session_equals(&p->session, session))
-      return p;
-#endif /* WITH_CONTIKI */
-  
-  return p;
-}
-
-static void
-dtls_add_peer(dtls_context_t *ctx, dtls_peer_t *peer) {
-#ifndef WITH_CONTIKI
-  HASH_ADD_PEER(ctx->peers, session, peer);
-#else /* WITH_CONTIKI */
-  list_add(ctx->peers, peer);
-#endif /* WITH_CONTIKI */
-}
-
-int
-dtls_write(struct dtls_context_t *ctx, 
-          session_t *dst, uint8 *buf, size_t len) {
-  
-  dtls_peer_t *peer = dtls_get_peer(ctx, dst);
-
-  /* Check if peer connection already exists */
-  if (!peer) { /* no ==> create one */
-    int res;
-
-    /* dtls_connect() returns a value greater than zero if a new
-     * connection attempt is made, 0 for session reuse. */
-    res = dtls_connect(ctx, dst);
-
-    return (res >= 0) ? 0 : res;
-  } else { /* a session exists, check if it is in state connected */
-    
-    if (peer->state != DTLS_STATE_CONNECTED) {
-      return 0;
-    } else {
-      return dtls_send(ctx, peer, DTLS_CT_APPLICATION_DATA, buf, len);
-    }
-  }
-}
-
-static int
-dtls_get_cookie(uint8 *msg, size_t msglen, uint8 **cookie) {
-  /* To access the cookie, we have to determine the session id's
-   * length and skip the whole thing. */
-  if (msglen < DTLS_HS_LENGTH + DTLS_CH_LENGTH + sizeof(uint8))
-    return dtls_alert_fatal_create(DTLS_ALERT_HANDSHAKE_FAILURE);
-
-  if (dtls_uint16_to_int(msg + DTLS_HS_LENGTH) != DTLS_VERSION)
-    return dtls_alert_fatal_create(DTLS_ALERT_PROTOCOL_VERSION);
-
-  msglen -= DTLS_HS_LENGTH + DTLS_CH_LENGTH;
-  msg += DTLS_HS_LENGTH + DTLS_CH_LENGTH;
-
-  SKIP_VAR_FIELD(msg, msglen, uint8); /* skip session id */
-
-  if (msglen < (*msg & 0xff) + sizeof(uint8))
-    return dtls_alert_fatal_create(DTLS_ALERT_HANDSHAKE_FAILURE);
-  
-  *cookie = msg + sizeof(uint8);
-  return dtls_uint8_to_int(msg);
-
- error:
-  return dtls_alert_fatal_create(DTLS_ALERT_HANDSHAKE_FAILURE);
-}
-
-static int
-dtls_create_cookie(dtls_context_t *ctx, 
-                  session_t *session,
-                  uint8 *msg, size_t msglen,
-                  uint8 *cookie, int *clen) {
-  unsigned char buf[DTLS_HMAC_MAX];
-  size_t len, e;
-
-  /* create cookie with HMAC-SHA256 over:
-   * - SECRET
-   * - session parameters (only IP address?)
-   * - client version 
-   * - random gmt and bytes
-   * - session id
-   * - cipher_suites 
-   * - compression method
-   */
-
-  /* We use our own buffer as hmac_context instead of a dynamic buffer
-   * created by dtls_hmac_new() to separate storage space for cookie
-   * creation from storage that is used in real sessions. Note that
-   * the buffer size must fit with the default hash algorithm (see
-   * implementation of dtls_hmac_context_new()). */
-
-  dtls_hmac_context_t hmac_context;
-  dtls_hmac_init(&hmac_context, ctx->cookie_secret, DTLS_COOKIE_SECRET_LENGTH);
-
-  dtls_hmac_update(&hmac_context, 
-                  (unsigned char *)&session->addr, session->size);
-
-  /* feed in the beginning of the Client Hello up to and including the
-     session id */
-  e = sizeof(dtls_client_hello_t);
-  e += (*(msg + DTLS_HS_LENGTH + e) & 0xff) + sizeof(uint8);
-  if (e + DTLS_HS_LENGTH > msglen)
-    return dtls_alert_fatal_create(DTLS_ALERT_HANDSHAKE_FAILURE);
-
-  dtls_hmac_update(&hmac_context, msg + DTLS_HS_LENGTH, e);
-  
-  /* skip cookie bytes and length byte */
-  e += *(uint8 *)(msg + DTLS_HS_LENGTH + e) & 0xff;
-  e += sizeof(uint8);
-  if (e + DTLS_HS_LENGTH > msglen)
-    return dtls_alert_fatal_create(DTLS_ALERT_HANDSHAKE_FAILURE);
-
-  dtls_hmac_update(&hmac_context, 
-                  msg + DTLS_HS_LENGTH + e,
-                  dtls_get_fragment_length(DTLS_HANDSHAKE_HEADER(msg)) - e);
-
-  len = dtls_hmac_finalize(&hmac_context, buf);
-
-  if (len < *clen) {
-    memset(cookie + len, 0, *clen - len);
-    *clen = len;
-  }
-  
-  memcpy(cookie, buf, *clen);
-  return 0;
-}
-
-#ifdef DTLS_CHECK_CONTENTTYPE
-/* used to check if a received datagram contains a DTLS message */
-static char const content_types[] = { 
-  DTLS_CT_CHANGE_CIPHER_SPEC,
-  DTLS_CT_ALERT,
-  DTLS_CT_HANDSHAKE,
-  DTLS_CT_APPLICATION_DATA,
-  0                            /* end marker */
-};
-#endif
-
-/**
- * Checks if \p msg points to a valid DTLS record. If
- * 
- */
-static unsigned int
-is_record(uint8 *msg, size_t msglen) {
-  unsigned int rlen = 0;
-
-  if (msglen >= DTLS_RH_LENGTH /* FIXME allow empty records? */
-#ifdef DTLS_CHECK_CONTENTTYPE
-      && strchr(content_types, msg[0])
-#endif
-      && msg[1] == HIGH(DTLS_VERSION)
-      && msg[2] == LOW(DTLS_VERSION)) 
-    {
-      rlen = DTLS_RH_LENGTH + 
-       dtls_uint16_to_int(DTLS_RECORD_HEADER(msg)->length);
-      
-      /* we do not accept wrong length field in record header */
-      if (rlen > msglen)       
-       rlen = 0;
-  } 
-  
-  return rlen;
-}
-
-/**
- * Initializes \p buf as record header. The caller must ensure that \p
- * buf is capable of holding at least \c sizeof(dtls_record_header_t)
- * bytes. Increments sequence number counter of \p security.
- * \return pointer to the next byte after the written header.
- * The length will be set to 0 and has to be changed before sending.
- */ 
-static inline uint8 *
-dtls_set_record_header(uint8 type, dtls_security_parameters_t *security,
-                      uint8 *buf) {
-  
-  dtls_int_to_uint8(buf, type);
-  buf += sizeof(uint8);
-
-  dtls_int_to_uint16(buf, DTLS_VERSION);
-  buf += sizeof(uint16);
-
-  if (security) {
-    dtls_int_to_uint16(buf, security->epoch);
-    buf += sizeof(uint16);
-
-    dtls_int_to_uint48(buf, security->rseq);
-    buf += sizeof(uint48);
-
-    /* increment record sequence counter by 1 */
-    security->rseq++;
-  } else {
-    memset(buf, 0, sizeof(uint16) + sizeof(uint48));
-    buf += sizeof(uint16) + sizeof(uint48);
-  }
-
-  memset(buf, 0, sizeof(uint16));
-  return buf + sizeof(uint16);
-}
-
-/**
- * Initializes \p buf as handshake header. The caller must ensure that \p
- * buf is capable of holding at least \c sizeof(dtls_handshake_header_t)
- * bytes. Increments message sequence number counter of \p peer.
- * \return pointer to the next byte after \p buf
- */ 
-static inline uint8 *
-dtls_set_handshake_header(uint8 type, dtls_peer_t *peer, 
-                         int length, 
-                         int frag_offset, int frag_length, 
-                         uint8 *buf) {
-  
-  dtls_int_to_uint8(buf, type);
-  buf += sizeof(uint8);
-
-  dtls_int_to_uint24(buf, length);
-  buf += sizeof(uint24);
-
-  if (peer && peer->handshake_params) {
-    /* and copy the result to buf */
-    dtls_int_to_uint16(buf, peer->handshake_params->hs_state.mseq_s);
-
-    /* increment handshake message sequence counter by 1 */
-    peer->handshake_params->hs_state.mseq_s++;
-  } else {
-    memset(buf, 0, sizeof(uint16));    
-  }
-  buf += sizeof(uint16);
-  
-  dtls_int_to_uint24(buf, frag_offset);
-  buf += sizeof(uint24);
-
-  dtls_int_to_uint24(buf, frag_length);
-  buf += sizeof(uint24);
-  
-  return buf;
-}
-
-/** only one compression method is currently defined */
-static uint8 compression_methods[] = {
-  TLS_COMPRESSION_NULL
-};
-
-/** returns true if the cipher matches TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8 */
-static inline int is_tls_ecdhe_ecdsa_with_aes_128_ccm_8(dtls_cipher_t cipher)
-{
-#ifdef DTLS_ECC
-  return cipher == TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8;
-#else
-  return 0;
-#endif /* DTLS_ECC */
-}
-
-/** returns true if the cipher matches TLS_PSK_WITH_AES_128_CCM_8 */
-static inline int is_tls_psk_with_aes_128_ccm_8(dtls_cipher_t cipher)
-{
-#ifdef DTLS_PSK
-  return cipher == TLS_PSK_WITH_AES_128_CCM_8;
-#else
-  return 0;
-#endif /* DTLS_PSK */
-}
-
-/** returns true if the application is configured for psk */
-static inline int is_psk_supported(dtls_context_t *ctx)
-{
-#ifdef DTLS_PSK
-  return ctx && ctx->h && ctx->h->get_psk_info;
-#else
-  return 0;
-#endif /* DTLS_PSK */
-}
-
-/** returns true if the application is configured for ecdhe_ecdsa */
-static inline int is_ecdsa_supported(dtls_context_t *ctx, int is_client)
-{
-#ifdef DTLS_ECC
-  return ctx && ctx->h && ((!is_client && ctx->h->get_ecdsa_key) || 
-                          (is_client && ctx->h->verify_ecdsa_key));
-#else
-  return 0;
-#endif /* DTLS_ECC */
-}
-
-/** Returns true if the application is configured for ecdhe_ecdsa with
-  * client authentication */
-static inline int is_ecdsa_client_auth_supported(dtls_context_t *ctx)
-{
-#ifdef DTLS_ECC
-  return ctx && ctx->h && ctx->h->get_ecdsa_key && ctx->h->verify_ecdsa_key;
-#else
-  return 0;
-#endif /* DTLS_ECC */
-}
-
-/**
- * Returns @c 1 if @p code is a cipher suite other than @c
- * TLS_NULL_WITH_NULL_NULL that we recognize.
- *
- * @param ctx   The current DTLS context
- * @param code The cipher suite identifier to check
- * @param is_client 1 for a dtls client, 0 for server
- * @return @c 1 iff @p code is recognized,
- */ 
-static int
-known_cipher(dtls_context_t *ctx, dtls_cipher_t code, int is_client) {
-  int psk;
-  int ecdsa;
-
-  psk = is_psk_supported(ctx);
-  ecdsa = is_ecdsa_supported(ctx, is_client);
-  return (psk && is_tls_psk_with_aes_128_ccm_8(code)) ||
-        (ecdsa && is_tls_ecdhe_ecdsa_with_aes_128_ccm_8(code));
-}
-
-/** Dump out the cipher keys and IVs used for the symetric cipher. */
-static void dtls_debug_keyblock(dtls_security_parameters_t *config)
-{
-  dtls_debug("key_block (%d bytes):\n", dtls_kb_size(config, peer->role));
-  dtls_debug_dump("  client_MAC_secret",
-                 dtls_kb_client_mac_secret(config, peer->role),
-                 dtls_kb_mac_secret_size(config, peer->role));
-
-  dtls_debug_dump("  server_MAC_secret",
-                 dtls_kb_server_mac_secret(config, peer->role),
-                 dtls_kb_mac_secret_size(config, peer->role));
-
-  dtls_debug_dump("  client_write_key",
-                 dtls_kb_client_write_key(config, peer->role),
-                 dtls_kb_key_size(config, peer->role));
-
-  dtls_debug_dump("  server_write_key",
-                 dtls_kb_server_write_key(config, peer->role),
-                 dtls_kb_key_size(config, peer->role));
-
-  dtls_debug_dump("  client_IV",
-                 dtls_kb_client_iv(config, peer->role),
-                 dtls_kb_iv_size(config, peer->role));
-
-  dtls_debug_dump("  server_IV",
-                 dtls_kb_server_iv(config, peer->role),
-                 dtls_kb_iv_size(config, peer->role));
-}
-
-/** returns the name of the goven handshake type number.
-  * see IANA for a full list of types:
-  * https://www.iana.org/assignments/tls-parameters/tls-parameters.xml#tls-parameters-7
-  */
-static char *dtls_handshake_type_to_name(int type)
-{
-  switch (type) {
-  case DTLS_HT_HELLO_REQUEST:
-    return "hello_request";
-  case DTLS_HT_CLIENT_HELLO:
-    return "client_hello";
-  case DTLS_HT_SERVER_HELLO:
-    return "server_hello";
-  case DTLS_HT_HELLO_VERIFY_REQUEST:
-    return "hello_verify_request";
-  case DTLS_HT_CERTIFICATE:
-    return "certificate";
-  case DTLS_HT_SERVER_KEY_EXCHANGE:
-    return "server_key_exchange";
-  case DTLS_HT_CERTIFICATE_REQUEST:
-    return "certificate_request";
-  case DTLS_HT_SERVER_HELLO_DONE:
-    return "server_hello_done";
-  case DTLS_HT_CERTIFICATE_VERIFY:
-    return "certificate_verify";
-  case DTLS_HT_CLIENT_KEY_EXCHANGE:
-    return "client_key_exchange";
-  case DTLS_HT_FINISHED:
-    return "finished";
-  default:
-    return "unknown";
-  }
-}
-
-/**
- * Calculate the pre master secret and after that calculate the master-secret.
- */
-static int
-calculate_key_block(dtls_context_t *ctx, 
-                   dtls_handshake_parameters_t *handshake,
-                   dtls_peer_t *peer,
-                   session_t *session,
-                   dtls_peer_type role) {
-  unsigned char *pre_master_secret;
-  int pre_master_len = 0;
-  dtls_security_parameters_t *security = dtls_security_params_next(peer);
-  uint8 master_secret[DTLS_MASTER_SECRET_LENGTH];
-
-  if (!security) {
-    return dtls_alert_fatal_create(DTLS_ALERT_INTERNAL_ERROR);
-  }
-
-  pre_master_secret = security->key_block;
-
-  switch (handshake->cipher) {
-#ifdef DTLS_PSK
-  case TLS_PSK_WITH_AES_128_CCM_8: {
-    unsigned char psk[DTLS_PSK_MAX_KEY_LEN];
-    int len;
-
-    len = CALL(ctx, get_psk_info, session, DTLS_PSK_KEY,
-              handshake->keyx.psk.identity,
-              handshake->keyx.psk.id_length,
-              psk, DTLS_PSK_MAX_KEY_LEN);
-    if (len < 0) {
-      dtls_crit("no psk key for session available\n");
-      return len;
-    }
-  /* Temporarily use the key_block storage space for the pre master secret. */
-    pre_master_len = dtls_psk_pre_master_secret(psk, len,
-                                               pre_master_secret,
-                                               MAX_KEYBLOCK_LENGTH);
-
-    dtls_debug_hexdump("psk", psk, len);
-
-    memset(psk, 0, DTLS_PSK_MAX_KEY_LEN);
-    if (pre_master_len < 0) {
-      dtls_crit("the psk was too long, for the pre master secret\n");
-      return dtls_alert_fatal_create(DTLS_ALERT_INTERNAL_ERROR);
-    }
-
-    break;
-  }
-#endif /* DTLS_PSK */
-#ifdef DTLS_ECC
-  case TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8: {
-    pre_master_len = dtls_ecdh_pre_master_secret(handshake->keyx.ecdsa.own_eph_priv,
-                                                handshake->keyx.ecdsa.other_eph_pub_x,
-                                                handshake->keyx.ecdsa.other_eph_pub_y,
-                                                sizeof(handshake->keyx.ecdsa.own_eph_priv),
-                                                pre_master_secret,
-                                                MAX_KEYBLOCK_LENGTH);
-    if (pre_master_len < 0) {
-      dtls_crit("the curve was too long, for the pre master secret\n");
-      return dtls_alert_fatal_create(DTLS_ALERT_INTERNAL_ERROR);
-    }
-    break;
-  }
-#endif /* DTLS_ECC */
-  default:
-    dtls_crit("calculate_key_block: unknown cipher\n");
-    return dtls_alert_fatal_create(DTLS_ALERT_INTERNAL_ERROR);
-  }
-
-  dtls_debug_dump("client_random", handshake->tmp.random.client, DTLS_RANDOM_LENGTH);
-  dtls_debug_dump("server_random", handshake->tmp.random.server, DTLS_RANDOM_LENGTH);
-  dtls_debug_dump("pre_master_secret", pre_master_secret, pre_master_len);
-
-  dtls_prf(pre_master_secret, pre_master_len,
-          PRF_LABEL(master), PRF_LABEL_SIZE(master),
-          handshake->tmp.random.client, DTLS_RANDOM_LENGTH,
-          handshake->tmp.random.server, DTLS_RANDOM_LENGTH,
-          master_secret,
-          DTLS_MASTER_SECRET_LENGTH);
-
-  dtls_debug_dump("master_secret", master_secret, DTLS_MASTER_SECRET_LENGTH);
-
-  /* create key_block from master_secret
-   * key_block = PRF(master_secret,
-                    "key expansion" + tmp.random.server + tmp.random.client) */
-
-  dtls_prf(master_secret,
-          DTLS_MASTER_SECRET_LENGTH,
-          PRF_LABEL(key), PRF_LABEL_SIZE(key),
-          handshake->tmp.random.server, DTLS_RANDOM_LENGTH,
-          handshake->tmp.random.client, DTLS_RANDOM_LENGTH,
-          security->key_block,
-          dtls_kb_size(security, role));
-
-  memcpy(handshake->tmp.master_secret, master_secret, DTLS_MASTER_SECRET_LENGTH);
-  dtls_debug_keyblock(security);
-
-  security->cipher = handshake->cipher;
-  security->compression = handshake->compression;
-  security->rseq = 0;
-
-  return 0;
-}
-
-/* TODO: add a generic method which iterates over a list and searches for a specific key */
-static int verify_ext_eliptic_curves(uint8 *data, size_t data_length) {
-  int i, curve_name;
-
-  /* length of curve list */
-  i = dtls_uint16_to_int(data);
-  data += sizeof(uint16);
-  if (i + sizeof(uint16) != data_length) {
-    dtls_warn("the list of the supported elliptic curves should be tls extension length - 2\n");
-    return dtls_alert_fatal_create(DTLS_ALERT_HANDSHAKE_FAILURE);
-  }
-
-  for (i = data_length - sizeof(uint16); i > 0; i -= sizeof(uint16)) {
-    /* check if this curve is supported */
-    curve_name = dtls_uint16_to_int(data);
-    data += sizeof(uint16);
-
-    if (curve_name == TLS_EXT_ELLIPTIC_CURVES_SECP256R1)
-      return 0;
-  }
-
-  dtls_warn("no supported elliptic curve found\n");
-  return dtls_alert_fatal_create(DTLS_ALERT_HANDSHAKE_FAILURE);
-}
-
-static int verify_ext_cert_type(uint8 *data, size_t data_length) {
-  int i, cert_type;
-
-  /* length of cert type list */
-  i = dtls_uint8_to_int(data);
-  data += sizeof(uint8);
-  if (i + sizeof(uint8) != data_length) {
-    dtls_warn("the list of the supported certificate types should be tls extension length - 1\n");
-    return dtls_alert_fatal_create(DTLS_ALERT_HANDSHAKE_FAILURE);
-  }
-
-  for (i = data_length - sizeof(uint8); i > 0; i -= sizeof(uint8)) {
-    /* check if this cert type is supported */
-    cert_type = dtls_uint8_to_int(data);
-    data += sizeof(uint8);
-
-    if (cert_type == TLS_CERT_TYPE_RAW_PUBLIC_KEY)
-      return 0;
-  }
-
-  dtls_warn("no supported certificate type found\n");
-  return dtls_alert_fatal_create(DTLS_ALERT_HANDSHAKE_FAILURE);
-}
-
-static int verify_ext_ec_point_formats(uint8 *data, size_t data_length) {
-  int i, cert_type;
-
-  /* length of ec_point_formats list */
-  i = dtls_uint8_to_int(data);
-  data += sizeof(uint8);
-  if (i + sizeof(uint8) != data_length) {
-    dtls_warn("the list of the supported ec_point_formats should be tls extension length - 1\n");
-    return dtls_alert_fatal_create(DTLS_ALERT_HANDSHAKE_FAILURE);
-  }
-
-  for (i = data_length - sizeof(uint8); i > 0; i -= sizeof(uint8)) {
-    /* check if this ec_point_format is supported */
-    cert_type = dtls_uint8_to_int(data);
-    data += sizeof(uint8);
-
-    if (cert_type == TLS_EXT_EC_POINT_FORMATS_UNCOMPRESSED)
-      return 0;
-  }
-
-  dtls_warn("no supported ec_point_format found\n");
-  return dtls_alert_fatal_create(DTLS_ALERT_HANDSHAKE_FAILURE);
-}
-
-/*
- * Check for some TLS Extensions used by the ECDHE_ECDSA cipher.
- */
-static int
-dtls_check_tls_extension(dtls_peer_t *peer,
-                        uint8 *data, size_t data_length, int client_hello)
-{
-  uint16_t i, j;
-  int ext_elliptic_curve = 0;
-  int ext_client_cert_type = 0;
-  int ext_server_cert_type = 0;
-  int ext_ec_point_formats = 0;
-  dtls_handshake_parameters_t *handshake = peer->handshake_params;
-
-  if (data_length < sizeof(uint16)) { 
-    /* no tls extensions specified */
-    if (is_tls_ecdhe_ecdsa_with_aes_128_ccm_8(handshake->cipher)) {
-      goto error;
-    }
-    return 0;
-  }
-
-  /* get the length of the tls extension list */
-  j = dtls_uint16_to_int(data);
-  data += sizeof(uint16);
-  data_length -= sizeof(uint16);
-
-  if (data_length < j)
-    goto error;
-
-  /* check for TLS extensions needed for this cipher */
-  while (data_length) {
-    if (data_length < sizeof(uint16) * 2)
-      goto error;
-
-    /* get the tls extension type */
-    i = dtls_uint16_to_int(data);
-    data += sizeof(uint16);
-    data_length -= sizeof(uint16);
-
-    /* get the length of the tls extension */
-    j = dtls_uint16_to_int(data);
-    data += sizeof(uint16);
-    data_length -= sizeof(uint16);
-
-    if (data_length < j)
-      goto error;
-
-    switch (i) {
-      case TLS_EXT_ELLIPTIC_CURVES:
-        ext_elliptic_curve = 1;
-        if (verify_ext_eliptic_curves(data, j))
-          goto error;
-        break;
-      case TLS_EXT_CLIENT_CERTIFICATE_TYPE:
-        ext_client_cert_type = 1;
-        if (client_hello) {
-         if (verify_ext_cert_type(data, j))
-            goto error;
-        } else {
-         if (dtls_uint8_to_int(data) != TLS_CERT_TYPE_RAW_PUBLIC_KEY)
-           goto error;
-        }
-        break;
-      case TLS_EXT_SERVER_CERTIFICATE_TYPE:
-        ext_server_cert_type = 1;
-        if (client_hello) {
-         if (verify_ext_cert_type(data, j))
-            goto error;
-        } else {
-         if (dtls_uint8_to_int(data) != TLS_CERT_TYPE_RAW_PUBLIC_KEY)
-           goto error;
-        }
-        break;
-      case TLS_EXT_EC_POINT_FORMATS:
-        ext_ec_point_formats = 1;
-        if (verify_ext_ec_point_formats(data, j))
-          goto error;
-        break;
-      case TLS_EXT_ENCRYPT_THEN_MAC:
-       /* As only AEAD cipher suites are currently available, this
-        * extension can be skipped. 
-        */
-       dtls_info("skipped encrypt-then-mac extension\n");
-       break;
-      default:
-        dtls_warn("unsupported tls extension: %i\n", i);
-        break;
-    }
-    data += j;
-    data_length -= j;
-  }
-  if (is_tls_ecdhe_ecdsa_with_aes_128_ccm_8(handshake->cipher) && client_hello) {
-    if (!ext_elliptic_curve || !ext_client_cert_type || !ext_server_cert_type
-       || !ext_ec_point_formats) {
-      dtls_warn("not all required tls extensions found in client hello\n");
-      goto error;
-    }
-  } else if (is_tls_ecdhe_ecdsa_with_aes_128_ccm_8(handshake->cipher) && !client_hello) {
-    if (!ext_client_cert_type || !ext_server_cert_type) {
-      dtls_warn("not all required tls extensions found in server hello\n");
-      goto error;
-    }
-  }
-  return 0;
-
-error:
-  if (client_hello && peer->state == DTLS_STATE_CONNECTED) {
-    return dtls_alert_create(DTLS_ALERT_LEVEL_WARNING, DTLS_ALERT_NO_RENEGOTIATION);
-  } else {
-    return dtls_alert_fatal_create(DTLS_ALERT_HANDSHAKE_FAILURE);
-  }
-}
-
-/**
- * Parses the ClientHello from the client and updates the internal handshake
- * parameters with the new data for the given \p peer. When the ClientHello
- * handshake message in \p data does not contain a cipher suite or
- * compression method, it is copied from the the current security parameters.
- *
- * \param ctx   The current DTLS context.
- * \param peer  The remote peer whose security parameters are about to change.
- * \param data  The handshake message with a ClientHello. 
- * \param data_length The actual size of \p data.
- * \return \c -Something if an error occurred, \c 0 on success.
- */
-static int
-dtls_update_parameters(dtls_context_t *ctx, 
-                      dtls_peer_t *peer,
-                      uint8 *data, size_t data_length) {
-  int i, j;
-  int ok;
-  dtls_handshake_parameters_t *config = peer->handshake_params;
-  dtls_security_parameters_t *security = dtls_security_params(peer);
-
-  assert(config);
-  assert(data_length > DTLS_HS_LENGTH + DTLS_CH_LENGTH);
-
-  /* skip the handshake header and client version information */
-  data += DTLS_HS_LENGTH + sizeof(uint16);
-  data_length -= DTLS_HS_LENGTH + sizeof(uint16);
-
-  /* store client random in config */
-  memcpy(config->tmp.random.client, data, DTLS_RANDOM_LENGTH);
-  data += DTLS_RANDOM_LENGTH;
-  data_length -= DTLS_RANDOM_LENGTH;
-
-  /* Caution: SKIP_VAR_FIELD may jump to error: */
-  SKIP_VAR_FIELD(data, data_length, uint8);    /* skip session id */
-  SKIP_VAR_FIELD(data, data_length, uint8);    /* skip cookie */
-
-  i = dtls_uint16_to_int(data);
-  if (data_length < i + sizeof(uint16)) {
-    /* Looks like we do not have a cipher nor compression. This is ok
-     * for renegotiation, but not for the initial handshake. */
-
-    if (!security || security->cipher == TLS_NULL_WITH_NULL_NULL)
-      goto error;
-
-    config->cipher = security->cipher;
-    config->compression = security->compression;
-
-    return 0;
-  }
-
-  data += sizeof(uint16);
-  data_length -= sizeof(uint16) + i;
-
-  ok = 0;
-  while (i && !ok) {
-    config->cipher = dtls_uint16_to_int(data);
-    ok = known_cipher(ctx, config->cipher, 0);
-    i -= sizeof(uint16);
-    data += sizeof(uint16);
-  }
-
-  /* skip remaining ciphers */
-  data += i;
-
-  if (!ok) {
-    /* reset config cipher to a well-defined value */
-    config->cipher = TLS_NULL_WITH_NULL_NULL;
-    dtls_warn("No matching cipher found\n");
-    goto error;
-  }
-
-  if (data_length < sizeof(uint8)) { 
-    /* no compression specified, take the current compression method */
-    if (security)
-      config->compression = security->compression;
-    else
-      config->compression = TLS_COMPRESSION_NULL;
-    return 0;
-  }
-
-  i = dtls_uint8_to_int(data);
-  if (data_length < i + sizeof(uint8))
-    goto error;
-
-  data += sizeof(uint8);
-  data_length -= sizeof(uint8) + i;
-
-  ok = 0;
-  while (i && !ok) {
-    for (j = 0; j < sizeof(compression_methods) / sizeof(uint8); ++j)
-      if (dtls_uint8_to_int(data) == compression_methods[j]) {
-       config->compression = compression_methods[j];
-       ok = 1;
-      }
-    i -= sizeof(uint8);
-    data += sizeof(uint8);    
-  }
-
-  if (!ok) {
-    /* reset config cipher to a well-defined value */
-    goto error;
-  }
-  
-  return dtls_check_tls_extension(peer, data, data_length, 1);
-error:
-  if (peer->state == DTLS_STATE_CONNECTED) {
-    return dtls_alert_create(DTLS_ALERT_LEVEL_WARNING, DTLS_ALERT_NO_RENEGOTIATION);
-  } else {
-    return dtls_alert_fatal_create(DTLS_ALERT_HANDSHAKE_FAILURE);
-  }
-}
-
-/**
- * Parse the ClientKeyExchange and update the internal handshake state with
- * the new data.
- */
-static inline int
-check_client_keyexchange(dtls_context_t *ctx, 
-                        dtls_handshake_parameters_t *handshake,
-                        uint8 *data, size_t length) {
-
-#ifdef DTLS_ECC
-  if (is_tls_ecdhe_ecdsa_with_aes_128_ccm_8(handshake->cipher)) {
-
-    if (length < DTLS_HS_LENGTH + DTLS_CKXEC_LENGTH) {
-      dtls_debug("The client key exchange is too short\n");
-      return dtls_alert_fatal_create(DTLS_ALERT_HANDSHAKE_FAILURE);
-    }
-    data += DTLS_HS_LENGTH;
-
-    if (dtls_uint8_to_int(data) != 1 + 2 * DTLS_EC_KEY_SIZE) {
-      dtls_alert("expected 65 bytes long public point\n");
-      return dtls_alert_fatal_create(DTLS_ALERT_HANDSHAKE_FAILURE);
-    }
-    data += sizeof(uint8);
-
-    if (dtls_uint8_to_int(data) != 4) {
-      dtls_alert("expected uncompressed public point\n");
-      return dtls_alert_fatal_create(DTLS_ALERT_HANDSHAKE_FAILURE);
-    }
-    data += sizeof(uint8);
-
-    memcpy(handshake->keyx.ecdsa.other_eph_pub_x, data,
-          sizeof(handshake->keyx.ecdsa.other_eph_pub_x));
-    data += sizeof(handshake->keyx.ecdsa.other_eph_pub_x);
-
-    memcpy(handshake->keyx.ecdsa.other_eph_pub_y, data,
-          sizeof(handshake->keyx.ecdsa.other_eph_pub_y));
-    data += sizeof(handshake->keyx.ecdsa.other_eph_pub_y);
-  }
-#endif /* DTLS_ECC */
-#ifdef DTLS_PSK
-  if (is_tls_psk_with_aes_128_ccm_8(handshake->cipher)) {
-    int id_length;
-
-    if (length < DTLS_HS_LENGTH + DTLS_CKXPSK_LENGTH_MIN) {
-      dtls_debug("The client key exchange is too short\n");
-      return dtls_alert_fatal_create(DTLS_ALERT_HANDSHAKE_FAILURE);
-    }
-    data += DTLS_HS_LENGTH;
-
-    id_length = dtls_uint16_to_int(data);
-    data += sizeof(uint16);
-
-    if (DTLS_HS_LENGTH + DTLS_CKXPSK_LENGTH_MIN + id_length != length) {
-      dtls_debug("The identity has a wrong length\n");
-      return dtls_alert_fatal_create(DTLS_ALERT_HANDSHAKE_FAILURE);
-    }
-
-    if (id_length > DTLS_PSK_MAX_CLIENT_IDENTITY_LEN) {
-      dtls_warn("please use a smaller client identity\n");
-      return dtls_alert_fatal_create(DTLS_ALERT_INTERNAL_ERROR);
-    }
-
-    handshake->keyx.psk.id_length = id_length;
-    memcpy(handshake->keyx.psk.identity, data, id_length);
-  }
-#endif /* DTLS_PSK */
-  return 0;
-}
-
-static inline void
-update_hs_hash(dtls_peer_t *peer, uint8 *data, size_t length) {
-  dtls_debug_dump("add MAC data", data, length);
-  dtls_hash_update(&peer->handshake_params->hs_state.hs_hash, data, length);
-}
-
-static void
-copy_hs_hash(dtls_peer_t *peer, dtls_hash_ctx *hs_hash) {
-  memcpy(hs_hash, &peer->handshake_params->hs_state.hs_hash,
-        sizeof(peer->handshake_params->hs_state.hs_hash));
-}
-
-static inline size_t
-finalize_hs_hash(dtls_peer_t *peer, uint8 *buf) {
-  return dtls_hash_finalize(buf, &peer->handshake_params->hs_state.hs_hash);
-}
-
-static inline void
-clear_hs_hash(dtls_peer_t *peer) {
-  assert(peer);
-  dtls_debug("clear MAC\n");
-  dtls_hash_init(&peer->handshake_params->hs_state.hs_hash);
-}
-
-/** 
- * Checks if \p record + \p data contain a Finished message with valid
- * verify_data. 
- *
- * \param ctx    The current DTLS context.
- * \param peer   The remote peer of the security association.
- * \param data   The cleartext payload of the message.
- * \param data_length Actual length of \p data.
- * \return \c 0 if the Finished message is valid, \c negative number otherwise.
- */
-static int
-check_finished(dtls_context_t *ctx, dtls_peer_t *peer,
-              uint8 *data, size_t data_length) {
-  size_t digest_length, label_size;
-  const unsigned char *label;
-  unsigned char buf[DTLS_HMAC_MAX];
-
-  if (data_length < DTLS_HS_LENGTH + DTLS_FIN_LENGTH)
-    return dtls_alert_fatal_create(DTLS_ALERT_HANDSHAKE_FAILURE);
-
-  /* Use a union here to ensure that sufficient stack space is
-   * reserved. As statebuf and verify_data are not used at the same
-   * time, we can re-use the storage safely.
-   */
-  union {
-    unsigned char statebuf[DTLS_HASH_CTX_SIZE];
-    unsigned char verify_data[DTLS_FIN_LENGTH];
-  } b;
-
-  /* temporarily store hash status for roll-back after finalize */
-  memcpy(b.statebuf, &peer->handshake_params->hs_state.hs_hash, DTLS_HASH_CTX_SIZE);
-
-  digest_length = finalize_hs_hash(peer, buf);
-  /* clear_hash(); */
-
-  /* restore hash status */
-  memcpy(&peer->handshake_params->hs_state.hs_hash, b.statebuf, DTLS_HASH_CTX_SIZE);
-
-  if (peer->role == DTLS_CLIENT) {
-    label = PRF_LABEL(server);
-    label_size = PRF_LABEL_SIZE(server);
-  } else { /* server */
-    label = PRF_LABEL(client);
-    label_size = PRF_LABEL_SIZE(client);
-  }
-
-  dtls_prf(peer->handshake_params->tmp.master_secret,
-          DTLS_MASTER_SECRET_LENGTH,
-          label, label_size,
-          PRF_LABEL(finished), PRF_LABEL_SIZE(finished),
-          buf, digest_length,
-          b.verify_data, sizeof(b.verify_data));
-
-  dtls_debug_dump("d:", data + DTLS_HS_LENGTH, sizeof(b.verify_data));
-  dtls_debug_dump("v:", b.verify_data, sizeof(b.verify_data));
-
-  /* compare verify data and create DTLS alert code when they differ */
-  return equals(data + DTLS_HS_LENGTH, b.verify_data, sizeof(b.verify_data))
-    ? 0
-    : dtls_alert_create(DTLS_ALERT_LEVEL_FATAL, DTLS_ALERT_HANDSHAKE_FAILURE);
-}
-
-/**
- * Prepares the payload given in \p data for sending with
- * dtls_send(). The \p data is encrypted and compressed according to
- * the current security parameters of \p peer.  The result of this
- * operation is put into \p sendbuf with a prepended record header of
- * type \p type ready for sending. As some cipher suites add a MAC
- * before encryption, \p data must be large enough to hold this data
- * as well (usually \c dtls_kb_digest_size(CURRENT_CONFIG(peer)).
- *
- * \param peer    The remote peer the packet will be sent to.
- * \param security  The encryption paramater used to encrypt
- * \param type    The content type of this record.
- * \param data_array Array with payloads in correct order.
- * \param data_len_array sizes of the payloads in correct order.
- * \param data_array_len The number of payloads given.
- * \param sendbuf The output buffer where the encrypted record
- *                will be placed.
- * \param rlen    This parameter must be initialized with the 
- *                maximum size of \p sendbuf and will be updated
- *                to hold the actual size of the stored packet
- *                on success. On error, the value of \p rlen is
- *                undefined. 
- * \return Less than zero on error, or greater than zero success.
- */
-static int
-dtls_prepare_record(dtls_peer_t *peer, dtls_security_parameters_t *security,
-                   unsigned char type,
-                   uint8 *data_array[], size_t data_len_array[],
-                   size_t data_array_len,
-                   uint8 *sendbuf, size_t *rlen) {
-  uint8 *p, *start;
-  int res;
-  unsigned int i;
-  
-  if (*rlen < DTLS_RH_LENGTH) {
-    dtls_alert("The sendbuf (%zu bytes) is too small\n", *rlen);
-    return dtls_alert_fatal_create(DTLS_ALERT_INTERNAL_ERROR);
-  }
-
-  p = dtls_set_record_header(type, security, sendbuf);
-  start = p;
-
-  if (!security || security->cipher == TLS_NULL_WITH_NULL_NULL) {
-    /* no cipher suite */
-
-    res = 0;
-    for (i = 0; i < data_array_len; i++) {
-      /* check the minimum that we need for packets that are not encrypted */
-      if (*rlen < res + DTLS_RH_LENGTH + data_len_array[i]) {
-        dtls_debug("dtls_prepare_record: send buffer too small\n");
-        return dtls_alert_fatal_create(DTLS_ALERT_INTERNAL_ERROR);
-      }
-
-      memcpy(p, data_array[i], data_len_array[i]);
-      p += data_len_array[i];
-      res += data_len_array[i];
-    }
-  } else { /* TLS_PSK_WITH_AES_128_CCM_8 or TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8 */   
-    /** 
-     * length of additional_data for the AEAD cipher which consists of
-     * seq_num(2+6) + type(1) + version(2) + length(2)
-     */
-#define A_DATA_LEN 13
-    unsigned char nonce[DTLS_CCM_BLOCKSIZE];
-    unsigned char A_DATA[A_DATA_LEN];
-
-    if (is_tls_psk_with_aes_128_ccm_8(security->cipher)) {
-      dtls_debug("dtls_prepare_record(): encrypt using TLS_PSK_WITH_AES_128_CCM_8\n");
-    } else if (is_tls_ecdhe_ecdsa_with_aes_128_ccm_8(security->cipher)) {
-      dtls_debug("dtls_prepare_record(): encrypt using TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8\n");
-    } else {
-      dtls_debug("dtls_prepare_record(): encrypt using unknown cipher\n");
-    }
-
-    /* set nonce       
-       from RFC 6655:
-       The "nonce" input to the AEAD algorithm is exactly that of [RFC5288]:
-       the "nonce" SHALL be 12 bytes long and is constructed as follows:
-       (this is an example of a "partially explicit" nonce; see Section
-       3.2.1 in [RFC5116]).
-
-                       struct {
-             opaque salt[4];
-             opaque nonce_explicit[8];
-                       } CCMNonce;
-
-         [...]
-
-        In DTLS, the 64-bit seq_num is the 16-bit epoch concatenated with the
-        48-bit seq_num.
-
-        When the nonce_explicit is equal to the sequence number, the CCMNonce
-        will have the structure of the CCMNonceExample given below.
-
-                   struct {
-                    uint32 client_write_IV; // low order 32-bits
-                    uint64 seq_num;         // TLS sequence number
-                   } CCMClientNonce.
-
-
-                   struct {
-                    uint32 server_write_IV; // low order 32-bits
-                    uint64 seq_num; // TLS sequence number
-                   } CCMServerNonce.
-
-
-                   struct {
-                    case client:
-                      CCMClientNonce;
-                    case server:
-                      CCMServerNonce:
-                   } CCMNonceExample;
-    */
-
-    memcpy(p, &DTLS_RECORD_HEADER(sendbuf)->epoch, 8);
-    p += 8;
-    res = 8;
-
-    for (i = 0; i < data_array_len; i++) {
-      /* check the minimum that we need for packets that are not encrypted */
-      if (*rlen < res + DTLS_RH_LENGTH + data_len_array[i]) {
-        dtls_debug("dtls_prepare_record: send buffer too small\n");
-        return dtls_alert_fatal_create(DTLS_ALERT_INTERNAL_ERROR);
-      }
-
-      memcpy(p, data_array[i], data_len_array[i]);
-      p += data_len_array[i];
-      res += data_len_array[i];
-    }
-
-    memset(nonce, 0, DTLS_CCM_BLOCKSIZE);
-    memcpy(nonce, dtls_kb_local_iv(security, peer->role),
-          dtls_kb_iv_size(security, peer->role));
-    memcpy(nonce + dtls_kb_iv_size(security, peer->role), start, 8); /* epoch + seq_num */
-
-    dtls_debug_dump("nonce:", nonce, DTLS_CCM_BLOCKSIZE);
-    dtls_debug_dump("key:", dtls_kb_local_write_key(security, peer->role),
-                   dtls_kb_key_size(security, peer->role));
-    
-    /* re-use N to create additional data according to RFC 5246, Section 6.2.3.3:
-     * 
-     * additional_data = seq_num + TLSCompressed.type +
-     *                   TLSCompressed.version + TLSCompressed.length;
-     */
-    memcpy(A_DATA, &DTLS_RECORD_HEADER(sendbuf)->epoch, 8); /* epoch and seq_num */
-    memcpy(A_DATA + 8,  &DTLS_RECORD_HEADER(sendbuf)->content_type, 3); /* type and version */
-    dtls_int_to_uint16(A_DATA + 11, res - 8); /* length */
-    
-    res = dtls_encrypt(start + 8, res - 8, start + 8, nonce,
-                      dtls_kb_local_write_key(security, peer->role),
-                      dtls_kb_key_size(security, peer->role),
-                      A_DATA, A_DATA_LEN);
-
-    if (res < 0)
-      return res;
-
-    res += 8;                  /* increment res by size of nonce_explicit */
-    dtls_debug_dump("message:", start, res);
-  }
-
-  /* fix length of fragment in sendbuf */
-  dtls_int_to_uint16(sendbuf + 11, res);
-  
-  *rlen = DTLS_RH_LENGTH + res;
-  return 0;
-}
-
-static int
-dtls_send_handshake_msg_hash(dtls_context_t *ctx,
-                            dtls_peer_t *peer,
-                            session_t *session,
-                            uint8 header_type,
-                            uint8 *data, size_t data_length,
-                            int add_hash)
-{
-  uint8 buf[DTLS_HS_LENGTH];
-  uint8 *data_array[2];
-  size_t data_len_array[2];
-  int i = 0;
-  dtls_security_parameters_t *security = peer ? dtls_security_params(peer) : NULL;
-
-  dtls_set_handshake_header(header_type, peer, data_length, 0,
-                           data_length, buf);
-
-  if (add_hash) {
-    update_hs_hash(peer, buf, sizeof(buf));
-  }
-  data_array[i] = buf;
-  data_len_array[i] = sizeof(buf);
-  i++;
-
-  if (data != NULL) {
-    if (add_hash) {
-      update_hs_hash(peer, data, data_length);
-    }
-    data_array[i] = data;
-    data_len_array[i] = data_length;
-    i++;
-  }
-  dtls_debug("send handshake packet of type: %s (%i)\n",
-            dtls_handshake_type_to_name(header_type), header_type);
-  return dtls_send_multi(ctx, peer, security, session, DTLS_CT_HANDSHAKE,
-                        data_array, data_len_array, i);
-}
-
-static int
-dtls_send_handshake_msg(dtls_context_t *ctx,
-                       dtls_peer_t *peer,
-                       uint8 header_type,
-                       uint8 *data, size_t data_length)
-{
-  return dtls_send_handshake_msg_hash(ctx, peer, &peer->session,
-                                     header_type, data, data_length, 1);
-}
-
-/** 
- * Returns true if the message @p Data is a handshake message that
- * must be included in the calculation of verify_data in the Finished
- * message.
- * 
- * @param Type The message type. Only handshake messages but the initial 
- * Client Hello and Hello Verify Request are included in the hash,
- * @param Data The PDU to examine.
- * @param Length The length of @p Data.
- * 
- * @return @c 1 if @p Data must be included in hash, @c 0 otherwise.
- *
- * @hideinitializer
- */
-#define MUST_HASH(Type, Data, Length)                                  \
-  ((Type) == DTLS_CT_HANDSHAKE &&                                      \
-   ((Data) != NULL) && ((Length) > 0)  &&                              \
-   ((Data)[0] != DTLS_HT_HELLO_VERIFY_REQUEST) &&                      \
-   ((Data)[0] != DTLS_HT_CLIENT_HELLO ||                               \
-    ((Length) >= HS_HDR_LENGTH &&                                      \
-     (dtls_uint16_to_int(DTLS_RECORD_HEADER(Data)->epoch > 0) ||       \
-      (dtls_uint16_to_int(HANDSHAKE(Data)->message_seq) > 0)))))
-
-/**
- * Sends the data passed in @p buf as a DTLS record of type @p type to
- * the given peer. The data will be encrypted and compressed according
- * to the security parameters for @p peer.
- *
- * @param ctx    The DTLS context in effect.
- * @param peer   The remote party where the packet is sent.
- * @param type   The content type of this record.
- * @param buf    The data to send.
- * @param buflen The number of bytes to send from @p buf.
- * @return Less than zero in case of an error or the number of
- *   bytes that have been sent otherwise.
- */
-static int
-dtls_send_multi(dtls_context_t *ctx, dtls_peer_t *peer,
-               dtls_security_parameters_t *security , session_t *session,
-               unsigned char type, uint8 *buf_array[],
-               size_t buf_len_array[], size_t buf_array_len)
-{
-  /* We cannot use ctx->sendbuf here as it is reserved for collecting
-   * the input for this function, i.e. buf == ctx->sendbuf.
-   *
-   * TODO: check if we can use the receive buf here. This would mean
-   * that we might not be able to handle multiple records stuffed in
-   * one UDP datagram */
-  unsigned char sendbuf[DTLS_MAX_BUF];
-  size_t len = sizeof(sendbuf);
-  int res;
-  unsigned int i;
-  size_t overall_len = 0;
-
-  res = dtls_prepare_record(peer, security, type, buf_array, buf_len_array, buf_array_len, sendbuf, &len);
-
-  if (res < 0)
-    return res;
-
-  /* if (peer && MUST_HASH(peer, type, buf, buflen)) */
-  /*   update_hs_hash(peer, buf, buflen); */
-
-  dtls_debug_hexdump("send header", sendbuf, sizeof(dtls_record_header_t));
-  for (i = 0; i < buf_array_len; i++) {
-    dtls_debug_hexdump("send unencrypted", buf_array[i], buf_len_array[i]);
-    overall_len += buf_len_array[i];
-  }
-
-  if ((type == DTLS_CT_HANDSHAKE && buf_array[0][0] != DTLS_HT_HELLO_VERIFY_REQUEST) ||
-      type == DTLS_CT_CHANGE_CIPHER_SPEC) {
-    /* copy handshake messages other than HelloVerify into retransmit buffer */
-    netq_t *n = netq_node_new(overall_len);
-    if (n) {
-      dtls_tick_t now;
-      dtls_ticks(&now);
-      n->t = now + 2 * CLOCK_SECOND;
-      n->retransmit_cnt = 0;
-      n->timeout = 2 * CLOCK_SECOND;
-      n->peer = peer;
-      n->epoch = (security) ? security->epoch : 0;
-      n->type = type;
-      n->length = 0;
-      for (i = 0; i < buf_array_len; i++) {
-        memcpy(n->data + n->length, buf_array[i], buf_len_array[i]);
-        n->length += buf_len_array[i];
-      }
-
-      if (!netq_insert_node(ctx->sendqueue, n)) {
-       dtls_warn("cannot add packet to retransmit buffer\n");
-       netq_node_free(n);
-#ifdef WITH_CONTIKI
-      } else {
-       /* must set timer within the context of the retransmit process */
-       PROCESS_CONTEXT_BEGIN(&dtls_retransmit_process);
-       etimer_set(&ctx->retransmit_timer, n->timeout);
-       PROCESS_CONTEXT_END(&dtls_retransmit_process);
-#else /* WITH_CONTIKI */
-       dtls_debug("copied to sendqueue\n");
-#endif /* WITH_CONTIKI */
-      }
-    } else 
-      dtls_warn("retransmit buffer full\n");
-  }
-
-  /* FIXME: copy to peer's sendqueue (after fragmentation if
-   * necessary) and initialize retransmit timer */
-  res = CALL(ctx, write, session, sendbuf, len);
-
-  /* Guess number of bytes application data actually sent:
-   * dtls_prepare_record() tells us in len the number of bytes to
-   * send, res will contain the bytes actually sent. */
-  return res <= 0 ? res : overall_len - (len - res);
-}
-
-static inline int
-dtls_send_alert(dtls_context_t *ctx, dtls_peer_t *peer, dtls_alert_level_t level,
-               dtls_alert_t description) {
-  uint8_t msg[] = { level, description };
-
-  dtls_send(ctx, peer, DTLS_CT_ALERT, msg, sizeof(msg));
-  return 0;
-}
-
-int 
-dtls_close(dtls_context_t *ctx, const session_t *remote) {
-  int res = -1;
-  dtls_peer_t *peer;
-
-  peer = dtls_get_peer(ctx, remote);
-
-  if (peer) {
-    res = dtls_send_alert(ctx, peer, DTLS_ALERT_LEVEL_FATAL, DTLS_ALERT_CLOSE_NOTIFY);
-    /* indicate tear down */
-    peer->state = DTLS_STATE_CLOSING;
-  }
-  return res;
-}
-
-static void dtls_destroy_peer(dtls_context_t *ctx, dtls_peer_t *peer, int unlink)
-{
-  if (peer->state != DTLS_STATE_CLOSED && peer->state != DTLS_STATE_CLOSING)
-    dtls_close(ctx, &peer->session);
-  if (unlink) {
-#ifndef WITH_CONTIKI
-    HASH_DEL_PEER(ctx->peers, peer);
-#else /* WITH_CONTIKI */
-    list_remove(ctx->peers, peer);
-#endif /* WITH_CONTIKI */
-
-    dtls_dsrv_log_addr(DTLS_LOG_DEBUG, "removed peer", &peer->session);
-  }
-  dtls_free_peer(peer);
-}
-
-/**
- * Checks a received Client Hello message for a valid cookie. When the
- * Client Hello contains no cookie, the function fails and a Hello
- * Verify Request is sent to the peer (using the write callback function
- * registered with \p ctx). The return value is \c -1 on error, \c 0 when
- * undecided, and \c 1 if the Client Hello was good. 
- * 
- * \param ctx     The DTLS context.
- * \param peer    The remote party we are talking to, if any.
- * \param session Transport address of the remote peer.
- * \param msg     The received datagram.
- * \param msglen  Length of \p msg.
- * \return \c 1 if msg is a Client Hello with a valid cookie, \c 0 or
- * \c -1 otherwise.
- */
-static int
-dtls_verify_peer(dtls_context_t *ctx, 
-                dtls_peer_t *peer, 
-                session_t *session,
-                uint8 *data, size_t data_length)
-{
-  uint8 buf[DTLS_HV_LENGTH + DTLS_COOKIE_LENGTH];
-  uint8 *p = buf;
-  int len = DTLS_COOKIE_LENGTH;
-  uint8 *cookie = NULL;
-  int err;
-#undef mycookie
-#define mycookie (buf + DTLS_HV_LENGTH)
-
-  /* Store cookie where we can reuse it for the HelloVerify request. */
-  err = dtls_create_cookie(ctx, session, data, data_length, mycookie, &len);
-  if (err < 0)
-    return err;
-
-  dtls_debug_dump("create cookie", mycookie, len);
-
-  assert(len == DTLS_COOKIE_LENGTH);
-    
-  /* Perform cookie check. */
-  len = dtls_get_cookie(data, data_length, &cookie);
-  if (len < 0) {
-    dtls_warn("error while fetching the cookie, err: %i\n", err);
-    return err;
-  }
-
-  dtls_debug_dump("compare with cookie", cookie, len);
-
-  /* check if cookies match */
-  if (len == DTLS_COOKIE_LENGTH && memcmp(cookie, mycookie, len) == 0) {
-    dtls_debug("found matching cookie\n");
-    return 0;
-  }
-
-  if (len > 0) {
-    dtls_debug_dump("invalid cookie", cookie, len);
-  } else {
-    dtls_debug("cookie len is 0!\n");
-  }
-
-  /* ClientHello did not contain any valid cookie, hence we send a
-   * HelloVerify request. */
-
-  dtls_int_to_uint16(p, DTLS_VERSION);
-  p += sizeof(uint16);
-
-  dtls_int_to_uint8(p, DTLS_COOKIE_LENGTH);
-  p += sizeof(uint8);
-
-  assert(p == mycookie);
-
-  p += DTLS_COOKIE_LENGTH;
-
-  /* TODO use the same record sequence number as in the ClientHello,
-     see 4.2.1. Denial-of-Service Countermeasures */
-  err = dtls_send_handshake_msg_hash(ctx, peer, session,
-                                    DTLS_HT_HELLO_VERIFY_REQUEST,
-                                    buf, p - buf, 0);
-  if (err < 0) {
-    dtls_warn("cannot send HelloVerify request\n");
-  }
-  return err; /* HelloVerify is sent, now we cannot do anything but wait */
-
-#undef mycookie
-}
-
-#ifdef DTLS_ECC
-static int
-dtls_check_ecdsa_signature_elem(uint8 *data, size_t data_length,
-                               unsigned char **result_r,
-                               unsigned char **result_s)
-{
-  int i;
-  uint8 *data_orig = data;
-
-  if (dtls_uint8_to_int(data) != TLS_EXT_SIG_HASH_ALGO_SHA256) {
-    dtls_alert("only sha256 is supported in certificate verify\n");
-    return dtls_alert_fatal_create(DTLS_ALERT_HANDSHAKE_FAILURE);
-  }
-  data += sizeof(uint8);
-  data_length -= sizeof(uint8);
-
-  if (dtls_uint8_to_int(data) != TLS_EXT_SIG_HASH_ALGO_ECDSA) {
-    dtls_alert("only ecdsa signature is supported in client verify\n");
-    return dtls_alert_fatal_create(DTLS_ALERT_HANDSHAKE_FAILURE);
-  }
-  data += sizeof(uint8);
-  data_length -= sizeof(uint8);
-
-  if (data_length < dtls_uint16_to_int(data)) {
-    dtls_alert("signature length wrong\n");
-    return dtls_alert_fatal_create(DTLS_ALERT_DECODE_ERROR);
-  }
-  data += sizeof(uint16);
-  data_length -= sizeof(uint16);
-
-  if (dtls_uint8_to_int(data) != 0x30) {
-    dtls_alert("wrong ASN.1 struct, expected SEQUENCE\n");
-    return dtls_alert_fatal_create(DTLS_ALERT_DECODE_ERROR);
-  }
-  data += sizeof(uint8);
-  data_length -= sizeof(uint8);
-
-  if (data_length < dtls_uint8_to_int(data)) {
-    dtls_alert("signature length wrong\n");
-    return dtls_alert_fatal_create(DTLS_ALERT_DECODE_ERROR);
-  }
-  data += sizeof(uint8);
-  data_length -= sizeof(uint8);
-
-  if (dtls_uint8_to_int(data) != 0x02) {
-    dtls_alert("wrong ASN.1 struct, expected Integer\n");
-    return dtls_alert_fatal_create(DTLS_ALERT_DECODE_ERROR);
-  }
-  data += sizeof(uint8);
-  data_length -= sizeof(uint8);
-
-  i = dtls_uint8_to_int(data);
-  data += sizeof(uint8);
-  data_length -= sizeof(uint8);
-
-  /* Sometimes these values have a leeding 0 byte */
-  *result_r = data + i - DTLS_EC_KEY_SIZE;
-
-  data += i;
-  data_length -= i;
-
-  if (dtls_uint8_to_int(data) != 0x02) {
-    dtls_alert("wrong ASN.1 struct, expected Integer\n");
-    return dtls_alert_fatal_create(DTLS_ALERT_DECODE_ERROR);
-  }
-  data += sizeof(uint8);
-  data_length -= sizeof(uint8);
-
-  i = dtls_uint8_to_int(data);
-  data += sizeof(uint8);
-  data_length -= sizeof(uint8);
-
-  /* Sometimes these values have a leeding 0 byte */
-  *result_s = data + i - DTLS_EC_KEY_SIZE;
-
-  data += i;
-  data_length -= i;
-
-  return data - data_orig;
-}
-
-static int
-check_client_certificate_verify(dtls_context_t *ctx, 
-                               dtls_peer_t *peer,
-                               uint8 *data, size_t data_length)
-{
-  dtls_handshake_parameters_t *config = peer->handshake_params;
-  int ret;
-  unsigned char *result_r;
-  unsigned char *result_s;
-  dtls_hash_ctx hs_hash;
-  unsigned char sha256hash[DTLS_HMAC_DIGEST_SIZE];
-
-  assert(is_tls_ecdhe_ecdsa_with_aes_128_ccm_8(config->cipher));
-
-  data += DTLS_HS_LENGTH;
-
-  if (data_length < DTLS_HS_LENGTH + DTLS_CV_LENGTH) {
-    dtls_alert("the packet length does not match the expected\n");
-    return dtls_alert_fatal_create(DTLS_ALERT_DECODE_ERROR);
-  }
-
-  ret = dtls_check_ecdsa_signature_elem(data, data_length, &result_r, &result_s);
-  if (ret < 0) {
-    return ret;
-  }
-  data += ret;
-  data_length -= ret;
-
-  copy_hs_hash(peer, &hs_hash);
-
-  dtls_hash_finalize(sha256hash, &hs_hash);
-
-  ret = dtls_ecdsa_verify_sig_hash(config->keyx.ecdsa.other_pub_x, config->keyx.ecdsa.other_pub_y,
-                           sizeof(config->keyx.ecdsa.other_pub_x),
-                           sha256hash, sizeof(sha256hash),
-                           result_r, result_s);
-
-  if (ret < 0) {
-    dtls_alert("wrong signature err: %i\n", ret);
-    return dtls_alert_fatal_create(DTLS_ALERT_HANDSHAKE_FAILURE);
-  }
-  return 0;
-}
-#endif /* DTLS_ECC */
-
-static int
-dtls_send_server_hello(dtls_context_t *ctx, dtls_peer_t *peer)
-{
-  /* Ensure that the largest message to create fits in our source
-   * buffer. (The size of the destination buffer is checked by the
-   * encoding function, so we do not need to guess.) */
-  uint8 buf[DTLS_SH_LENGTH + 2 + 5 + 5 + 8 + 6];
-  uint8 *p;
-  int ecdsa;
-  uint8 extension_size;
-  dtls_handshake_parameters_t *handshake = peer->handshake_params;
-  dtls_tick_t now;
-
-  ecdsa = is_tls_ecdhe_ecdsa_with_aes_128_ccm_8(handshake->cipher);
-
-  extension_size = (ecdsa) ? 2 + 5 + 5 + 6 : 0;
-
-  /* Handshake header */
-  p = buf;
-
-  /* ServerHello */
-  dtls_int_to_uint16(p, DTLS_VERSION);
-  p += sizeof(uint16);
-
-  /* Set server random: First 4 bytes are the server's Unix timestamp,
-   * followed by 28 bytes of generate random data. */
-  dtls_ticks(&now);
-  dtls_int_to_uint32(handshake->tmp.random.server, now / CLOCK_SECOND);
-  dtls_prng(handshake->tmp.random.server + 4, 28);
-
-  memcpy(p, handshake->tmp.random.server, DTLS_RANDOM_LENGTH);
-  p += DTLS_RANDOM_LENGTH;
-
-  *p++ = 0;                    /* no session id */
-
-  if (handshake->cipher != TLS_NULL_WITH_NULL_NULL) {
-    /* selected cipher suite */
-    dtls_int_to_uint16(p, handshake->cipher);
-    p += sizeof(uint16);
-
-    /* selected compression method */
-    *p++ = compression_methods[handshake->compression];
-  }
-
-  if (extension_size) {
-    /* length of the extensions */
-    dtls_int_to_uint16(p, extension_size - 2);
-    p += sizeof(uint16);
-  }
-
-  if (ecdsa) {
-    /* client certificate type extension */
-    dtls_int_to_uint16(p, TLS_EXT_CLIENT_CERTIFICATE_TYPE);
-    p += sizeof(uint16);
-
-    /* length of this extension type */
-    dtls_int_to_uint16(p, 1);
-    p += sizeof(uint16);
-
-    dtls_int_to_uint8(p, TLS_CERT_TYPE_RAW_PUBLIC_KEY);
-    p += sizeof(uint8);
-
-    /* client certificate type extension */
-    dtls_int_to_uint16(p, TLS_EXT_SERVER_CERTIFICATE_TYPE);
-    p += sizeof(uint16);
-
-    /* length of this extension type */
-    dtls_int_to_uint16(p, 1);
-    p += sizeof(uint16);
-
-    dtls_int_to_uint8(p, TLS_CERT_TYPE_RAW_PUBLIC_KEY);
-    p += sizeof(uint8);
-
-    /* ec_point_formats */
-    dtls_int_to_uint16(p, TLS_EXT_EC_POINT_FORMATS);
-    p += sizeof(uint16);
-
-    /* length of this extension type */
-    dtls_int_to_uint16(p, 2);
-    p += sizeof(uint16);
-
-    /* number of supported formats */
-    dtls_int_to_uint8(p, 1);
-    p += sizeof(uint8);
-
-    dtls_int_to_uint8(p, TLS_EXT_EC_POINT_FORMATS_UNCOMPRESSED);
-    p += sizeof(uint8);
-  }
-
-  assert(p - buf <= sizeof(buf));
-
-  /* TODO use the same record sequence number as in the ClientHello,
-     see 4.2.1. Denial-of-Service Countermeasures */
-  return dtls_send_handshake_msg(ctx, peer, DTLS_HT_SERVER_HELLO,
-                                buf, p - buf);
-}
-
-#ifdef DTLS_ECC
-static int
-dtls_send_certificate_ecdsa(dtls_context_t *ctx, dtls_peer_t *peer,
-                           const dtls_ecdsa_key_t *key)
-{
-  uint8 buf[DTLS_CE_LENGTH];
-  uint8 *p;
-
-  /* Certificate 
-   *
-   * Start message construction at beginning of buffer. */
-  p = buf;
-
-  dtls_int_to_uint24(p, 94);   /* certificates length */
-  p += sizeof(uint24);
-
-  dtls_int_to_uint24(p, 91);   /* length of this certificate */
-  p += sizeof(uint24);
-  
-  memcpy(p, &cert_asn1_header, sizeof(cert_asn1_header));
-  p += sizeof(cert_asn1_header);
-
-  memcpy(p, key->pub_key_x, DTLS_EC_KEY_SIZE);
-  p += DTLS_EC_KEY_SIZE;
-
-  memcpy(p, key->pub_key_y, DTLS_EC_KEY_SIZE);
-  p += DTLS_EC_KEY_SIZE;
-
-  assert(p - buf <= sizeof(buf));
-
-  return dtls_send_handshake_msg(ctx, peer, DTLS_HT_CERTIFICATE,
-                                buf, p - buf);
-}
-
-static uint8 *
-dtls_add_ecdsa_signature_elem(uint8 *p, uint32_t *point_r, uint32_t *point_s)
-{
-  int len_r;
-  int len_s;
-
-#define R_KEY_OFFSET (1 + 1 + 2 + 1 + 1 + 1 + 1)
-#define S_KEY_OFFSET(len_s) (R_KEY_OFFSET + (len_s) + 1 + 1)
-  /* store the pointer to the r component of the signature and make space */
-  len_r = dtls_ec_key_from_uint32_asn1(point_r, DTLS_EC_KEY_SIZE, p + R_KEY_OFFSET);
-  len_s = dtls_ec_key_from_uint32_asn1(point_s, DTLS_EC_KEY_SIZE, p + S_KEY_OFFSET(len_r));
-
-#undef R_KEY_OFFSET
-#undef S_KEY_OFFSET
-
-  /* sha256 */
-  dtls_int_to_uint8(p, TLS_EXT_SIG_HASH_ALGO_SHA256);
-  p += sizeof(uint8);
-
-  /* ecdsa */
-  dtls_int_to_uint8(p, TLS_EXT_SIG_HASH_ALGO_ECDSA);
-  p += sizeof(uint8);
-
-  /* length of signature */
-  dtls_int_to_uint16(p, len_r + len_s + 2 + 2 + 2);
-  p += sizeof(uint16);
-
-  /* ASN.1 SEQUENCE */
-  dtls_int_to_uint8(p, 0x30);
-  p += sizeof(uint8);
-
-  dtls_int_to_uint8(p, len_r + len_s + 2 + 2);
-  p += sizeof(uint8);
-
-  /* ASN.1 Integer r */
-  dtls_int_to_uint8(p, 0x02);
-  p += sizeof(uint8);
-
-  dtls_int_to_uint8(p, len_r);
-  p += sizeof(uint8);
-
-  /* the pint r was added here */
-  p += len_r;
-
-  /* ASN.1 Integer s */
-  dtls_int_to_uint8(p, 0x02);
-  p += sizeof(uint8);
-
-  dtls_int_to_uint8(p, len_s);
-  p += sizeof(uint8);
-
-  /* the pint s was added here */
-  p += len_s;
-
-  return p;
-}
-
-static int
-dtls_send_server_key_exchange_ecdh(dtls_context_t *ctx, dtls_peer_t *peer,
-                                  const dtls_ecdsa_key_t *key)
-{
-  /* The ASN.1 Integer representation of an 32 byte unsigned int could be
-   * 33 bytes long add space for that */
-  uint8 buf[DTLS_SKEXEC_LENGTH + 2];
-  uint8 *p;
-  uint8 *key_params;
-  uint8 *ephemeral_pub_x;
-  uint8 *ephemeral_pub_y;
-  uint32_t point_r[9];
-  uint32_t point_s[9];
-  dtls_handshake_parameters_t *config = peer->handshake_params;
-
-  /* ServerKeyExchange 
-   *
-   * Start message construction at beginning of buffer. */
-  p = buf;
-
-  key_params = p;
-  /* ECCurveType curve_type: named_curve */
-  dtls_int_to_uint8(p, 3);
-  p += sizeof(uint8);
-
-  /* NamedCurve namedcurve: secp256r1 */
-  dtls_int_to_uint16(p, TLS_EXT_ELLIPTIC_CURVES_SECP256R1);
-  p += sizeof(uint16);
-
-  dtls_int_to_uint8(p, 1 + 2 * DTLS_EC_KEY_SIZE);
-  p += sizeof(uint8);
-
-  /* This should be an uncompressed point, but I do not have access to the spec. */
-  dtls_int_to_uint8(p, 4);
-  p += sizeof(uint8);
-
-  /* store the pointer to the x component of the pub key and make space */
-  ephemeral_pub_x = p;
-  p += DTLS_EC_KEY_SIZE;
-
-  /* store the pointer to the y component of the pub key and make space */
-  ephemeral_pub_y = p;
-  p += DTLS_EC_KEY_SIZE;
-
-  dtls_ecdsa_generate_key(config->keyx.ecdsa.own_eph_priv,
-                         ephemeral_pub_x, ephemeral_pub_y,
-                         DTLS_EC_KEY_SIZE);
-
-  /* sign the ephemeral and its paramaters */
-  dtls_ecdsa_create_sig(key->priv_key, DTLS_EC_KEY_SIZE,
-                      config->tmp.random.client, DTLS_RANDOM_LENGTH,
-                      config->tmp.random.server, DTLS_RANDOM_LENGTH,
-                      key_params, p - key_params,
-                      point_r, point_s);
-
-  p = dtls_add_ecdsa_signature_elem(p, point_r, point_s);
-
-  assert(p - buf <= sizeof(buf));
-
-  return dtls_send_handshake_msg(ctx, peer, DTLS_HT_SERVER_KEY_EXCHANGE,
-                                buf, p - buf);
-}
-#endif /* DTLS_ECC */
-
-#ifdef DTLS_PSK
-static int
-dtls_send_server_key_exchange_psk(dtls_context_t *ctx, dtls_peer_t *peer,
-                                 const unsigned char *psk_hint, size_t len)
-{
-  uint8 buf[DTLS_SKEXECPSK_LENGTH_MAX];
-  uint8 *p;
-
-  p = buf;
-
-  assert(len <= DTLS_PSK_MAX_CLIENT_IDENTITY_LEN);
-  if (len > DTLS_PSK_MAX_CLIENT_IDENTITY_LEN) {
-    /* should never happen */
-    dtls_warn("psk identity hint is too long\n");
-    return dtls_alert_fatal_create(DTLS_ALERT_INTERNAL_ERROR);
-  }
-
-  dtls_int_to_uint16(p, len);
-  p += sizeof(uint16);
-
-  memcpy(p, psk_hint, len);
-  p += len;
-
-  assert(p - buf <= sizeof(buf));
-
-  return dtls_send_handshake_msg(ctx, peer, DTLS_HT_SERVER_KEY_EXCHANGE,
-                                buf, p - buf);
-}
-#endif /* DTLS_PSK */
-
-#ifdef DTLS_ECC
-static int
-dtls_send_server_certificate_request(dtls_context_t *ctx, dtls_peer_t *peer)
-{
-  uint8 buf[8];
-  uint8 *p;
-
-  /* ServerHelloDone 
-   *
-   * Start message construction at beginning of buffer. */
-  p = buf;
-
-  /* certificate_types */
-  dtls_int_to_uint8(p, 1);
-  p += sizeof(uint8);
-
-  /* ecdsa_sign */
-  dtls_int_to_uint8(p, TLS_CLIENT_CERTIFICATE_TYPE_ECDSA_SIGN);
-  p += sizeof(uint8);
-
-  /* supported_signature_algorithms */
-  dtls_int_to_uint16(p, 2);
-  p += sizeof(uint16);
-
-  /* sha256 */
-  dtls_int_to_uint8(p, TLS_EXT_SIG_HASH_ALGO_SHA256);
-  p += sizeof(uint8);
-
-  /* ecdsa */
-  dtls_int_to_uint8(p, TLS_EXT_SIG_HASH_ALGO_ECDSA);
-  p += sizeof(uint8);
-
-  /* certificate_authoritiess */
-  dtls_int_to_uint16(p, 0);
-  p += sizeof(uint16);
-
-  assert(p - buf <= sizeof(buf));
-
-  return dtls_send_handshake_msg(ctx, peer, DTLS_HT_CERTIFICATE_REQUEST,
-                                buf, p - buf);
-}
-#endif /* DTLS_ECC */
-
-static int
-dtls_send_server_hello_done(dtls_context_t *ctx, dtls_peer_t *peer)
-{
-
-  /* ServerHelloDone 
-   *
-   * Start message construction at beginning of buffer. */
-
-  return dtls_send_handshake_msg(ctx, peer, DTLS_HT_SERVER_HELLO_DONE,
-                                NULL, 0);
-}
-
-static int
-dtls_send_server_hello_msgs(dtls_context_t *ctx, dtls_peer_t *peer)
-{
-  int res;
-
-  res = dtls_send_server_hello(ctx, peer);
-
-  if (res < 0) {
-    dtls_debug("dtls_server_hello: cannot prepare ServerHello record\n");
-    return res;
-  }
-
-#ifdef DTLS_ECC
-  if (is_tls_ecdhe_ecdsa_with_aes_128_ccm_8(peer->handshake_params->cipher)) {
-    const dtls_ecdsa_key_t *ecdsa_key;
-
-    res = CALL(ctx, get_ecdsa_key, &peer->session, &ecdsa_key);
-    if (res < 0) {
-      dtls_crit("no ecdsa certificate to send in certificate\n");
-      return res;
-    }
-
-    res = dtls_send_certificate_ecdsa(ctx, peer, ecdsa_key);
-
-    if (res < 0) {
-      dtls_debug("dtls_server_hello: cannot prepare Certificate record\n");
-      return res;
-    }
-
-    res = dtls_send_server_key_exchange_ecdh(ctx, peer, ecdsa_key);
-
-    if (res < 0) {
-      dtls_debug("dtls_server_hello: cannot prepare Server Key Exchange record\n");
-      return res;
-    }
-
-    if (is_tls_ecdhe_ecdsa_with_aes_128_ccm_8(peer->handshake_params->cipher) &&
-       is_ecdsa_client_auth_supported(ctx)) {
-      res = dtls_send_server_certificate_request(ctx, peer);
-
-      if (res < 0) {
-        dtls_debug("dtls_server_hello: cannot prepare certificate Request record\n");
-        return res;
-      }
-    }
-  }
-#endif /* DTLS_ECC */
-
-#ifdef DTLS_PSK
-  if (is_tls_psk_with_aes_128_ccm_8(peer->handshake_params->cipher)) {
-    unsigned char psk_hint[DTLS_PSK_MAX_CLIENT_IDENTITY_LEN];
-    int len;
-
-    /* The identity hint is optional, therefore we ignore the result
-     * and check psk only. */
-    len = CALL(ctx, get_psk_info, &peer->session, DTLS_PSK_HINT,
-              NULL, 0, psk_hint, DTLS_PSK_MAX_CLIENT_IDENTITY_LEN);
-
-    if (len < 0) {
-      dtls_debug("dtls_server_hello: cannot create ServerKeyExchange\n");
-      return len;
-    }
-
-    if (len > 0) {
-      res = dtls_send_server_key_exchange_psk(ctx, peer, psk_hint, (size_t)len);
-
-      if (res < 0) {
-       dtls_debug("dtls_server_key_exchange_psk: cannot send server key exchange record\n");
-       return res;
-      }
-    }
-  }
-#endif /* DTLS_PSK */
-
-  res = dtls_send_server_hello_done(ctx, peer);
-
-  if (res < 0) {
-    dtls_debug("dtls_server_hello: cannot prepare ServerHelloDone record\n");
-    return res;
-  }
-  return 0;
-}
-
-static inline int 
-dtls_send_ccs(dtls_context_t *ctx, dtls_peer_t *peer) {
-  uint8 buf[1] = {1};
-
-  return dtls_send(ctx, peer, DTLS_CT_CHANGE_CIPHER_SPEC, buf, 1);
-}
-
-    
-static int
-dtls_send_client_key_exchange(dtls_context_t *ctx, dtls_peer_t *peer)
-{
-  uint8 buf[DTLS_CKXEC_LENGTH];
-  uint8 *p;
-  dtls_handshake_parameters_t *handshake = peer->handshake_params;
-
-  p = buf;
-
-  switch (handshake->cipher) {
-#ifdef DTLS_PSK
-  case TLS_PSK_WITH_AES_128_CCM_8: {
-    int len;
-
-    len = CALL(ctx, get_psk_info, &peer->session, DTLS_PSK_IDENTITY,
-              handshake->keyx.psk.identity, handshake->keyx.psk.id_length,
-              buf + sizeof(uint16),
-              min(sizeof(buf) - sizeof(uint16),
-                  sizeof(handshake->keyx.psk.identity)));
-    if (len < 0) {
-      dtls_crit("no psk identity set in kx\n");
-      return len;
-    }
-
-    if (len + sizeof(uint16) > DTLS_CKXEC_LENGTH) {
-      memset(&handshake->keyx.psk, 0, sizeof(dtls_handshake_parameters_psk_t));
-      dtls_warn("the psk identity is too long\n");
-      return dtls_alert_fatal_create(DTLS_ALERT_INTERNAL_ERROR);
-    }
-    handshake->keyx.psk.id_length = (unsigned int)len;
-    memcpy(handshake->keyx.psk.identity, p + sizeof(uint16), len);
-
-    dtls_int_to_uint16(p, handshake->keyx.psk.id_length);
-    p += sizeof(uint16);
-
-    memcpy(p, handshake->keyx.psk.identity, handshake->keyx.psk.id_length);
-    p += handshake->keyx.psk.id_length;
-
-    break;
-  }
-#endif /* DTLS_PSK */
-#ifdef DTLS_ECC
-  case TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8: {
-    uint8 *ephemeral_pub_x;
-    uint8 *ephemeral_pub_y;
-
-    dtls_int_to_uint8(p, 1 + 2 * DTLS_EC_KEY_SIZE);
-    p += sizeof(uint8);
-
-    /* This should be an uncompressed point, but I do not have access to the spec. */
-    dtls_int_to_uint8(p, 4);
-    p += sizeof(uint8);
-
-    ephemeral_pub_x = p;
-    p += DTLS_EC_KEY_SIZE;
-    ephemeral_pub_y = p;
-    p += DTLS_EC_KEY_SIZE;
-
-    dtls_ecdsa_generate_key(peer->handshake_params->keyx.ecdsa.own_eph_priv,
-                           ephemeral_pub_x, ephemeral_pub_y,
-                           DTLS_EC_KEY_SIZE);
-
-    break;
-  }
-#endif /* DTLS_ECC */
-  default:
-    dtls_crit("cipher not supported\n");
-    return dtls_alert_fatal_create(DTLS_ALERT_INTERNAL_ERROR);
-  }
-
-  assert(p - buf <= sizeof(buf));
-
-  return dtls_send_handshake_msg(ctx, peer, DTLS_HT_CLIENT_KEY_EXCHANGE,
-                                buf, p - buf);
-}
-
-#ifdef DTLS_ECC
-static int
-dtls_send_certificate_verify_ecdh(dtls_context_t *ctx, dtls_peer_t *peer,
-                                  const dtls_ecdsa_key_t *key)
-{
-  /* The ASN.1 Integer representation of an 32 byte unsigned int could be
-   * 33 bytes long add space for that */
-  uint8 buf[DTLS_CV_LENGTH + 2];
-  uint8 *p;
-  uint32_t point_r[9];
-  uint32_t point_s[9];
-  dtls_hash_ctx hs_hash;
-  unsigned char sha256hash[DTLS_HMAC_DIGEST_SIZE];
-
-  /* ServerKeyExchange 
-   *
-   * Start message construction at beginning of buffer. */
-  p = buf;
-
-  copy_hs_hash(peer, &hs_hash);
-
-  dtls_hash_finalize(sha256hash, &hs_hash);
-
-  /* sign the ephemeral and its paramaters */
-  dtls_ecdsa_create_sig_hash(key->priv_key, DTLS_EC_KEY_SIZE,
-                            sha256hash, sizeof(sha256hash),
-                            point_r, point_s);
-
-  p = dtls_add_ecdsa_signature_elem(p, point_r, point_s);
-
-  assert(p - buf <= sizeof(buf));
-
-  return dtls_send_handshake_msg(ctx, peer, DTLS_HT_CERTIFICATE_VERIFY,
-                                buf, p - buf);
-}
-#endif /* DTLS_ECC */
-
-static int
-dtls_send_finished(dtls_context_t *ctx, dtls_peer_t *peer,
-                  const unsigned char *label, size_t labellen)
-{
-  int length;
-  uint8 hash[DTLS_HMAC_MAX];
-  uint8 buf[DTLS_FIN_LENGTH];
-  dtls_hash_ctx hs_hash;
-  uint8 *p = buf;
-
-  copy_hs_hash(peer, &hs_hash);
-
-  length = dtls_hash_finalize(hash, &hs_hash);
-
-  dtls_prf(peer->handshake_params->tmp.master_secret,
-          DTLS_MASTER_SECRET_LENGTH,
-          label, labellen,
-          PRF_LABEL(finished), PRF_LABEL_SIZE(finished), 
-          hash, length,
-          p, DTLS_FIN_LENGTH);
-
-  dtls_debug_dump("server finished MAC", p, DTLS_FIN_LENGTH);
-
-  p += DTLS_FIN_LENGTH;
-
-  assert(p - buf <= sizeof(buf));
-
-  return dtls_send_handshake_msg(ctx, peer, DTLS_HT_FINISHED,
-                                buf, p - buf);
-}
-
-static int
-dtls_send_client_hello(dtls_context_t *ctx, dtls_peer_t *peer,
-                       uint8 cookie[], size_t cookie_length) {
-  uint8 buf[DTLS_CH_LENGTH_MAX];
-  uint8 *p = buf;
-  uint8_t cipher_size;
-  uint8_t extension_size;
-  int psk;
-  int ecdsa;
-  dtls_handshake_parameters_t *handshake = peer->handshake_params;
-  dtls_tick_t now;
-
-  psk = is_psk_supported(ctx);
-  ecdsa = is_ecdsa_supported(ctx, 1);
-
-  cipher_size = 2 + ((ecdsa) ? 2 : 0) + ((psk) ? 2 : 0);
-  extension_size = (ecdsa) ? 2 + 6 + 6 + 8 + 6: 0;
-
-  if (cipher_size == 0) {
-    dtls_crit("no cipher callbacks implemented\n");
-  }
-
-  dtls_int_to_uint16(p, DTLS_VERSION);
-  p += sizeof(uint16);
-
-  if (cookie_length > DTLS_COOKIE_LENGTH_MAX) {
-    dtls_warn("the cookie is too long\n");
-    return dtls_alert_fatal_create(DTLS_ALERT_HANDSHAKE_FAILURE);
-  }
-
-  if (cookie_length == 0) {
-    /* Set client random: First 4 bytes are the client's Unix timestamp,
-     * followed by 28 bytes of generate random data. */
-    dtls_ticks(&now);
-    dtls_int_to_uint32(handshake->tmp.random.client, now / CLOCK_SECOND);
-    dtls_prng(handshake->tmp.random.client + sizeof(uint32),
-         DTLS_RANDOM_LENGTH - sizeof(uint32));
-  }
-  /* we must use the same Client Random as for the previous request */
-  memcpy(p, handshake->tmp.random.client, DTLS_RANDOM_LENGTH);
-  p += DTLS_RANDOM_LENGTH;
-
-  /* session id (length 0) */
-  dtls_int_to_uint8(p, 0);
-  p += sizeof(uint8);
-
-  /* cookie */
-  dtls_int_to_uint8(p, cookie_length);
-  p += sizeof(uint8);
-  if (cookie_length != 0) {
-    memcpy(p, cookie, cookie_length);
-    p += cookie_length;
-  }
-
-  /* add known cipher(s) */
-  dtls_int_to_uint16(p, cipher_size - 2);
-  p += sizeof(uint16);
-
-  if (ecdsa) {
-    dtls_int_to_uint16(p, TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8);
-    p += sizeof(uint16);
-  }
-  if (psk) {
-    dtls_int_to_uint16(p, TLS_PSK_WITH_AES_128_CCM_8);
-    p += sizeof(uint16);
-  }
-
-  /* compression method */
-  dtls_int_to_uint8(p, 1);
-  p += sizeof(uint8);
-
-  dtls_int_to_uint8(p, TLS_COMPRESSION_NULL);
-  p += sizeof(uint8);
-
-  if (extension_size) {
-    /* length of the extensions */
-    dtls_int_to_uint16(p, extension_size - 2);
-    p += sizeof(uint16);
-  }
-
-  if (ecdsa) {
-    /* client certificate type extension */
-    dtls_int_to_uint16(p, TLS_EXT_CLIENT_CERTIFICATE_TYPE);
-    p += sizeof(uint16);
-
-    /* length of this extension type */
-    dtls_int_to_uint16(p, 2);
-    p += sizeof(uint16);
-
-    /* length of the list */
-    dtls_int_to_uint8(p, 1);
-    p += sizeof(uint8);
-
-    dtls_int_to_uint8(p, TLS_CERT_TYPE_RAW_PUBLIC_KEY);
-    p += sizeof(uint8);
-
-    /* client certificate type extension */
-    dtls_int_to_uint16(p, TLS_EXT_SERVER_CERTIFICATE_TYPE);
-    p += sizeof(uint16);
-
-    /* length of this extension type */
-    dtls_int_to_uint16(p, 2);
-    p += sizeof(uint16);
-
-    /* length of the list */
-    dtls_int_to_uint8(p, 1);
-    p += sizeof(uint8);
-
-    dtls_int_to_uint8(p, TLS_CERT_TYPE_RAW_PUBLIC_KEY);
-    p += sizeof(uint8);
-
-    /* elliptic_curves */
-    dtls_int_to_uint16(p, TLS_EXT_ELLIPTIC_CURVES);
-    p += sizeof(uint16);
-
-    /* length of this extension type */
-    dtls_int_to_uint16(p, 4);
-    p += sizeof(uint16);
-
-    /* length of the list */
-    dtls_int_to_uint16(p, 2);
-    p += sizeof(uint16);
-
-    dtls_int_to_uint16(p, TLS_EXT_ELLIPTIC_CURVES_SECP256R1);
-    p += sizeof(uint16);
-
-    /* ec_point_formats */
-    dtls_int_to_uint16(p, TLS_EXT_EC_POINT_FORMATS);
-    p += sizeof(uint16);
-
-    /* length of this extension type */
-    dtls_int_to_uint16(p, 2);
-    p += sizeof(uint16);
-
-    /* number of supported formats */
-    dtls_int_to_uint8(p, 1);
-    p += sizeof(uint8);
-
-    dtls_int_to_uint8(p, TLS_EXT_EC_POINT_FORMATS_UNCOMPRESSED);
-    p += sizeof(uint8);
-  }
-
-  assert(p - buf <= sizeof(buf));
-
-  if (cookie_length != 0)
-    clear_hs_hash(peer);
-
-  return dtls_send_handshake_msg_hash(ctx, peer, &peer->session,
-                                     DTLS_HT_CLIENT_HELLO,
-                                     buf, p - buf, cookie_length != 0);
-}
-
-static int
-check_server_hello(dtls_context_t *ctx, 
-                     dtls_peer_t *peer,
-                     uint8 *data, size_t data_length)
-{
-  dtls_handshake_parameters_t *handshake = peer->handshake_params;
-
-  /* This function is called when we expect a ServerHello (i.e. we
-   * have sent a ClientHello).  We might instead receive a HelloVerify
-   * request containing a cookie. If so, we must repeat the
-   * ClientHello with the given Cookie.
-   */
-  if (data_length < DTLS_HS_LENGTH + DTLS_HS_LENGTH)
-    return dtls_alert_fatal_create(DTLS_ALERT_DECODE_ERROR);
-
-  update_hs_hash(peer, data, data_length);
-
-  /* FIXME: check data_length before accessing fields */
-
-  /* Get the server's random data and store selected cipher suite
-   * and compression method (like dtls_update_parameters().
-   * Then calculate master secret and wait for ServerHelloDone. When received,
-   * send ClientKeyExchange (?) and ChangeCipherSpec + ClientFinished. */
-    
-  /* check server version */
-  data += DTLS_HS_LENGTH;
-  data_length -= DTLS_HS_LENGTH;
-    
-  if (dtls_uint16_to_int(data) != DTLS_VERSION) {
-    dtls_alert("unknown DTLS version\n");
-    return dtls_alert_fatal_create(DTLS_ALERT_PROTOCOL_VERSION);
-  }
-
-  data += sizeof(uint16);            /* skip version field */
-  data_length -= sizeof(uint16);
-
-  /* store server random data */
-  memcpy(handshake->tmp.random.server, data, DTLS_RANDOM_LENGTH);
-  /* skip server random */
-  data += DTLS_RANDOM_LENGTH;
-  data_length -= DTLS_RANDOM_LENGTH;
-
-  SKIP_VAR_FIELD(data, data_length, uint8); /* skip session id */
-    
-  /* Check cipher suite. As we offer all we have, it is sufficient
-   * to check if the cipher suite selected by the server is in our
-   * list of known cipher suites. Subsets are not supported. */
-  handshake->cipher = dtls_uint16_to_int(data);
-  if (!known_cipher(ctx, handshake->cipher, 1)) {
-    dtls_alert("unsupported cipher 0x%02x 0x%02x\n",
-            data[0], data[1]);
-    return dtls_alert_fatal_create(DTLS_ALERT_INSUFFICIENT_SECURITY);
-  }
-  data += sizeof(uint16);
-  data_length -= sizeof(uint16);
-
-  /* Check if NULL compression was selected. We do not know any other. */
-  if (dtls_uint8_to_int(data) != TLS_COMPRESSION_NULL) {
-    dtls_alert("unsupported compression method 0x%02x\n", data[0]);
-    return dtls_alert_fatal_create(DTLS_ALERT_INSUFFICIENT_SECURITY);
-  }
-  data += sizeof(uint8);
-  data_length -= sizeof(uint8);
-
-  return dtls_check_tls_extension(peer, data, data_length, 0);
-
-error:
-  return dtls_alert_fatal_create(DTLS_ALERT_DECODE_ERROR);
-}
-
-static int
-check_server_hello_verify_request(dtls_context_t *ctx,
-                                 dtls_peer_t *peer,
-                                 uint8 *data, size_t data_length)
-{
-  dtls_hello_verify_t *hv;
-  int res;
-
-  if (data_length < DTLS_HS_LENGTH + DTLS_HV_LENGTH)
-    return dtls_alert_fatal_create(DTLS_ALERT_DECODE_ERROR);
-
-  hv = (dtls_hello_verify_t *)(data + DTLS_HS_LENGTH);
-
-  res = dtls_send_client_hello(ctx, peer, hv->cookie, hv->cookie_length);
-
-  if (res < 0)
-    dtls_warn("cannot send ClientHello\n");
-
-  return res;
-}
-
-#ifdef DTLS_ECC
-static int
-check_server_certificate(dtls_context_t *ctx, 
-                        dtls_peer_t *peer,
-                        uint8 *data, size_t data_length)
-{
-  int err;
-  dtls_handshake_parameters_t *config = peer->handshake_params;
-
-  update_hs_hash(peer, data, data_length);
-
-  assert(is_tls_ecdhe_ecdsa_with_aes_128_ccm_8(config->cipher));
-
-  data += DTLS_HS_LENGTH;
-
-  if (dtls_uint24_to_int(data) != 94) {
-    dtls_alert("expect length of 94 bytes for server certificate message\n");
-    return dtls_alert_fatal_create(DTLS_ALERT_DECODE_ERROR);
-  }
-  data += sizeof(uint24);
-
-  if (dtls_uint24_to_int(data) != 91) {
-    dtls_alert("expect length of 91 bytes for certificate\n");
-    return dtls_alert_fatal_create(DTLS_ALERT_DECODE_ERROR);
-  }
-  data += sizeof(uint24);
-
-  if (memcmp(data, cert_asn1_header, sizeof(cert_asn1_header))) {
-    dtls_alert("got an unexpected Subject public key format\n");
-    return dtls_alert_fatal_create(DTLS_ALERT_DECODE_ERROR);
-  }
-  data += sizeof(cert_asn1_header);
-
-  memcpy(config->keyx.ecdsa.other_pub_x, data,
-        sizeof(config->keyx.ecdsa.other_pub_x));
-  data += sizeof(config->keyx.ecdsa.other_pub_x);
-
-  memcpy(config->keyx.ecdsa.other_pub_y, data,
-        sizeof(config->keyx.ecdsa.other_pub_y));
-  data += sizeof(config->keyx.ecdsa.other_pub_y);
-
-  err = CALL(ctx, verify_ecdsa_key, &peer->session,
-            config->keyx.ecdsa.other_pub_x,
-            config->keyx.ecdsa.other_pub_y,
-            sizeof(config->keyx.ecdsa.other_pub_x));
-  if (err < 0) {
-    dtls_warn("The certificate was not accepted\n");
-    return err;
-  }
-
-  return 0;
-}
-
-static int
-check_server_key_exchange_ecdsa(dtls_context_t *ctx,
-                               dtls_peer_t *peer,
-                               uint8 *data, size_t data_length)
-{
-  dtls_handshake_parameters_t *config = peer->handshake_params;
-  int ret;
-  unsigned char *result_r;
-  unsigned char *result_s;
-  unsigned char *key_params;
-
-  update_hs_hash(peer, data, data_length);
-
-  assert(is_tls_ecdhe_ecdsa_with_aes_128_ccm_8(config->cipher));
-
-  data += DTLS_HS_LENGTH;
-
-  if (data_length < DTLS_HS_LENGTH + DTLS_SKEXEC_LENGTH) {
-    dtls_alert("the packet length does not match the expected\n");
-    return dtls_alert_fatal_create(DTLS_ALERT_DECODE_ERROR);
-  }
-  key_params = data;
-
-  if (dtls_uint8_to_int(data) != TLS_EC_CURVE_TYPE_NAMED_CURVE) {
-    dtls_alert("Only named curves supported\n");
-    return dtls_alert_fatal_create(DTLS_ALERT_HANDSHAKE_FAILURE);
-  }
-  data += sizeof(uint8);
-  data_length -= sizeof(uint8);
-
-  if (dtls_uint16_to_int(data) != TLS_EXT_ELLIPTIC_CURVES_SECP256R1) {
-    dtls_alert("secp256r1 supported\n");
-    return dtls_alert_fatal_create(DTLS_ALERT_HANDSHAKE_FAILURE);
-  }
-  data += sizeof(uint16);
-  data_length -= sizeof(uint16);
-
-  if (dtls_uint8_to_int(data) != 1 + 2 * DTLS_EC_KEY_SIZE) {
-    dtls_alert("expected 65 bytes long public point\n");
-    return dtls_alert_fatal_create(DTLS_ALERT_HANDSHAKE_FAILURE);
-  }
-  data += sizeof(uint8);
-  data_length -= sizeof(uint8);
-
-  if (dtls_uint8_to_int(data) != 4) {
-    dtls_alert("expected uncompressed public point\n");
-    return dtls_alert_fatal_create(DTLS_ALERT_DECODE_ERROR);
-  }
-  data += sizeof(uint8);
-  data_length -= sizeof(uint8);
-
-  memcpy(config->keyx.ecdsa.other_eph_pub_x, data, sizeof(config->keyx.ecdsa.other_eph_pub_y));
-  data += sizeof(config->keyx.ecdsa.other_eph_pub_y);
-  data_length -= sizeof(config->keyx.ecdsa.other_eph_pub_y);
-
-  memcpy(config->keyx.ecdsa.other_eph_pub_y, data, sizeof(config->keyx.ecdsa.other_eph_pub_y));
-  data += sizeof(config->keyx.ecdsa.other_eph_pub_y);
-  data_length -= sizeof(config->keyx.ecdsa.other_eph_pub_y);
-
-  ret = dtls_check_ecdsa_signature_elem(data, data_length, &result_r, &result_s);
-  if (ret < 0) {
-    return ret;
-  }
-  data += ret;
-  data_length -= ret;
-
-  ret = dtls_ecdsa_verify_sig(config->keyx.ecdsa.other_pub_x, config->keyx.ecdsa.other_pub_y,
-                           sizeof(config->keyx.ecdsa.other_pub_x),
-                           config->tmp.random.client, DTLS_RANDOM_LENGTH,
-                           config->tmp.random.server, DTLS_RANDOM_LENGTH,
-                           key_params,
-                           1 + 2 + 1 + 1 + (2 * DTLS_EC_KEY_SIZE),
-                           result_r, result_s);
-
-  if (ret < 0) {
-    dtls_alert("wrong signature\n");
-    return dtls_alert_fatal_create(DTLS_ALERT_HANDSHAKE_FAILURE);
-  }
-  return 0;
-}
-#endif /* DTLS_ECC */
-
-#ifdef DTLS_PSK
-static int
-check_server_key_exchange_psk(dtls_context_t *ctx,
-                             dtls_peer_t *peer,
-                             uint8 *data, size_t data_length)
-{
-  dtls_handshake_parameters_t *config = peer->handshake_params;
-  uint16_t len;
-
-  update_hs_hash(peer, data, data_length);
-
-  assert(is_tls_psk_with_aes_128_ccm_8(config->cipher));
-
-  data += DTLS_HS_LENGTH;
-
-  if (data_length < DTLS_HS_LENGTH + DTLS_SKEXECPSK_LENGTH_MIN) {
-    dtls_alert("the packet length does not match the expected\n");
-    return dtls_alert_fatal_create(DTLS_ALERT_DECODE_ERROR);
-  }
-
-  len = dtls_uint16_to_int(data);
-  data += sizeof(uint16);
-
-  if (len != data_length - DTLS_HS_LENGTH - sizeof(uint16)) {
-    dtls_warn("the length of the server identity hint is worng\n");
-    return dtls_alert_fatal_create(DTLS_ALERT_DECODE_ERROR);
-  }
-
-  if (len > DTLS_PSK_MAX_CLIENT_IDENTITY_LEN) {
-    dtls_warn("please use a smaller server identity hint\n");
-    return dtls_alert_fatal_create(DTLS_ALERT_INTERNAL_ERROR);
-  }
-
-  /* store the psk_identity_hint in config->keyx.psk for later use */
-  config->keyx.psk.id_length = len;
-  memcpy(config->keyx.psk.identity, data, len);
-  return 0;
-}
-#endif /* DTLS_PSK */
-
-static int
-check_certificate_request(dtls_context_t *ctx, 
-                         dtls_peer_t *peer,
-                         uint8 *data, size_t data_length)
-{
-  unsigned int i;
-  int auth_alg;
-  int sig_alg;
-  int hash_alg;
-
-  update_hs_hash(peer, data, data_length);
-
-  assert(is_tls_ecdhe_ecdsa_with_aes_128_ccm_8(peer->handshake_params->cipher));
-
-  data += DTLS_HS_LENGTH;
-
-  if (data_length < DTLS_HS_LENGTH + 5) {
-    dtls_alert("the packet length does not match the expected\n");
-    return dtls_alert_fatal_create(DTLS_ALERT_DECODE_ERROR);
-  }
-
-  i = dtls_uint8_to_int(data);
-  data += sizeof(uint8);
-  if (i + 1 > data_length) {
-    dtls_alert("the cerfificate types are too long\n");
-    return dtls_alert_fatal_create(DTLS_ALERT_DECODE_ERROR);
-  }
-
-  auth_alg = 0;
-  for (; i > 0 ; i -= sizeof(uint8)) {
-    if (dtls_uint8_to_int(data) == TLS_CLIENT_CERTIFICATE_TYPE_ECDSA_SIGN
-       && auth_alg == 0)
-      auth_alg = dtls_uint8_to_int(data);
-    data += sizeof(uint8);
-  }
-
-  if (auth_alg != TLS_CLIENT_CERTIFICATE_TYPE_ECDSA_SIGN) {
-    dtls_alert("the request authentication algorithm is not supproted\n");
-    return dtls_alert_fatal_create(DTLS_ALERT_HANDSHAKE_FAILURE);
-  }
-
-  i = dtls_uint16_to_int(data);
-  data += sizeof(uint16);
-  if (i + 1 > data_length) {
-    dtls_alert("the signature and hash algorithm list is too long\n");
-    return dtls_alert_fatal_create(DTLS_ALERT_DECODE_ERROR);
-  }
-
-  hash_alg = 0;
-  sig_alg = 0;
-  for (; i > 0 ; i -= sizeof(uint16)) {
-    int current_hash_alg;
-    int current_sig_alg;
-
-    current_hash_alg = dtls_uint8_to_int(data);
-    data += sizeof(uint8);
-    current_sig_alg = dtls_uint8_to_int(data);
-    data += sizeof(uint8);
-
-    if (current_hash_alg == TLS_EXT_SIG_HASH_ALGO_SHA256 && hash_alg == 0 && 
-        current_sig_alg == TLS_EXT_SIG_HASH_ALGO_ECDSA && sig_alg == 0) {
-      hash_alg = current_hash_alg;
-      sig_alg = current_sig_alg;
-    }
-  }
-
-  if (hash_alg != TLS_EXT_SIG_HASH_ALGO_SHA256 ||
-      sig_alg != TLS_EXT_SIG_HASH_ALGO_ECDSA) {
-    dtls_alert("no supported hash and signature algorithem\n");
-    return dtls_alert_fatal_create(DTLS_ALERT_HANDSHAKE_FAILURE);
-  }
-
-  /* common names are ignored */
-
-  peer->handshake_params->do_client_auth = 1;
-  return 0;
-}
-
-static int
-check_server_hellodone(dtls_context_t *ctx, 
-                     dtls_peer_t *peer,
-                     uint8 *data, size_t data_length)
-{
-  int res;
-#ifdef DTLS_ECC
-  const dtls_ecdsa_key_t *ecdsa_key;
-#endif /* DTLS_ECC */
-
-  dtls_handshake_parameters_t *handshake = peer->handshake_params;
-
-  /* calculate master key, send CCS */
-
-  update_hs_hash(peer, data, data_length);
-
-#ifdef DTLS_ECC
-  if (handshake->do_client_auth) {
-
-    res = CALL(ctx, get_ecdsa_key, &peer->session, &ecdsa_key);
-    if (res < 0) {
-      dtls_crit("no ecdsa certificate to send in certificate\n");
-      return res;
-    }
-
-    res = dtls_send_certificate_ecdsa(ctx, peer, ecdsa_key);
-
-    if (res < 0) {
-      dtls_debug("dtls_server_hello: cannot prepare Certificate record\n");
-      return res;
-    }
-  }
-#endif /* DTLS_ECC */
-
-  /* send ClientKeyExchange */
-  res = dtls_send_client_key_exchange(ctx, peer);
-
-  if (res < 0) {
-    dtls_debug("cannot send KeyExchange message\n");
-    return res;
-  }
-
-#ifdef DTLS_ECC
-  if (handshake->do_client_auth) {
-
-    res = dtls_send_certificate_verify_ecdh(ctx, peer, ecdsa_key);
-
-    if (res < 0) {
-      dtls_debug("dtls_server_hello: cannot prepare Certificate record\n");
-      return res;
-    }
-  }
-#endif /* DTLS_ECC */
-
-  res = calculate_key_block(ctx, handshake, peer,
-                           &peer->session, peer->role);
-  if (res < 0) {
-    return res;
-  }
-
-  res = dtls_send_ccs(ctx, peer);
-  if (res < 0) {
-    dtls_debug("cannot send CCS message\n");
-    return res;
-  }
-
-  /* and switch cipher suite */
-  dtls_security_params_switch(peer);
-
-  /* Client Finished */
-  return dtls_send_finished(ctx, peer, PRF_LABEL(client), PRF_LABEL_SIZE(client));
-}
-
-static int
-decrypt_verify(dtls_peer_t *peer, uint8 *packet, size_t length,
-              uint8 **cleartext)
-{
-  dtls_record_header_t *header = DTLS_RECORD_HEADER(packet);
-  dtls_security_parameters_t *security = dtls_security_params_epoch(peer, dtls_get_epoch(header));
-  int clen;
-  
-  *cleartext = (uint8 *)packet + sizeof(dtls_record_header_t);
-  clen = length - sizeof(dtls_record_header_t);
-
-  if (!security) {
-    dtls_alert("No security context for epoch: %i\n", dtls_get_epoch(header));
-    return -1;
-  }
-
-  if (security->cipher == TLS_NULL_WITH_NULL_NULL) {
-    /* no cipher suite selected */
-    return clen;
-  } else { /* TLS_PSK_WITH_AES_128_CCM_8 or TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8 */
-    /** 
-     * length of additional_data for the AEAD cipher which consists of
-     * seq_num(2+6) + type(1) + version(2) + length(2)
-     */
-#define A_DATA_LEN 13
-    unsigned char nonce[DTLS_CCM_BLOCKSIZE];
-    unsigned char A_DATA[A_DATA_LEN];
-
-    if (clen < 16)             /* need at least IV and MAC */
-      return -1;
-
-    memset(nonce, 0, DTLS_CCM_BLOCKSIZE);
-    memcpy(nonce, dtls_kb_remote_iv(security, peer->role),
-          dtls_kb_iv_size(security, peer->role));
-
-    /* read epoch and seq_num from message */
-    memcpy(nonce + dtls_kb_iv_size(security, peer->role), *cleartext, 8);
-    *cleartext += 8;
-    clen -= 8;
-
-    dtls_debug_dump("nonce", nonce, DTLS_CCM_BLOCKSIZE);
-    dtls_debug_dump("key", dtls_kb_remote_write_key(security, peer->role),
-                   dtls_kb_key_size(security, peer->role));
-    dtls_debug_dump("ciphertext", *cleartext, clen);
-
-    /* re-use N to create additional data according to RFC 5246, Section 6.2.3.3:
-     * 
-     * additional_data = seq_num + TLSCompressed.type +
-     *                   TLSCompressed.version + TLSCompressed.length;
-     */
-    memcpy(A_DATA, &DTLS_RECORD_HEADER(packet)->epoch, 8); /* epoch and seq_num */
-    memcpy(A_DATA + 8,  &DTLS_RECORD_HEADER(packet)->content_type, 3); /* type and version */
-    dtls_int_to_uint16(A_DATA + 11, clen - 8); /* length without nonce_explicit */
-
-    clen = dtls_decrypt(*cleartext, clen, *cleartext, nonce,
-                      dtls_kb_remote_write_key(security, peer->role),
-                      dtls_kb_key_size(security, peer->role),
-                      A_DATA, A_DATA_LEN);
-    if (clen < 0)
-      dtls_warn("decryption failed\n");
-    else {
-#ifndef NDEBUG
-      printf("decrypt_verify(): found %i bytes cleartext\n", clen);
-#endif
-      dtls_security_params_free_other(peer);
-      dtls_debug_dump("cleartext", *cleartext, clen);
-    }
-  }
-  return clen;
-}
-
-static int
-dtls_send_hello_request(dtls_context_t *ctx, dtls_peer_t *peer)
-{
-  return dtls_send_handshake_msg_hash(ctx, peer, &peer->session,
-                                     DTLS_HT_HELLO_REQUEST,
-                                     NULL, 0, 0);
-}
-
-int
-dtls_renegotiate(dtls_context_t *ctx, const session_t *dst)
-{
-  dtls_peer_t *peer = NULL;
-  int err;
-
-  peer = dtls_get_peer(ctx, dst);
-
-  if (!peer) {
-    return -1;
-  }
-  if (peer->state != DTLS_STATE_CONNECTED)
-    return -1;
-
-  peer->handshake_params = dtls_handshake_new();
-  if (!peer->handshake_params)
-    return -1;
-
-  peer->handshake_params->hs_state.mseq_r = 0;
-  peer->handshake_params->hs_state.mseq_s = 0;
-
-  if (peer->role == DTLS_CLIENT) {
-    /* send ClientHello with empty Cookie */
-    err = dtls_send_client_hello(ctx, peer, NULL, 0);
-    if (err < 0)
-      dtls_warn("cannot send ClientHello\n");
-    else
-      peer->state = DTLS_STATE_CLIENTHELLO;
-    return err;
-  } else if (peer->role == DTLS_SERVER) {
-    return dtls_send_hello_request(ctx, peer);
-  }
-
-  return -1;
-}
-
-static int
-handle_handshake_msg(dtls_context_t *ctx, dtls_peer_t *peer, session_t *session,
-                const dtls_peer_type role, const dtls_state_t state,
-                uint8 *data, size_t data_length) {
-
-  int err = 0;
-
-  /* This will clear the retransmission buffer if we get an expected
-   * handshake message. We have to make sure that no handshake message
-   * should get expected when we still should retransmit something, when
-   * we do everything accordingly to the DTLS 1.2 standard this should
-   * not be a problem. */
-  if (peer) {
-    dtls_stop_retransmission(ctx, peer);
-  }
-
-  /* The following switch construct handles the given message with
-   * respect to the current internal state for this peer. In case of
-   * error, it is left with return 0. */
-
-  dtls_debug("handle handshake packet of type: %s (%i)\n",
-            dtls_handshake_type_to_name(data[0]), data[0]);
-  switch (data[0]) {
-
-  /************************************************************************
-   * Client states
-   ************************************************************************/
-  case DTLS_HT_HELLO_VERIFY_REQUEST:
-
-    if (state != DTLS_STATE_CLIENTHELLO) {
-      return dtls_alert_fatal_create(DTLS_ALERT_UNEXPECTED_MESSAGE);
-    }
-
-    err = check_server_hello_verify_request(ctx, peer, data, data_length);
-    if (err < 0) {
-      dtls_warn("error in check_server_hello_verify_request err: %i\n", err);
-      return err;
-    }
-
-    break;
-  case DTLS_HT_SERVER_HELLO:
-
-    if (state != DTLS_STATE_CLIENTHELLO) {
-      return dtls_alert_fatal_create(DTLS_ALERT_UNEXPECTED_MESSAGE);
-    }
-
-    err = check_server_hello(ctx, peer, data, data_length);
-    if (err < 0) {
-      dtls_warn("error in check_server_hello err: %i\n", err);
-      return err;
-    }
-    if (is_tls_ecdhe_ecdsa_with_aes_128_ccm_8(peer->handshake_params->cipher))
-      peer->state = DTLS_STATE_WAIT_SERVERCERTIFICATE;
-    else
-      peer->state = DTLS_STATE_WAIT_SERVERHELLODONE;
-    /* update_hs_hash(peer, data, data_length); */
-
-    break;
-
-#ifdef DTLS_ECC
-  case DTLS_HT_CERTIFICATE:
-
-    if ((role == DTLS_CLIENT && state != DTLS_STATE_WAIT_SERVERCERTIFICATE) ||
-        (role == DTLS_SERVER && state != DTLS_STATE_WAIT_CLIENTCERTIFICATE)) {
-      return dtls_alert_fatal_create(DTLS_ALERT_UNEXPECTED_MESSAGE);
-    }
-    err = check_server_certificate(ctx, peer, data, data_length);
-    if (err < 0) {
-      dtls_warn("error in check_server_certificate err: %i\n", err);
-      return err;
-    }
-    if (role == DTLS_CLIENT) {
-      peer->state = DTLS_STATE_WAIT_SERVERKEYEXCHANGE;
-    } else if (role == DTLS_SERVER){
-      peer->state = DTLS_STATE_WAIT_CLIENTKEYEXCHANGE;
-    }
-    /* update_hs_hash(peer, data, data_length); */
-
-    break;
-#endif /* DTLS_ECC */
-
-  case DTLS_HT_SERVER_KEY_EXCHANGE:
-
-#ifdef DTLS_ECC
-    if (is_tls_ecdhe_ecdsa_with_aes_128_ccm_8(peer->handshake_params->cipher)) {
-      if (state != DTLS_STATE_WAIT_SERVERKEYEXCHANGE) {
-        return dtls_alert_fatal_create(DTLS_ALERT_UNEXPECTED_MESSAGE);
-      }
-      err = check_server_key_exchange_ecdsa(ctx, peer, data, data_length);
-    }
-#endif /* DTLS_ECC */
-#ifdef DTLS_PSK
-    if (is_tls_psk_with_aes_128_ccm_8(peer->handshake_params->cipher)) {
-      if (state != DTLS_STATE_WAIT_SERVERHELLODONE) {
-        return dtls_alert_fatal_create(DTLS_ALERT_UNEXPECTED_MESSAGE);
-      }
-      err = check_server_key_exchange_psk(ctx, peer, data, data_length);
-    }
-#endif /* DTLS_PSK */
-
-    if (err < 0) {
-      dtls_warn("error in check_server_key_exchange err: %i\n", err);
-      return err;
-    }
-    peer->state = DTLS_STATE_WAIT_SERVERHELLODONE;
-    /* update_hs_hash(peer, data, data_length); */
-
-    break;
-
-  case DTLS_HT_SERVER_HELLO_DONE:
-
-    if (state != DTLS_STATE_WAIT_SERVERHELLODONE) {
-      return dtls_alert_fatal_create(DTLS_ALERT_UNEXPECTED_MESSAGE);
-    }
-
-    err = check_server_hellodone(ctx, peer, data, data_length);
-    if (err < 0) {
-      dtls_warn("error in check_server_hellodone err: %i\n", err);
-      return err;
-    }
-    peer->state = DTLS_STATE_WAIT_CHANGECIPHERSPEC;
-    /* update_hs_hash(peer, data, data_length); */
-
-    break;
-
-  case DTLS_HT_CERTIFICATE_REQUEST:
-
-    if (state != DTLS_STATE_WAIT_SERVERHELLODONE) {
-      return dtls_alert_fatal_create(DTLS_ALERT_UNEXPECTED_MESSAGE);
-    }
-
-    err = check_certificate_request(ctx, peer, data, data_length);
-    if (err < 0) {
-      dtls_warn("error in check_certificate_request err: %i\n", err);
-      return err;
-    }
-
-    break;
-
-  case DTLS_HT_FINISHED:
-    /* expect a Finished message from server */
-
-    if (state != DTLS_STATE_WAIT_FINISHED) {
-      return dtls_alert_fatal_create(DTLS_ALERT_UNEXPECTED_MESSAGE);
-    }
-
-    err = check_finished(ctx, peer, data, data_length);
-    if (err < 0) {
-      dtls_warn("error in check_finished err: %i\n", err);
-      return err;
-    }
-    if (role == DTLS_SERVER) {
-      /* send ServerFinished */
-      update_hs_hash(peer, data, data_length);
-
-      /* send change cipher spec message and switch to new configuration */
-      err = dtls_send_ccs(ctx, peer);
-      if (err < 0) {
-        dtls_warn("cannot send CCS message\n");
-        return err;
-      }
-
-      dtls_security_params_switch(peer);
-
-      err = dtls_send_finished(ctx, peer, PRF_LABEL(server), PRF_LABEL_SIZE(server));
-      if (err < 0) {
-        dtls_warn("sending server Finished failed\n");
-        return err;
-      }
-    }
-    dtls_handshake_free(peer->handshake_params);
-    peer->handshake_params = NULL;
-    dtls_debug("Handshake complete\n");
-    check_stack();
-    peer->state = DTLS_STATE_CONNECTED;
-
-    /* return here to not increase the message receive counter */
-    return err;
-
-  /************************************************************************
-   * Server states
-   ************************************************************************/
-
-  case DTLS_HT_CLIENT_KEY_EXCHANGE:
-    /* handle ClientHello, update msg and msglen and goto next if not finished */
-
-    if (state != DTLS_STATE_WAIT_CLIENTKEYEXCHANGE) {
-      return dtls_alert_fatal_create(DTLS_ALERT_UNEXPECTED_MESSAGE);
-    }
-
-    err = check_client_keyexchange(ctx, peer->handshake_params, data, data_length);
-    if (err < 0) {
-      dtls_warn("error in check_client_keyexchange err: %i\n", err);
-      return err;
-    }
-    update_hs_hash(peer, data, data_length);
-
-    if (is_tls_ecdhe_ecdsa_with_aes_128_ccm_8(peer->handshake_params->cipher) &&
-       is_ecdsa_client_auth_supported(ctx))
-      peer->state = DTLS_STATE_WAIT_CERTIFICATEVERIFY;
-    else
-      peer->state = DTLS_STATE_WAIT_CHANGECIPHERSPEC;
-    break;
-
-#ifdef DTLS_ECC
-  case DTLS_HT_CERTIFICATE_VERIFY:
-
-    if (state != DTLS_STATE_WAIT_CERTIFICATEVERIFY) {
-      return dtls_alert_fatal_create(DTLS_ALERT_UNEXPECTED_MESSAGE);
-    }
-
-    err = check_client_certificate_verify(ctx, peer, data, data_length);
-    if (err < 0) {
-      dtls_warn("error in check_client_certificate_verify err: %i\n", err);
-      return err;
-    }
-
-    update_hs_hash(peer, data, data_length);
-    peer->state = DTLS_STATE_WAIT_CHANGECIPHERSPEC;
-    break;
-#endif /* DTLS_ECC */
-
-  case DTLS_HT_CLIENT_HELLO:
-
-    if ((peer && state != DTLS_STATE_CONNECTED) ||
-       (!peer && state != DTLS_STATE_WAIT_CLIENTHELLO)) {
-      return dtls_alert_fatal_create(DTLS_ALERT_UNEXPECTED_MESSAGE);
-    }
-
-    /* When no DTLS state exists for this peer, we only allow a
-       Client Hello message with
-
-       a) a valid cookie, or
-       b) no cookie.
-
-       Anything else will be rejected. Fragementation is not allowed
-       here as it would require peer state as well.
-    */
-    err = dtls_verify_peer(ctx, peer, session, data, data_length);
-    if (err < 0) {
-      dtls_warn("error in dtls_verify_peer err: %i\n", err);
-      return err;
-    }
-
-    if (err > 0) {
-      dtls_debug("server hello verify was sent\n");
-      break;
-    }
-
-    /* At this point, we have a good relationship with this peer. This
-     * state is left for re-negotiation of key material. */
-    if (!peer) {
-      dtls_security_parameters_t *security;
-
-      /* msg contains a Client Hello with a valid cookie, so we can
-       * safely create the server state machine and continue with
-       * the handshake. */
-      peer = dtls_new_peer(session);
-      if (!peer) {
-        dtls_alert("cannot create peer\n");
-        return dtls_alert_fatal_create(DTLS_ALERT_INTERNAL_ERROR);
-      }
-      peer->role = DTLS_SERVER;
-
-      /* Initialize record sequence number to 1 for new peers. The first
-       * record with sequence number 0 is a stateless Hello Verify Request.
-       */
-      security = dtls_security_params(peer);
-      security->rseq = 1;
-      dtls_add_peer(ctx, peer);
-    }
-    if (peer && !peer->handshake_params) {
-      dtls_handshake_header_t *hs_header = DTLS_HANDSHAKE_HEADER(data);
-
-      peer->handshake_params = dtls_handshake_new();
-      if (!peer->handshake_params)
-        return dtls_alert_fatal_create(DTLS_ALERT_INTERNAL_ERROR);
-
-      LIST_STRUCT_INIT(peer->handshake_params, reorder_queue);
-      peer->handshake_params->hs_state.mseq_r = dtls_uint16_to_int(hs_header->message_seq);
-      peer->handshake_params->hs_state.mseq_s = 1;
-    }
-
-    clear_hs_hash(peer);
-
-    /* First negotiation step: check for PSK
-     *
-     * Note that we already have checked that msg is a Handshake
-     * message containing a ClientHello. dtls_get_cipher() therefore
-     * does not check again.
-     */
-    err = dtls_update_parameters(ctx, peer, data, data_length);
-    if (err < 0) {
-      dtls_warn("error updating security parameters\n");
-      return err;
-    }
-
-    /* update finish MAC */
-    update_hs_hash(peer, data, data_length);
-
-    err = dtls_send_server_hello_msgs(ctx, peer);
-    if (err < 0) {
-      return err;
-    }
-    if (is_tls_ecdhe_ecdsa_with_aes_128_ccm_8(peer->handshake_params->cipher) &&
-       is_ecdsa_client_auth_supported(ctx))
-      peer->state = DTLS_STATE_WAIT_CLIENTCERTIFICATE;
-    else
-      peer->state = DTLS_STATE_WAIT_CLIENTKEYEXCHANGE;
-
-    /* after sending the ServerHelloDone, we expect the
-     * ClientKeyExchange (possibly containing the PSK id),
-     * followed by a ChangeCipherSpec and an encrypted Finished.
-     */
-
-    break;
-
-  case DTLS_HT_HELLO_REQUEST:
-
-    if (state != DTLS_STATE_CONNECTED) {
-      /* we should just ignore such packets when in handshake */
-      return 0;
-    }
-
-    if (peer && !peer->handshake_params) {
-      peer->handshake_params = dtls_handshake_new();
-      if (!peer->handshake_params)
-        return dtls_alert_fatal_create(DTLS_ALERT_INTERNAL_ERROR);
-
-      LIST_STRUCT_INIT(peer->handshake_params, reorder_queue);
-      peer->handshake_params->hs_state.mseq_r = 0;
-      peer->handshake_params->hs_state.mseq_s = 0;
-    }
-
-    /* send ClientHello with empty Cookie */
-    err = dtls_send_client_hello(ctx, peer, NULL, 0);
-    if (err < 0) {
-      dtls_warn("cannot send ClientHello\n");
-      return err;
-    }
-    peer->state = DTLS_STATE_CLIENTHELLO;
-    break;
-
-  default:
-    dtls_crit("unhandled message %d\n", data[0]);
-    return dtls_alert_fatal_create(DTLS_ALERT_UNEXPECTED_MESSAGE);
-  }
-
-  if (peer && peer->handshake_params && err >= 0) {
-    peer->handshake_params->hs_state.mseq_r++;
-  }
-
-  return err;
-}
-      
-static int
-handle_handshake(dtls_context_t *ctx, dtls_peer_t *peer, session_t *session,
-                const dtls_peer_type role, const dtls_state_t state,
-                uint8 *data, size_t data_length)
-{
-  dtls_handshake_header_t *hs_header;
-  int res;
-
-  if (data_length < DTLS_HS_LENGTH) {
-    dtls_warn("handshake message too short\n");
-    return dtls_alert_fatal_create(DTLS_ALERT_DECODE_ERROR);
-  }
-  hs_header = DTLS_HANDSHAKE_HEADER(data);
-
-  dtls_debug("received handshake packet of type: %s (%i)\n",
-            dtls_handshake_type_to_name(hs_header->msg_type), hs_header->msg_type);
-
-  if (!peer || !peer->handshake_params) {
-    /* This is the initial ClientHello */
-    if (hs_header->msg_type != DTLS_HT_CLIENT_HELLO && !peer) {
-      dtls_warn("If there is no peer only ClientHello is allowed\n");
-      return dtls_alert_fatal_create(DTLS_ALERT_HANDSHAKE_FAILURE);
-    }
-
-    /* This is a ClientHello or Hello Request send when doing TLS renegotiation */
-    if (hs_header->msg_type == DTLS_HT_CLIENT_HELLO ||
-       hs_header->msg_type == DTLS_HT_HELLO_REQUEST) {
-      return handle_handshake_msg(ctx, peer, session, role, state, data,
-                                 data_length);
-    } else {
-      dtls_warn("ignore unexpected handshake message\n");
-      return 0;
-    }
-  }
-
-  if (dtls_uint16_to_int(hs_header->message_seq) < peer->handshake_params->hs_state.mseq_r) {
-    dtls_warn("The message sequence number is too small, expected %i, got: %i\n",
-             peer->handshake_params->hs_state.mseq_r, dtls_uint16_to_int(hs_header->message_seq));
-    return 0;
-  } else if (dtls_uint16_to_int(hs_header->message_seq) > peer->handshake_params->hs_state.mseq_r) {
-    /* A packet in between is missing, buffer this packet. */
-    netq_t *n;
-
-    /* TODO: only add packet that are not too new. */
-    if (data_length > DTLS_MAX_BUF) {
-      dtls_warn("the packet is too big to buffer for reoder\n");
-      return 0;
-    }
-
-    netq_t *node = netq_head(peer->handshake_params->reorder_queue);
-    while (node) {
-      dtls_handshake_header_t *node_header = DTLS_HANDSHAKE_HEADER(node->data);
-      if (dtls_uint16_to_int(node_header->message_seq) == dtls_uint16_to_int(hs_header->message_seq)) {
-        dtls_warn("a packet with this sequence number is already stored\n");
-        return 0;
-      }
-      node = netq_next(node);
-    }
-
-    n = netq_node_new(data_length);
-    if (!n) {
-      dtls_warn("no space in reoder buffer\n");
-      return 0;
-    }
-
-    n->peer = peer;
-    n->length = data_length;
-    memcpy(n->data, data, data_length);
-
-    if (!netq_insert_node(peer->handshake_params->reorder_queue, n)) {
-      dtls_warn("cannot add packet to reoder buffer\n");
-      netq_node_free(n);
-    }
-    dtls_info("Added packet for reordering\n");
-    return 0;
-  } else if (dtls_uint16_to_int(hs_header->message_seq) == peer->handshake_params->hs_state.mseq_r) {
-    /* Found the expected packet, use this and all the buffered packet */
-    int next = 1;
-
-    res = handle_handshake_msg(ctx, peer, session, role, state, data, data_length);
-    if (res < 0)
-      return res;
-
-    /* We do not know in which order the packet are in the list just search the list for every packet. */
-    while (next && peer->handshake_params) {
-      next = 0;
-      netq_t *node = netq_head(peer->handshake_params->reorder_queue);
-      while (node) {
-        dtls_handshake_header_t *node_header = DTLS_HANDSHAKE_HEADER(node->data);
-
-        if (dtls_uint16_to_int(node_header->message_seq) == peer->handshake_params->hs_state.mseq_r) {
-          netq_remove(peer->handshake_params->reorder_queue, node);
-          next = 1;
-          res = handle_handshake_msg(ctx, peer, session, role, peer->state, node->data, node->length);
-          if (res < 0) {
-            return res;
-          }
-
-          break;
-        } else {
-          node = netq_next(node);
-        }
-      }
-    }
-    return res;
-  }
-  assert(0);
-  return 0;
-}
-
-static int
-handle_ccs(dtls_context_t *ctx, dtls_peer_t *peer, 
-          uint8 *record_header, uint8 *data, size_t data_length)
-{
-  int err;
-  dtls_handshake_parameters_t *handshake = peer->handshake_params;
-
-  /* A CCS message is handled after a KeyExchange message was
-   * received from the client. When security parameters have been
-   * updated successfully and a ChangeCipherSpec message was sent
-   * by ourself, the security context is switched and the record
-   * sequence number is reset. */
-  
-  if (!peer || peer->state != DTLS_STATE_WAIT_CHANGECIPHERSPEC) {
-    dtls_warn("expected ChangeCipherSpec during handshake\n");
-    return 0;
-  }
-
-  if (data_length < 1 || data[0] != 1)
-    return dtls_alert_fatal_create(DTLS_ALERT_DECODE_ERROR);
-
-  /* Just change the cipher when we are on the same epoch */
-  if (peer->role == DTLS_SERVER) {
-    err = calculate_key_block(ctx, handshake, peer,
-                             &peer->session, peer->role);
-    if (err < 0) {
-      return err;
-    }
-  }
-  
-  peer->state = DTLS_STATE_WAIT_FINISHED;
-
-  return 0;
-}  
-
-/** 
- * Handles incoming Alert messages. This function returns \c 1 if the
- * connection should be closed and the peer is to be invalidated.
- */
-static int
-handle_alert(dtls_context_t *ctx, dtls_peer_t *peer, 
-            uint8 *record_header, uint8 *data, size_t data_length) {
-  int free_peer = 0;           /* indicates whether to free peer */
-
-  if (data_length < 2)
-    return dtls_alert_fatal_create(DTLS_ALERT_DECODE_ERROR);
-
-  dtls_info("** Alert: level %d, description %d\n", data[0], data[1]);
-
-  if (!peer) {
-    dtls_warn("got an alert for an unknown peer, we probably already removed it, ignore it\n");
-    return 0;
-  }
-
-  /* The peer object is invalidated for FATAL alerts and close
-   * notifies. This is done in two steps.: First, remove the object
-   * from our list of peers. After that, the event handler callback is
-   * invoked with the still existing peer object. Finally, the storage
-   * used by peer is released.
-   */
-  if (data[0] == DTLS_ALERT_LEVEL_FATAL || data[1] == DTLS_ALERT_CLOSE_NOTIFY) {
-    dtls_alert("%d invalidate peer\n", data[1]);
-    
-#ifndef WITH_CONTIKI
-    HASH_DEL_PEER(ctx->peers, peer);
-#else /* WITH_CONTIKI */
-    list_remove(ctx->peers, peer);
-
-#ifndef NDEBUG
-    PRINTF("removed peer [");
-    PRINT6ADDR(&peer->session.addr);
-    PRINTF("]:%d\n", uip_ntohs(peer->session.port));
-#endif
-#endif /* WITH_CONTIKI */
-
-    free_peer = 1;
-
-  }
-
-  (void)CALL(ctx, event, &peer->session, 
-            (dtls_alert_level_t)data[0], (unsigned short)data[1]);
-  switch (data[1]) {
-  case DTLS_ALERT_CLOSE_NOTIFY:
-    /* If state is DTLS_STATE_CLOSING, we have already sent a
-     * close_notify so, do not send that again. */
-    if (peer->state != DTLS_STATE_CLOSING) {
-      peer->state = DTLS_STATE_CLOSING;
-      dtls_send_alert(ctx, peer, DTLS_ALERT_LEVEL_FATAL, DTLS_ALERT_CLOSE_NOTIFY);
-    } else
-      peer->state = DTLS_STATE_CLOSED;
-    break;
-  default:
-    ;
-  }
-  
-  if (free_peer) {
-    dtls_stop_retransmission(ctx, peer);
-    dtls_destroy_peer(ctx, peer, 0);
-  }
-
-  return free_peer;
-}
-
-static int dtls_alert_send_from_err(dtls_context_t *ctx, dtls_peer_t *peer,
-                                   session_t *session, int err)
-{
-  int level;
-  int desc;
-
-  if (err < -(1 << 8) && err > -(3 << 8)) {
-    level = ((-err) & 0xff00) >> 8;
-    desc = (-err) & 0xff;
-    if (!peer) {
-      peer = dtls_get_peer(ctx, session);
-    }
-    if (peer) {
-      peer->state = DTLS_STATE_CLOSING;
-      return dtls_send_alert(ctx, peer, level, desc);
-    }
-  } else if (err == -1) {
-    if (!peer) {
-      peer = dtls_get_peer(ctx, session);
-    }
-    if (peer) {
-      peer->state = DTLS_STATE_CLOSING;
-      return dtls_send_alert(ctx, peer, DTLS_ALERT_LEVEL_FATAL, DTLS_ALERT_INTERNAL_ERROR);
-    }
-  }
-  return -1;
-}
-
-/** 
- * Handles incoming data as DTLS message from given peer.
- */
-int
-dtls_handle_message(dtls_context_t *ctx, 
-                   session_t *session,
-                   uint8 *msg, int msglen) {
-  dtls_peer_t *peer = NULL;
-  unsigned int rlen;           /* record length */
-  uint8 *data;                         /* (decrypted) payload */
-  int data_length;             /* length of decrypted payload 
-                                  (without MAC and padding) */
-  int err;
-
-  /* check if we have DTLS state for addr/port/ifindex */
-  peer = dtls_get_peer(ctx, session);
-
-  if (!peer) {
-    dtls_debug("dtls_handle_message: PEER NOT FOUND\n");
-    dtls_dsrv_log_addr(DTLS_LOG_DEBUG, "peer addr", session);
-  } else {
-    dtls_debug("dtls_handle_message: FOUND PEER\n");
-  }
-
-  while ((rlen = is_record(msg,msglen))) {
-    dtls_peer_type role;
-    dtls_state_t state;
-
-    dtls_debug("got packet %d (%d bytes)\n", msg[0], rlen);
-    if (peer) {
-      data_length = decrypt_verify(peer, msg, rlen, &data);
-      if (data_length < 0) {
-       int err =  dtls_alert_fatal_create(DTLS_ALERT_DECRYPT_ERROR);
-        dtls_info("decrypt_verify() failed\n");
-       if (peer->state < DTLS_STATE_CONNECTED) {
-         dtls_alert_send_from_err(ctx, peer, &peer->session, err);
-         peer->state = DTLS_STATE_CLOSED;
-         /* dtls_stop_retransmission(ctx, peer); */
-         dtls_destroy_peer(ctx, peer, 1);
-       }
-        return err;
-      }
-      role = peer->role;
-      state = peer->state;
-    } else {
-      /* is_record() ensures that msg contains at least a record header */
-      data = msg + DTLS_RH_LENGTH;
-      data_length = rlen - DTLS_RH_LENGTH;
-      state = DTLS_STATE_WAIT_CLIENTHELLO;
-      role = DTLS_SERVER;
-    }
-
-    dtls_debug_hexdump("receive header", msg, sizeof(dtls_record_header_t));
-    dtls_debug_hexdump("receive unencrypted", data, data_length);
-
-    /* Handle received record according to the first byte of the
-     * message, i.e. the subprotocol. We currently do not support
-     * combining multiple fragments of one type into a single
-     * record. */
-
-    switch (msg[0]) {
-
-    case DTLS_CT_CHANGE_CIPHER_SPEC:
-      if (peer) {
-        dtls_stop_retransmission(ctx, peer);
-      }
-      err = handle_ccs(ctx, peer, msg, data, data_length);
-      if (err < 0) {
-       dtls_warn("error while handling ChangeCipherSpec message\n");
-       dtls_alert_send_from_err(ctx, peer, session, err);
-
-       /* invalidate peer */
-       dtls_destroy_peer(ctx, peer, 1);
-       peer = NULL;
-
-       return err;
-      }
-      break;
-
-    case DTLS_CT_ALERT:
-      if (peer) {
-        dtls_stop_retransmission(ctx, peer);
-      }
-      err = handle_alert(ctx, peer, msg, data, data_length);
-      if (err < 0 || err == 1) {
-         dtls_warn("received alert, peer has been invalidated\n");
-         /* handle alert has invalidated peer */
-         peer = NULL;
-         return err < 0 ?err:-1;
-      }
-      break;
-
-    case DTLS_CT_HANDSHAKE:
-      /* Handshake messages other than Finish must use the current
-       * epoch, Finish has epoch + 1. */
-
-      if (peer) {
-       uint16_t expected_epoch = dtls_security_params(peer)->epoch;
-       uint16_t msg_epoch = 
-         dtls_uint16_to_int(DTLS_RECORD_HEADER(msg)->epoch);
-
-       /* The new security parameters must be used for all messages
-        * that are sent after the ChangeCipherSpec message. This
-        * means that the client's Finished message uses epoch + 1
-        * while the server is still in the old epoch.
-        */
-       if (role == DTLS_SERVER && state == DTLS_STATE_WAIT_FINISHED) {
-         expected_epoch++;
-       }
-
-       if (expected_epoch != msg_epoch) {
-         dtls_warn("Wrong epoch, expected %i, got: %i\n",
-                   expected_epoch, msg_epoch);
-         break;
-       }
-      }
-
-      err = handle_handshake(ctx, peer, session, role, state, data, data_length);
-      if (err < 0) {
-       dtls_warn("error while handling handshake packet\n");
-       dtls_alert_send_from_err(ctx, peer, session, err);
-       return err;
-      }
-      if (peer && peer->state == DTLS_STATE_CONNECTED) {
-       /* stop retransmissions */
-       dtls_stop_retransmission(ctx, peer);
-       CALL(ctx, event, &peer->session, 0, DTLS_EVENT_CONNECTED);
-      }
-      break;
-
-    case DTLS_CT_APPLICATION_DATA:
-      dtls_info("** application data:\n");
-      if (!peer) {
-        dtls_warn("no peer available, send an alert\n");
-        // TODO: should we send a alert here?
-        return -1;
-      }
-      dtls_stop_retransmission(ctx, peer);
-      CALL(ctx, read, &peer->session, data, data_length);
-      break;
-    default:
-      dtls_info("dropped unknown message of type %d\n",msg[0]);
-    }
-
-    /* advance msg by length of ciphertext */
-    msg += rlen;
-    msglen -= rlen;
-  }
-
-  return 0;
-}
-
-dtls_context_t *
-dtls_new_context(void *app_data) {
-  dtls_context_t *c;
-  dtls_tick_t now;
-#ifndef WITH_CONTIKI
-  FILE *urandom = fopen("/dev/urandom", "r");
-  unsigned char buf[sizeof(unsigned long)];
-#endif /* WITH_CONTIKI */
-
-  dtls_ticks(&now);
-#ifdef WITH_CONTIKI
-  /* FIXME: need something better to init PRNG here */
-  dtls_prng_init(now);
-#else /* WITH_CONTIKI */
-  if (!urandom) {
-    dtls_emerg("cannot initialize PRNG\n");
-    return NULL;
-  }
-
-  if (fread(buf, 1, sizeof(buf), urandom) != sizeof(buf)) {
-    dtls_emerg("cannot initialize PRNG\n");
-    return NULL;
-  }
-
-  fclose(urandom);
-  dtls_prng_init((unsigned long)*buf);
-#endif /* WITH_CONTIKI */
-
-  c = malloc_context();
-  if (!c)
-    goto error;
-
-  memset(c, 0, sizeof(dtls_context_t));
-  c->app = app_data;
-  
-  LIST_STRUCT_INIT(c, sendqueue);
-
-#ifdef WITH_CONTIKI
-  LIST_STRUCT_INIT(c, peers);
-  /* LIST_STRUCT_INIT(c, key_store); */
-  
-  process_start(&dtls_retransmit_process, (char *)c);
-  PROCESS_CONTEXT_BEGIN(&dtls_retransmit_process);
-  /* the retransmit timer must be initialized to some large value */
-  etimer_set(&c->retransmit_timer, 0xFFFF);
-  PROCESS_CONTEXT_END(&coap_retransmit_process);
-#endif /* WITH_CONTIKI */
-
-  if (dtls_prng(c->cookie_secret, DTLS_COOKIE_SECRET_LENGTH))
-    c->cookie_secret_age = now;
-  else 
-    goto error;
-  
-  return c;
-
- error:
-  dtls_alert("cannot create DTLS context\n");
-  if (c)
-    dtls_free_context(c);
-  return NULL;
-}
-
-void
-dtls_free_context(dtls_context_t *ctx) {
-  dtls_peer_t *p;
-
-  if (!ctx) {
-    return;
-  }
-
-#ifndef WITH_CONTIKI
-  dtls_peer_t *tmp;
-
-  if (ctx->peers) {
-    HASH_ITER(hh, ctx->peers, p, tmp) {
-      dtls_destroy_peer(ctx, p, 1);
-    }
-  }
-#else /* WITH_CONTIKI */
-  for (p = list_head(ctx->peers); p; p = list_item_next(p))
-    dtls_destroy_peer(ctx, p, 1);
-#endif /* WITH_CONTIKI */
-
-  free_context(ctx);
-}
-
-int
-dtls_connect_peer(dtls_context_t *ctx, dtls_peer_t *peer) {
-  int res;
-
-  assert(peer);
-  if (!peer)
-    return -1;
-
-  /* check if the same peer is already in our list */
-  if (peer == dtls_get_peer(ctx, &peer->session)) {
-    dtls_debug("found peer, try to re-connect\n");
-    return dtls_renegotiate(ctx, &peer->session);
-  }
-    
-  /* set local peer role to client, remote is server */
-  peer->role = DTLS_CLIENT;
-
-  dtls_add_peer(ctx, peer);
-
-  /* send ClientHello with empty Cookie */
-  peer->handshake_params = dtls_handshake_new();
-      if (!peer->handshake_params)
-        return -1;
-
-  peer->handshake_params->hs_state.mseq_r = 0;
-  peer->handshake_params->hs_state.mseq_s = 0;
-  LIST_STRUCT_INIT(peer->handshake_params, reorder_queue);
-  res = dtls_send_client_hello(ctx, peer, NULL, 0);
-  if (res < 0)
-    dtls_warn("cannot send ClientHello\n");
-  else 
-    peer->state = DTLS_STATE_CLIENTHELLO;
-
-  return res;
-}
-
-int
-dtls_connect(dtls_context_t *ctx, const session_t *dst) {
-  dtls_peer_t *peer;
-  int res;
-
-  peer = dtls_get_peer(ctx, dst);
-  
-  if (!peer)
-    peer = dtls_new_peer(dst);
-
-  if (!peer) {
-    dtls_crit("cannot create new peer\n");
-    return -1;
-  }
-
-  res = dtls_connect_peer(ctx, peer);
-
-  /* Invoke event callback to indicate connection attempt or
-   * re-negotiation. */
-  if (res > 0) {
-    CALL(ctx, event, &peer->session, 0, DTLS_EVENT_CONNECT);
-  } else if (res == 0) {
-    CALL(ctx, event, &peer->session, 0, DTLS_EVENT_RENEGOTIATE);
-  }
-  
-  return res;
-}
-
-static void
-dtls_retransmit(dtls_context_t *context, netq_t *node) {
-  if (!context || !node)
-    return;
-
-  /* re-initialize timeout when maximum number of retransmissions are not reached yet */
-  if (node->retransmit_cnt < DTLS_DEFAULT_MAX_RETRANSMIT) {
-      unsigned char sendbuf[DTLS_MAX_BUF];
-      size_t len = sizeof(sendbuf);
-      int err;
-      unsigned char *data = node->data;
-      size_t length = node->length;
-      dtls_tick_t now;
-      dtls_security_parameters_t *security = dtls_security_params_epoch(node->peer, node->epoch);
-
-      dtls_ticks(&now);
-      node->retransmit_cnt++;
-      node->t = now + (node->timeout << node->retransmit_cnt);
-      netq_insert_node(context->sendqueue, node);
-      
-      if (node->type == DTLS_CT_HANDSHAKE) {
-       dtls_handshake_header_t *hs_header = DTLS_HANDSHAKE_HEADER(data);
-
-       dtls_debug("** retransmit handshake packet of type: %s (%i)\n",
-                  dtls_handshake_type_to_name(hs_header->msg_type), hs_header->msg_type);
-      } else {
-       dtls_debug("** retransmit packet\n");
-      }
-      
-      err = dtls_prepare_record(node->peer, security, node->type, &data, &length,
-                               1, sendbuf, &len);
-      if (err < 0) {
-       dtls_warn("can not retransmit packet, err: %i\n", err);
-       return;
-      }
-      dtls_debug_hexdump("retransmit header", sendbuf,
-                        sizeof(dtls_record_header_t));
-      dtls_debug_hexdump("retransmit unencrypted", node->data, node->length);
-
-      (void)CALL(context, write, &node->peer->session, sendbuf, len);
-      return;
-  }
-
-  /* no more retransmissions, remove node from system */
-  
-  dtls_debug("** removed transaction\n");
-
-  /* And finally delete the node */
-  netq_node_free(node);
-}
-
-static void
-dtls_stop_retransmission(dtls_context_t *context, dtls_peer_t *peer) {
-  netq_t *node;
-  node = list_head(context->sendqueue); 
-
-  while (node) {
-    if (dtls_session_equals(&node->peer->session, &peer->session)) {
-      netq_t *tmp = node;
-      node = list_item_next(node);
-      list_remove(context->sendqueue, tmp);
-      netq_node_free(tmp);
-    } else
-      node = list_item_next(node);    
-  }
-}
-
-void
-dtls_check_retransmit(dtls_context_t *context, clock_time_t *next) {
-  dtls_tick_t now;
-  netq_t *node = netq_head(context->sendqueue);
-
-  dtls_ticks(&now);
-  while (node && node->t <= now) {
-    netq_pop_first(context->sendqueue);
-    dtls_retransmit(context, node);
-    node = netq_head(context->sendqueue);
-  }
-
-  if (next && node)
-    *next = node->t;
-}
-
-#ifdef WITH_CONTIKI
-/*---------------------------------------------------------------------------*/
-/* message retransmission */
-/*---------------------------------------------------------------------------*/
-PROCESS_THREAD(dtls_retransmit_process, ev, data)
-{
-  clock_time_t now;
-  netq_t *node;
-
-  PROCESS_BEGIN();
-
-  dtls_debug("Started DTLS retransmit process\r\n");
-
-  while(1) {
-    PROCESS_YIELD();
-    if (ev == PROCESS_EVENT_TIMER) {
-      if (etimer_expired(&the_dtls_context.retransmit_timer)) {
-       
-       node = list_head(the_dtls_context.sendqueue);
-       
-       now = clock_time();
-       if (node && node->t <= now) {
-         dtls_retransmit(&the_dtls_context, list_pop(the_dtls_context.sendqueue));
-         node = list_head(the_dtls_context.sendqueue);
-       }
-
-       /* need to set timer to some value even if no nextpdu is available */
-       if (node) {
-         etimer_set(&the_dtls_context.retransmit_timer, 
-                    node->t <= now ? 1 : node->t - now);
-       } else {
-         etimer_set(&the_dtls_context.retransmit_timer, 0xFFFF);
-       }
-      } 
-    }
-  }
-  
-  PROCESS_END();
-}
-#endif /* WITH_CONTIKI */
diff --git a/external/wakaama/examples/shared/tinydtls/dtls.h b/external/wakaama/examples/shared/tinydtls/dtls.h
deleted file mode 100644 (file)
index 7ebde6b..0000000
+++ /dev/null
@@ -1,746 +0,0 @@
-/* dtls -- a very basic DTLS implementation
- *
- * Copyright (C) 2011--2013 Olaf Bergmann <bergmann@tzi.org>
- * Copyright (C) 2013 Hauke Mehrtens <hauke@hauke-m.de>
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-/**
- * @file dtls.h
- * @brief High level DTLS API and visible structures. 
- */
-
-#ifndef _DTLS_DTLS_H_
-#define _DTLS_DTLS_H_
-
-#include <stdint.h>
-
-#include "t_list.h"
-#include "state.h"
-#include "peer.h"
-
-#ifndef WITH_CONTIKI
-#include "uthash.h"
-#include "t_list.h"
-#endif /* WITH_CONTIKI */
-
-#include "alert.h"
-#include "crypto.h"
-#include "hmac.h"
-
-#include "global.h"
-#include "dtls_time.h"
-
-#ifndef DTLSv12
-#define DTLS_VERSION 0xfeff    /* DTLS v1.1 */
-#else
-#define DTLS_VERSION 0xfefd    /* DTLS v1.2 */
-#endif
-
-typedef enum dtls_credentials_type_t {
-  DTLS_PSK_HINT, DTLS_PSK_IDENTITY, DTLS_PSK_KEY
-} dtls_credentials_type_t;
-
-typedef struct dtls_ecdsa_key_t {
-  dtls_ecdh_curve curve;
-  const unsigned char *priv_key;       /** < private key as bytes > */
-  const unsigned char *pub_key_x;      /** < x part of the public key for the given private key > */
-  const unsigned char *pub_key_y;      /** < y part of the public key for the given private key > */
-} dtls_ecdsa_key_t;
-
-/** Length of the secret that is used for generating Hello Verify cookies. */
-#define DTLS_COOKIE_SECRET_LENGTH 12
-
-struct dtls_context_t;
-
-/**
- * This structure contains callback functions used by tinydtls to
- * communicate with the application. At least the write function must
- * be provided. It is called by the DTLS state machine to send packets
- * over the network. The read function is invoked to deliver decrypted
- * and verfified application data. The third callback is an event
- * handler function that is called when alert messages are encountered
- * or events generated by the library have occured.
- */ 
-typedef struct {
-  /** 
-   * Called from dtls_handle_message() to send DTLS packets over the
-   * network. The callback function must use the network interface
-   * denoted by session->ifindex to send the data.
-   *
-   * @param ctx  The current DTLS context.
-   * @param session The session object, including the address of the
-   *              remote peer where the data shall be sent.
-   * @param buf  The data to send.
-   * @param len  The actual length of @p buf.
-   * @return The callback function must return the number of bytes 
-   *         that were sent, or a value less than zero to indicate an 
-   *         error.
-   */
-  int (*write)(struct dtls_context_t *ctx, 
-              session_t *session, uint8 *buf, size_t len);
-
-  /** 
-   * Called from dtls_handle_message() deliver application data that was 
-   * received on the given session. The data is delivered only after
-   * decryption and verification have succeeded. 
-   *
-   * @param ctx  The current DTLS context.
-   * @param session The session object, including the address of the
-   *              data's origin. 
-   * @param buf  The received data packet.
-   * @param len  The actual length of @p buf.
-   * @return ignored
-   */
-  int (*read)(struct dtls_context_t *ctx, 
-              session_t *session, uint8 *buf, size_t len);
-
-  /**
-   * The event handler is called when a message from the alert
-   * protocol is received or the state of the DTLS session changes.
-   *
-   * @param ctx     The current dtls context.
-   * @param session The session object that was affected.
-   * @param level   The alert level or @c 0 when an event ocurred that 
-   *                is not an alert. 
-   * @param code    Values less than @c 256 indicate alerts, while
-   *                @c 256 or greater indicate internal DTLS session changes.
-   * @return ignored
-   */
-  int (*event)(struct dtls_context_t *ctx, session_t *session, 
-               dtls_alert_level_t level, unsigned short code);
-
-#ifdef DTLS_PSK
-  /**
-   * Called during handshake to get information related to the
-   * psk key exchange. The type of information requested is
-   * indicated by @p type which will be one of DTLS_PSK_HINT,
-   * DTLS_PSK_IDENTITY, or DTLS_PSK_KEY. The called function
-   * must store the requested item in the buffer @p result of
-   * size @p result_length. On success, the function must return
-   * the actual number of bytes written to @p result, of a
-   * value less than zero on error. The parameter @p desc may
-   * contain additional request information (e.g. the psk_identity
-   * for which a key is requested when @p type == @c DTLS_PSK_KEY.
-   *
-   * @param ctx     The current dtls context.
-   * @param session The session where the key will be used.
-   * @param type    The type of the requested information.
-   * @param desc    Additional request information
-   * @param desc_len The actual length of desc.
-   * @param result  Must be filled with the requested information.
-   * @param result_length  Maximum size of @p result.
-   * @return The number of bytes written to @p result or a value
-   *         less than zero on error.
-   */
-  int (*get_psk_info)(struct dtls_context_t *ctx,
-                     const session_t *session,
-                     dtls_credentials_type_t type,
-                     const unsigned char *desc, size_t desc_len,
-                     unsigned char *result, size_t result_length);
-
-#endif /* DTLS_PSK */
-
-#ifdef DTLS_ECC
-  /**
-   * Called during handshake to get the server's or client's ecdsa
-   * key used to authenticate this server or client in this 
-   * session. If found, the key must be stored in @p result and 
-   * the return value must be @c 0. If not found, @p result is 
-   * undefined and the return value must be less than zero.
-   *
-   * If ECDSA should not be supported, set this pointer to NULL.
-   *
-   * Implement this if you want to provide your own certificate to 
-   * the other peer. This is mandatory for a server providing ECDSA
-   * support and optional for a client. A client doing DTLS client
-   * authentication has to implementing this callback.
-   *
-   * @param ctx     The current dtls context.
-   * @param session The session where the key will be used.
-   * @param result  Must be set to the key object to used for the given
-   *                session.
-   * @return @c 0 if result is set, or less than zero on error.
-   */
-  int (*get_ecdsa_key)(struct dtls_context_t *ctx, 
-                      const session_t *session,
-                      const dtls_ecdsa_key_t **result);
-
-  /**
-   * Called during handshake to check the peer's pubic key in this
-   * session. If the public key matches the session and should be
-   * considerated valid the return value must be @c 0. If not valid,
-   * the return value must be less than zero.
-   *
-   * If ECDSA should not be supported, set this pointer to NULL.
-   *
-   * Implement this if you want to verify the other peers public key.
-   * This is mandatory for a DTLS client doing based ECDSA
-   * authentication. A server implementing this will request the
-   * client to do DTLS client authentication.
-   *
-   * @param ctx          The current dtls context.
-   * @param session      The session where the key will be used.
-   * @param other_pub_x  x component of the public key.
-   * @param other_pub_y  y component of the public key.
-   * @return @c 0 if public key matches, or less than zero on error.
-   * error codes:
-   *   return dtls_alert_fatal_create(DTLS_ALERT_BAD_CERTIFICATE);
-   *   return dtls_alert_fatal_create(DTLS_ALERT_UNSUPPORTED_CERTIFICATE);
-   *   return dtls_alert_fatal_create(DTLS_ALERT_CERTIFICATE_REVOKED);
-   *   return dtls_alert_fatal_create(DTLS_ALERT_CERTIFICATE_EXPIRED);
-   *   return dtls_alert_fatal_create(DTLS_ALERT_CERTIFICATE_UNKNOWN);
-   *   return dtls_alert_fatal_create(DTLS_ALERT_UNKNOWN_CA);
-   */
-  int (*verify_ecdsa_key)(struct dtls_context_t *ctx, 
-                         const session_t *session,
-                         const unsigned char *other_pub_x,
-                         const unsigned char *other_pub_y,
-                         size_t key_size);
-#endif /* DTLS_ECC */
-} dtls_handler_t;
-
-/** Holds global information of the DTLS engine. */
-typedef struct dtls_context_t {
-  unsigned char cookie_secret[DTLS_COOKIE_SECRET_LENGTH];
-  clock_time_t cookie_secret_age; /**< the time the secret has been generated */
-
-#ifndef WITH_CONTIKI
-  dtls_peer_t *peers;          /**< peer hash map */
-#else /* WITH_CONTIKI */
-  LIST_STRUCT(peers);
-
-  struct etimer retransmit_timer; /**< fires when the next packet must be sent */
-#endif /* WITH_CONTIKI */
-
-  LIST_STRUCT(sendqueue);      /**< the packets to send */
-
-  void *app;                   /**< application-specific data */
-
-  dtls_handler_t *h;           /**< callback handlers */
-
-  unsigned char readbuf[DTLS_MAX_BUF];
-} dtls_context_t;
-
-/** 
- * This function initializes the tinyDTLS memory management and must
- * be called first.
- */
-void dtls_init();
-
-/** 
- * Creates a new context object. The storage allocated for the new
- * object must be released with dtls_free_context(). */
-dtls_context_t *dtls_new_context(void *app_data);
-
-/** Releases any storage that has been allocated for \p ctx. */
-void dtls_free_context(dtls_context_t *ctx);
-
-#define dtls_set_app_data(CTX,DATA) ((CTX)->app = (DATA))
-#define dtls_get_app_data(CTX) ((CTX)->app)
-
-/** Sets the callback handler object for @p ctx to @p h. */
-static inline void dtls_set_handler(dtls_context_t *ctx, dtls_handler_t *h) {
-  ctx->h = h;
-}
-
-/**
- * Establishes a DTLS channel with the specified remote peer @p dst.
- * This function returns @c 0 if that channel already exists, a value
- * greater than zero when a new ClientHello message was sent, and
- * a value less than zero on error.
- *
- * @param ctx    The DTLS context to use.
- * @param dst    The remote party to connect to.
- * @return A value less than zero on error, greater or equal otherwise.
- */
-int dtls_connect(dtls_context_t *ctx, const session_t *dst);
-
-/**
- * Establishes a DTLS channel with the specified remote peer.
- * This function returns @c 0 if that channel already exists, a value
- * greater than zero when a new ClientHello message was sent, and
- * a value less than zero on error.
- *
- * @param ctx    The DTLS context to use.
- * @param peer   The peer object that describes the session.
- * @return A value less than zero on error, greater or equal otherwise.
- */
-int dtls_connect_peer(dtls_context_t *ctx, dtls_peer_t *peer);
-
-/**
- * Closes the DTLS connection associated with @p remote. This function
- * returns zero on success, and a value less than zero on error.
- */
-int dtls_close(dtls_context_t *ctx, const session_t *remote);
-
-int dtls_renegotiate(dtls_context_t *ctx, const session_t *dst);
-
-/** 
- * Writes the application data given in @p buf to the peer specified
- * by @p session. 
- * 
- * @param ctx      The DTLS context to use.
- * @param session  The remote transport address and local interface.
- * @param buf      The data to write.
- * @param len      The actual length of @p data.
- * 
- * @return The number of bytes written or @c -1 on error.
- */
-int dtls_write(struct dtls_context_t *ctx, session_t *session, 
-              uint8 *buf, size_t len);
-
-/**
- * Checks sendqueue of given DTLS context object for any outstanding
- * packets to be transmitted. 
- *
- * @param context The DTLS context object to use.
- * @param next    If not NULL, @p next is filled with the timestamp
- *  of the next scheduled retransmission, or @c 0 when no packets are
- *  waiting.
- */
-void dtls_check_retransmit(dtls_context_t *context, clock_time_t *next);
-
-#define DTLS_COOKIE_LENGTH 16
-
-#define DTLS_CT_CHANGE_CIPHER_SPEC 20
-#define DTLS_CT_ALERT              21
-#define DTLS_CT_HANDSHAKE          22
-#define DTLS_CT_APPLICATION_DATA   23
-
-/** Generic header structure of the DTLS record layer. */
-typedef struct __attribute__((__packed__)) {
-  uint8 content_type;          /**< content type of the included message */
-  uint16 version;              /**< Protocol version */
-  uint16 epoch;                        /**< counter for cipher state changes */
-  uint48 sequence_number;       /**< sequence number */
-  uint16 length;               /**< length of the following fragment */
-  /* fragment */
-} dtls_record_header_t;
-
-/* Handshake types */
-
-#define DTLS_HT_HELLO_REQUEST        0
-#define DTLS_HT_CLIENT_HELLO         1
-#define DTLS_HT_SERVER_HELLO         2
-#define DTLS_HT_HELLO_VERIFY_REQUEST 3
-#define DTLS_HT_CERTIFICATE         11
-#define DTLS_HT_SERVER_KEY_EXCHANGE 12
-#define DTLS_HT_CERTIFICATE_REQUEST 13
-#define DTLS_HT_SERVER_HELLO_DONE   14
-#define DTLS_HT_CERTIFICATE_VERIFY  15
-#define DTLS_HT_CLIENT_KEY_EXCHANGE 16
-#define DTLS_HT_FINISHED            20
-
-/** Header structure for the DTLS handshake protocol. */
-typedef struct __attribute__((__packed__)) {
-  uint8 msg_type; /**< Type of handshake message  (one of DTLS_HT_) */
-  uint24 length;  /**< length of this message */
-  uint16 message_seq;  /**< Message sequence number */
-  uint24 fragment_offset;      /**< Fragment offset. */
-  uint24 fragment_length;      /**< Fragment length. */
-  /* body */
-} dtls_handshake_header_t;
-
-/** Structure of the Client Hello message. */
-typedef struct __attribute__((__packed__)) {
-  uint16 version;        /**< Client version */
-  uint32 gmt_random;     /**< GMT time of the random byte creation */
-  unsigned char random[28];    /**< Client random bytes */
-  /* session id (up to 32 bytes) */
-  /* cookie (up to 32 bytes) */
-  /* cipher suite (2 to 2^16 -1 bytes) */
-  /* compression method */
-} dtls_client_hello_t;
-
-/** Structure of the Hello Verify Request. */
-typedef struct __attribute__((__packed__)) {
-  uint16 version;              /**< Server version */
-  uint8 cookie_length; /**< Length of the included cookie */
-  uint8 cookie[];              /**< up to 32 bytes making up the cookie */
-} dtls_hello_verify_t;  
-
-#if 0
-/** 
- * Checks a received DTLS record for consistency and eventually decrypt,
- * verify, decompress and reassemble the contained fragment for 
- * delivery to high-lever clients. 
- * 
- * \param state The DTLS record state for the current session. 
- * \param 
- */
-int dtls_record_read(dtls_state_t *state, uint8 *msg, int msglen);
-#endif
-
-/** 
- * Handles incoming data as DTLS message from given peer.
- *
- * @param ctx     The dtls context to use.
- * @param session The current session
- * @param msg     The received data
- * @param msglen  The actual length of @p msg.
- * @return A value less than zero on error, zero on success.
- */
-int dtls_handle_message(dtls_context_t *ctx, session_t *session,
-                       uint8 *msg, int msglen);
-
-/**
- * Check if @p session is associated with a peer object in @p context.
- * This function returns a pointer to the peer if found, NULL otherwise.
- *
- * @param context  The DTLS context to search.
- * @param session  The remote address and local interface
- * @return A pointer to the peer associated with @p session or NULL if
- *  none exists.
- */
-dtls_peer_t *dtls_get_peer(const dtls_context_t *context,
-                          const session_t *session);
-
-
-#endif /* _DTLS_DTLS_H_ */
-
-/**
- * @mainpage 
- *
- * @author Olaf Bergmann, TZI Uni Bremen
- *
- * This library provides a very simple datagram server with DTLS
- * support. It is designed to support session multiplexing in
- * single-threaded applications and thus targets specifically on
- * embedded systems.
- *
- * @section license License
- *
- * This software is under the <a 
- * href="http://www.opensource.org/licenses/mit-license.php">MIT License</a>.
- * 
- * @subsection uthash UTHash
- *
- * This library uses <a href="http://uthash.sourceforge.net/">uthash</a> to manage
- * its peers (not used for Contiki). @b uthash uses the <b>BSD revised license</b>, see
- * <a href="http://uthash.sourceforge.net/license.html">http://uthash.sourceforge.net/license.html</a>.
- *
- * @subsection sha256 Aaron D. Gifford's SHA256 Implementation
- *
- * tinyDTLS provides HMAC-SHA256 with BSD-licensed code from Aaron D. Gifford, 
- * see <a href="http://www.aarongifford.com/">www.aarongifford.com</a>.
- *
- * @subsection aes Rijndael Implementation From OpenBSD
- *
- * The AES implementation is taken from rijndael.{c,h} contained in the crypto 
- * sub-system of the OpenBSD operating system. It is copyright by Vincent Rijmen, *
- * Antoon Bosselaers and Paulo Barreto. See <a 
- * href="http://www.openbsd.org/cgi-bin/cvsweb/src/sys/crypto/rijndael.c">rijndael.c</a> 
- * for License info.
- *
- * @section download Getting the Files
- *
- * You can get the sources either from the <a 
- * href="http://sourceforge.net/projects/tinydtls/files">downloads</a> section or 
- * through git from the <a 
- * href="http://sourceforge.net/projects/tinydtls/develop">project develop page</a>.
- *
- * @section config Configuration
- *
- * Use @c configure to set up everything for a successful build. For Contiki, use the
- * option @c --with-contiki.
- *
- * @section build Building
- *
- * After configuration, just type 
- * @code
-make
- * @endcode
- * optionally followed by
- * @code
-make install
- * @endcode
- * The Contiki version is integrated with the Contiki build system, hence you do not
- * need to invoke @c make explicitely. Just add @c tinydtls to the variable @c APPS
- * in your @c Makefile.
- *
- * @addtogroup dtls_usage DTLS Usage
- *
- * @section dtls_server_example DTLS Server Example
- *
- * This section shows how to use the DTLS library functions to setup a 
- * simple secure UDP echo server. The application is responsible for the
- * entire network communication and thus will look like a usual UDP
- * server with socket creation and binding and a typical select-loop as
- * shown below. The minimum configuration required for DTLS is the 
- * creation of the dtls_context_t using dtls_new_context(), and a callback
- * for sending data. Received packets are read by the application and
- * passed to dtls_handle_message() as shown in @ref dtls_read_cb. 
- * For any useful communication to happen, read and write call backs 
- * and a key management function should be registered as well. 
- * 
- * @code 
- dtls_context_t *the_context = NULL;
- int fd, result;
-
- static dtls_handler_t cb = {
-   .write = send_to_peer,
-   .read  = read_from_peer,
-   .event = NULL,
-   .get_psk_key = get_psk_key
- };
-
- fd = socket(...);
- if (fd < 0 || bind(fd, ...) < 0)
-   exit(-1);
-
- the_context = dtls_new_context(&fd);
- dtls_set_handler(the_context, &cb);
-
- while (1) {
-   ...initialize fd_set rfds and timeout ...
-   result = select(fd+1, &rfds, NULL, 0, NULL);
-    
-   if (FD_ISSET(fd, &rfds))
-     dtls_handle_read(the_context);
- }
-
- dtls_free_context(the_context);
- * @endcode
- * 
- * @subsection dtls_read_cb The Read Callback
- *
- * The DTLS library expects received raw data to be passed to
- * dtls_handle_message(). The application is responsible for
- * filling a session_t structure with the address data of the
- * remote peer as illustrated by the following example:
- * 
- * @code
-int dtls_handle_read(struct dtls_context_t *ctx) {
-  int *fd;
-  session_t session;
-  static uint8 buf[DTLS_MAX_BUF];
-  int len;
-
-  fd = dtls_get_app_data(ctx);
-
-  assert(fd);
-
-  session.size = sizeof(session.addr);
-  len = recvfrom(*fd, buf, sizeof(buf), 0, &session.addr.sa, &session.size);
-  
-  return len < 0 ? len : dtls_handle_message(ctx, &session, buf, len);
-}    
- * @endcode 
- * 
- * Once a new DTLS session was established and DTLS ApplicationData has been
- * received, the DTLS server invokes the read callback with the MAC-verified 
- * cleartext data as its argument. A read callback for a simple echo server
- * could look like this:
- * @code
-int read_from_peer(struct dtls_context_t *ctx, session_t *session, uint8 *data, size_t len) {
-  return dtls_write(ctx, session, data, len);
-}
- * @endcode 
- * 
- * @subsection dtls_send_cb The Send Callback
- * 
- * The callback function send_to_peer() is called whenever data must be
- * sent over the network. Here, the sendto() system call is used to
- * transmit data within the given session. The socket descriptor required
- * by sendto() has been registered as application data when the DTLS context
- * was created with dtls_new_context().
- * Note that it is on the application to buffer the data when it cannot be
- * sent at the time this callback is invoked. The following example thus
- * is incomplete as it would have to deal with EAGAIN somehow.
- * @code
-int send_to_peer(struct dtls_context_t *ctx, session_t *session, uint8 *data, size_t len) {
-  int fd = *(int *)dtls_get_app_data(ctx);
-  return sendto(fd, data, len, MSG_DONTWAIT, &session->addr.sa, session->size);
-}
- * @endcode
- * 
- * @subsection dtls_get_psk_info The Key Storage
- *
- * When a new DTLS session is created, the library must ask the application
- * for keying material. To do so, it invokes the registered call-back function
- * get_psk_info() with the current context and session information as parameter.
- * When the call-back function is invoked with the parameter @p type set to 
- * @c DTLS_PSK_IDENTITY, the result parameter @p result must be filled with
- * the psk_identity_hint in case of a server, or the actual psk_identity in 
- * case of a client. When @p type is @c DTLS_PSK_KEY, the result parameter
- * must be filled with a key for the given identity @p id. The function must
- * return the number of bytes written to @p result which must not exceed
- * @p result_length.
- * In case of an error, the function must return a negative value that 
- * corresponds to a valid error code defined in alert.h.
- * 
- * @code
-int get_psk_info(struct dtls_context_t *ctx UNUSED_PARAM,
-           const session_t *session UNUSED_PARAM,
-           dtls_credentials_type_t type,
-           const unsigned char *id, size_t id_len,
-           unsigned char *result, size_t result_length) {
-
-  switch (type) {
-  case DTLS_PSK_IDENTITY:
-    if (result_length < psk_id_length) {
-      dtls_warn("cannot set psk_identity -- buffer too small\n");
-      return dtls_alert_fatal_create(DTLS_ALERT_INTERNAL_ERROR);
-    }
-
-    memcpy(result, psk_id, psk_id_length);
-    return psk_id_length;
-  case DTLS_PSK_KEY:
-    if (id_len != psk_id_length || memcmp(psk_id, id, id_len) != 0) {
-      dtls_warn("PSK for unknown id requested, exiting\n");
-      return dtls_alert_fatal_create(DTLS_ALERT_ILLEGAL_PARAMETER);
-    } else if (result_length < psk_key_length) {
-      dtls_warn("cannot set psk -- buffer too small\n");
-      return dtls_alert_fatal_create(DTLS_ALERT_INTERNAL_ERROR);
-    }
-
-    memcpy(result, psk_key, psk_key_length);
-    return psk_key_length;
-  default:
-    dtls_warn("unsupported request type: %d\n", type);
-  }
-
-  return dtls_alert_fatal_create(DTLS_ALERT_INTERNAL_ERROR);
-}
- * @endcode
- * 
- * @subsection dtls_events The Event Notifier
- *
- * Applications that want to be notified whenever the status of a DTLS session
- * has changed can register an event handling function with the field @c event
- * in the dtls_handler_t structure (see \ref dtls_server_example). The call-back
- * function is called for alert messages and internal state changes. For alert
- * messages, the argument @p level will be set to a value greater than zero, and
- * @p code will indicate the notification code. For internal events, @p level
- * is @c 0, and @p code a value greater than @c 255. 
- *
- * Internal events are DTLS_EVENT_CONNECTED, @c DTLS_EVENT_CONNECT, and
- * @c DTLS_EVENT_RENEGOTIATE.
- *
- * @code
-int handle_event(struct dtls_context_t *ctx, session_t *session, 
-                 dtls_alert_level_t level, unsigned short code) {
-  ... do something with event ...
-  return 0;
-}
- * @endcode
- *
- * @section dtls_client_example DTLS Client Example
- *
- * A DTLS client is constructed like a server but needs to actively setup
- * a new session by calling dtls_connect() at some point. As this function
- * usually returns before the new DTLS channel is established, the application
- * must register an event handler and wait for @c DTLS_EVENT_CONNECT before
- * it can send data over the DTLS channel.
- *
- */
-
-/**
- * @addtogroup contiki Contiki
- *
- * To use tinyDTLS as Contiki application, place the source code in the directory 
- * @c apps/tinydtls in the Contiki source tree and invoke configure with the option
- * @c --with-contiki. This will define WITH_CONTIKI in tinydtls.h and include 
- * @c Makefile.contiki in the main Makefile. To cross-compile for another platform
- * you will need to set your host and build system accordingly. For example,
- * when configuring for ARM, you would invoke
- * @code
-./configure --with-contiki --build=x86_64-linux-gnu --host=arm-none-eabi 
- * @endcode
- * on an x86_64 linux host.
- *
- * Then, create a Contiki project with @c APPS += tinydtls in its Makefile. A sample
- * server could look like this (with read_from_peer() and get_psk_key() as shown above).
- *
- * @code
-#include "contiki.h"
-
-#include "tinydtls.h"
-#include "dtls.h"
-
-#define UIP_IP_BUF   ((struct uip_ip_hdr *)&uip_buf[UIP_LLH_LEN])
-#define UIP_UDP_BUF  ((struct uip_udp_hdr *)&uip_buf[UIP_LLIPH_LEN])
-
-int send_to_peer(struct dtls_context_t *, session_t *, uint8 *, size_t);
-
-static struct uip_udp_conn *server_conn;
-static dtls_context_t *dtls_context;
-
-static dtls_handler_t cb = {
-  .write = send_to_peer,
-  .read  = read_from_peer,
-  .event = NULL,
-  .get_psk_key = get_psk_key
-};
-
-PROCESS(server_process, "DTLS server process");
-AUTOSTART_PROCESSES(&server_process);
-
-PROCESS_THREAD(server_process, ev, data)
-{
-  PROCESS_BEGIN();
-
-  dtls_init();
-
-  server_conn = udp_new(NULL, 0, NULL);
-  udp_bind(server_conn, UIP_HTONS(5684));
-
-  dtls_context = dtls_new_context(server_conn);
-  if (!dtls_context) {
-    dtls_emerg("cannot create context\n");
-    PROCESS_EXIT();
-  }
-
-  dtls_set_handler(dtls_context, &cb);
-
-  while(1) {
-    PROCESS_WAIT_EVENT();
-    if(ev == tcpip_event && uip_newdata()) {
-      session_t session;
-
-      uip_ipaddr_copy(&session.addr, &UIP_IP_BUF->srcipaddr);
-      session.port = UIP_UDP_BUF->srcport;
-      session.size = sizeof(session.addr) + sizeof(session.port);
-    
-      dtls_handle_message(ctx, &session, uip_appdata, uip_datalen());
-    }
-  }
-
-  PROCESS_END();
-}
-
-int send_to_peer(struct dtls_context_t *ctx, session_t *session, uint8 *data, size_t len) {
-  struct uip_udp_conn *conn = (struct uip_udp_conn *)dtls_get_app_data(ctx);
-
-  uip_ipaddr_copy(&conn->ripaddr, &session->addr);
-  conn->rport = session->port;
-
-  uip_udp_packet_send(conn, data, len);
-
-  memset(&conn->ripaddr, 0, sizeof(server_conn->ripaddr));
-  memset(&conn->rport, 0, sizeof(conn->rport));
-
-  return len;
-}
- * @endcode
- */
diff --git a/external/wakaama/examples/shared/tinydtls/dtls_config.h b/external/wakaama/examples/shared/tinydtls/dtls_config.h
deleted file mode 100644 (file)
index 74582aa..0000000
+++ /dev/null
@@ -1,152 +0,0 @@
-/* dtls_config.h.  Generated from dtls_config.h.in by configure.  */
-/* dtls_config.h.in.  Generated from configure.ac by autoheader.  */
-
-/* Define if building universal (internal helper macro) */
-/* #undef AC_APPLE_UNIVERSAL_BUILD */
-
-/* Define to 1 if building with ECC support. */
-#define DTLS_ECC 1
-
-/* Define to 1 if building with PSK support */
-#define DTLS_PSK 1
-
-/* Define to 1 if you have the <arpa/inet.h> header file. */
-#define HAVE_ARPA_INET_H 1
-
-/* Define to 1 if you have the <assert.h> header file. */
-#define HAVE_ASSERT_H 1
-
-/* Define to 1 if you have the <fcntl.h> header file. */
-#define HAVE_FCNTL_H 1
-
-/* Define to 1 if you have the `fls' function. */
-/* #undef HAVE_FLS */
-
-/* Define to 1 if you have the <inttypes.h> header file. */
-#define HAVE_INTTYPES_H 1
-
-/* Define to 1 if your system has a GNU libc compatible `malloc' function, and
-   to 0 otherwise. */
-#define HAVE_MALLOC 1
-
-/* Define to 1 if you have the <memory.h> header file. */
-#define HAVE_MEMORY_H 1
-
-/* Define to 1 if you have the `memset' function. */
-#define HAVE_MEMSET 1
-
-/* Define to 1 if you have the <netdb.h> header file. */
-#define HAVE_NETDB_H 1
-
-/* Define to 1 if you have the <netinet/in.h> header file. */
-#define HAVE_NETINET_IN_H 1
-
-/* Define to 1 if you have the `select' function. */
-#define HAVE_SELECT 1
-
-/* Define to 1 if struct sockaddr_in6 has a member sin6_len. */
-/* #undef HAVE_SOCKADDR_IN6_SIN6_LEN */
-
-/* Define to 1 if you have the `socket' function. */
-#define HAVE_SOCKET 1
-
-/* Define to 1 if you have the <stddef.h> header file. */
-#define HAVE_STDDEF_H 1
-
-/* Define to 1 if you have the <stdint.h> header file. */
-#define HAVE_STDINT_H 1
-
-/* Define to 1 if you have the <stdlib.h> header file. */
-#define HAVE_STDLIB_H 1
-
-/* Define to 1 if you have the `strdup' function. */
-#define HAVE_STRDUP 1
-
-/* Define to 1 if you have the `strerror' function. */
-#define HAVE_STRERROR 1
-
-/* Define to 1 if you have the <strings.h> header file. */
-#define HAVE_STRINGS_H 1
-
-/* Define to 1 if you have the <string.h> header file. */
-#define HAVE_STRING_H 1
-
-/* Define to 1 if you have the `strnlen' function. */
-#define HAVE_STRNLEN 1
-
-/* Define to 1 if you have the <sys/param.h> header file. */
-#define HAVE_SYS_PARAM_H 1
-
-/* Define to 1 if you have the <sys/socket.h> header file. */
-#define HAVE_SYS_SOCKET_H 1
-
-/* Define to 1 if you have the <sys/stat.h> header file. */
-#define HAVE_SYS_STAT_H 1
-
-/* Define to 1 if you have the <sys/time.h> header file. */
-#define HAVE_SYS_TIME_H 1
-
-/* Define to 1 if you have the <sys/types.h> header file. */
-#define HAVE_SYS_TYPES_H 1
-
-/* Define to 1 if you have the <time.h> header file. */
-#define HAVE_TIME_H 1
-
-/* Define to 1 if you have the <unistd.h> header file. */
-#define HAVE_UNISTD_H 1
-
-/* Define to 1 if you have the `vprintf' function. */
-#define HAVE_VPRINTF 1
-
-/* Define to the address where bug reports for this package should be sent. */
-#define PACKAGE_BUGREPORT ""
-
-/* Define to the full name of this package. */
-#define PACKAGE_NAME "tinydtls"
-
-/* Define to the full name and version of this package. */
-#define PACKAGE_STRING "tinydtls 0.8.2"
-
-/* Define to the one symbol short name of this package. */
-#define PACKAGE_TARNAME "tinydtls"
-
-/* Define to the home page for this package. */
-#define PACKAGE_URL ""
-
-/* Define to the version of this package. */
-#define PACKAGE_VERSION "0.8.2"
-
-/* Define to 1 if you have the ANSI C header files. */
-#define STDC_HEADERS 1
-
-/* Define to 1 if building for Contiki. */
-/* #undef WITH_CONTIKI */
-
-/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
-   significant byte first (like Motorola and SPARC, unlike Intel). */
-#if defined AC_APPLE_UNIVERSAL_BUILD
-# if defined __BIG_ENDIAN__
-#  define WORDS_BIGENDIAN 1
-# endif
-#else
-# ifndef WORDS_BIGENDIAN
-/* #  undef WORDS_BIGENDIAN */
-# endif
-#endif
-
-/* Define to `__inline__' or `__inline' if that's what the C compiler
-   calls it, or to nothing if 'inline' is not supported under any name.  */
-#ifndef __cplusplus
-/* #undef inline */
-#endif
-
-/* Define to rpl_malloc if the replacement function should be used. */
-/* #undef malloc */
-
-/* Define to `unsigned int' if <sys/types.h> does not define. */
-/* #undef size_t */
-
-
-#ifdef WITH_CONTIKI
-#include "platform-specific/platform.h"
-#endif
diff --git a/external/wakaama/examples/shared/tinydtls/dtls_config.h.in b/external/wakaama/examples/shared/tinydtls/dtls_config.h.in
deleted file mode 100644 (file)
index 7811485..0000000
+++ /dev/null
@@ -1,151 +0,0 @@
-/* dtls_config.h.in.  Generated from configure.ac by autoheader.  */
-
-/* Define if building universal (internal helper macro) */
-#undef AC_APPLE_UNIVERSAL_BUILD
-
-/* Define to 1 if building with ECC support. */
-#undef DTLS_ECC
-
-/* Define to 1 if building with PSK support */
-#undef DTLS_PSK
-
-/* Define to 1 if you have the <arpa/inet.h> header file. */
-#undef HAVE_ARPA_INET_H
-
-/* Define to 1 if you have the <assert.h> header file. */
-#undef HAVE_ASSERT_H
-
-/* Define to 1 if you have the <fcntl.h> header file. */
-#undef HAVE_FCNTL_H
-
-/* Define to 1 if you have the `fls' function. */
-#undef HAVE_FLS
-
-/* Define to 1 if you have the <inttypes.h> header file. */
-#undef HAVE_INTTYPES_H
-
-/* Define to 1 if your system has a GNU libc compatible `malloc' function, and
-   to 0 otherwise. */
-#undef HAVE_MALLOC
-
-/* Define to 1 if you have the <memory.h> header file. */
-#undef HAVE_MEMORY_H
-
-/* Define to 1 if you have the `memset' function. */
-#undef HAVE_MEMSET
-
-/* Define to 1 if you have the <netdb.h> header file. */
-#undef HAVE_NETDB_H
-
-/* Define to 1 if you have the <netinet/in.h> header file. */
-#undef HAVE_NETINET_IN_H
-
-/* Define to 1 if you have the `select' function. */
-#undef HAVE_SELECT
-
-/* Define to 1 if struct sockaddr_in6 has a member sin6_len. */
-#undef HAVE_SOCKADDR_IN6_SIN6_LEN
-
-/* Define to 1 if you have the `socket' function. */
-#undef HAVE_SOCKET
-
-/* Define to 1 if you have the <stddef.h> header file. */
-#undef HAVE_STDDEF_H
-
-/* Define to 1 if you have the <stdint.h> header file. */
-#undef HAVE_STDINT_H
-
-/* Define to 1 if you have the <stdlib.h> header file. */
-#undef HAVE_STDLIB_H
-
-/* Define to 1 if you have the `strdup' function. */
-#undef HAVE_STRDUP
-
-/* Define to 1 if you have the `strerror' function. */
-#undef HAVE_STRERROR
-
-/* Define to 1 if you have the <strings.h> header file. */
-#undef HAVE_STRINGS_H
-
-/* Define to 1 if you have the <string.h> header file. */
-#undef HAVE_STRING_H
-
-/* Define to 1 if you have the `strnlen' function. */
-#undef HAVE_STRNLEN
-
-/* Define to 1 if you have the <sys/param.h> header file. */
-#undef HAVE_SYS_PARAM_H
-
-/* Define to 1 if you have the <sys/socket.h> header file. */
-#undef HAVE_SYS_SOCKET_H
-
-/* Define to 1 if you have the <sys/stat.h> header file. */
-#undef HAVE_SYS_STAT_H
-
-/* Define to 1 if you have the <sys/time.h> header file. */
-#undef HAVE_SYS_TIME_H
-
-/* Define to 1 if you have the <sys/types.h> header file. */
-#undef HAVE_SYS_TYPES_H
-
-/* Define to 1 if you have the <time.h> header file. */
-#undef HAVE_TIME_H
-
-/* Define to 1 if you have the <unistd.h> header file. */
-#undef HAVE_UNISTD_H
-
-/* Define to 1 if you have the `vprintf' function. */
-#undef HAVE_VPRINTF
-
-/* Define to the address where bug reports for this package should be sent. */
-#undef PACKAGE_BUGREPORT
-
-/* Define to the full name of this package. */
-#undef PACKAGE_NAME
-
-/* Define to the full name and version of this package. */
-#undef PACKAGE_STRING
-
-/* Define to the one symbol short name of this package. */
-#undef PACKAGE_TARNAME
-
-/* Define to the home page for this package. */
-#undef PACKAGE_URL
-
-/* Define to the version of this package. */
-#undef PACKAGE_VERSION
-
-/* Define to 1 if you have the ANSI C header files. */
-#undef STDC_HEADERS
-
-/* Define to 1 if building for Contiki. */
-#undef WITH_CONTIKI
-
-/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
-   significant byte first (like Motorola and SPARC, unlike Intel). */
-#if defined AC_APPLE_UNIVERSAL_BUILD
-# if defined __BIG_ENDIAN__
-#  define WORDS_BIGENDIAN 1
-# endif
-#else
-# ifndef WORDS_BIGENDIAN
-#  undef WORDS_BIGENDIAN
-# endif
-#endif
-
-/* Define to `__inline__' or `__inline' if that's what the C compiler
-   calls it, or to nothing if 'inline' is not supported under any name.  */
-#ifndef __cplusplus
-#undef inline
-#endif
-
-/* Define to rpl_malloc if the replacement function should be used. */
-#undef malloc
-
-/* Define to `unsigned int' if <sys/types.h> does not define. */
-#undef size_t
-
-
-#ifdef WITH_CONTIKI
-#include "platform-specific/platform.h"
-#endif
diff --git a/external/wakaama/examples/shared/tinydtls/dtls_debug.c b/external/wakaama/examples/shared/tinydtls/dtls_debug.c
deleted file mode 100644 (file)
index c7ba2f4..0000000
+++ /dev/null
@@ -1,374 +0,0 @@
-/* debug.c -- debug utilities
- *
- * Copyright (C) 2011--2012 Olaf Bergmann <bergmann@tzi.org>
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-#include "tinydtls.h"
-#include "dtls_config.h"
-
-
-#if defined(HAVE_ASSERT_H) && !defined(assert)
-#include <assert.h>
-#endif
-
-#include <stdarg.h>
-#include <stdio.h>
-
-#ifdef HAVE_ARPA_INET_H
-#include <arpa/inet.h>
-#endif
-
-#ifdef HAVE_TIME_H
-#include <time.h>
-#endif
-
-#include "global.h"
-#include "dtls_debug.h"
-
-static int maxlog = DTLS_LOG_WARN;     /* default maximum log level */
-
-const char *dtls_package_name() {
-  return PACKAGE_NAME;
-}
-
-const char *dtls_package_version() {
-  return PACKAGE_VERSION;
-}
-
-log_t 
-dtls_get_log_level() {
-  return maxlog;
-}
-
-void
-dtls_set_log_level(log_t level) {
-  maxlog = level;
-}
-
-/* this array has the same order as the type log_t */
-static char *loglevels[] = {
-  "EMRG", "ALRT", "CRIT", "WARN", "NOTE", "INFO", "DEBG" 
-};
-
-#ifdef HAVE_TIME_H
-
-static inline size_t
-print_timestamp(char *s, size_t len, time_t t) {
-  struct tm *tmp;
-  tmp = localtime(&t);
-  return strftime(s, len, "%b %d %H:%M:%S", tmp);
-}
-
-#else /* alternative implementation: just print the timestamp */
-
-static inline size_t
-print_timestamp(char *s, size_t len, clock_time_t t) {
-#ifdef HAVE_SNPRINTF
-  return snprintf(s, len, "%u.%03u", 
-                 (unsigned int)(t / CLOCK_SECOND), 
-                 (unsigned int)(t % CLOCK_SECOND));
-#else /* HAVE_SNPRINTF */
-  /* @todo do manual conversion of timestamp */
-  return 0;
-#endif /* HAVE_SNPRINTF */
-}
-
-#endif /* HAVE_TIME_H */
-
-/** 
- * A length-safe strlen() fake. 
- * 
- * @param s      The string to count characters != 0.
- * @param maxlen The maximum length of @p s.
- * 
- * @return The length of @p s.
- */
-static inline size_t
-dtls_strnlen(const char *s, size_t maxlen) {
-  size_t n = 0;
-  while(*s++ && n < maxlen)
-    ++n;
-  return n;
-}
-
-#ifndef min
-#define min(a,b) ((a) < (b) ? (a) : (b))
-#endif
-
-static size_t
-dsrv_print_addr(const session_t *addr, char *buf, size_t len) {
-#ifdef HAVE_ARPA_INET_H
-  const void *addrptr = NULL;
-  in_port_t port;
-  char *p = buf;
-
-  switch (addr->addr.sa.sa_family) {
-  case AF_INET: 
-    if (len < INET_ADDRSTRLEN)
-      return 0;
-  
-    addrptr = &addr->addr.sin.sin_addr;
-    port = ntohs(addr->addr.sin.sin_port);
-    break;
-  case AF_INET6:
-    if (len < INET6_ADDRSTRLEN + 2)
-      return 0;
-
-    *p++ = '[';
-
-    addrptr = &addr->addr.sin6.sin6_addr;
-    port = ntohs(addr->addr.sin6.sin6_port);
-
-    break;
-  default:
-    memcpy(buf, "(unknown address type)", min(22, len));
-    return min(22, len);
-  }
-
-  if (inet_ntop(addr->addr.sa.sa_family, addrptr, p, len) == 0) {
-    perror("dsrv_print_addr");
-    return 0;
-  }
-
-  p += dtls_strnlen(p, len);
-
-  if (addr->addr.sa.sa_family == AF_INET6) {
-    if (p < buf + len) {
-      *p++ = ']';
-    } else 
-      return 0;
-  }
-
-  p += snprintf(p, buf + len - p + 1, ":%d", port);
-
-  return p - buf;
-#else /* HAVE_ARPA_INET_H */
-# if WITH_CONTIKI
-  char *p = buf;
-#  ifdef UIP_CONF_IPV6
-  uint8_t i;
-  const char hex[] = "0123456789ABCDEF";
-
-  if (len < 41)
-    return 0;
-
-  *p++ = '[';
-
-  for (i=0; i < 16; i += 2) {
-    if (i) {
-      *p++ = ':';
-    }
-    *p++ = hex[(addr->addr.u8[i] & 0xf0) >> 4];
-    *p++ = hex[(addr->addr.u8[i] & 0x0f)];
-    *p++ = hex[(addr->addr.u8[i+1] & 0xf0) >> 4];
-    *p++ = hex[(addr->addr.u8[i+1] & 0x0f)];
-  }
-  *p++ = ']';
-#  else /* UIP_CONF_IPV6 */
-#   warning "IPv4 network addresses will not be included in debug output"
-
-  if (len < 21)
-    return 0;
-#  endif /* UIP_CONF_IPV6 */
-  if (buf + len - p < 6)
-    return 0;
-
-  p += sprintf(p, ":%d", uip_htons(addr->port));
-
-  return p - buf;
-# else /* WITH_CONTIKI */
-  /* TODO: output addresses manually */
-#   warning "inet_ntop() not available, network addresses will not be included in debug output"
-# endif /* WITH_CONTIKI */
-  return 0;
-#endif
-}
-
-#ifndef WITH_CONTIKI
-void 
-dsrv_log(log_t level, char *format, ...) {
-  static char timebuf[32];
-  va_list ap;
-  FILE *log_fd;
-
-  if (maxlog < level)
-    return;
-
-  log_fd = level <= DTLS_LOG_CRIT ? stderr : stdout;
-
-  if (print_timestamp(timebuf,sizeof(timebuf), time(NULL)))
-    fprintf(log_fd, "%s ", timebuf);
-
-  if (level <= DTLS_LOG_DEBUG) 
-    fprintf(log_fd, "%s ", loglevels[level]);
-
-  va_start(ap, format);
-  vfprintf(log_fd, format, ap);
-  va_end(ap);
-  fflush(log_fd);
-}
-#elif defined (HAVE_VPRINTF) /* WITH_CONTIKI */
-void 
-dsrv_log(log_t level, char *format, ...) {
-  static char timebuf[32];
-  va_list ap;
-
-  if (maxlog < level)
-    return;
-
-  if (print_timestamp(timebuf,sizeof(timebuf), clock_time()))
-    PRINTF("%s ", timebuf);
-
-  if (level <= DTLS_LOG_DEBUG) 
-    PRINTF("%s ", loglevels[level]);
-
-  va_start(ap, format);
-  vprintf(format, ap);
-  va_end(ap);
-}
-#endif /* WITH_CONTIKI */
-
-#ifndef NDEBUG
-/** dumps packets in usual hexdump format */
-void hexdump(const unsigned char *packet, int length) {
-  int n = 0;
-
-  while (length--) { 
-    if (n % 16 == 0)
-      printf("%08X ",n);
-
-    printf("%02X ", *packet++);
-    
-    n++;
-    if (n % 8 == 0) {
-      if (n % 16 == 0)
-       printf("\n");
-      else
-       printf(" ");
-    }
-  }
-}
-
-/** dump as narrow string of hex digits */
-void dump(unsigned char *buf, size_t len) {
-  while (len--) 
-    printf("%02x", *buf++);
-}
-
-void dtls_dsrv_log_addr(log_t level, const char *name, const int *addr)
-{
-  char addrbuf[73];
-  int len;
-
-  len = dsrv_print_addr(addr, addrbuf, sizeof(addrbuf));
-  if (!len)
-    return;
-  dsrv_log(level, "%s: %s\n", name, addrbuf);
-}
-
-#ifndef WITH_CONTIKI
-void 
-dtls_dsrv_hexdump_log(log_t level, const char *name, const unsigned char *buf, size_t length, int extend) {
-  static char timebuf[32];
-  FILE *log_fd;
-  int n = 0;
-
-  if (maxlog < level)
-    return;
-
-  log_fd = level <= DTLS_LOG_CRIT ? stderr : stdout;
-
-  if (print_timestamp(timebuf, sizeof(timebuf), time(NULL)))
-    fprintf(log_fd, "%s ", timebuf);
-
-  if (level <= DTLS_LOG_DEBUG) 
-    fprintf(log_fd, "%s ", loglevels[level]);
-
-  if (extend) {
-    fprintf(log_fd, "%s: (%zu bytes):\n", name, length);
-
-    while (length--) {
-      if (n % 16 == 0)
-       fprintf(log_fd, "%08X ", n);
-
-      fprintf(log_fd, "%02X ", *buf++);
-
-      n++;
-      if (n % 8 == 0) {
-       if (n % 16 == 0)
-         fprintf(log_fd, "\n");
-       else
-         fprintf(log_fd, " ");
-      }
-    }
-  } else {
-    fprintf(log_fd, "%s: (%zu bytes): ", name, length);
-    while (length--) 
-      fprintf(log_fd, "%02X", *buf++);
-  }
-  fprintf(log_fd, "\n");
-
-  fflush(log_fd);
-}
-#else /* WITH_CONTIKI */
-void 
-dtls_dsrv_hexdump_log(log_t level, const char *name, const unsigned char *buf, size_t length, int extend) {
-  static char timebuf[32];
-  int n = 0;
-
-  if (maxlog < level)
-    return;
-
-  if (print_timestamp(timebuf,sizeof(timebuf), clock_time()))
-    PRINTF("%s ", timebuf);
-
-  if (level >= 0 && level <= DTLS_LOG_DEBUG) 
-    PRINTF("%s ", loglevels[level]);
-
-  if (extend) {
-    PRINTF("%s: (%zu bytes):\n", name, length);
-
-    while (length--) {
-      if (n % 16 == 0)
-       PRINTF("%08X ", n);
-
-      PRINTF("%02X ", *buf++);
-
-      n++;
-      if (n % 8 == 0) {
-       if (n % 16 == 0)
-         PRINTF("\n");
-       else
-         PRINTF(" ");
-      }
-    }
-  } else {
-    PRINTF("%s: (%zu bytes): ", name, length);
-    while (length--) 
-      PRINTF("%02X", *buf++);
-  }
-  PRINTF("\n");
-}
-#endif /* WITH_CONTIKI */
-
-#endif /* NDEBUG */
diff --git a/external/wakaama/examples/shared/tinydtls/dtls_debug.h b/external/wakaama/examples/shared/tinydtls/dtls_debug.h
deleted file mode 100644 (file)
index 767f8ea..0000000
+++ /dev/null
@@ -1,143 +0,0 @@
-/* debug.h -- debug utilities
- *
- * Copyright (C) 2011--2012 Olaf Bergmann <bergmann@tzi.org>
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-#ifndef _DTLS_DEBUG_H_
-#define _DTLS_DEBUG_H_
-
-#include <stdlib.h>
-
-#include "dtls_config.h"
-#include "global.h"
-#include "session.h"
-
-#ifdef WITH_CONTIKI
-# ifndef DEBUG
-#  define DEBUG DEBUG_PRINT
-# endif /* DEBUG */
-#include "net/ip/uip-debug.h"
-
-#ifdef CONTIKI_TARGET_MBXXX
-extern char __Stack_Init, _estack;
-
-static inline void check_stack() {
-  const char *p = &__Stack_Init;
-  while (p < &_estack && *p == 0x38) {
-    p++;
-  }
-
-  PRINTF("Stack: %d bytes used (%d free)\n", &_estack - p, p - &__Stack_Init);
-}
-#else /* CONTIKI_TARGET_MBXXX */
-static inline void check_stack() {
-}
-#endif /* CONTIKI_TARGET_MBXXX */
-#else /* WITH_CONTKI */
-#define PRINTF(...)
-
-static inline void check_stack() {
-}
-#endif
-
-struct __session_t;
-
-/** Pre-defined log levels akin to what is used in \b syslog. */
-typedef enum { DTLS_LOG_EMERG=0, DTLS_LOG_ALERT, DTLS_LOG_CRIT, DTLS_LOG_WARN, 
-       DTLS_LOG_NOTICE, DTLS_LOG_INFO, DTLS_LOG_DEBUG
-} log_t;
-
-/** Returns a zero-terminated string with the name of this library. */
-const char *dtls_package_name();
-
-/** Returns a zero-terminated string with the library version. */
-const char *dtls_package_version();
-
-#ifndef NDEBUG
-/** Returns the current log level. */
-log_t dtls_get_log_level();
-
-/** Sets the log level to the specified value. */
-void dtls_set_log_level(log_t level);
-
-/** 
- * Writes the given text to \c stdout. The text is output only when \p
- * level is below or equal to the log level that set by
- * set_log_level(). */
-#ifdef HAVE_VPRINTF
-void dsrv_log(log_t level, char *format, ...);
-#else
-#define dsrv_log(level, format, ...) PRINTF(format, ##__VA_ARGS__)
-#endif
-
-/** dumps packets in usual hexdump format */
-void hexdump(const unsigned char *packet, int length);
-
-/** dump as narrow string of hex digits */
-void dump(unsigned char *buf, size_t len);
-
-void dtls_dsrv_hexdump_log(log_t level, const char *name, const unsigned char *buf, size_t length, int extend);
-
-void dtls_dsrv_log_addr(log_t level, const char *name, const int *addr);
-
-#else /* NDEBUG */
-
-static inline log_t dtls_get_log_level()
-{
-  return DTLS_LOG_EMERG;
-}
-
-static inline void dtls_set_log_level(log_t level)
-{}
-
-static inline void dsrv_log(log_t level, char *format, ...)
-{}
-
-static inline void hexdump(const unsigned char *packet, int length)
-{}
-
-static inline void dump(unsigned char *buf, size_t len)
-{}
-
-static inline void
-dtls_dsrv_hexdump_log(log_t level, const char *name, const unsigned char *buf, size_t length, int extend)
-{}
-
-static inline void
-dtls_dsrv_log_addr(log_t level, const char *name, const struct __session_t *addr)
-{}
-
-#endif /* NDEBUG */
-
-/* A set of convenience macros for common log levels. */
-#define dtls_emerg(...) dsrv_log(DTLS_LOG_EMERG, __VA_ARGS__)
-#define dtls_alert(...) dsrv_log(DTLS_LOG_ALERT, __VA_ARGS__)
-#define dtls_crit(...) dsrv_log(DTLS_LOG_CRIT, __VA_ARGS__)
-#define dtls_warn(...) dsrv_log(DTLS_LOG_WARN, __VA_ARGS__)
-#define dtls_notice(...) dsrv_log(DTLS_LOG_NOTICE, __VA_ARGS__)
-#define dtls_info(...) dsrv_log(DTLS_LOG_INFO, __VA_ARGS__)
-#define dtls_debug(...) dsrv_log(DTLS_LOG_DEBUG, __VA_ARGS__)
-#define dtls_debug_hexdump(name, buf, length) dtls_dsrv_hexdump_log(DTLS_LOG_DEBUG, name, buf, length, 1)
-#define dtls_debug_dump(name, buf, length) dtls_dsrv_hexdump_log(DTLS_LOG_DEBUG, name, buf, length, 0)
-
-#endif /* _DTLS_DEBUG_H_ */
diff --git a/external/wakaama/examples/shared/tinydtls/dtls_time.c b/external/wakaama/examples/shared/tinydtls/dtls_time.c
deleted file mode 100644 (file)
index 88c292a..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-/* dtls -- a very basic DTLS implementation
- *
- * Copyright (C) 2011--2013 Olaf Bergmann <bergmann@tzi.org>
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-/**
- * @file dtls_time.c
- * @brief Clock Handling
- */
-
-#include "tinydtls.h"
-#include "dtls_config.h"
-#include "dtls_time.h"
-
-#ifdef WITH_CONTIKI
-clock_time_t dtls_clock_offset;
-
-void
-dtls_clock_init(void) {
-  clock_init();
-  dtls_clock_offset = clock_time();
-}
-
-void
-dtls_ticks(dtls_tick_t *t) {
-  *t = clock_time();
-}
-
-#else /* WITH_CONTIKI */
-
-time_t dtls_clock_offset;
-
-void
-dtls_clock_init(void) {
-#ifdef HAVE_TIME_H
-  dtls_clock_offset = time(NULL);
-#else
-#  ifdef __GNUC__
-  /* Issue a warning when using gcc. Other prepropressors do 
-   *  not seem to have a similar feature. */ 
-#   warning "cannot initialize clock"
-#  endif
-  dtls_clock_offset = 0;
-#endif
-}
-
-void dtls_ticks(dtls_tick_t *t) {
-#ifdef HAVE_SYS_TIME_H
-  struct timeval tv;
-  gettimeofday(&tv, NULL);
-  *t = (tv.tv_sec - dtls_clock_offset) * DTLS_TICKS_PER_SECOND 
-    + (tv.tv_usec * DTLS_TICKS_PER_SECOND / 1000000);
-#else
-#error "clock not implemented"
-#endif
-}
-
-#endif /* WITH_CONTIKI */
-
-
diff --git a/external/wakaama/examples/shared/tinydtls/dtls_time.h b/external/wakaama/examples/shared/tinydtls/dtls_time.h
deleted file mode 100644 (file)
index 82ff062..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-/* dtls -- a very basic DTLS implementation
- *
- * Copyright (C) 2011--2013 Olaf Bergmann <bergmann@tzi.org>
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-/**
- * @file dtls_time.h
- * @brief Clock Handling
- */
-
-#ifndef _DTLS_DTLS_TIME_H_
-#define _DTLS_DTLS_TIME_H_
-
-#include <stdint.h>
-#include <sys/time.h>
-
-#include "tinydtls.h"
-
-/**
- * @defgroup clock Clock Handling
- * Default implementation of internal clock. You should redefine this if
- * you do not have time() and gettimeofday().
- * @{
- */
-
-#ifdef WITH_CONTIKI
-#include "clock.h"
-#else /* WITH_CONTIKI */
-#include <time.h>
-
-#ifndef CLOCK_SECOND
-# define CLOCK_SECOND 1000
-#endif
-
-typedef uint32_t clock_time_t;
-#endif /* WITH_CONTIKI */
-
-typedef clock_time_t dtls_tick_t;
-
-#ifndef DTLS_TICKS_PER_SECOND
-#define DTLS_TICKS_PER_SECOND CLOCK_SECOND
-#endif /* DTLS_TICKS_PER_SECOND */
-
-void dtls_clock_init(void);
-void dtls_ticks(dtls_tick_t *t);
-
-/** @} */
-
-#endif /* _DTLS_DTLS_TIME_H_ */
diff --git a/external/wakaama/examples/shared/tinydtls/ecc/Makefile.contiki b/external/wakaama/examples/shared/tinydtls/ecc/Makefile.contiki
deleted file mode 100644 (file)
index 7787d2d..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-CONTIKI=../../..
-
-APPS += ecc
-
-CFLAGS += -DTEST_INCLUDE
-
-include $(CONTIKI)/Makefile.include
diff --git a/external/wakaama/examples/shared/tinydtls/ecc/Makefile.in b/external/wakaama/examples/shared/tinydtls/ecc/Makefile.in
deleted file mode 100644 (file)
index 4631cbb..0000000
+++ /dev/null
@@ -1,90 +0,0 @@
-# Makefile for tinydtls
-#
-# Copyright (C) 2011 Olaf Bergmann <bergmann@tzi.org>
-# Copyright (C) 2013 Hauke Mehrtens <hauke@hauke-m.de>
-#
-# Permission is hereby granted, free of charge, to any person
-# obtaining a copy of this software and associated documentation
-# files (the "Software"), to deal in the Software without
-# restriction, including without limitation the rights to use, copy,
-# modify, merge, publish, distribute, sublicense, and/or sell copies
-# of the Software, and to permit persons to whom the Software is
-# furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice shall be
-# included in all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
-# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
-# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-# SOFTWARE.
-
-# the library's version
-VERSION:=@PACKAGE_VERSION@
-
-# tools
-@SET_MAKE@
-SHELL = /bin/sh
-MKDIR = mkdir
-
-abs_builddir = @abs_builddir@
-top_builddir = @top_builddir@
-top_srcdir:= @top_srcdir@
-
-ECC_SOURCES:= ecc.c testecc.c testfield.c test_helper.c
-ECC_HEADERS:= ecc.h test_helper.h
-FILES:=Makefile.in Makefile.contiki $(ECC_SOURCES) $(ECC_HEADERS) 
-DISTDIR=$(top_builddir)/@PACKAGE_TARNAME@-@PACKAGE_VERSION@
-
-ifeq ("@WITH_CONTIKI@", "1")
-include Makefile.contiki
-else
-ECC_OBJECTS:= $(patsubst %.c, %.o, $(ECC_SOURCES)) ecc_test.o
-PROGRAMS:= testecc testfield
-CPPFLAGS=@CPPFLAGS@
-CFLAGS=-Wall -std=c99 -pedantic @CFLAGS@ -DTEST_INCLUDE
-LDLIBS=@LIBS@
-
-.PHONY: all dirs clean install distclean .gitignore doc
-
-.SUFFIXES:
-.SUFFIXES:      .c .o
-
-all: $(PROGRAMS)
-
-ecc_test.o:    ecc.c ecc.h
-       $(CC) $(CFLAGS) $(CPPFLAGS)  -c -o $@ $<
-
-testecc: ecc_test.o test_helper.o
-
-testfield: ecc_test.o test_helper.o
-
-check: 
-       echo DISTDIR: $(DISTDIR)
-       echo top_builddir: $(top_builddir)
-
-clean:
-       @rm -f $(PROGRAMS) main.o $(LIB) $(OBJECTS)
-       for dir in $(SUBDIRS); do \
-               $(MAKE) -C $$dir clean ; \
-       done
-
-distclean:     clean
-       @rm -rf $(DISTDIR)
-       @rm -f *~ $(DISTDIR).tar.gz
-endif # WITH_CONTIKI
-
-dist:  $(FILES)
-       test -d $(DISTDIR)/ecc || mkdir $(DISTDIR)/ecc
-       cp -p $(FILES) $(DISTDIR)/ecc
-
-install:       $(HEADERS)
-       test -d $(includedir)/ecc || mkdir -p $(includedir)/ecc
-       $(install) $(HEADERS) $(includedir)/ecc
-
-.gitignore:
-       echo "core\n*~\n*.[oa]\n*.gz\n*.cap\n$(PROGRAM)\n$(DISTDIR)\n.gitignore" >$@
diff --git a/external/wakaama/examples/shared/tinydtls/ecc/ecc.c b/external/wakaama/examples/shared/tinydtls/ecc/ecc.c
deleted file mode 100644 (file)
index c6c8497..0000000
+++ /dev/null
@@ -1,707 +0,0 @@
-/*
- * Copyright (c) 2009 Chris K Cockrum <ckc@cockrum.net>
- *
- * Copyright (c) 2013 Jens Trillmann <jtrillma@tzi.de>
- * Copyright (c) 2013 Marc Müller-Weinhardt <muewei@tzi.de>
- * Copyright (c) 2013 Lars Schmertmann <lars@tzi.de>
- * Copyright (c) 2013 Hauke Mehrtens <hauke@hauke-m.de>
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- * THE SOFTWARE.
- *
- *
- * This implementation is based in part on the paper Implementation of an
- * Elliptic Curve Cryptosystem on an 8-bit Microcontroller [0] by
- * Chris K Cockrum <ckc@cockrum.net>.
- *
- * [0]: http://cockrum.net/Implementation_of_ECC_on_an_8-bit_microcontroller.pdf
- *
- * This is a efficient ECC implementation on the secp256r1 curve for 32 Bit CPU
- * architectures. It provides basic operations on the secp256r1 curve and support
- * for ECDH and ECDSA.
- */
-
-//big number functions
-#include "ecc.h"
-#include <string.h>
-
-static uint32_t add( const uint32_t *x, const uint32_t *y, uint32_t *result, uint8_t length){
-       uint64_t d = 0; //carry
-       int v = 0;
-       for(v = 0;v<length;v++){
-               //printf("%02x + %02x + %01x = ", x[v], y[v], d);
-               d += (uint64_t) x[v] + (uint64_t) y[v];
-               //printf("%02x\n", d);
-               result[v] = d;
-               d = d>>32; //save carry
-       }
-       
-       return (uint32_t)d;
-}
-
-static uint32_t sub( const uint32_t *x, const uint32_t *y, uint32_t *result, uint8_t length){
-       uint64_t d = 0;
-       int v;
-       for(v = 0;v < length; v++){
-               d = (uint64_t) x[v] - (uint64_t) y[v] - d;
-               result[v] = d & 0xFFFFFFFF;
-               d = d>>32;
-               d &= 0x1;
-       }       
-       return (uint32_t)d;
-}
-
-static void rshiftby(const uint32_t *in, uint8_t in_size, uint32_t *out, uint8_t out_size, uint8_t shift) {
-       int i;
-
-       for (i = 0; i < (in_size - shift) && i < out_size; i++)
-               out[i] = in[i + shift];
-       for (/* reuse i */; i < out_size; i++)
-               out[i] = 0;
-}
-
-//finite field functions
-//FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF
-static const uint32_t ecc_prime_m[8] = {0xffffffff, 0xffffffff, 0xffffffff, 0x00000000,
-                                       0x00000000, 0x00000000, 0x00000001, 0xffffffff};
-
-                                                       
-/* This is added after an static byte addition if the answer has a carry in MSB*/
-static const uint32_t ecc_prime_r[8] = {0x00000001, 0x00000000, 0x00000000, 0xffffffff,
-                                       0xffffffff, 0xffffffff, 0xfffffffe, 0x00000000};
-
-// ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551
-static const uint32_t ecc_order_m[9] = {0xFC632551, 0xF3B9CAC2, 0xA7179E84, 0xBCE6FAAD,
-                                       0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0xFFFFFFFF,
-                                       0x00000000};
-
-static const uint32_t ecc_order_r[8] = {0x039CDAAF, 0x0C46353D, 0x58E8617B, 0x43190552,
-                                       0x00000000, 0x00000000, 0xFFFFFFFF, 0x00000000};
-
-static const uint32_t ecc_order_mu[9] = {0xEEDF9BFE, 0x012FFD85, 0xDF1A6C21, 0x43190552,
-                                        0xFFFFFFFF, 0xFFFFFFFE, 0xFFFFFFFF, 0x00000000,
-                                        0x00000001};
-
-static const uint8_t ecc_order_k = 8;
-
-const uint32_t ecc_g_point_x[8] = { 0xD898C296, 0xF4A13945, 0x2DEB33A0, 0x77037D81,
-                                   0x63A440F2, 0xF8BCE6E5, 0xE12C4247, 0x6B17D1F2};
-const uint32_t ecc_g_point_y[8] = { 0x37BF51F5, 0xCBB64068, 0x6B315ECE, 0x2BCE3357,
-                                   0x7C0F9E16, 0x8EE7EB4A, 0xFE1A7F9B, 0x4FE342E2};
-
-
-static void setZero(uint32_t *A, const int length){
-       memset(A, 0x0, length * sizeof(uint32_t));
-}
-
-/*
- * copy one array to another
- */
-static void copy(const uint32_t *from, uint32_t *to, uint8_t length){
-       memcpy(to, from, length * sizeof(uint32_t));
-}
-
-static int isSame(const uint32_t *A, const uint32_t *B, uint8_t length){
-       return !memcmp(A, B, length * sizeof(uint32_t));
-}
-
-//is A greater than B?
-static int isGreater(const uint32_t *A, const uint32_t *B, uint8_t length){
-       int i;
-       for (i = length-1; i >= 0; --i)
-       {
-               if(A[i] > B[i])
-                       return 1;
-               if(A[i] < B[i])
-                       return -1;
-       }
-       return 0;
-}
-
-
-static int fieldAdd(const uint32_t *x, const uint32_t *y, const uint32_t *reducer, uint32_t *result){
-       if(add(x, y, result, arrayLength)){ //add prime if carry is still set!
-               uint32_t tempas[8];
-               setZero(tempas, 8);
-               add(result, reducer, tempas, arrayLength);
-               copy(tempas, result, arrayLength);
-       }
-       return 0;
-}
-
-static int fieldSub(const uint32_t *x, const uint32_t *y, const uint32_t *modulus, uint32_t *result){
-       if(sub(x, y, result, arrayLength)){ //add modulus if carry is set
-               uint32_t tempas[8];
-               setZero(tempas, 8);
-               add(result, modulus, tempas, arrayLength);
-               copy(tempas, result, arrayLength);
-       }
-       return 0;
-}
-
-//finite Field multiplication
-//32bit * 32bit = 64bit
-static int fieldMult(const uint32_t *x, const uint32_t *y, uint32_t *result, uint8_t length){
-       uint32_t temp[length * 2];
-       setZero(temp, length * 2);
-       setZero(result, length * 2);
-       uint8_t k, n;
-       uint64_t l;
-       for (k = 0; k < length; k++){
-               for (n = 0; n < length; n++){ 
-                       l = (uint64_t)x[n]*(uint64_t)y[k];
-                       temp[n+k] = l&0xFFFFFFFF;
-                       temp[n+k+1] = l>>32;
-                       add(&temp[n+k], &result[n+k], &result[n+k], (length * 2) - (n + k));
-
-                       setZero(temp, length * 2);
-               }
-       }
-       return 0;
-}
-
-//TODO: maximum:
-//fffffffe00000002fffffffe0000000100000001fffffffe00000001fffffffe00000001fffffffefffffffffffffffffffffffe000000000000000000000001_16
-static void fieldModP(uint32_t *A, const uint32_t *B)
-{
-       uint32_t tempm[8];
-       uint32_t tempm2[8];
-       uint8_t n;
-       setZero(tempm, 8);
-       setZero(tempm2, 8);
-       /* A = T */ 
-       copy(B,A,arrayLength);
-
-       /* Form S1 */ 
-       for(n=0;n<3;n++) tempm[n]=0; 
-       for(n=3;n<8;n++) tempm[n]=B[n+8];
-
-       /* tempm2=T+S1 */ 
-       fieldAdd(A,tempm,ecc_prime_r,tempm2);
-       /* A=T+S1+S1 */ 
-       fieldAdd(tempm2,tempm,ecc_prime_r,A);
-       /* Form S2 */ 
-       for(n=0;n<3;n++) tempm[n]=0; 
-       for(n=3;n<7;n++) tempm[n]=B[n+9]; 
-       for(n=7;n<8;n++) tempm[n]=0;
-       /* tempm2=T+S1+S1+S2 */ 
-       fieldAdd(A,tempm,ecc_prime_r,tempm2);
-       /* A=T+S1+S1+S2+S2 */ 
-       fieldAdd(tempm2,tempm,ecc_prime_r,A);
-       /* Form S3 */ 
-       for(n=0;n<3;n++) tempm[n]=B[n+8]; 
-       for(n=3;n<6;n++) tempm[n]=0; 
-       for(n=6;n<8;n++) tempm[n]=B[n+8];
-       /* tempm2=T+S1+S1+S2+S2+S3 */ 
-       fieldAdd(A,tempm,ecc_prime_r,tempm2);
-       /* Form S4 */ 
-       for(n=0;n<3;n++) tempm[n]=B[n+9]; 
-       for(n=3;n<6;n++) tempm[n]=B[n+10]; 
-       for(n=6;n<7;n++) tempm[n]=B[n+7]; 
-       for(n=7;n<8;n++) tempm[n]=B[n+1];
-       /* A=T+S1+S1+S2+S2+S3+S4 */ 
-       fieldAdd(tempm2,tempm,ecc_prime_r,A);
-       /* Form D1 */ 
-       for(n=0;n<3;n++) tempm[n]=B[n+11]; 
-       for(n=3;n<6;n++) tempm[n]=0; 
-       for(n=6;n<7;n++) tempm[n]=B[n+2]; 
-       for(n=7;n<8;n++) tempm[n]=B[n+3];
-       /* tempm2=T+S1+S1+S2+S2+S3+S4-D1 */ 
-       fieldSub(A,tempm,ecc_prime_m,tempm2);
-       /* Form D2 */ 
-       for(n=0;n<4;n++) tempm[n]=B[n+12]; 
-       for(n=4;n<6;n++) tempm[n]=0; 
-       for(n=6;n<7;n++) tempm[n]=B[n+3]; 
-       for(n=7;n<8;n++) tempm[n]=B[n+4];
-       /* A=T+S1+S1+S2+S2+S3+S4-D1-D2 */ 
-       fieldSub(tempm2,tempm,ecc_prime_m,A);
-       /* Form D3 */ 
-       for(n=0;n<3;n++) tempm[n]=B[n+13]; 
-       for(n=3;n<6;n++) tempm[n]=B[n+5]; 
-       for(n=6;n<7;n++) tempm[n]=0; 
-       for(n=7;n<8;n++) tempm[n]=B[n+5];
-       /* tempm2=T+S1+S1+S2+S2+S3+S4-D1-D2-D3 */ 
-       fieldSub(A,tempm,ecc_prime_m,tempm2);
-       /* Form D4 */ 
-       for(n=0;n<2;n++) tempm[n]=B[n+14]; 
-       for(n=2;n<3;n++) tempm[n]=0; 
-       for(n=3;n<6;n++) tempm[n]=B[n+6]; 
-       for(n=6;n<7;n++) tempm[n]=0; 
-       for(n=7;n<8;n++) tempm[n]=B[n+6];
-       /* A=T+S1+S1+S2+S2+S3+S4-D1-D2-D3-D4 */ 
-       fieldSub(tempm2,tempm,ecc_prime_m,A);
-       if(isGreater(A, ecc_prime_m, arrayLength) >= 0){
-               fieldSub(A, ecc_prime_m, ecc_prime_m, tempm);
-               copy(tempm, A, arrayLength);
-       }
-}
-
-/**
- * calculate the result = A mod n.
- * n is the order of the eliptic curve.
- * A and result could point to the same value
- *
- * A: input value (max size * 4 bytes)
- * result: result of modulo calculation (max 36 bytes)
- * size: size of A
- *
- * This uses the Barrett modular reduction as described in the Handbook 
- * of Applied Cryptography 14.42 Algorithm Barrett modular reduction, 
- * see http://cacr.uwaterloo.ca/hac/about/chap14.pdf and 
- * http://everything2.com/title/Barrett+Reduction
- *
- * b = 32 (bite size of the processor architecture)
- * mu (ecc_order_mu) was precomputed in a java program
- */
-static void fieldModO(const uint32_t *A, uint32_t *result, uint8_t length) {
-       // This is used for value q1 and q3
-       uint32_t q1_q3[9];
-       // This is used for q2 and a temp var
-       uint32_t q2_tmp[18];
-
-       // return if the given value is smaller than the modulus
-       if (length == arrayLength && isGreater(A, ecc_order_m, arrayLength) <= 0) {
-               if (A != result)
-                       copy(A, result, length);
-               return;
-       }
-
-       rshiftby(A, length, q1_q3, 9, ecc_order_k - 1);
-
-       fieldMult(ecc_order_mu, q1_q3, q2_tmp, 9);
-
-       rshiftby(q2_tmp, 18, q1_q3, 8, ecc_order_k + 1);
-
-       // r1 = first 9 blocks of A
-
-       fieldMult(q1_q3, ecc_order_m, q2_tmp, 8);
-
-       // r2 = first 9 blocks of q2_tmp
-
-       sub(A, q2_tmp, result, 9);
-
-       while (isGreater(result, ecc_order_m, 9) >= 0)
-               sub(result, ecc_order_m, result, 9);
-}
-
-static int isOne(const uint32_t* A){
-       uint8_t n; 
-       for(n=1;n<8;n++) 
-               if (A[n]!=0) 
-                       break;
-
-       if ((n==8)&&(A[0]==1)) 
-               return 1;
-       else 
-               return 0;
-}
-
-static int isZero(const uint32_t* A){
-       uint8_t n, r=0;
-       for(n=0;n<8;n++){
-               if (A[n] == 0) r++;
-       }
-       return r==8;
-}
-
-static void rshift(uint32_t* A){
-       int n, i;
-       uint32_t nOld = 0;
-       for (i = 8; i--;)
-       {
-               n = A[i]&0x1;
-               A[i] = A[i]>>1 | nOld<<31;
-               nOld = n;
-       }
-}
-
-static int fieldAddAndDivide(const uint32_t *x, const uint32_t *modulus, const uint32_t *reducer, uint32_t* result){
-       uint32_t n = add(x, modulus, result, arrayLength);
-       rshift(result);
-       if(n){ //add prime if carry is still set!
-               result[7] |= 0x80000000;//add the carry
-               if (isGreater(result, modulus, arrayLength) == 1)
-               {
-                       uint32_t tempas[8];
-                       setZero(tempas, 8);
-                       add(result, reducer, tempas, 8);
-                       copy(tempas, result, arrayLength);
-               }
-               
-       }
-       return 0;
-}
-
-/*
- * Inverse A and output to B
- */
-static void fieldInv(const uint32_t *A, const uint32_t *modulus, const uint32_t *reducer, uint32_t *B){
-       uint32_t u[8],v[8],x1[8],x2[8];
-       uint32_t tempm[8];
-       uint32_t tempm2[8];
-       setZero(tempm, 8);
-       setZero(tempm2, 8);
-       setZero(u, 8);
-       setZero(v, 8);
-
-       uint8_t t;
-       copy(A,u,arrayLength); 
-       copy(modulus,v,arrayLength); 
-       setZero(x1, 8);
-       setZero(x2, 8);
-       x1[0]=1; 
-       /* While u !=1 and v !=1 */ 
-       while ((isOne(u) || isOne(v))==0) {
-               while(!(u[0]&1)) {                                      /* While u is even */
-                       rshift(u);                                              /* divide by 2 */
-                       if (!(x1[0]&1))                                 /*ifx1iseven*/
-                               rshift(x1);                                     /* Divide by 2 */
-                       else {
-                               fieldAddAndDivide(x1,modulus,reducer,tempm); /* tempm=x1+p */
-                               copy(tempm,x1,arrayLength);             /* x1=tempm */
-                               //rshift(x1);                                   /* Divide by 2 */
-                       }
-               } 
-               while(!(v[0]&1)) {                                      /* While v is even */
-                       rshift(v);                                              /* divide by 2 */ 
-                       if (!(x2[0]&1))                                 /*ifx1iseven*/
-                               rshift(x2);                             /* Divide by 2 */
-                       else
-                       {
-                               fieldAddAndDivide(x2,modulus,reducer,tempm);    /* tempm=x1+p */
-                               copy(tempm,x2,arrayLength);                     /* x1=tempm */ 
-                               //rshift(x2);                                   /* Divide by 2 */
-                       }
-                       
-               } 
-               t=sub(u,v,tempm,arrayLength);                           /* tempm=u-v */
-               if (t==0) {                                                     /* If u > 0 */
-                       copy(tempm,u,arrayLength);                                      /* u=u-v */
-                       fieldSub(x1,x2,modulus,tempm);                  /* tempm=x1-x2 */
-                       copy(tempm,x1,arrayLength);                                     /* x1=x1-x2 */
-               } else {
-                       sub(v,u,tempm,arrayLength);                     /* tempm=v-u */
-                       copy(tempm,v,arrayLength);                                      /* v=v-u */
-                       fieldSub(x2,x1,modulus,tempm);                  /* tempm=x2-x1 */
-                       copy(tempm,x2,arrayLength);                                     /* x2=x2-x1 */
-               }
-       } 
-       if (isOne(u)) {
-               copy(x1,B,arrayLength); 
-       } else {
-               copy(x2,B,arrayLength);
-       }
-}
-
-void static ec_double(const uint32_t *px, const uint32_t *py, uint32_t *Dx, uint32_t *Dy){
-       uint32_t tempA[8];
-       uint32_t tempB[8];
-       uint32_t tempC[8];
-       uint32_t tempD[16];
-
-       if(isZero(px) && isZero(py)){
-               copy(px, Dx,arrayLength);
-               copy(py, Dy,arrayLength);
-               return;
-       }
-
-       fieldMult(px, px, tempD, arrayLength);
-       fieldModP(tempA, tempD);
-       setZero(tempB, 8);
-       tempB[0] = 0x00000001;
-       fieldSub(tempA, tempB, ecc_prime_m, tempC); //tempC = (qx^2-1)
-       tempB[0] = 0x00000003;
-       fieldMult(tempC, tempB, tempD, arrayLength);
-       fieldModP(tempA, tempD);//tempA = 3*(qx^2-1)
-       fieldAdd(py, py, ecc_prime_r, tempB); //tempB = 2*qy
-       fieldInv(tempB, ecc_prime_m, ecc_prime_r, tempC); //tempC = 1/(2*qy)
-       fieldMult(tempA, tempC, tempD, arrayLength); //tempB = lambda = (3*(qx^2-1))/(2*qy)
-       fieldModP(tempB, tempD);
-
-       fieldMult(tempB, tempB, tempD, arrayLength); //tempC = lambda^2
-       fieldModP(tempC, tempD);
-       fieldSub(tempC, px, ecc_prime_m, tempA); //lambda^2 - Px
-       fieldSub(tempA, px, ecc_prime_m, Dx); //lambda^2 - Px - Qx
-
-       fieldSub(px, Dx, ecc_prime_m, tempA); //tempA = qx-dx
-       fieldMult(tempB, tempA, tempD, arrayLength); //tempC = lambda * (qx-dx)
-       fieldModP(tempC, tempD);
-       fieldSub(tempC, py, ecc_prime_m, Dy); //Dy = lambda * (qx-dx) - px
-}
-
-void static ec_add(const uint32_t *px, const uint32_t *py, const uint32_t *qx, const uint32_t *qy, uint32_t *Sx, uint32_t *Sy){
-       uint32_t tempA[8];
-       uint32_t tempB[8];
-       uint32_t tempC[8];
-       uint32_t tempD[16];
-
-       if(isZero(px) && isZero(py)){
-               copy(qx, Sx,arrayLength);
-               copy(qy, Sy,arrayLength);
-               return;
-       } else if(isZero(qx) && isZero(qy)) {
-               copy(px, Sx,arrayLength);
-               copy(py, Sy,arrayLength);
-               return;
-       }
-
-       if(isSame(px, qx, arrayLength)){
-               if(!isSame(py, qy, arrayLength)){
-                       setZero(Sx, 8);
-                       setZero(Sy, 8);
-                       return;
-               } else {
-                       ec_double(px, py, Sx, Sy);
-                       return;
-               }
-       }
-
-       fieldSub(py, qy, ecc_prime_m, tempA);
-       fieldSub(px, qx, ecc_prime_m, tempB);
-       fieldInv(tempB, ecc_prime_m, ecc_prime_r, tempB);
-       fieldMult(tempA, tempB, tempD, arrayLength); 
-       fieldModP(tempC, tempD); //tempC = lambda
-
-       fieldMult(tempC, tempC, tempD, arrayLength); //tempA = lambda^2
-       fieldModP(tempA, tempD);
-       fieldSub(tempA, px, ecc_prime_m, tempB); //lambda^2 - Px
-       fieldSub(tempB, qx, ecc_prime_m, Sx); //lambda^2 - Px - Qx
-
-       fieldSub(qx, Sx, ecc_prime_m, tempB);
-       fieldMult(tempC, tempB, tempD, arrayLength);
-       fieldModP(tempC, tempD);
-       fieldSub(tempC, qy, ecc_prime_m, Sy);
-}
-
-void ecc_ec_mult(const uint32_t *px, const uint32_t *py, const uint32_t *secret, uint32_t *resultx, uint32_t *resulty){
-       uint32_t Qx[8];
-       uint32_t Qy[8];
-       setZero(Qx, 8);
-       setZero(Qy, 8);
-
-       uint32_t tempx[8];
-       uint32_t tempy[8];
-
-       int i;
-       for (i = 256;i--;){
-               ec_double(Qx, Qy, tempx, tempy);
-               copy(tempx, Qx,arrayLength);
-               copy(tempy, Qy,arrayLength);
-               if (((secret[i / 32]) & ((uint32_t)1 << (i % 32)))) {
-                       ec_add(Qx, Qy, px, py, tempx, tempy); //eccAdd
-                       copy(tempx, Qx,arrayLength);
-                       copy(tempy, Qy,arrayLength);
-               }
-       }
-       copy(Qx, resultx,arrayLength);
-       copy(Qy, resulty,arrayLength);
-}
-
-/**
- * Calculate the ecdsa signature.
- *
- * For a description of this algorithm see
- * https://en.wikipedia.org/wiki/Elliptic_Curve_DSA#Signature_generation_algorithm
- *
- * input:
- *  d: private key on the curve secp256r1 (32 bytes)
- *  e: hash to sign (32 bytes)
- *  k: random data, this must be changed for every signature (32 bytes)
- *
- * output:
- *  r: r value of the signature (36 bytes)
- *  s: s value of the signature (36 bytes)
- *
- * return:
- *   0: everything is ok
- *  -1: can not create signature, try again with different k.
- */
-int ecc_ecdsa_sign(const uint32_t *d, const uint32_t *e, const uint32_t *k, uint32_t *r, uint32_t *s)
-{
-       uint32_t tmp1[16];
-       uint32_t tmp2[9];
-       uint32_t tmp3[9];
-
-       if (isZero(k))
-               return -1;
-
-       // 4. Calculate the curve point (x_1, y_1) = k * G.
-       ecc_ec_mult(ecc_g_point_x, ecc_g_point_y, k, r, tmp1);
-
-       // 5. Calculate r = x_1 \pmod{n}.
-       fieldModO(r, r, 8);
-
-       // 5. If r = 0, go back to step 3.
-       if (isZero(r))
-               return -1;
-
-       // 6. Calculate s = k^{-1}(z + r d_A) \pmod{n}.
-       // 6. r * d
-       fieldMult(r, d, tmp1, arrayLength);
-       fieldModO(tmp1, tmp2, 16);
-
-       // 6. z + (r d)
-       tmp1[8] = add(e, tmp2, tmp1, 8);
-       fieldModO(tmp1, tmp3, 9);
-
-       // 6. k^{-1}
-       fieldInv(k, ecc_order_m, ecc_order_r, tmp2);
-
-       // 6. (k^{-1}) (z + (r d))
-       fieldMult(tmp2, tmp3, tmp1, arrayLength);
-       fieldModO(tmp1, s, 16);
-
-       // 6. If s = 0, go back to step 3.
-       if (isZero(s))
-               return -1;
-
-       return 0;
-}
-
-/**
- * Verifies a ecdsa signature.
- *
- * For a description of this algorithm see
- * https://en.wikipedia.org/wiki/Elliptic_Curve_DSA#Signature_verification_algorithm
- *
- * input:
- *  x: x coordinate of the public key (32 bytes)
- *  y: y coordinate of the public key (32 bytes)
- *  e: hash to verify the signature of (32 bytes)
- *  r: r value of the signature (32 bytes)
- *  s: s value of the signature (32 bytes)
- *
- * return:
- *  0: signature is ok
- *  -1: signature check failed the signature is invalid
- */
-int ecc_ecdsa_validate(const uint32_t *x, const uint32_t *y, const uint32_t *e, const uint32_t *r, const uint32_t *s)
-{
-       uint32_t w[8];
-       uint32_t tmp[16];
-       uint32_t u1[9];
-       uint32_t u2[9];
-       uint32_t tmp1_x[8];
-       uint32_t tmp1_y[8];
-       uint32_t tmp2_x[8];
-       uint32_t tmp2_y[8];
-       uint32_t tmp3_x[8];
-       uint32_t tmp3_y[8];
-
-       // 3. Calculate w = s^{-1} \pmod{n}
-       fieldInv(s, ecc_order_m, ecc_order_r, w);
-
-       // 4. Calculate u_1 = zw \pmod{n}
-       fieldMult(e, w, tmp, arrayLength);
-       fieldModO(tmp, u1, 16);
-
-       // 4. Calculate u_2 = rw \pmod{n}
-       fieldMult(r, w, tmp, arrayLength);
-       fieldModO(tmp, u2, 16);
-
-       // 5. Calculate the curve point (x_1, y_1) = u_1 * G + u_2 * Q_A.
-       // tmp1 = u_1 * G
-       ecc_ec_mult(ecc_g_point_x, ecc_g_point_y, u1, tmp1_x, tmp1_y);
-
-       // tmp2 = u_2 * Q_A
-       ecc_ec_mult(x, y, u2, tmp2_x, tmp2_y);
-
-       // tmp3 = tmp1 + tmp2
-       ec_add(tmp1_x, tmp1_y, tmp2_x, tmp2_y, tmp3_x, tmp3_y);
-       // TODO: this u_1 * G + u_2 * Q_A  could be optimiced with Straus's algorithm.
-
-       return isSame(tmp3_x, r, arrayLength) ? 0 : -1;
-}
-
-int ecc_is_valid_key(const uint32_t * priv_key)
-{
-       return isGreater(ecc_order_m, priv_key, arrayLength) == 1;
-}
-
-/*
- * This exports the low level functions so the tests can use them.
- * In real use the compiler is now bale to optimice the code better.
- */
-#ifdef TEST_INCLUDE
-uint32_t ecc_add( const uint32_t *x, const uint32_t *y, uint32_t *result, uint8_t length)
-{
-       return add(x, y, result, length);
-}
-uint32_t ecc_sub( const uint32_t *x, const uint32_t *y, uint32_t *result, uint8_t length)
-{
-       return sub(x, y, result, length);
-}
-int ecc_fieldAdd(const uint32_t *x, const uint32_t *y, const uint32_t *reducer, uint32_t *result)
-{
-       return fieldAdd(x, y, reducer, result);
-}
-int ecc_fieldSub(const uint32_t *x, const uint32_t *y, const uint32_t *modulus, uint32_t *result)
-{
-       return fieldSub(x, y, modulus, result);
-}
-int ecc_fieldMult(const uint32_t *x, const uint32_t *y, uint32_t *result, uint8_t length)
-{
-       return fieldMult(x, y, result, length);
-}
-void ecc_fieldModP(uint32_t *A, const uint32_t *B)
-{
-       fieldModP(A, B);
-}
-void ecc_fieldModO(const uint32_t *A, uint32_t *result, uint8_t length)
-{
-       fieldModO(A, result, length);
-}
-void ecc_fieldInv(const uint32_t *A, const uint32_t *modulus, const uint32_t *reducer, uint32_t *B)
-{
-       fieldInv(A, modulus, reducer, B);
-}
-void ecc_copy(const uint32_t *from, uint32_t *to, uint8_t length)
-{
-       copy(from, to, length);
-}
-int ecc_isSame(const uint32_t *A, const uint32_t *B, uint8_t length)
-{
-       return isSame(A, B, length);
-}
-void ecc_setZero(uint32_t *A, const int length)
-{
-       setZero(A, length);
-}
-int ecc_isOne(const uint32_t* A)
-{
-       return isOne(A);
-}
-void ecc_rshift(uint32_t* A)
-{
-       rshift(A);
-}
-int ecc_isGreater(const uint32_t *A, const uint32_t *B, uint8_t length)
-{
-       return isGreater(A, B , length);
-}
-
-void ecc_ec_add(const uint32_t *px, const uint32_t *py, const uint32_t *qx, const uint32_t *qy, uint32_t *Sx, uint32_t *Sy)
-{
-       ec_add(px, py, qx, qy, Sx, Sy);
-}
-void ecc_ec_double(const uint32_t *px, const uint32_t *py, uint32_t *Dx, uint32_t *Dy)
-{
-       ec_double(px, py, Dx, Dy);
-}
-
-#endif /* TEST_INCLUDE */
diff --git a/external/wakaama/examples/shared/tinydtls/ecc/ecc.h b/external/wakaama/examples/shared/tinydtls/ecc/ecc.h
deleted file mode 100644 (file)
index 3c0d9b1..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * Copyright (c) 2009 Chris K Cockrum <ckc@cockrum.net>
- *
- * Copyright (c) 2013 Jens Trillmann <jtrillma@tzi.de>
- * Copyright (c) 2013 Marc Müller-Weinhardt <muewei@tzi.de>
- * Copyright (c) 2013 Lars Schmertmann <lars@tzi.de>
- * Copyright (c) 2013 Hauke Mehrtens <hauke@hauke-m.de>
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- * THE SOFTWARE.
- *
- *
- * This implementation is based in part on the paper Implementation of an
- * Elliptic Curve Cryptosystem on an 8-bit Microcontroller [0] by
- * Chris K Cockrum <ckc@cockrum.net>.
- *
- * [0]: http://cockrum.net/Implementation_of_ECC_on_an_8-bit_microcontroller.pdf
- *
- * This is a efficient ECC implementation on the secp256r1 curve for 32 Bit CPU
- * architectures. It provides basic operations on the secp256r1 curve and support
- * for ECDH and ECDSA.
- */
-#include <inttypes.h>
-
-#define keyLengthInBytes 32
-#define arrayLength 8
-
-extern const uint32_t ecc_g_point_x[8];
-extern const uint32_t ecc_g_point_y[8];
-
-//ec Functions
-void ecc_ec_mult(const uint32_t *px, const uint32_t *py, const uint32_t *secret, uint32_t *resultx, uint32_t *resulty);
-
-static inline void ecc_ecdh(const uint32_t *px, const uint32_t *py, const uint32_t *secret, uint32_t *resultx, uint32_t *resulty) {
-       ecc_ec_mult(px, py, secret, resultx, resulty);
-}
-int ecc_ecdsa_validate(const uint32_t *x, const uint32_t *y, const uint32_t *e, const uint32_t *r, const uint32_t *s);
-int ecc_ecdsa_sign(const uint32_t *d, const uint32_t *e, const uint32_t *k, uint32_t *r, uint32_t *s);
-
-int ecc_is_valid_key(const uint32_t * priv_key);
-static inline void ecc_gen_pub_key(const uint32_t *priv_key, uint32_t *pub_x, uint32_t *pub_y)
-{
-       ecc_ec_mult(ecc_g_point_x, ecc_g_point_y, priv_key, pub_x, pub_y);
-}
-
-#ifdef TEST_INCLUDE
-//ec Functions
-void ecc_ec_add(const uint32_t *px, const uint32_t *py, const uint32_t *qx, const uint32_t *qy, uint32_t *Sx, uint32_t *Sy);
-void ecc_ec_double(const uint32_t *px, const uint32_t *py, uint32_t *Dx, uint32_t *Dy);
-
-//simple Functions for addition and substraction of big numbers
-uint32_t ecc_add( const uint32_t *x, const uint32_t *y, uint32_t *result, uint8_t length);
-uint32_t ecc_sub( const uint32_t *x, const uint32_t *y, uint32_t *result, uint8_t length);
-
-//field functions for big numbers
-int ecc_fieldAdd(const uint32_t *x, const uint32_t *y, const uint32_t *reducer, uint32_t *result);
-int ecc_fieldSub(const uint32_t *x, const uint32_t *y, const uint32_t *modulus, uint32_t *result);
-int ecc_fieldMult(const uint32_t *x, const uint32_t *y, uint32_t *result, uint8_t length);
-void ecc_fieldModP(uint32_t *A, const uint32_t *B);
-void ecc_fieldModO(const uint32_t *A, uint32_t *result, uint8_t length);
-void ecc_fieldInv(const uint32_t *A, const uint32_t *modulus, const uint32_t *reducer, uint32_t *B);
-
-//simple functions to work with the big numbers
-void ecc_copy(const uint32_t *from, uint32_t *to, uint8_t length);
-int ecc_isSame(const uint32_t *A, const uint32_t *B, uint8_t length);
-void ecc_setZero(uint32_t *A, const int length);
-int ecc_isOne(const uint32_t* A);
-void ecc_rshift(uint32_t* A);
-int ecc_isGreater(const uint32_t *A, const uint32_t *B, uint8_t length);
-
-#endif /* TEST_INCLUDE */
diff --git a/external/wakaama/examples/shared/tinydtls/ecc/test_helper.c b/external/wakaama/examples/shared/tinydtls/ecc/test_helper.c
deleted file mode 100644 (file)
index bda44ba..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Copyright (c) 2009 Chris K Cockrum <ckc@cockrum.net>
- *
- * Copyright (c) 2013 Jens Trillmann <jtrillma@tzi.de>
- * Copyright (c) 2013 Marc Müller-Weinhardt <muewei@tzi.de>
- * Copyright (c) 2013 Lars Schmertmann <lars@tzi.de>
- * Copyright (c) 2013 Hauke Mehrtens <hauke@hauke-m.de>
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- * THE SOFTWARE.
- *
- *
- * This implementation is based in part on the paper Implementation of an
- * Elliptic Curve Cryptosystem on an 8-bit Microcontroller [0] by
- * Chris K Cockrum <ckc@cockrum.net>.
- *
- * [0]: http://cockrum.net/Implementation_of_ECC_on_an_8-bit_microcontroller.pdf
- *
- * This is a efficient ECC implementation on the secp256r1 curve for 32 Bit CPU
- * architectures. It provides basic operations on the secp256r1 curve and support
- * for ECDH and ECDSA.
- */
-#include "test_helper.h"
-#include "ecc.h"
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-void ecc_printNumber(const uint32_t *x, int numberLength){ //here the values are turned to MSB!
-       int n;
-
-       for(n = numberLength - 1; n >= 0; n--){
-               printf("%08x", x[n]);
-       }
-       printf("\n");
-}
-
-void ecc_setRandom(uint32_t *secret){
-       int i;
-
-       for (i = 0; i < arrayLength; ++i)
-       {
-               secret[i] = rand();
-       }
-}
-const uint32_t ecc_prime_m[8] = {0xffffffff, 0xffffffff, 0xffffffff, 0x00000000,
-                                0x00000000, 0x00000000, 0x00000001, 0xffffffff};
-
-                                                       
-/* This is added after an static byte addition if the answer has a carry in MSB*/
-const uint32_t ecc_prime_r[8] = {0x00000001, 0x00000000, 0x00000000, 0xffffffff,
-                                0xffffffff, 0xffffffff, 0xfffffffe, 0x00000000};
-
-#ifdef CONTIKI
-void
-test_assert(const char *file, int lineno)
-{
-  printf("Assertion failed: file %s, line %d.\n", file, lineno);
-  /*
-   * loop for a while;
-   * call _reset_vector__();
-   */
-}
-#endif
diff --git a/external/wakaama/examples/shared/tinydtls/ecc/test_helper.h b/external/wakaama/examples/shared/tinydtls/ecc/test_helper.h
deleted file mode 100644 (file)
index 38a194e..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright (c) 2009 Chris K Cockrum <ckc@cockrum.net>
- *
- * Copyright (c) 2013 Jens Trillmann <jtrillma@tzi.de>
- * Copyright (c) 2013 Marc Müller-Weinhardt <muewei@tzi.de>
- * Copyright (c) 2013 Lars Schmertmann <lars@tzi.de>
- * Copyright (c) 2013 Hauke Mehrtens <hauke@hauke-m.de>
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- * THE SOFTWARE.
- *
- *
- * This implementation is based in part on the paper Implementation of an
- * Elliptic Curve Cryptosystem on an 8-bit Microcontroller [0] by
- * Chris K Cockrum <ckc@cockrum.net>.
- *
- * [0]: http://cockrum.net/Implementation_of_ECC_on_an_8-bit_microcontroller.pdf
- *
- * This is a efficient ECC implementation on the secp256r1 curve for 32 Bit CPU
- * architectures. It provides basic operations on the secp256r1 curve and support
- * for ECDH and ECDSA.
- */
-#include <inttypes.h>
-
-extern const uint32_t ecc_prime_m[8];
-extern const uint32_t ecc_prime_r[8];
-
-//debug function to print long numbers
-void ecc_printNumber(const uint32_t *x, int numberLength);
-void ecc_setRandom(uint32_t *secret);
-
-#ifdef CONTIKI
-#undef assert
-#define assert(e) ((e) ? (void)0 : test_assert(__FILE__, __LINE__))
-void test_assert(const char *, int);
-#endif
diff --git a/external/wakaama/examples/shared/tinydtls/ecc/testecc.c b/external/wakaama/examples/shared/tinydtls/ecc/testecc.c
deleted file mode 100644 (file)
index b36d46b..0000000
+++ /dev/null
@@ -1,226 +0,0 @@
-/*
- * Copyright (c) 2009 Chris K Cockrum <ckc@cockrum.net>
- *
- * Copyright (c) 2013 Jens Trillmann <jtrillma@tzi.de>
- * Copyright (c) 2013 Marc Müller-Weinhardt <muewei@tzi.de>
- * Copyright (c) 2013 Lars Schmertmann <lars@tzi.de>
- * Copyright (c) 2013 Hauke Mehrtens <hauke@hauke-m.de>
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- * THE SOFTWARE.
- *
- *
- * This implementation is based in part on the paper Implementation of an
- * Elliptic Curve Cryptosystem on an 8-bit Microcontroller [0] by
- * Chris K Cockrum <ckc@cockrum.net>.
- *
- * [0]: http://cockrum.net/Implementation_of_ECC_on_an_8-bit_microcontroller.pdf
- *
- * This is a efficient ECC implementation on the secp256r1 curve for 32 Bit CPU
- * architectures. It provides basic operations on the secp256r1 curve and support
- * for ECDH and ECDSA.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <assert.h>
-
-#include "ecc.h"
-#include "test_helper.h"
-
-#ifdef CONTIKI
-#include "contiki.h"
-#else
-#include <time.h>
-#endif /* CONTIKI */
-
-//These are testvalues taken from the NIST P-256 definition
-//6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296
-uint32_t BasePointx[8] = {     0xd898c296, 0xf4a13945, 0x2deb33a0, 0x77037d81,
-                                                       0x63a440f2, 0xf8bce6e5, 0xe12c4247, 0x6b17d1f2};
-
-//4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5
-uint32_t BasePointy[8] = {     0x37bf51f5, 0xcbb64068, 0x6b315ece, 0x2bce3357,
-                                                       0x7c0f9e16, 0x8ee7eb4a, 0xfe1a7f9b, 0x4fe342e2};
-
-//de2444be bc8d36e6 82edd27e 0f271508 617519b3 221a8fa0 b77cab39 89da97c9
-uint32_t Sx[8] = {     0x89da97c9, 0xb77cab39, 0x221a8fa0, 0x617519b3, 
-                                       0x0f271508, 0x82edd27e, 0xbc8d36e6, 0xde2444be};
-
-//c093ae7f f36e5380 fc01a5aa d1e66659 702de80f 53cec576 b6350b24 3042a256
-uint32_t Sy[8] = {     0x3042a256, 0xb6350b24, 0x53cec576, 0x702de80f,
-                                       0xd1e66659, 0xfc01a5aa, 0xf36e5380, 0xc093ae7f};
-
-//55a8b00f 8da1d44e 62f6b3b2 5316212e 39540dc8 61c89575 bb8cf92e 35e0986b
-uint32_t Tx[8] = {     0x35e0986b, 0xbb8cf92e, 0x61c89575, 0x39540dc8,
-                                       0x5316212e, 0x62f6b3b2, 0x8da1d44e, 0x55a8b00f};
-
-//5421c320 9c2d6c70 4835d82a c4c3dd90 f61a8a52 598b9e7a b656e9d8 c8b24316
-uint32_t Ty[8] = {     0xc8b24316, 0xb656e9d8, 0x598b9e7a, 0xf61a8a52,
-                                       0xc4c3dd90, 0x4835d82a, 0x9c2d6c70, 0x5421c320};
-
-//c51e4753 afdec1e6 b6c6a5b9 92f43f8d d0c7a893 3072708b 6522468b 2ffb06fd
-uint32_t secret[8] = { 0x2ffb06fd, 0x6522468b, 0x3072708b, 0xd0c7a893,
-                                               0x92f43f8d, 0xb6c6a5b9, 0xafdec1e6, 0xc51e4753};
-                                                       
-//72b13dd4 354b6b81 745195e9 8cc5ba69 70349191 ac476bd4 553cf35a 545a067e
-uint32_t resultAddx[8] = {     0x545a067e, 0x553cf35a, 0xac476bd4, 0x70349191,
-                                                       0x8cc5ba69, 0x745195e9, 0x354b6b81, 0x72b13dd4};
-
-//8d585cbb 2e1327d7 5241a8a1 22d7620d c33b1331 5aa5c9d4 6d013011 744ac264
-uint32_t resultAddy[8] = {     0x744ac264, 0x6d013011, 0x5aa5c9d4, 0xc33b1331,
-                                                       0x22d7620d, 0x5241a8a1, 0x2e1327d7, 0x8d585cbb};
-
-//7669e690 1606ee3b a1a8eef1 e0024c33 df6c22f3 b17481b8 2a860ffc db6127b0
-uint32_t resultDoublex[8] = {  0xdb6127b0, 0x2a860ffc, 0xb17481b8, 0xdf6c22f3,
-                                                               0xe0024c33, 0xa1a8eef1, 0x1606ee3b, 0x7669e690};
-
-//fa878162 187a54f6 c39f6ee0 072f33de 389ef3ee cd03023d e10ca2c1 db61d0c7
-uint32_t resultDoubley[8] = {  0xdb61d0c7, 0xe10ca2c1, 0xcd03023d, 0x389ef3ee,
-                                                               0x072f33de, 0xc39f6ee0, 0x187a54f6, 0xfa878162};
-
-//51d08d5f 2d427888 2946d88d 83c97d11 e62becc3 cfc18bed acc89ba3 4eeca03f
-uint32_t resultMultx[8] = {    0x4eeca03f, 0xacc89ba3, 0xcfc18bed, 0xe62becc3,
-                                                       0x83c97d11, 0x2946d88d, 0x2d427888, 0x51d08d5f};
-
-//75ee68eb 8bf626aa 5b673ab5 1f6e744e 06f8fcf8 a6c0cf30 35beca95 6a7b41d5
-uint32_t resultMulty[8] = {    0x6a7b41d5, 0x35beca95, 0xa6c0cf30, 0x06f8fcf8,
-                                                       0x1f6e744e, 0x5b673ab5, 0x8bf626aa, 0x75ee68eb};
-
-static const uint32_t ecdsaTestMessage[] = { 0x65637572, 0x20612073, 0x68206F66, 0x20686173, 0x69732061, 0x68697320, 0x6F2C2054, 0x48616C6C};
-
-static const uint32_t ecdsaTestSecret[] = {0x94A949FA, 0x401455A1, 0xAD7294CA, 0x896A33BB, 0x7A80E714, 0x4321435B, 0x51247A14, 0x41C1CB6B};
-
-static const uint32_t ecdsaTestRand1[] = { 0x1D1E1F20, 0x191A1B1C, 0x15161718, 0x11121314, 0x0D0E0F10, 0x090A0B0C, 0x05060708, 0x01020304};
-static const uint32_t ecdsaTestresultR1[] = { 0xC3B4035F, 0x515AD0A6, 0xBF375DCA, 0x0CC1E997, 0x7F54FDCD, 0x04D3FECA, 0xB9E396B9, 0x515C3D6E};
-static const uint32_t ecdsaTestresultS1[] = { 0x5366B1AB, 0x0F1DBF46, 0xB0C8D3C4, 0xDB755B6F, 0xB9BF9243, 0xE644A8BE, 0x55159A59, 0x6F9E52A6};
-
-static const uint32_t ecdsaTestRand2[] = { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x01FFFFFF};
-static const uint32_t ecdsaTestresultR2[] = { 0x14146C91, 0xE878724D, 0xCD4FF928, 0xCC24BC04, 0xAC403390, 0x650C0060, 0x4A30B3F1, 0x9C69B726};
-static const uint32_t ecdsaTestresultS2[] = { 0x433AAB6F, 0x808250B1, 0xE46F90F4, 0xB342E972, 0x18B2F7E4, 0x2DB981A2, 0x6A288FA4, 0x41CF59DB};
-
-void addTest(){
-       uint32_t tempx[8];
-       uint32_t tempy[8];
-
-       ecc_ec_add(Tx, Ty, Sx, Sy, tempx, tempy);
-       assert(ecc_isSame(tempx, resultAddx, arrayLength));
-       assert(ecc_isSame(tempy, resultAddy, arrayLength));
-}
-
-void doubleTest(){
-       uint32_t tempx[8];
-       uint32_t tempy[8];
-
-       ecc_ec_double(Sx, Sy, tempx, tempy);
-       assert(ecc_isSame(tempx, resultDoublex, arrayLength));
-       assert(ecc_isSame(tempy, resultDoubley, arrayLength));
-}
-
-void multTest(){
-       uint32_t tempx[8];
-       uint32_t tempy[8];
-
-       ecc_ec_mult(Sx, Sy, secret, tempx, tempy);
-       assert(ecc_isSame(tempx, resultMultx, arrayLength));
-       assert(ecc_isSame(tempy, resultMulty, arrayLength));
-}
-
-void eccdhTest(){
-       uint32_t tempx[8];
-       uint32_t tempy[8];
-       uint32_t tempAx2[8];
-       uint32_t tempAy2[8];
-       uint32_t tempBx1[8];
-       uint32_t tempBy1[8];
-       uint32_t tempBx2[8];
-       uint32_t tempBy2[8];    
-       uint32_t secretA[8];
-       uint32_t secretB[8];
-       ecc_setRandom(secretA);
-       ecc_printNumber(secretA, 8);
-       ecc_setRandom(secretB);
-       ecc_printNumber(secretB, 8);
-       ecc_ec_mult(BasePointx, BasePointy, secretA, tempx, tempy);
-       ecc_ec_mult(BasePointx, BasePointy, secretB, tempBx1, tempBy1);
-       //public key exchange
-       ecc_ec_mult(tempBx1, tempBy1, secretA, tempAx2, tempAy2);
-       ecc_ec_mult(tempx, tempy, secretB, tempBx2, tempBy2);
-       assert(ecc_isSame(tempAx2, tempBx2, arrayLength));
-       assert(ecc_isSame(tempAy2, tempBy2, arrayLength));
-
-}
-
-void ecdsaTest() {
-       int ret __attribute__((unused));
-       uint32_t tempx[9];
-       uint32_t tempy[9];
-       uint32_t pub_x[8];
-       uint32_t pub_y[8];
-
-       ecc_ec_mult(BasePointx, BasePointy, ecdsaTestSecret, pub_x, pub_y);
-
-       ret = ecc_ecdsa_sign(ecdsaTestSecret, ecdsaTestMessage, ecdsaTestRand1, tempx, tempy);
-       assert(ecc_isSame(tempx, ecdsaTestresultR1, arrayLength));
-       assert(ecc_isSame(tempy, ecdsaTestresultS1, arrayLength));
-       assert(ret == 0);
-
-       ret = ecc_ecdsa_validate(pub_x, pub_y, ecdsaTestMessage, tempx, tempy);
-       assert(!ret);
-
-
-       ret = ecc_ecdsa_sign(ecdsaTestSecret, ecdsaTestMessage, ecdsaTestRand2, tempx, tempy);
-       assert(ecc_isSame(tempx, ecdsaTestresultR2, arrayLength));
-       assert(ecc_isSame(tempy, ecdsaTestresultS2, arrayLength));
-       assert(ret == 0);
-
-       ret = ecc_ecdsa_validate(pub_x, pub_y, ecdsaTestMessage, tempx, tempy);
-       assert(!ret);
-}
-
-#ifdef CONTIKI
-PROCESS(ecc_filed_test, "ECC test");
-AUTOSTART_PROCESSES(&ecc_filed_test);
-PROCESS_THREAD(ecc_filed_test, ev, d)
-{
-       PROCESS_BEGIN();
-
-       srand(1234);
-       addTest();
-       doubleTest();
-       multTest();
-       eccdhTest();
-       ecdsaTest();
-       printf("%s\n", "All Tests successful.");
-
-       PROCESS_END();
-}
-#else /* CONTIKI */
-int main(int argc, char const *argv[])
-{
-       srand(time(NULL));
-       addTest();
-       doubleTest();
-       multTest();
-       eccdhTest();
-       ecdsaTest();
-       printf("%s\n", "All Tests successful.");
-       return 0;
-}
-#endif /* CONTIKI */
diff --git a/external/wakaama/examples/shared/tinydtls/ecc/testfield.c b/external/wakaama/examples/shared/tinydtls/ecc/testfield.c
deleted file mode 100644 (file)
index 30a690e..0000000
+++ /dev/null
@@ -1,290 +0,0 @@
-/*
- * Copyright (c) 2009 Chris K Cockrum <ckc@cockrum.net>
- *
- * Copyright (c) 2013 Jens Trillmann <jtrillma@tzi.de>
- * Copyright (c) 2013 Marc Müller-Weinhardt <muewei@tzi.de>
- * Copyright (c) 2013 Lars Schmertmann <lars@tzi.de>
- * Copyright (c) 2013 Hauke Mehrtens <hauke@hauke-m.de>
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- * THE SOFTWARE.
- *
- *
- * This implementation is based in part on the paper Implementation of an
- * Elliptic Curve Cryptosystem on an 8-bit Microcontroller [0] by
- * Chris K Cockrum <ckc@cockrum.net>.
- *
- * [0]: http://cockrum.net/Implementation_of_ECC_on_an_8-bit_microcontroller.pdf
- *
- * This is a efficient ECC implementation on the secp256r1 curve for 32 Bit CPU
- * architectures. It provides basic operations on the secp256r1 curve and support
- * for ECDH and ECDSA.
- */
-#include <assert.h>
-#include <string.h>
-#include <stdio.h>
-#include "ecc.h"
-#include "test_helper.h"
-
-#ifdef CONTIKI
-#include "contiki.h"
-#endif /* CONTIKI */
-
-//arbitrary test values and results
-uint32_t null[8] = {   0x00000000,0x00000000,0x00000000,0x00000000,
-                                               0x00000000,0x00000000,0x00000000,0x00000000};
-uint32_t null64[16] = {        0x00000000,0x00000000,0x00000000,0x00000000,
-                                               0x00000000,0x00000000,0x00000000,0x00000000,
-                                               0x00000000,0x00000000,0x00000000,0x00000000,
-                                               0x00000000,0x00000000,0x00000000,0x00000000};
-uint32_t one[8] = {    0x00000001,0x00000000,0x00000000,0x00000000,
-                                       0x00000000,0x00000000,0x00000000,0x00000000};
-uint32_t one64[16] = { 0x00000001,0x00000000,0x00000000,0x00000000,
-                                               0x00000000,0x00000000,0x00000000,0x00000000,
-                                               0x00000000,0x00000000,0x00000000,0x00000000,
-                                               0x00000000,0x00000000,0x00000000,0x00000000};
-uint32_t two[8] = {    0x00000002,0x00000000,0x00000000,0x00000000,
-                                       0x00000000,0x00000000,0x00000000,0x00000000};
-uint32_t two64[16] = { 0x00000002,0x00000000,0x00000000,0x00000000,
-                                               0x00000000,0x00000000,0x00000000,0x00000000,
-                                               0x00000000,0x00000000,0x00000000,0x00000000,
-                                               0x00000000,0x00000000,0x00000000,0x00000000};
-uint32_t three[8] = {  0x00000003,0x00000000,0x00000000,0x00000000,
-                                               0x00000000,0x00000000,0x00000000,0x00000000};
-uint32_t four[8] = {0x00000004,0x00000000,0x00000000,0x00000000,
-                                       0x00000000,0x00000000,0x00000000,0x00000000};
-uint32_t four64[16] = {        0x00000004,0x00000000,0x00000000,0x00000000,
-                                               0x00000000,0x00000000,0x00000000,0x00000000,
-                                               0x00000000,0x00000000,0x00000000,0x00000000,
-                                               0x00000000,0x00000000,0x00000000,0x00000000};
-uint32_t six[8] = {    0x00000006,0x00000000,0x00000000,0x00000000,
-                                       0x00000000,0x00000000,0x00000000,0x00000000};
-uint32_t eight[8] = {  0x00000008,0x00000000,0x00000000,0x00000000,
-                                               0x00000000,0x00000000,0x00000000,0x00000000};
-uint32_t full[8] = {   0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,
-                                               0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF};
-//00000000fffffffeffffffffffffffffffffffff000000000000000000000001_16
-uint32_t resultFullAdd[8] = {  0x00000001,0x00000000,0x00000000,0xFFFFFFFF,
-                                                               0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFE,0x00000000};
-uint32_t primeMinusOne[8]=     {       0xfffffffe,0xffffffff,0xffffffff,0x00000000,
-                                                               0x00000000,0x00000000,0x00000001,0xffffffff};
-uint32_t resultDoubleMod[8] = { 0xfffffffd,0xffffffff,0xffffffff,0x00000000,
-                                                               0x00000000,0x00000000,0x00000001,0xffffffff};
-//fffffffe00000002fffffffe0000000100000001fffffffe00000001fffffffc00000003fffffffcfffffffffffffffffffffffc000000000000000000000004_16
-uint32_t resultQuadMod[16] = { 0x00000004,0x00000000,0x00000000,0xFFFFFFFC,
-                                                               0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFC,0x00000003,
-                                                               0xFFFFFFFC,0x00000001,0xFFFFFFFE,0x00000001,
-                                                               0x00000001,0xFFFFFFFE,0x00000002,0xFFFFFFFE};
-//00000002fffffffffffffffffffffffefffffffdffffffff0000000000000002_16
-uint32_t resultFullMod[8] = {  0x00000002,0x00000000,0xFFFFFFFF,0xFFFFFFFD,
-                                                               0xFFFFFFFE,0xFFFFFFFF,0xFFFFFFFF,0x00000002};
-
-static const uint32_t orderMinusOne[8] = {0xFC632550, 0xF3B9CAC2, 0xA7179E84, 0xBCE6FAAD,
-                                       0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0xFFFFFFFF};
-static const uint32_t orderResultDoubleMod[8] = {0xFC63254F, 0xF3B9CAC2, 0xA7179E84, 0xBCE6FAAD, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0xFFFFFFFF};
-
-uint32_t temp[8];
-uint32_t temp2[16];
-
-void nullEverything(){
-       memset(temp, 0, sizeof(temp));
-       memset(temp2, 0, sizeof(temp));
-}
-
-void fieldAddTest(){
-       assert(ecc_isSame(one, one, arrayLength));
-       ecc_fieldAdd(one, null, ecc_prime_r, temp);
-       assert(ecc_isSame(temp, one, arrayLength));
-       nullEverything();
-       ecc_fieldAdd(one, one, ecc_prime_r, temp);
-       assert(ecc_isSame(temp, two, arrayLength));
-       nullEverything();
-       ecc_add(full, one, temp, 32);
-       assert(ecc_isSame(null, temp, arrayLength));
-       nullEverything();
-       ecc_fieldAdd(full, one, ecc_prime_r, temp);
-       assert(ecc_isSame(temp, resultFullAdd, arrayLength));
-}
-
-void fieldSubTest(){
-       assert(ecc_isSame(one, one, arrayLength));
-       ecc_fieldSub(one, null, ecc_prime_m, temp);
-       assert(ecc_isSame(one, temp, arrayLength));
-       nullEverything();
-       ecc_fieldSub(one, one, ecc_prime_m, temp);
-       assert(ecc_isSame(null, temp, arrayLength));
-       nullEverything();
-       ecc_fieldSub(null, one, ecc_prime_m, temp);
-       assert(ecc_isSame(primeMinusOne, temp, arrayLength));
-}
-
-void fieldMultTest(){
-       ecc_fieldMult(one, null, temp2, arrayLength);
-       assert(ecc_isSame(temp2, null64, arrayLength * 2));
-       nullEverything();
-       ecc_fieldMult(one, two, temp2, arrayLength);
-       assert(ecc_isSame(temp2, two64, arrayLength * 2));
-       nullEverything();
-       ecc_fieldMult(two, two, temp2, arrayLength);
-       assert(ecc_isSame(temp2, four64, arrayLength * 2));
-       nullEverything();
-       ecc_fieldMult(primeMinusOne, primeMinusOne, temp2, arrayLength);
-       assert(ecc_isSame(temp2, resultQuadMod, arrayLength * 2));
-       nullEverything();
-       ecc_fieldInv(two, ecc_prime_m, ecc_prime_r, temp);
-       ecc_fieldMult(temp, two, temp2, arrayLength);
-       ecc_fieldModP(temp, temp2);
-       assert(ecc_isSame(temp, one, arrayLength));
-}
-
-void fieldModPTest(){
-       ecc_fieldMult(primeMinusOne, primeMinusOne, temp2, arrayLength);
-       ecc_fieldModP(temp, temp2);
-       assert(ecc_isSame(temp, one, arrayLength));
-       nullEverything();
-       ecc_fieldModP(temp, one64);
-       assert(ecc_isSame(temp, one, arrayLength));
-       nullEverything();
-       ecc_fieldMult(two, primeMinusOne, temp2, arrayLength);
-       ecc_fieldModP(temp, temp2);
-       assert(ecc_isSame(temp, resultDoubleMod, arrayLength));
-       nullEverything();
-       /*fieldMult(full, full, temp2, arrayLength); //not working, maybe because of the number bigger than p^2?
-       fieldModP(temp, temp2);
-       assert(ecc_isSame(temp, resultFullMod, arrayLength));*/
-}
-
-void fieldModOTest(){
-       ecc_fieldMult(orderMinusOne, orderMinusOne, temp2, arrayLength);
-       ecc_fieldModO(temp2, temp, arrayLength * 2);
-       assert(ecc_isSame(temp, one, arrayLength));
-       nullEverything();
-       ecc_fieldModO(one64, temp, arrayLength * 2);
-       assert(ecc_isSame(temp, one, arrayLength));
-       nullEverything();
-       ecc_fieldMult(two, orderMinusOne, temp2, arrayLength);
-       ecc_fieldModO(temp2, temp, arrayLength * 2);
-       assert(ecc_isSame(temp, orderResultDoubleMod, arrayLength));
-       nullEverything();
-}
-
-
-// void rShiftTest(){
-//     printNumber(full, 32);
-//     rshift(full);
-//     printNumber(full, 32);
-//     printNumber(two, 32);
-//     rshift(two);
-//     printNumber(two, 32);
-//     printNumber(four, 32);
-//     rshift(four);
-//     printNumber(four, 32);
-// }
-
-// void isOneTest(){
-//     printf("%d\n", isone(one));
-//     printf("%d\n", isone(two));
-//     printf("%d\n", isone(four));
-//     printf("%d\n", isone(full));
-//     printf("%d\n", isone(null));
-// }
-
-void fieldInvTest(){
-       nullEverything();
-       ecc_fieldInv(two, ecc_prime_m, ecc_prime_r, temp);
-       ecc_fieldMult(temp, two, temp2, arrayLength);
-       ecc_fieldModP(temp, temp2);
-       assert(ecc_isSame(one, temp, arrayLength));
-       nullEverything();
-       ecc_fieldInv(eight, ecc_prime_m, ecc_prime_r, temp);
-       ecc_fieldMult(temp, eight, temp2, arrayLength);
-       ecc_fieldModP(temp, temp2);
-       assert(ecc_isSame(one, temp, arrayLength));
-       nullEverything();
-       ecc_fieldInv(three, ecc_prime_m, ecc_prime_r, temp);
-       ecc_fieldMult(temp, three, temp2, arrayLength);
-       ecc_fieldModP(temp, temp2);
-       assert(ecc_isSame(one, temp, arrayLength));
-       nullEverything();
-       ecc_fieldInv(six, ecc_prime_m, ecc_prime_r, temp);
-       ecc_fieldMult(temp, six, temp2, arrayLength);
-       ecc_fieldModP(temp, temp2);
-       assert(ecc_isSame(one, temp, arrayLength));
-       nullEverything();
-       ecc_fieldInv(primeMinusOne, ecc_prime_m, ecc_prime_r, temp);
-       ecc_fieldMult(temp, primeMinusOne, temp2, arrayLength);
-       ecc_fieldModP(temp, temp2);
-       assert(ecc_isSame(one, temp, arrayLength));
-}
-
-// void randomStuff(){
-
-// }
-
-#ifdef CONTIKI
-PROCESS(ecc_filed_test, "ECC field test");
-AUTOSTART_PROCESSES(&ecc_filed_test);
-PROCESS_THREAD(ecc_filed_test, ev, d)
-{
-       PROCESS_BEGIN();
-
-       nullEverything();
-       //randomStuff();
-       nullEverything();
-       fieldAddTest();
-       nullEverything();
-       fieldSubTest();
-       nullEverything();
-       fieldMultTest();
-       nullEverything();
-       fieldModPTest();
-       nullEverything();
-       fieldModOTest();
-       nullEverything();
-       fieldInvTest();
-       nullEverything();
-       //rShiftTest();
-       //isOneTest();
-       printf("%s\n", "All Tests succesfull!");
-
-       PROCESS_END();
-}
-#else /* CONTIKI */
-int main(int argc, char const *argv[])
-{
-       nullEverything();
-       //randomStuff();
-       nullEverything();
-       fieldAddTest();
-       nullEverything();
-       fieldSubTest();
-       nullEverything();
-       fieldMultTest();
-       nullEverything();
-       fieldModPTest();
-       nullEverything();
-       fieldModOTest();
-       nullEverything();
-       fieldInvTest();
-       nullEverything();
-       //rShiftTest();
-       //isOneTest();
-       printf("%s\n", "All Tests succesfull!");
-       return 0;
-}
-#endif /* CONTIKI */
diff --git a/external/wakaama/examples/shared/tinydtls/examples/contiki/Makefile.in b/external/wakaama/examples/shared/tinydtls/examples/contiki/Makefile.in
deleted file mode 100644 (file)
index 8986d28..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-########################################################################
-# platform-specific options
-
-ifeq ($(TARGET), econotag)
-CFLAGS += -DUIP_CONF_TCP=0
-endif
-
-ifeq ($(TARGET), minimal-net)
-UIP_CONF_IPV6_RPL=0
-CFLAGS += -DUIP_CONF_IPV6_RPL=0 -DRPL_BORDER_ROUTER=0
-endif
-
-# usually, you should not need changing anything beyond this line
-########################################################################
-
-# the library's version
-VERSION:=@PACKAGE_VERSION@
-
-# tools
-@SET_MAKE@
-SHELL = /bin/sh
-MKDIR = mkdir
-
-abs_builddir = @abs_builddir@
-top_builddir = @top_builddir@
-top_srcdir:= @top_srcdir@
-DISTDIR=$(top_builddir)/@PACKAGE_TARNAME@-@PACKAGE_VERSION@
-DTLS_SOURCES:=dtls-server.c dtls-client.c
-FILES:=Makefile.in $(DTLS_SOURCES)
-
-all: dtls-server dtls-client
-       $(MAKE) $(MAKEFLAGS) ROLE=server dtls-server
-       $(MAKE) $(MAKEFLAGS) clean
-       $(MAKE) $(MAKEFLAGS) ROLE=client dtls-client
-
-CONTIKI=$(top_srcdir)/../..
-
-WITH_UIP6=1
-UIP_CONF_IPV6=1
-
-ifneq ($(ROLE),client)
-       CFLAGS+= -DHARD_CODED_ADDRESS=\"aaaa::02:232\"
-else
-       CFLAGS+= -DUDP_CONNECTION_ADDR="fe80::ff:fe02:232" \
-                -DHARD_CODED_ADDRESS=\"aaaa::02:230\"
-endif
-
-CFLAGS += -ffunction-sections
-LDFLAGS += -Wl,--gc-sections,--undefined=_reset_vector__,--undefined=InterruptVectors,--undefined=_copy_data_init__,--undefined=_clear_bss_init__,--undefined=_end_of_init__
-
-CFLAGS += -DSHA2_USE_INTTYPES_H
-
-APPS += tinydtls/aes tinydtls/sha2 tinydtls/ecc tinydtls
-
-ccm-test: tests/ccm-test
-
-dist:  $(FILES)
-       test -d $(DISTDIR)/examples/contiki || $(MKDIR) -p $(DISTDIR)/examples/contiki
-       cp $(FILES) $(DISTDIR)/examples/contiki
-
-ifeq ("@WITH_CONTIKI@", "1")
-include $(CONTIKI)/Makefile.include
-endif
diff --git a/external/wakaama/examples/shared/tinydtls/examples/contiki/dtls-client.c b/external/wakaama/examples/shared/tinydtls/examples/contiki/dtls-client.c
deleted file mode 100644 (file)
index b1af669..0000000
+++ /dev/null
@@ -1,337 +0,0 @@
-/*
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the Institute nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * This file is part of the Contiki operating system.
- *
- */
-
-#include "contiki.h"
-#include "contiki-lib.h"
-#include "contiki-net.h"
-
-#include "dev/serial-line.h"
-
-#include <string.h>
-
-#include "tinydtls.h"
-
-#ifndef DEBUG
-#define DEBUG DEBUG_PRINT
-#endif
-#include "net/ip/uip-debug.h"
-
-#include "debug.h"
-#include "dtls.h"
-
-#ifdef DTLS_PSK
-/* The PSK information for DTLS */
-/* make sure that default identity and key fit into buffer, i.e.
- * sizeof(PSK_DEFAULT_IDENTITY) - 1 <= PSK_ID_MAXLEN and
- * sizeof(PSK_DEFAULT_KEY) - 1 <= PSK_MAXLEN
-*/
-
-#define PSK_ID_MAXLEN 32
-#define PSK_MAXLEN 32
-#define PSK_DEFAULT_IDENTITY "Client_identity"
-#define PSK_DEFAULT_KEY      "secretPSK"
-#endif /* DTLS_PSK */
-
-#define UIP_IP_BUF   ((struct uip_ip_hdr *)&uip_buf[UIP_LLH_LEN])
-#define UIP_UDP_BUF  ((struct uip_udp_hdr *)&uip_buf[UIP_LLIPH_LEN])
-
-#define MAX_PAYLOAD_LEN 120
-
-static struct uip_udp_conn *client_conn;
-static dtls_context_t *dtls_context;
-static char buf[200];
-static size_t buflen = 0;
-
-static const unsigned char ecdsa_priv_key[] = {
-                       0x41, 0xC1, 0xCB, 0x6B, 0x51, 0x24, 0x7A, 0x14,
-                       0x43, 0x21, 0x43, 0x5B, 0x7A, 0x80, 0xE7, 0x14,
-                       0x89, 0x6A, 0x33, 0xBB, 0xAD, 0x72, 0x94, 0xCA,
-                       0x40, 0x14, 0x55, 0xA1, 0x94, 0xA9, 0x49, 0xFA};
-
-static const unsigned char ecdsa_pub_key_x[] = {
-                       0x36, 0xDF, 0xE2, 0xC6, 0xF9, 0xF2, 0xED, 0x29,
-                       0xDA, 0x0A, 0x9A, 0x8F, 0x62, 0x68, 0x4E, 0x91,
-                       0x63, 0x75, 0xBA, 0x10, 0x30, 0x0C, 0x28, 0xC5,
-                       0xE4, 0x7C, 0xFB, 0xF2, 0x5F, 0xA5, 0x8F, 0x52};
-
-static const unsigned char ecdsa_pub_key_y[] = {
-                       0x71, 0xA0, 0xD4, 0xFC, 0xDE, 0x1A, 0xB8, 0x78,
-                       0x5A, 0x3C, 0x78, 0x69, 0x35, 0xA7, 0xCF, 0xAB,
-                       0xE9, 0x3F, 0x98, 0x72, 0x09, 0xDA, 0xED, 0x0B,
-                       0x4F, 0xAB, 0xC3, 0x6F, 0xC7, 0x72, 0xF8, 0x29};
-
-static void
-try_send(struct dtls_context_t *ctx, session_t *dst) {
-  int res;
-  res = dtls_write(ctx, dst, (uint8 *)buf, buflen);
-  if (res >= 0) {
-    memmove(buf, buf + res, buflen - res);
-    buflen -= res;
-  }
-}
-
-static int
-read_from_peer(struct dtls_context_t *ctx, 
-              session_t *session, uint8 *data, size_t len) {
-  size_t i;
-  for (i = 0; i < len; i++)
-    PRINTF("%c", data[i]);
-  return 0;
-}
-
-static int
-send_to_peer(struct dtls_context_t *ctx, 
-            session_t *session, uint8 *data, size_t len) {
-
-  struct uip_udp_conn *conn = (struct uip_udp_conn *)dtls_get_app_data(ctx);
-
-  uip_ipaddr_copy(&conn->ripaddr, &session->addr);
-  conn->rport = session->port;
-
-  PRINTF("send to ");
-  PRINT6ADDR(&conn->ripaddr);
-  PRINTF(":%u\n", uip_ntohs(conn->rport));
-
-  uip_udp_packet_send(conn, data, len);
-
-  /* Restore server connection to allow data from any node */
-  /* FIXME: do we want this at all? */
-  memset(&conn->ripaddr, 0, sizeof(conn->ripaddr));
-  memset(&conn->rport, 0, sizeof(conn->rport));
-
-  return len;
-}
-
-#ifdef DTLS_PSK
-static unsigned char psk_id[PSK_ID_MAXLEN] = PSK_DEFAULT_IDENTITY;
-static size_t psk_id_length = sizeof(PSK_DEFAULT_IDENTITY) - 1;
-static unsigned char psk_key[PSK_MAXLEN] = PSK_DEFAULT_KEY;
-static size_t psk_key_length = sizeof(PSK_DEFAULT_KEY) - 1;
-
-#ifdef __GNUC__
-#define UNUSED_PARAM __attribute__((unused))
-#else
-#define UNUSED_PARAM
-#endif /* __GNUC__ */
-
-/* This function is the "key store" for tinyDTLS. It is called to
- * retrieve a key for the given identity within this particular
- * session. */
-static int
-get_psk_info(struct dtls_context_t *ctx UNUSED_PARAM,
-           const session_t *session UNUSED_PARAM,
-           dtls_credentials_type_t type,
-           const unsigned char *id, size_t id_len,
-           unsigned char *result, size_t result_length) {
-
-  switch (type) {
-  case DTLS_PSK_IDENTITY:
-    if (result_length < psk_id_length) {
-      dtls_warn("cannot set psk_identity -- buffer too small\n");
-      return dtls_alert_fatal_create(DTLS_ALERT_INTERNAL_ERROR);
-    }
-
-    memcpy(result, psk_id, psk_id_length);
-    return psk_id_length;
-  case DTLS_PSK_KEY:
-    if (id_len != psk_id_length || memcmp(psk_id, id, id_len) != 0) {
-      dtls_warn("PSK for unknown id requested, exiting\n");
-      return dtls_alert_fatal_create(DTLS_ALERT_ILLEGAL_PARAMETER);
-    } else if (result_length < psk_key_length) {
-      dtls_warn("cannot set psk -- buffer too small\n");
-      return dtls_alert_fatal_create(DTLS_ALERT_INTERNAL_ERROR);
-    }
-
-    memcpy(result, psk_key, psk_key_length);
-    return psk_key_length;
-  default:
-    dtls_warn("unsupported request type: %d\n", type);
-  }
-
-  return dtls_alert_fatal_create(DTLS_ALERT_INTERNAL_ERROR);
-}
-#endif /* DTLS_PSK */
-
-#ifdef DTLS_ECC
-static int
-get_ecdsa_key(struct dtls_context_t *ctx,
-             const session_t *session,
-             const dtls_ecdsa_key_t **result) {
-  static const dtls_ecdsa_key_t ecdsa_key = {
-    .curve = DTLS_ECDH_CURVE_SECP256R1,
-    .priv_key = ecdsa_priv_key,
-    .pub_key_x = ecdsa_pub_key_x,
-    .pub_key_y = ecdsa_pub_key_y
-  };
-
-  *result = &ecdsa_key;
-  return 0;
-}
-
-static int
-verify_ecdsa_key(struct dtls_context_t *ctx,
-                const session_t *session,
-                const unsigned char *other_pub_x,
-                const unsigned char *other_pub_y,
-                size_t key_size) {
-  return 0;
-}
-#endif /* DTLS_ECC */
-
-PROCESS(udp_server_process, "UDP server process");
-AUTOSTART_PROCESSES(&udp_server_process);
-/*---------------------------------------------------------------------------*/
-static void
-dtls_handle_read(dtls_context_t *ctx) {
-  static session_t session;
-
-  if(uip_newdata()) {
-    uip_ipaddr_copy(&session.addr, &UIP_IP_BUF->srcipaddr);
-    session.port = UIP_UDP_BUF->srcport;
-    session.size = sizeof(session.addr) + sizeof(session.port);
-
-    ((char *)uip_appdata)[uip_datalen()] = 0;
-    PRINTF("Client received message from ");
-    PRINT6ADDR(&session.addr);
-    PRINTF(":%d\n", uip_ntohs(session.port));
-
-    dtls_handle_message(ctx, &session, uip_appdata, uip_datalen());
-  }
-}
-/*---------------------------------------------------------------------------*/
-static void
-print_local_addresses(void)
-{
-  int i;
-  uint8_t state;
-
-  PRINTF("Client IPv6 addresses: ");
-  for(i = 0; i < UIP_DS6_ADDR_NB; i++) {
-    state = uip_ds6_if.addr_list[i].state;
-    if(uip_ds6_if.addr_list[i].isused &&
-       (state == ADDR_TENTATIVE || state == ADDR_PREFERRED)) {
-      PRINT6ADDR(&uip_ds6_if.addr_list[i].ipaddr);
-      PRINTF("\n");
-    }
-  }
-}
-
-static void
-set_connection_address(uip_ipaddr_t *ipaddr)
-{
-#define _QUOTEME(x) #x
-#define QUOTEME(x) _QUOTEME(x)
-#ifdef UDP_CONNECTION_ADDR
-  if(uiplib_ipaddrconv(QUOTEME(UDP_CONNECTION_ADDR), ipaddr) == 0) {
-    PRINTF("UDP client failed to parse address '%s'\n", QUOTEME(UDP_CONNECTION_ADDR));
-  }
-#elif UIP_CONF_ROUTER
-  uip_ip6addr(ipaddr,0xaaaa,0,0,0,0x0200,0x0000,0x0000,0x0001);
-#else
-  uip_ip6addr(ipaddr,0xfe80,0,0,0,0x6466,0x6666,0x6666,0x6666);
-#endif /* UDP_CONNECTION_ADDR */
-}
-
-void
-init_dtls(session_t *dst) {
-  static dtls_handler_t cb = {
-    .write = send_to_peer,
-    .read  = read_from_peer,
-    .event = NULL,
-#ifdef DTLS_PSK
-    .get_psk_info = get_psk_info,
-#endif /* DTLS_PSK */
-#ifdef DTLS_ECC
-    .get_ecdsa_key = get_ecdsa_key,
-    .verify_ecdsa_key = verify_ecdsa_key
-#endif /* DTLS_ECC */
-  };
-  PRINTF("DTLS client started\n");
-
-  print_local_addresses();
-
-  dst->size = sizeof(dst->addr) + sizeof(dst->port);
-  dst->port = UIP_HTONS(20220);
-
-  set_connection_address(&dst->addr);
-  client_conn = udp_new(&dst->addr, 0, NULL);
-  udp_bind(client_conn, dst->port);
-
-  PRINTF("set connection address to ");
-  PRINT6ADDR(&dst->addr);
-  PRINTF(":%d\n", uip_ntohs(dst->port));
-
-  dtls_set_log_level(DTLS_LOG_DEBUG);
-
-  dtls_context = dtls_new_context(client_conn);
-  if (dtls_context)
-    dtls_set_handler(dtls_context, &cb);
-}
-
-/*---------------------------------------------------------------------------*/
-PROCESS_THREAD(udp_server_process, ev, data)
-{
-  static int connected = 0;
-  static session_t dst;
-
-  PROCESS_BEGIN();
-
-  dtls_init();
-
-  init_dtls(&dst);
-  serial_line_init();
-
-  if (!dtls_context) {
-    dtls_emerg("cannot create context\n");
-    PROCESS_EXIT();
-  }
-
-  while(1) {
-    PROCESS_YIELD();
-    if(ev == tcpip_event) {
-      dtls_handle_read(dtls_context);
-    } else if (ev == serial_line_event_message) {
-      register size_t len = min(strlen(data), sizeof(buf) - buflen);
-      memcpy(buf + buflen, data, len);
-      buflen += len;
-      if (buflen < sizeof(buf) - 1)
-       buf[buflen++] = '\n';   /* serial event does not contain LF */
-    }
-
-    if (buflen) {
-      if (!connected)
-       connected = dtls_connect(dtls_context, &dst) >= 0;
-      
-      try_send(dtls_context, &dst);
-    }
-  }
-  
-  PROCESS_END();
-}
-/*---------------------------------------------------------------------------*/
diff --git a/external/wakaama/examples/shared/tinydtls/examples/contiki/dtls-server.c b/external/wakaama/examples/shared/tinydtls/examples/contiki/dtls-server.c
deleted file mode 100644 (file)
index d9269a8..0000000
+++ /dev/null
@@ -1,332 +0,0 @@
-/*
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the Institute nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * This file is part of the Contiki operating system.
- *
- */
-
-#include "contiki.h"
-#include "contiki-lib.h"
-#include "contiki-net.h"
-
-#if UIP_CONF_IPV6_RPL
-#include "net/rpl/rpl.h"
-#endif /* UIP_CONF_IPV6_RPL */
-
-#include <string.h>
-
-#include "tinydtls.h"
-
-#ifndef DEBUG
-#define DEBUG DEBUG_PRINT
-#endif
-#include "net/ip/uip-debug.h"
-
-#include "debug.h"
-#include "dtls.h"
-
-#ifdef ENABLE_POWERTRACE
-#include "powertrace.h"
-#endif
-
-#define UIP_IP_BUF   ((struct uip_ip_hdr *)&uip_buf[UIP_LLH_LEN])
-#define UIP_UDP_BUF  ((struct uip_udp_hdr *)&uip_buf[UIP_LLIPH_LEN])
-
-#define MAX_PAYLOAD_LEN 120
-
-static struct uip_udp_conn *server_conn;
-
-static dtls_context_t *dtls_context;
-
-static const unsigned char ecdsa_priv_key[] = {
-                       0xD9, 0xE2, 0x70, 0x7A, 0x72, 0xDA, 0x6A, 0x05,
-                       0x04, 0x99, 0x5C, 0x86, 0xED, 0xDB, 0xE3, 0xEF,
-                       0xC7, 0xF1, 0xCD, 0x74, 0x83, 0x8F, 0x75, 0x70,
-                       0xC8, 0x07, 0x2D, 0x0A, 0x76, 0x26, 0x1B, 0xD4};
-
-static const unsigned char ecdsa_pub_key_x[] = {
-                       0xD0, 0x55, 0xEE, 0x14, 0x08, 0x4D, 0x6E, 0x06,
-                       0x15, 0x59, 0x9D, 0xB5, 0x83, 0x91, 0x3E, 0x4A,
-                       0x3E, 0x45, 0x26, 0xA2, 0x70, 0x4D, 0x61, 0xF2,
-                       0x7A, 0x4C, 0xCF, 0xBA, 0x97, 0x58, 0xEF, 0x9A};
-
-static const unsigned char ecdsa_pub_key_y[] = {
-                       0xB4, 0x18, 0xB6, 0x4A, 0xFE, 0x80, 0x30, 0xDA,
-                       0x1D, 0xDC, 0xF4, 0xF4, 0x2E, 0x2F, 0x26, 0x31,
-                       0xD0, 0x43, 0xB1, 0xFB, 0x03, 0xE2, 0x2F, 0x4D,
-                       0x17, 0xDE, 0x43, 0xF9, 0xF9, 0xAD, 0xEE, 0x70};
-
-static int
-read_from_peer(struct dtls_context_t *ctx, 
-              session_t *session, uint8 *data, size_t len) {
-  size_t i;
-  for (i = 0; i < len; i++)
-    PRINTF("%c", data[i]);
-
-  /* echo incoming application data */
-  dtls_write(ctx, session, data, len);
-  return 0;
-}
-
-static int
-send_to_peer(struct dtls_context_t *ctx, 
-            session_t *session, uint8 *data, size_t len) {
-
-  struct uip_udp_conn *conn = (struct uip_udp_conn *)dtls_get_app_data(ctx);
-
-  uip_ipaddr_copy(&conn->ripaddr, &session->addr);
-  conn->rport = session->port;
-
-  PRINTF("send to ");
-  PRINT6ADDR(&conn->ripaddr);
-  PRINTF(":%u\n", uip_ntohs(conn->rport));
-
-  uip_udp_packet_send(conn, data, len);
-
-  /* Restore server connection to allow data from any node */
-  memset(&conn->ripaddr, 0, sizeof(conn->ripaddr));
-  memset(&conn->rport, 0, sizeof(conn->rport));
-
-  return len;
-}
-
-#ifdef DTLS_PSK
-/* This function is the "key store" for tinyDTLS. It is called to
- * retrieve a key for the given identity within this particular
- * session. */
-static int
-get_psk_info(struct dtls_context_t *ctx, const session_t *session,
-            dtls_credentials_type_t type,
-            const unsigned char *id, size_t id_len,
-            unsigned char *result, size_t result_length) {
-
-  struct keymap_t {
-    unsigned char *id;
-    size_t id_length;
-    unsigned char *key;
-    size_t key_length;
-  } psk[3] = {
-    { (unsigned char *)"Client_identity", 15,
-      (unsigned char *)"secretPSK", 9 },
-    { (unsigned char *)"default identity", 16,
-      (unsigned char *)"\x11\x22\x33", 3 },
-    { (unsigned char *)"\0", 2,
-      (unsigned char *)"", 1 }
-  };
-
-  if (type != DTLS_PSK_KEY) {
-    return 0;
-  }
-
-  if (id) {
-    int i;
-    for (i = 0; i < sizeof(psk)/sizeof(struct keymap_t); i++) {
-      if (id_len == psk[i].id_length && memcmp(id, psk[i].id, id_len) == 0) {
-       if (result_length < psk[i].key_length) {
-         dtls_warn("buffer too small for PSK");
-         return dtls_alert_fatal_create(DTLS_ALERT_INTERNAL_ERROR);
-       }
-
-       memcpy(result, psk[i].key, psk[i].key_length);
-       return psk[i].key_length;
-      }
-    }
-  }
-
-  return dtls_alert_fatal_create(DTLS_ALERT_DECRYPT_ERROR);
-}
-#endif /* DTLS_PSK */
-
-#ifdef DTLS_ECC
-static int
-get_ecdsa_key(struct dtls_context_t *ctx,
-             const session_t *session,
-             const dtls_ecdsa_key_t **result) {
-  static const dtls_ecdsa_key_t ecdsa_key = {
-    .curve = DTLS_ECDH_CURVE_SECP256R1,
-    .priv_key = ecdsa_priv_key,
-    .pub_key_x = ecdsa_pub_key_x,
-    .pub_key_y = ecdsa_pub_key_y
-  };
-
-  *result = &ecdsa_key;
-  return 0;
-}
-
-static int
-verify_ecdsa_key(struct dtls_context_t *ctx,
-                const session_t *session,
-                const unsigned char *other_pub_x,
-                const unsigned char *other_pub_y,
-                size_t key_size) {
-  return 0;
-}
-#endif /* DTLS_ECC */
-
-PROCESS(udp_server_process, "UDP server process");
-AUTOSTART_PROCESSES(&udp_server_process);
-/*---------------------------------------------------------------------------*/
-static void
-dtls_handle_read(dtls_context_t *ctx) {
-  session_t session;
-
-  if(uip_newdata()) {
-    uip_ipaddr_copy(&session.addr, &UIP_IP_BUF->srcipaddr);
-    session.port = UIP_UDP_BUF->srcport;
-    session.size = sizeof(session.addr) + sizeof(session.port);
-    
-    dtls_handle_message(ctx, &session, uip_appdata, uip_datalen());
-  }
-}
-/*---------------------------------------------------------------------------*/
-static void
-print_local_addresses(void)
-{
-  int i;
-  uint8_t state;
-
-  PRINTF("Server IPv6 addresses: \n");
-  for(i = 0; i < UIP_DS6_ADDR_NB; i++) {
-    state = uip_ds6_if.addr_list[i].state;
-    if(uip_ds6_if.addr_list[i].isused &&
-       (state == ADDR_TENTATIVE || state == ADDR_PREFERRED)) {
-      PRINT6ADDR(&uip_ds6_if.addr_list[i].ipaddr);
-      PRINTF("\n");
-    }
-  }
-}
-
-#if 0
-static void
-create_rpl_dag(uip_ipaddr_t *ipaddr)
-{
-  struct uip_ds6_addr *root_if;
-
-  root_if = uip_ds6_addr_lookup(ipaddr);
-  if(root_if != NULL) {
-    rpl_dag_t *dag;
-    uip_ipaddr_t prefix;
-    
-    rpl_set_root(RPL_DEFAULT_INSTANCE, ipaddr);
-    dag = rpl_get_any_dag();
-    uip_ip6addr(&prefix, 0xaaaa, 0, 0, 0, 0, 0, 0, 0);
-    rpl_set_prefix(dag, &prefix, 64);
-    PRINTF("created a new RPL dag\n");
-  } else {
-    PRINTF("failed to create a new RPL DAG\n");
-  }
-}
-#endif
-
-void
-init_dtls() {
-  static dtls_handler_t cb = {
-    .write = send_to_peer,
-    .read  = read_from_peer,
-    .event = NULL,
-#ifdef DTLS_PSK
-    .get_psk_info = get_psk_info,
-#endif /* DTLS_PSK */
-#ifdef DTLS_ECC
-    .get_ecdsa_key = get_ecdsa_key,
-    .verify_ecdsa_key = verify_ecdsa_key
-#endif /* DTLS_ECC */
-  };
-#if 0
-  uip_ipaddr_t ipaddr;
-  /* struct uip_ds6_addr *root_if; */
-#endif /* UIP_CONF_ROUTER */
-
-  PRINTF("DTLS server started\n");
-
-#if 0  /* TEST */
-  memset(&tmp_addr, 0, sizeof(rimeaddr_t));
-  if(get_eui64_from_eeprom(tmp_addr.u8));
-#if UIP_CONF_IPV6
-  memcpy(&uip_lladdr.addr, &tmp_addr.u8, 8);
-#endif
-#endif /* TEST */
-
-#if 0
-/*   uip_ip6addr(&ipaddr, 0xaaaa, 0, 0, 0, 0, 0, 0, 0); */
-/*   uip_ds6_set_addr_iid(&ipaddr, &uip_lladdr); */
-/*   uip_ds6_addr_add(&ipaddr, 0, ADDR_AUTOCONF); */
-
-/*   create_rpl_dag(&ipaddr); */
-/* #else */
-  /* uip_ds6_addr_add(&ipaddr, 0, ADDR_AUTOCONF); */
-
-  uip_ip6addr(&ipaddr, 0xaaaa, 0,0,0,0x0200,0,0,0x0003);
-  uip_ds6_addr_add(&ipaddr, 0, ADDR_MANUAL);
-
-  create_rpl_dag(&ipaddr);
-#endif /* UIP_CONF_ROUTER */
-
-  server_conn = udp_new(NULL, 0, NULL);
-  udp_bind(server_conn, UIP_HTONS(20220));
-
-  dtls_set_log_level(DTLS_LOG_DEBUG);
-
-  dtls_context = dtls_new_context(server_conn);
-  if (dtls_context)
-    dtls_set_handler(dtls_context, &cb);
-}
-
-/*---------------------------------------------------------------------------*/
-PROCESS_THREAD(udp_server_process, ev, data)
-{
-  PROCESS_BEGIN();
-
-  dtls_init();
-  init_dtls();
-
-  print_local_addresses();
-
-  if (!dtls_context) {
-    dtls_emerg("cannot create context\n");
-    PROCESS_EXIT();
-  }
-
-#ifdef ENABLE_POWERTRACE
-  powertrace_start(CLOCK_SECOND * 2); 
-#endif
-
-  while(1) {
-    PROCESS_WAIT_EVENT();
-    if(ev == tcpip_event) {
-      dtls_handle_read(dtls_context);
-    }
-#if 0
-    if (bytes_read > 0) {
-      /* dtls_handle_message(dtls_context, &the_session, readbuf, bytes_read); */
-      read_from_peer(dtls_context, &the_session, readbuf, bytes_read);
-    }
-    dtls_handle_message(ctx, &session, uip_appdata, bytes_read);
-#endif
-  }
-
-  PROCESS_END();
-}
-/*---------------------------------------------------------------------------*/
diff --git a/external/wakaama/examples/shared/tinydtls/global.h b/external/wakaama/examples/shared/tinydtls/global.h
deleted file mode 100644 (file)
index f0977c8..0000000
+++ /dev/null
@@ -1,147 +0,0 @@
-/* dtls -- a very basic DTLS implementation
- *
- * Copyright (C) 2011--2014 Olaf Bergmann <bergmann@tzi.org>
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-#ifndef _DTLS_GLOBAL_H_
-#define _DTLS_GLOBAL_H_
-
-#include <stdlib.h>
-#include <sys/types.h>
-
-#include "tinydtls.h"
-
-#ifndef DTLSv12
-/* The current version of tinyDTLS supports DTLSv1.2 only. */
-#define DTLSv12 1
-#endif
-
-#ifndef WITH_SHA256
-/* The current version of tinyDTLS supports DTLSv1.2 with SHA256 PRF
-   only. */
-#define WITH_SHA256 1
-#endif
-
-/* Define our own types as at least uint32_t does not work on my amd64. */
-
-typedef unsigned char uint8;
-typedef unsigned char uint16[2];
-typedef unsigned char uint24[3];
-typedef unsigned char uint32[4];
-typedef unsigned char uint48[6];
-
-#ifndef DTLS_MAX_BUF
-/** Maximum size of DTLS message.
-    When Peers are sending bigger messages this causes problems. Californium
-    with ECDSA needs at least 220 */
-#ifdef WITH_CONTIKI
-#ifdef DTLS_ECC
-#define DTLS_MAX_BUF 200
-#else /* DTLS_ECC */
-#define DTLS_MAX_BUF 100
-#endif /* DTLS_ECC */
-#else /* WITH_CONTIKI */
-#define DTLS_MAX_BUF 1400
-#endif /* WITH_CONTIKI */
-#endif
-
-#ifndef DTLS_DEFAULT_MAX_RETRANSMIT
-/** Number of message retransmissions. */
-#define DTLS_DEFAULT_MAX_RETRANSMIT 7
-#endif
-
-/** Known cipher suites.*/
-typedef enum { 
-  TLS_NULL_WITH_NULL_NULL = 0x0000,   /**< NULL cipher  */
-  TLS_PSK_WITH_AES_128_CCM_8 = 0xC0A8, /**< see RFC 6655 */
-  TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8 = 0xC0AE /**< see RFC 7251 */
-} dtls_cipher_t;
-
-/** Known compression suites.*/
-typedef enum {
-  TLS_COMPRESSION_NULL = 0x0000                /* NULL compression */
-} dtls_compression_t;
-
-#define TLS_EXT_ELLIPTIC_CURVES                10 /* see RFC 4492 */
-#define TLS_EXT_EC_POINT_FORMATS       11 /* see RFC 4492 */
-#define TLS_EXT_SIG_HASH_ALGO          13 /* see RFC 5246 */
-#define TLS_EXT_CLIENT_CERTIFICATE_TYPE        19 /* see RFC 7250 */
-#define TLS_EXT_SERVER_CERTIFICATE_TYPE        20 /* see RFC 7250 */
-#define TLS_EXT_ENCRYPT_THEN_MAC       22 /* see RFC 7366 */
-
-#define TLS_CERT_TYPE_RAW_PUBLIC_KEY   2 /* see RFC 7250 */
-
-#define TLS_EXT_ELLIPTIC_CURVES_SECP256R1      23 /* see RFC 4492 */
-
-#define TLS_EXT_EC_POINT_FORMATS_UNCOMPRESSED  0 /* see RFC 4492 */
-
-#define TLS_EC_CURVE_TYPE_NAMED_CURVE          3 /* see RFC 4492 */
-
-#define TLS_CLIENT_CERTIFICATE_TYPE_ECDSA_SIGN 64 /* see RFC 4492 */
-
-#define TLS_EXT_SIG_HASH_ALGO_SHA256           4 /* see RFC 5246 */
-#define TLS_EXT_SIG_HASH_ALGO_ECDSA            3 /* see RFC 5246 */
-
-/** 
- * XORs \p n bytes byte-by-byte starting at \p y to the memory area
- * starting at \p x. */
-static inline void
-memxor(unsigned char *x, const unsigned char *y, size_t n) {
-  while(n--) {
-    *x ^= *y;
-    x++; y++;
-  }
-}
-
-/**
- * Compares \p len bytes from @p a with @p b in constant time. This
- * functions always traverses the entire length to prevent timing
- * attacks.
- *
- * \param a Byte sequence to compare
- * \param b Byte sequence to compare
- * \param len Number of bytes to compare.
- * \return \c 1 if \p a and \p b are equal, \c 0 otherwise.
- */
-static inline int
-equals(unsigned char *a, unsigned char *b, size_t len) {
-  int result = 1;
-  while (len--) {
-    result &= (*a++ == *b++);
-  }
-  return result;
-}
-
-#ifdef HAVE_FLS
-#define dtls_fls(i) fls(i)
-#else
-static inline int 
-dtls_fls(unsigned int i) {
-  int n;
-  for (n = 0; i; n++)
-    i >>= 1;
-  return n;
-}
-#endif /* HAVE_FLS */
-
-#endif /* _DTLS_GLOBAL_H_ */
diff --git a/external/wakaama/examples/shared/tinydtls/hmac.c b/external/wakaama/examples/shared/tinydtls/hmac.c
deleted file mode 100644 (file)
index b8b1614..0000000
+++ /dev/null
@@ -1,173 +0,0 @@
-/* dtls -- a very basic DTLS implementation
- *
- * Copyright (C) 2011--2012 Olaf Bergmann <bergmann@tzi.org>
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "dtls_config.h"
-
-#ifdef HAVE_ASSERT_H
-#include <assert.h>
-#else
-#define assert(x)
-#endif
-
-#include "dtls_debug.h"
-#include "hmac.h"
-
-/* use malloc()/free() on platforms other than Contiki */
-#ifndef WITH_CONTIKI
-#include <stdlib.h>
-
-static inline dtls_hmac_context_t *
-dtls_hmac_context_new() {
-  return (dtls_hmac_context_t *)malloc(sizeof(dtls_hmac_context_t));
-}
-
-static inline void
-dtls_hmac_context_free(dtls_hmac_context_t *ctx) {
-  free(ctx);
-}
-
-#else /* WITH_CONTIKI */
-#include "memb.h"
-MEMB(hmac_context_storage, dtls_hmac_context_t, DTLS_HASH_MAX);
-
-static inline dtls_hmac_context_t *
-dtls_hmac_context_new() {
-  return (dtls_hmac_context_t *)memb_alloc(&hmac_context_storage);
-}
-
-static inline void
-dtls_hmac_context_free(dtls_hmac_context_t *ctx) {
-  memb_free(&hmac_context_storage, ctx);
-}
-
-void
-dtls_hmac_storage_init() {
-  memb_init(&hmac_context_storage);
-}
-#endif /* WITH_CONTIKI */
-
-void
-dtls_hmac_update(dtls_hmac_context_t *ctx,
-                const unsigned char *input, size_t ilen) {
-  assert(ctx);
-  dtls_hash_update(&ctx->data, input, ilen);
-}
-
-dtls_hmac_context_t *
-dtls_hmac_new(const unsigned char *key, size_t klen) {
-  dtls_hmac_context_t *ctx;
-
-  ctx = dtls_hmac_context_new();
-  if (ctx) 
-    dtls_hmac_init(ctx, key, klen);
-
-  return ctx;
-}
-
-void
-dtls_hmac_init(dtls_hmac_context_t *ctx, const unsigned char *key, size_t klen) {
-  int i;
-
-  assert(ctx);
-
-  memset(ctx, 0, sizeof(dtls_hmac_context_t));
-
-  if (klen > DTLS_HMAC_BLOCKSIZE) {
-    dtls_hash_init(&ctx->data);
-    dtls_hash_update(&ctx->data, key, klen);
-    dtls_hash_finalize(ctx->pad, &ctx->data);
-  } else
-    memcpy(ctx->pad, key, klen);
-
-  /* create ipad: */
-  for (i=0; i < DTLS_HMAC_BLOCKSIZE; ++i)
-    ctx->pad[i] ^= 0x36;
-
-  dtls_hash_init(&ctx->data);
-  dtls_hmac_update(ctx, ctx->pad, DTLS_HMAC_BLOCKSIZE);
-
-  /* create opad by xor-ing pad[i] with 0x36 ^ 0x5C: */
-  for (i=0; i < DTLS_HMAC_BLOCKSIZE; ++i)
-    ctx->pad[i] ^= 0x6A;
-}
-
-void
-dtls_hmac_free(dtls_hmac_context_t *ctx) {
-  if (ctx)
-    dtls_hmac_context_free(ctx);
-}
-
-int
-dtls_hmac_finalize(dtls_hmac_context_t *ctx, unsigned char *result) {
-  unsigned char buf[DTLS_HMAC_DIGEST_SIZE];
-  size_t len; 
-
-  assert(ctx);
-  assert(result);
-  
-  len = dtls_hash_finalize(buf, &ctx->data);
-
-  dtls_hash_init(&ctx->data);
-  dtls_hash_update(&ctx->data, ctx->pad, DTLS_HMAC_BLOCKSIZE);
-  dtls_hash_update(&ctx->data, buf, len);
-
-  len = dtls_hash_finalize(result, &ctx->data);
-
-  return len;
-}
-
-#ifdef HMAC_TEST
-#include <stdio.h>
-
-int main(int argc, char **argv) {
-  static unsigned char buf[DTLS_HMAC_DIGEST_SIZE];
-  size_t len, i;
-  dtls_hmac_context_t *ctx;
-
-  if (argc < 3) {
-    fprintf(stderr, "usage: %s key text", argv[0]);
-    return -1;
-  }
-
-  dtls_hmac_storage_init();
-  ctx = dtls_hmac_new(argv[1], strlen(argv[1]));
-  assert(ctx);
-  dtls_hmac_update(ctx, argv[2], strlen(argv[2]));
-  
-  len = dtls_hmac_finalize(ctx, buf);
-
-  for(i = 0; i < len; i++) 
-    printf("%02x", buf[i]);
-  printf("\n");
-
-  dtls_hmac_free(ctx);
-
-  return 0;
-}
-#endif
diff --git a/external/wakaama/examples/shared/tinydtls/hmac.h b/external/wakaama/examples/shared/tinydtls/hmac.h
deleted file mode 100644 (file)
index d9c5e53..0000000
+++ /dev/null
@@ -1,154 +0,0 @@
-/* dtls -- a very basic DTLS implementation
- *
- * Copyright (C) 2011--2012 Olaf Bergmann <bergmann@tzi.org>
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-#ifndef _DTLS_HMAC_H_
-#define _DTLS_HMAC_H_
-
-#include <sys/types.h>
-
-#include "global.h"
-
-#ifdef WITH_SHA256
-/** Aaron D. Gifford's implementation of SHA256
- *  see http://www.aarongifford.com/ */
-#include "sha2/sha2.h"
-
-typedef SHA256_CTX dtls_hash_ctx;
-typedef dtls_hash_ctx *dtls_hash_t;
-#define DTLS_HASH_CTX_SIZE sizeof(SHA256_CTX)
-
-static inline void
-dtls_hash_init(dtls_hash_t ctx) {
-  SHA256_Init((SHA256_CTX *)ctx);
-}
-
-static inline void 
-dtls_hash_update(dtls_hash_t ctx, const unsigned char *input, size_t len) {
-  SHA256_Update((SHA256_CTX *)ctx, input, len);
-}
-
-static inline size_t
-dtls_hash_finalize(unsigned char *buf, dtls_hash_t ctx) {
-  SHA256_Final(buf, (SHA256_CTX *)ctx);
-  return SHA256_DIGEST_LENGTH;
-}
-#endif /* WITH_SHA256 */
-
-#ifndef WITH_CONTIKI
-static inline void dtls_hmac_storage_init()
-{ }
-#else
-void dtls_hmac_storage_init();
-#endif
-
-/**
- * \defgroup HMAC Keyed-Hash Message Authentication Code (HMAC)
- * NIST Standard FIPS 198 describes the Keyed-Hash Message Authentication 
- * Code (HMAC) which is used as hash function for the DTLS PRF.
- * @{
- */
-
-#define DTLS_HMAC_BLOCKSIZE   64       /**< size of hmac blocks */
-#define DTLS_HMAC_DIGEST_SIZE 32       /**< digest size (for SHA-256) */
-#define DTLS_HMAC_MAX         64       /**< max number of bytes in digest */
-
-/**
- * List of known hash functions for use in dtls_hmac_init(). The
- * identifiers are the same as the HashAlgorithm defined in 
- * <a href="http://tools.ietf.org/html/rfc5246#section-7.4.1.4.1"
- * >Section 7.4.1.4.1 of RFC 5246</a>.
- */
-typedef enum { 
-  HASH_NONE=0, HASH_MD5=1, HASH_SHA1=2, HASH_SHA224=3,
-  HASH_SHA256=4, HASH_SHA384=5, HASH_SHA512=6
-} dtls_hashfunc_t;
-
-/**
- * Context for HMAC generation. This object is initialized with
- * dtls_hmac_init() and must be passed to dtls_hmac_update() and
- * dtls_hmac_finalize(). Once, finalized, the component \c H is
- * invalid and must be initialized again with dtls_hmac_init() before
- * the structure can be used again. 
- */
-typedef struct {
-  unsigned char pad[DTLS_HMAC_BLOCKSIZE]; /**< ipad and opad storage */
-  dtls_hash_ctx data;                    /**< context for hash function */
-} dtls_hmac_context_t;
-
-/**
- * Initializes an existing HMAC context. 
- *
- * @param ctx The HMAC context to initialize.
- * @param key    The secret key.
- * @param klen   The length of @p key.
- */
-void dtls_hmac_init(dtls_hmac_context_t *ctx, const unsigned char *key, size_t klen);
-
-/**
- * Allocates a new HMAC context \p ctx with the given secret key.
- * This function returns \c 1 if \c ctx has been set correctly, or \c
- * 0 or \c -1 otherwise. Note that this function allocates new storage
- * that must be released by dtls_hmac_free().
- *
- * \param key    The secret key.
- * \param klen   The length of \p key.
- * \return A new dtls_hmac_context_t object or @c NULL on error
- */
-dtls_hmac_context_t *dtls_hmac_new(const unsigned char *key, size_t klen);
-
-/**
- * Releases the storage for @p ctx that has been allocated by
- * dtls_hmac_new().
- *
- * @param ctx The dtls_hmac_context_t to free. 
- */
-void dtls_hmac_free(dtls_hmac_context_t *ctx);
-
-/**
- * Updates the HMAC context with data from \p input. 
- * 
- * \param ctx    The HMAC context.
- * \param input  The input data.
- * \param ilen   Size of \p input.
- */
-void dtls_hmac_update(dtls_hmac_context_t *ctx,
-                     const unsigned char *input, size_t ilen);
-
-/** 
- * Completes the HMAC generation and writes the result to the given
- * output parameter \c result. The buffer must be large enough to hold
- * the message digest created by the actual hash function. If in
- * doubt, use \c DTLS_HMAC_MAX. The function returns the number of
- * bytes written to \c result. 
- *
- * \param ctx    The HMAC context.
- * \param result Output parameter where the MAC is written to.
- * \return Length of the MAC written to \p result.
- */
-int dtls_hmac_finalize(dtls_hmac_context_t *ctx, unsigned char *result);
-
-/**@}*/
-
-#endif /* _DTLS_HMAC_H_ */
diff --git a/external/wakaama/examples/shared/tinydtls/netq.c b/external/wakaama/examples/shared/tinydtls/netq.c
deleted file mode 100644 (file)
index 4148334..0000000
+++ /dev/null
@@ -1,140 +0,0 @@
-/* netq.h -- Simple packet queue
- *
- * Copyright (C) 2010--2012 Olaf Bergmann <bergmann@tzi.org>
- *
- * This file is part of the library tinyDTLS. Please see the file
- * LICENSE for terms of use.
- */
-
-#include "dtls_config.h"
-#include "dtls_debug.h"
-#include "netq.h"
-
-#ifdef HAVE_ASSERT_H
-#include <assert.h>
-#else
-#ifndef assert
-#warning "assertions are disabled"
-#  define assert(x)
-#endif
-#endif
-
-#include "t_list.h"
-
-#ifndef WITH_CONTIKI
-#include <stdlib.h>
-
-static inline netq_t *
-netq_malloc_node(size_t size) {
-  return (netq_t *)malloc(sizeof(netq_t) + size);
-}
-
-static inline void
-netq_free_node(netq_t *node) {
-  free(node);
-}
-
-/* FIXME: implement Contiki's list functions using utlist.h */
-
-#else /* WITH_CONTIKI */
-#include "memb.h"
-
-MEMB(netq_storage, netq_t, NETQ_MAXCNT);
-
-static inline netq_t *
-netq_malloc_node(size_t size) {
-  return (netq_t *)memb_alloc(&netq_storage);
-}
-
-static inline void
-netq_free_node(netq_t *node) {
-  memb_free(&netq_storage, node);
-}
-
-void
-netq_init() {
-  memb_init(&netq_storage);
-}
-#endif /* WITH_CONTIKI */
-
-int 
-netq_insert_node(list_t queue, netq_t *node) {
-  netq_t *p;
-
-  assert(queue);
-  assert(node);
-
-  p = (netq_t *)list_head(queue);
-  while(p && p->t <= node->t && list_item_next(p))
-    p = list_item_next(p);
-
-  if (p)
-    list_insert(queue, p, node);
-  else
-    list_push(queue, node);
-
-  return 1;
-}
-
-netq_t *
-netq_head(list_t queue) {
-  if (!queue)
-    return NULL;
-
-  return list_head(queue);
-}
-
-netq_t *
-netq_next(netq_t *p) {
-  if (!p)
-    return NULL;
-
-  return list_item_next(p);
-}
-
-void
-netq_remove(list_t queue, netq_t *p) {
-  if (!queue || !p)
-    return;
-
-  list_remove(queue, p);
-}
-
-netq_t *netq_pop_first(list_t queue) {
-  if (!queue)
-    return NULL;
-
-  return list_pop(queue);
-}
-
-netq_t *
-netq_node_new(size_t size) {
-  netq_t *node;
-  node = netq_malloc_node(size);
-
-#ifndef NDEBUG
-  if (!node)
-    dtls_warn("netq_node_new: malloc\n");
-#endif
-
-  if (node)
-    memset(node, 0, sizeof(netq_t));
-
-  return node;  
-}
-
-void 
-netq_node_free(netq_t *node) {
-  if (node)
-    netq_free_node(node);
-}
-
-void 
-netq_delete_all(list_t queue) {
-  netq_t *p;
-  if (queue) {
-    while((p = list_pop(queue)))
-      netq_free_node(p); 
-  }
-}
-
diff --git a/external/wakaama/examples/shared/tinydtls/netq.h b/external/wakaama/examples/shared/tinydtls/netq.h
deleted file mode 100644 (file)
index a771b23..0000000
+++ /dev/null
@@ -1,103 +0,0 @@
-/* netq.h -- Simple packet queue
- *
- * Copyright (C) 2010--2012 Olaf Bergmann <bergmann@tzi.org>
- *
- * This file is part of the library tinyDTLS. Please see the file
- * LICENSE for terms of use.
- */
-
-#ifndef _DTLS_NETQ_H_
-#define _DTLS_NETQ_H_
-
-#include "tinydtls.h"
-#include "global.h"
-#include "dtls.h"
-#include "dtls_time.h"
-
-/**
- * \defgroup netq Network Packet Queue
- * The netq utility functions implement an ordered queue of data packets
- * to send over the network and can also be used to queue received packets
- * from the network.
- * @{
- */
-
-#ifndef NETQ_MAXCNT
-#ifdef DTLS_ECC
-#define NETQ_MAXCNT 5 /**< maximum number of elements in netq structure */
-#elif defined(DTLS_PSK)
-#define NETQ_MAXCNT 3 /**< maximum number of elements in netq structure */
-#endif
-#endif
-
-/** 
- * Datagrams in the netq_t structure have a fixed maximum size of
- * DTLS_MAX_BUF to simplify memory management on constrained nodes. */ 
-typedef unsigned char netq_packet_t[DTLS_MAX_BUF];
-
-typedef struct netq_t {
-  struct netq_t *next;
-
-  clock_time_t t;              /**< when to send PDU for the next time */
-  unsigned int timeout;                /**< randomized timeout value */
-
-  dtls_peer_t *peer;           /**< remote address */
-  uint16_t epoch;
-  uint8_t type;
-  unsigned char retransmit_cnt;        /**< retransmission counter, will be removed when zero */
-
-  size_t length;               /**< actual length of data */
-#ifndef WITH_CONTIKI
-  unsigned char data[];                /**< the datagram to send */
-#else
-  netq_packet_t data;          /**< the datagram to send */
-#endif
-} netq_t;
-
-#ifndef WITH_CONTIKI
-static inline void netq_init()
-{ }
-#else
-void netq_init();
-#endif
-
-/** 
- * Adds a node to the given queue, ordered by their time-stamp t.
- * This function returns @c 0 on error, or non-zero if @p node has
- * been added successfully.
- *
- * @param queue A pointer to the queue head where @p node will be added.
- * @param node  The new item to add.
- * @return @c 0 on error, or non-zero if the new item was added.
- */
-int netq_insert_node(list_t queue, netq_t *node);
-
-/** Destroys specified node and releases any memory that was allocated
- * for the associated datagram. */
-void netq_node_free(netq_t *node);
-
-/** Removes all items from given queue and frees the allocated storage */
-void netq_delete_all(list_t queue);
-
-/** Creates a new node suitable for adding to a netq_t queue. */
-netq_t *netq_node_new(size_t size);
-
-/**
- * Returns a pointer to the first item in given queue or NULL if
- * empty. 
- */
-netq_t *netq_head(list_t queue);
-
-netq_t *netq_next(netq_t *p);
-void netq_remove(list_t queue, netq_t *p);
-
-/**
- * Removes the first item in given queue and returns a pointer to the
- * removed element. If queue is empty when netq_pop_first() is called,
- * this function returns NULL.
- */
-netq_t *netq_pop_first(list_t queue);
-
-/**@}*/
-
-#endif /* _DTLS_NETQ_H_ */
diff --git a/external/wakaama/examples/shared/tinydtls/numeric.h b/external/wakaama/examples/shared/tinydtls/numeric.h
deleted file mode 100644 (file)
index e319f5b..0000000
+++ /dev/null
@@ -1,142 +0,0 @@
-/* dtls -- a very basic DTLS implementation
- *
- * Copyright (C) 2011 Olaf Bergmann <bergmann@tzi.org>
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-#ifndef _DTLS_NUMERIC_H_
-#define _DTLS_NUMERIC_H_
-
-#include <stdint.h>
-
-#ifndef min
-#define min(A,B) ((A) <= (B) ? (A) : (B))
-#endif
-
-#ifndef max
-#define max(A,B) ((A) < (B) ? (B) : (A))
-#endif
-
-/* this one is for consistency... */
-static inline int dtls_int_to_uint8(unsigned char *field, uint8_t value)
-{
-  field[0] = value & 0xff;
-  return 1;
-}
-
-static inline int dtls_int_to_uint16(unsigned char *field, uint16_t value)
-{
-  field[0] = (value >> 8) & 0xff;
-  field[1] = value & 0xff;
-  return 2;
-}
-
-static inline int dtls_int_to_uint24(unsigned char *field, uint32_t value)
-{
-  field[0] = (value >> 16) & 0xff;
-  field[1] = (value >> 8) & 0xff;
-  field[2] = value & 0xff;
-  return 3;
-}
-
-static inline int dtls_int_to_uint32(unsigned char *field, uint32_t value)
-{
-  field[0] = (value >> 24) & 0xff;
-  field[1] = (value >> 16) & 0xff;
-  field[2] = (value >> 8) & 0xff;
-  field[3] = value & 0xff;
-  return 4;
-}
-
-static inline int dtls_int_to_uint48(unsigned char *field, uint64_t value)
-{
-  field[0] = (value >> 40) & 0xff;
-  field[1] = (value >> 32) & 0xff;
-  field[2] = (value >> 24) & 0xff;
-  field[3] = (value >> 16) & 0xff;
-  field[4] = (value >> 8) & 0xff;
-  field[5] = value & 0xff;
-  return 6;
-}
-
-static inline int dtls_int_to_uint64(unsigned char *field, uint64_t value)
-{
-  field[0] = (value >> 56) & 0xff;
-  field[1] = (value >> 48) & 0xff;
-  field[2] = (value >> 40) & 0xff;
-  field[3] = (value >> 32) & 0xff;
-  field[4] = (value >> 24) & 0xff;
-  field[5] = (value >> 16) & 0xff;
-  field[6] = (value >> 8) & 0xff;
-  field[7] = value & 0xff;
-  return 8;
-}
-
-static inline uint8_t dtls_uint8_to_int(const unsigned char *field)
-{
-  return (uint8_t)field[0];
-}
-
-static inline uint16_t dtls_uint16_to_int(const unsigned char *field)
-{
-  return ((uint16_t)field[0] << 8)
-        | (uint16_t)field[1];
-}
-
-static inline uint32_t dtls_uint24_to_int(const unsigned char *field)
-{
-  return ((uint32_t)field[0] << 16)
-        | ((uint32_t)field[1] << 8)
-        | (uint32_t)field[2];
-}
-
-static inline uint32_t dtls_uint32_to_int(const unsigned char *field)
-{
-  return ((uint32_t)field[0] << 24)
-        | ((uint32_t)field[1] << 16)
-        | ((uint32_t)field[2] << 8)
-        | (uint32_t)field[3];
-}
-
-static inline uint64_t dtls_uint48_to_int(const unsigned char *field)
-{
-  return ((uint64_t)field[0] << 40)
-        | ((uint64_t)field[1] << 32)
-        | ((uint64_t)field[2] << 24)
-        | ((uint64_t)field[3] << 16)
-        | ((uint64_t)field[4] << 8)
-        | (uint64_t)field[5];
-}
-
-static inline uint64_t dtls_uint64_to_int(const unsigned char *field)
-{
-  return ((uint64_t)field[0] << 56)
-        | ((uint64_t)field[1] << 48)
-        | ((uint64_t)field[2] << 40)
-        | ((uint64_t)field[3] << 32)
-        | ((uint64_t)field[4] << 24)
-        | ((uint64_t)field[5] << 16)
-        | ((uint64_t)field[6] << 8)
-        | (uint64_t)field[7];
-}
-
-#endif /* _DTLS_NUMERIC_H_ */
diff --git a/external/wakaama/examples/shared/tinydtls/peer.c b/external/wakaama/examples/shared/tinydtls/peer.c
deleted file mode 100644 (file)
index 5f8a172..0000000
+++ /dev/null
@@ -1,90 +0,0 @@
-/* dtls -- a very basic DTLS implementation
- *
- * Copyright (C) 2011--2013 Olaf Bergmann <bergmann@tzi.org>
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-#include "global.h"
-#include "peer.h"
-#include "dtls_debug.h"
-
-#ifndef WITH_CONTIKI
-void peer_init()
-{
-}
-
-static inline dtls_peer_t *
-dtls_malloc_peer() {
-  return (dtls_peer_t *)malloc(sizeof(dtls_peer_t));
-}
-
-void
-dtls_free_peer(dtls_peer_t *peer) {
-  dtls_handshake_free(peer->handshake_params);
-  dtls_security_free(peer->security_params[0]);
-  dtls_security_free(peer->security_params[1]);
-  free(peer);
-}
-#else /* WITH_CONTIKI */
-
-#include "memb.h"
-MEMB(peer_storage, dtls_peer_t, DTLS_PEER_MAX);
-
-void
-peer_init() {
-  memb_init(&peer_storage);
-}
-
-static inline dtls_peer_t *
-dtls_malloc_peer() {
-  return memb_alloc(&peer_storage);
-}
-
-void
-dtls_free_peer(dtls_peer_t *peer) {
-  dtls_handshake_free(peer->handshake_params);
-  dtls_security_free(peer->security_params[0]);
-  dtls_security_free(peer->security_params[1]);
-  memb_free(&peer_storage, peer);
-}
-#endif /* WITH_CONTIKI */
-
-dtls_peer_t *
-dtls_new_peer(const session_t *session) {
-  dtls_peer_t *peer;
-
-  peer = dtls_malloc_peer();
-  if (peer) {
-    memset(peer, 0, sizeof(dtls_peer_t));
-    memcpy(&peer->session, session, sizeof(session_t));
-    peer->security_params[0] = dtls_security_new();
-
-    if (!peer->security_params[0]) {
-      dtls_free_peer(peer);
-      return NULL;
-    }
-
-    dtls_dsrv_log_addr(DTLS_LOG_DEBUG, "dtls_new_peer", session);
-  }
-
-  return peer;
-}
diff --git a/external/wakaama/examples/shared/tinydtls/peer.h b/external/wakaama/examples/shared/tinydtls/peer.h
deleted file mode 100644 (file)
index af7c205..0000000
+++ /dev/null
@@ -1,148 +0,0 @@
-/* dtls -- a very basic DTLS implementation
- *
- * Copyright (C) 2011--2013 Olaf Bergmann <bergmann@tzi.org>
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-/**
- * @file peer.h
- * @brief information about peers in a DTLS session
- */
-
-#ifndef _DTLS_PEER_H_
-#define _DTLS_PEER_H_
-
-#include <sys/types.h>
-
-#include "tinydtls.h"
-#include "global.h"
-#include "session.h"
-
-#include "state.h"
-#include "crypto.h"
-
-#ifndef WITH_CONTIKI
-#include "uthash.h"
-#endif /* WITH_CONTIKI */
-
-typedef enum { DTLS_CLIENT=0, DTLS_SERVER } dtls_peer_type;
-
-/** 
- * Holds security parameters, local state and the transport address
- * for each peer. */
-typedef struct dtls_peer_t {
-#ifndef WITH_CONTIKI
-  UT_hash_handle hh;
-#else /* WITH_CONTIKI */
-  struct dtls_peer_t *next;
-#endif /* WITH_CONTIKI */
-
-  session_t session;        /**< peer address and local interface */
-
-  dtls_peer_type role;       /**< denotes if this host is DTLS_CLIENT or DTLS_SERVER */
-  dtls_state_t state;        /**< DTLS engine state */
-
-  dtls_security_parameters_t *security_params[2];
-  dtls_handshake_parameters_t *handshake_params;
-} dtls_peer_t;
-
-static inline dtls_security_parameters_t *dtls_security_params_epoch(dtls_peer_t *peer, uint16_t epoch)
-{
-  if (peer->security_params[0] && peer->security_params[0]->epoch == epoch) {
-    return peer->security_params[0];
-  } else if (peer->security_params[1] && peer->security_params[1]->epoch == epoch) {
-    return peer->security_params[1];
-  } else {
-    return NULL;
-  }
-}
-
-static inline dtls_security_parameters_t *dtls_security_params(dtls_peer_t *peer)
-{
-  return peer->security_params[0];
-}
-
-static inline dtls_security_parameters_t *dtls_security_params_next(dtls_peer_t *peer)
-{
-  if (peer->security_params[1])
-    dtls_security_free(peer->security_params[1]);
-
-  peer->security_params[1] = dtls_security_new();
-  if (!peer->security_params[1]) {
-    return NULL;
-  }
-  peer->security_params[1]->epoch = peer->security_params[0]->epoch + 1;
-  return peer->security_params[1];
-}
-
-static inline void dtls_security_params_free_other(dtls_peer_t *peer)
-{
-  dtls_security_parameters_t * security0 = peer->security_params[0];
-  dtls_security_parameters_t * security1 = peer->security_params[1];
-
-  if (!security0 || !security1 || security0->epoch < security1->epoch)
-    return;
-
-  dtls_security_free(security1);
-  peer->security_params[1] = NULL;
-}
-
-static inline void dtls_security_params_switch(dtls_peer_t *peer)
-{
-  dtls_security_parameters_t * security = peer->security_params[1];
-
-  peer->security_params[1] = peer->security_params[0];
-  peer->security_params[0] = security;
-}
-
-void peer_init();
-
-/**
- * Creates a new peer for given @p session. The current configuration
- * is initialized with the cipher suite TLS_NULL_WITH_NULL_NULL (i.e.
- * no security at all). This function returns a pointer to the new
- * peer or NULL on error. The caller is responsible for releasing the
- * storage allocated for this peer using dtls_free_peer().
- *
- * @param session  The remote peer's address and local interface index.
- * @return A pointer to a newly created and initialized peer object
- * or NULL on error.
- */
-dtls_peer_t *dtls_new_peer(const session_t *session);
-
-/** Releases the storage allocated to @p peer. */
-void dtls_free_peer(dtls_peer_t *peer);
-
-/** Returns the current state of @p peer. */
-static inline dtls_state_t dtls_peer_state(const dtls_peer_t *peer) {
-  return peer->state;
-}
-
-/**
- * Checks if given @p peer is connected. This function returns
- * @c 1 if connected, or @c 0 otherwise.
- */
-static inline int dtls_peer_is_connected(const dtls_peer_t *peer) {
-  return peer->state == DTLS_STATE_CONNECTED;
-}
-
-#endif /* _DTLS_PEER_H_ */
diff --git a/external/wakaama/examples/shared/tinydtls/platform-specific/Makefile.in b/external/wakaama/examples/shared/tinydtls/platform-specific/Makefile.in
deleted file mode 100644 (file)
index 6b30d21..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-# the library's version
-VERSION:=@PACKAGE_VERSION@
-
-# tools
-@SET_MAKE@
-SHELL = /bin/sh
-MKDIR = mkdir
-
-top_builddir = @top_builddir@
-
-THIS=platform-specific
-DISTDIR?=$(top_builddir)/@PACKAGE_TARNAME@-@PACKAGE_VERSION@
-FILES:=Makefile.in $(wildcard *.h)
-
-clean:
-
-distclean:     clean
-       @rm -rf $(DISTDIR)
-       @rm -f *~ 
-
-dist:  
-       test -d $(DISTDIR)/$(THIS) || mkdir $(DISTDIR)/$(THIS)
-       cp -r $(FILES) $(DISTDIR)/$(THIS)
-
-# this directory contains no installation candidates
-install:
-       :
diff --git a/external/wakaama/examples/shared/tinydtls/platform-specific/config-cc2538dk.h b/external/wakaama/examples/shared/tinydtls/platform-specific/config-cc2538dk.h
deleted file mode 100644 (file)
index 38bc85e..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-#define BYTE_ORDER 1234
-#define HAVE_ASSERT_H 1
diff --git a/external/wakaama/examples/shared/tinydtls/platform-specific/config-econotag.h b/external/wakaama/examples/shared/tinydtls/platform-specific/config-econotag.h
deleted file mode 100644 (file)
index 38bc85e..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-#define BYTE_ORDER 1234
-#define HAVE_ASSERT_H 1
diff --git a/external/wakaama/examples/shared/tinydtls/platform-specific/config-minimal-net.h b/external/wakaama/examples/shared/tinydtls/platform-specific/config-minimal-net.h
deleted file mode 100644 (file)
index 547a1b6..0000000
+++ /dev/null
@@ -1 +0,0 @@
-#define HAVE_ASSERT_H 1
diff --git a/external/wakaama/examples/shared/tinydtls/platform-specific/config-sky.h b/external/wakaama/examples/shared/tinydtls/platform-specific/config-sky.h
deleted file mode 100644 (file)
index f49ff3b..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-#define BYTE_ORDER 1234
-#define HAVE_ASSERT_H 1
-typedef int ssize_t;
diff --git a/external/wakaama/examples/shared/tinydtls/platform-specific/config-wismote.h b/external/wakaama/examples/shared/tinydtls/platform-specific/config-wismote.h
deleted file mode 100644 (file)
index 547a1b6..0000000
+++ /dev/null
@@ -1 +0,0 @@
-#define HAVE_ASSERT_H 1
diff --git a/external/wakaama/examples/shared/tinydtls/platform-specific/platform.h b/external/wakaama/examples/shared/tinydtls/platform-specific/platform.h
deleted file mode 100644 (file)
index 99943e5..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-/************************************************************************/
-/* Contiki-specific parameters                                          */
-/************************************************************************/
-
-#ifndef _PLATFORM_H_
-#define _PLATFORM_H_ 1
-
-#ifdef CONTIKI
-#include "contiki.h"
-#include "contiki-lib.h"
-#include "contiki-net.h"
-
-#include "contiki-conf.h"
-
-/* global constants for constrained devices running Contiki */
-#ifndef DTLS_PEER_MAX
-/** The maximum number DTLS peers (i.e. sessions). */
-#  define DTLS_PEER_MAX 1
-#endif
-
-#ifndef DTLS_HANDSHAKE_MAX
-/** The maximum number of concurrent DTLS handshakes. */
-#  define DTLS_HANDSHAKE_MAX 1
-#endif
-
-#ifndef DTLS_SECURITY_MAX
-/** The maximum number of concurrently used cipher keys */
-#  define DTLS_SECURITY_MAX (DTLS_PEER_MAX + DTLS_HANDSHAKE_MAX)
-#endif
-
-#ifndef DTLS_HASH_MAX
-/** The maximum number of hash functions that can be used in parallel. */
-#  define DTLS_HASH_MAX (3 * DTLS_PEER_MAX)
-#endif
-
-/************************************************************************/
-/* Specific Contiki platforms                                           */
-/************************************************************************/
-
-#if CONTIKI_TARGET_ECONOTAG
-#  include "platform-specific/config-econotag.h"
-#endif /* CONTIKI_TARGET_ECONOTAG */
-
-#ifdef CONTIKI_TARGET_CC2538DK
-#  include "platform-specific/config-cc2538dk.h"
-#endif /* CONTIKI_TARGET_CC2538DK */
-
-#ifdef CONTIKI_TARGET_WISMOTE
-#  include "platform-specific/config-wismote.h"
-#endif /* CONTIKI_TARGET_WISMOTE */
-
-#ifdef CONTIKI_TARGET_SKY
-#  include "platform-specific/config-sky.h"
-#endif /* CONTIKI_TARGET_SKY */
-
-#ifdef CONTIKI_TARGET_MINIMAL_NET
-#  include "platform-specific/config-minimal-net.h"
-#endif /* CONTIKI_TARGET_MINIMAL_NET */
-
-#endif /* CONTIKI */
-
-#endif /* _PLATFORM_H_ */
diff --git a/external/wakaama/examples/shared/tinydtls/prng.h b/external/wakaama/examples/shared/tinydtls/prng.h
deleted file mode 100644 (file)
index 658cd22..0000000
+++ /dev/null
@@ -1,87 +0,0 @@
-/* prng.h -- Pseudo Random Numbers
- *
- * Copyright (C) 2010--2012 Olaf Bergmann <bergmann@tzi.org>
- *
- * This file is part of the library tinydtls. Please see
- * README for terms of use. 
- */
-
-/** 
- * @file prng.h
- * @brief Pseudo Random Numbers
- */
-
-#ifndef _DTLS_PRNG_H_
-#define _DTLS_PRNG_H_
-
-#include "tinydtls.h"
-
-/** 
- * @defgroup prng Pseudo Random Numbers
- * @{
- */
-
-#ifndef WITH_CONTIKI
-#include <stdlib.h>
-
-/**
- * Fills \p buf with \p len random bytes. This is the default
- * implementation for prng().  You might want to change prng() to use
- * a better PRNG on your specific platform.
- */
-static inline int
-dtls_prng(unsigned char *buf, size_t len) {
-  while (len--)
-    *buf++ = rand() & 0xFF;
-  return 1;
-}
-
-static inline void
-dtls_prng_init(unsigned short seed) {
-       srand(seed);
-}
-#else /* WITH_CONTIKI */
-#include <string.h>
-#include "random.h"
-
-#ifdef HAVE_PRNG
-static inline int
-dtls_prng(unsigned char *buf, size_t len)
-{
-       return contiki_prng_impl(buf, len);
-}
-#else
-/**
- * Fills \p buf with \p len random bytes. This is the default
- * implementation for prng().  You might want to change prng() to use
- * a better PRNG on your specific platform.
- */
-static inline int
-dtls_prng(unsigned char *buf, size_t len) {
-  unsigned short v = random_rand();
-  while (len > sizeof(v)) {
-    memcpy(buf, &v, sizeof(v));
-    len -= sizeof(v);
-    buf += sizeof(v);
-    v = random_rand();
-  }
-
-  memcpy(buf, &v, len);
-  return 1;
-}
-#endif /* HAVE_PRNG */
-
-static inline void
-dtls_prng_init(unsigned short seed) {
-  /* random_init() messes with the radio interface of the CC2538 and
-   * therefore must not be called after the radio has been
-   * initialized. */
-#ifndef CONTIKI_TARGET_CC2538DK
-       random_init(seed);
-#endif
-}
-#endif /* WITH_CONTIKI */
-
-/** @} */
-
-#endif /* _DTLS_PRNG_H_ */
diff --git a/external/wakaama/examples/shared/tinydtls/session.c b/external/wakaama/examples/shared/tinydtls/session.c
deleted file mode 100644 (file)
index 9acf565..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-/* dtls -- a very basic DTLS implementation
- *
- * Copyright (C) 2011--2014 Olaf Bergmann <bergmann@tzi.org>
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-#include "dtls_config.h"
-#include "session.h"
-
-#ifdef HAVE_ASSERT_H
-#include <assert.h>
-#else
-#ifndef assert
-#warning "assertions are disabled"
-#  define assert(x)
-#endif
-#endif
-
-#ifdef WITH_CONTIKI
-#define _dtls_address_equals_impl(A,B)                         \
-  ((A)->size == (B)->size                                      \
-   && (A)->port == (B)->port                                   \
-   && uip_ipaddr_cmp(&((A)->addr),&((B)->addr))                        \
-   && (A)->ifindex == (B)->ifindex)
-
-#else /* WITH_CONTIKI */
-
-static inline int 
-_dtls_address_equals_impl(const session_t *a,
-                         const session_t *b) {
-  if (a->ifindex != b->ifindex ||
-      a->size != b->size || a->addr.sa.sa_family != b->addr.sa.sa_family)
-    return 0;
-  
-  /* need to compare only relevant parts of sockaddr_in6 */
- switch (a->addr.sa.sa_family) {
- case AF_INET:
-   return 
-     a->addr.sin.sin_port == b->addr.sin.sin_port && 
-     memcmp(&a->addr.sin.sin_addr, &b->addr.sin.sin_addr, 
-           sizeof(struct in_addr)) == 0;
- case AF_INET6:
-   return a->addr.sin6.sin6_port == b->addr.sin6.sin6_port && 
-     memcmp(&a->addr.sin6.sin6_addr, &b->addr.sin6.sin6_addr, 
-           sizeof(struct in6_addr)) == 0;
- default: /* fall through and signal error */
-   ;
- }
- return 0;
-}
-#endif /* WITH_CONTIKI */
-
-void
-dtls_session_init(session_t *sess) {
-  assert(sess);
-  memset(sess, 0, sizeof(session_t));
-  sess->size = sizeof(sess->addr);
-}
-
-int
-dtls_session_equals(const session_t *a, const session_t *b) {
-  assert(a); assert(b);
-  return _dtls_address_equals_impl(a, b);
-}
diff --git a/external/wakaama/examples/shared/tinydtls/session.h b/external/wakaama/examples/shared/tinydtls/session.h
deleted file mode 100644 (file)
index 61b5661..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-/* dtls -- a very basic DTLS implementation
- *
- * Copyright (C) 2011--2014 Olaf Bergmann <bergmann@tzi.org>
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-#ifndef _DTLS_SESSION_H_
-#define _DTLS_SESSION_H_
-
-#include <string.h>
-
-#include "tinydtls.h"
-#include "global.h"
-
-#ifdef WITH_CONTIKI
-#include "ip/uip.h"
-typedef struct {
-  unsigned char size;
-  uip_ipaddr_t addr;
-  unsigned short port;
-  int ifindex;
-} session_t;
-
-#else /* WITH_CONTIKI */
-
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
-
-typedef struct {
-  socklen_t size;              /**< size of addr */
-  union {
-    struct sockaddr     sa;
-    struct sockaddr_storage st;
-    struct sockaddr_in  sin;
-    struct sockaddr_in6 sin6;
-  } addr;
-  uint8_t ifindex;
-} session_t;
-#endif /* WITH_CONTIKI */
-
-/** 
- * Resets the given session_t object @p sess to its default
- * values.  In particular, the member rlen must be initialized to the
- * available size for storing addresses.
- * 
- * @param sess The session_t object to initialize.
- */
-void dtls_session_init(session_t *sess);
-
-/**
- * Compares the given session objects. This function returns @c 0
- * when @p a and @p b differ, @c 1 otherwise.
- */
-int dtls_session_equals(const session_t *a, const session_t *b);
-
-#endif /* _DTLS_SESSION_H_ */
diff --git a/external/wakaama/examples/shared/tinydtls/sha2/Makefile.in b/external/wakaama/examples/shared/tinydtls/sha2/Makefile.in
deleted file mode 100644 (file)
index 85ce9ce..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-# Makefile for tinydtls
-#
-# Copyright (C) 2011 Olaf Bergmann <bergmann@tzi.org>
-#
-# Permission is hereby granted, free of charge, to any person
-# obtaining a copy of this software and associated documentation
-# files (the "Software"), to deal in the Software without
-# restriction, including without limitation the rights to use, copy,
-# modify, merge, publish, distribute, sublicense, and/or sell copies
-# of the Software, and to permit persons to whom the Software is
-# furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice shall be
-# included in all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
-# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
-# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-# SOFTWARE.
-
-# the library's version
-VERSION:=@PACKAGE_VERSION@
-
-# tools
-@SET_MAKE@
-SHELL = /bin/sh
-MKDIR = mkdir
-
-abs_builddir = @abs_builddir@
-top_builddir = @top_builddir@
-top_srcdir:= @top_srcdir@
-
-SOURCES:= sha2.c
-HEADERS:=sha2.h
-OBJECTS:= $(patsubst %.c, %.o, $(SOURCES))
-CPPFLAGS=@CPPFLAGS@ -I$(top_srcdir)
-CFLAGS=-Wall -std=c99 -pedantic @CFLAGS@
-LDLIBS=@LIBS@
-FILES:=Makefile.in $(SOURCES) $(HEADERS) README sha2prog.c sha2speed.c sha2test.pl 
-DISTDIR=$(top_builddir)/@PACKAGE_TARNAME@-@PACKAGE_VERSION@
-
-.PHONY: all dirs clean install dist distclean .gitignore doc
-
-.SUFFIXES:
-.SUFFIXES:      .c .o
-
-all:
-
-check: 
-       echo DISTDIR: $(DISTDIR)
-       echo top_builddir: $(top_builddir)
-
-clean:
-       @rm -f $(PROGRAMS) main.o $(LIB) $(OBJECTS)
-       for dir in $(SUBDIRS); do \
-               $(MAKE) -C $$dir clean ; \
-       done
-
-distclean:     clean
-       @rm -rf $(DISTDIR)
-       @rm -f *~ $(DISTDIR).tar.gz
-
-dist:  $(FILES)
-       test -d $(DISTDIR)/sha2 || mkdir $(DISTDIR)/sha2
-       cp -p $(FILES) $(DISTDIR)/sha2
-       test -d $(DISTDIR)/sha2/testvectors || mkdir $(DISTDIR)/sha2/testvectors
-       cp -pr testvectors $(DISTDIR)/sha2/testvectors
-
-install:       $(HEADERS)
-       test -d $(includedir)/sha2 || mkdir -p $(includedir)/sha2
-       $(install) $(HEADERS) $(includedir)/sha2
-
-.gitignore:
-       echo "core\n*~\n*.[oa]\n*.gz\n*.cap\n$(PROGRAM)\n$(DISTDIR)\n.gitignore" >$@
diff --git a/external/wakaama/examples/shared/tinydtls/sha2/README b/external/wakaama/examples/shared/tinydtls/sha2/README
deleted file mode 100644 (file)
index 95e57f3..0000000
+++ /dev/null
@@ -1,272 +0,0 @@
-VERSION:
-
-This is version 1.0 RELEASE
-
-While this is my "release" version, due to lack of additional
-official test vectors against which to verify this implementation's
-correctness, beware that there may be implementation bugs.  Also,
-it has not yet been tested on very many other architectures,
-big-endian machines in particular.
-
-
-LICENSE:
-
-This implementation is released freely under an open-source BSD
-license which appears at the top of each source code file.
-
-
-WHAT IT IS:
-
-The files sha2.h and sha2.c implement the SHA-256, SHA-384, and SHA-512
-hash algorithms as described in the PDF document found at the following
-web address:
-
-  http://csrc.nist.gov/cryptval/shs/sha256-384-512.pdf
-
-The interface is similar to the interface to SHA-1 found in the OpenSSL
-library.
-
-The file sha2prog.c is a simple program that accepts input from either
-STDIN or reads one or more files specified on the command line, and then
-generates the specified hash (either SHA-256, SHA-384, SHA-512, or any
-combination thereof, including all three at once).
-
-
-LIMITATIONS:
-
-This implementation has several limitations:
-
- * Input data is only accepted in octet-length increments.  No sub-byte
-   data is handled.  The NIST document describes how to handle sub-byte
-   input data, but for ease of implementation this version will only
-   accept message data in multiples of bytes.
- * This implementation utilizes 64-bit integer data types.  If your
-   system and compiler does not have a 64-bit integer data type, this
-   implementation will not work.
- * Because of the use of 64-bit operations, many 32-bit architectures
-   that do have 64-bit data types but do operations most efficiently
-   on 32-bit words, this implementation may be slower than an
-   implementation designed to use only 32-bit words (emulating the
-   64-bit operations).
- * On platforms with 128-bit integer data types, the SHA-384 and SHA-512
-   bit counters used by this implementation might be better off using
-   the 128-bit type instead of simulating it with two 64-bit integers.
- * This implementation was written in C in hopes of portability and for
-   the fun of it during my spare time.  It is probably not the most
-   efficient or fastest C implementation.  I welcome suggestions,
-   however, that suggest ways to speed things up without breaking
-   portability.  I also welcome suggestions to improve portability.
- * As mentioned above, this code has NOT been thoroughly tested.
-   This is perhaps the most severe limitation.
-
-
-BEFORE YOU COMPILE (OPTIONS):
-
-Each of the options described below may either be defined in the sha2.h
-header file (or in the sha2.c file in some cases), or on the command
-line at compile time if your compiler supports such things.  For
-example:
-
-  #define SHA2_USE_INTTYPES_H
-  #define SHA2_UNROLL_TRANSFORM
-
-Or:
-
-  cc -c -DSHA2_UNROLL_TRANSFORM sha2.c
-  cc -c -DBYTE_ORDER=4321 -DBIG_ENDIAN=4321 sha2.c
-
-Here are the available options.  Read on below for a description of
-each one:
-
-  SHA2_USE_INTTYPES_H
-  SHA2_USE_MEMSET_MEMCPY/SHA2_USE_BZERO_BCOPY
-  SHA2_UNROLL_TRANSFORM
-  BYTE_ORDER (LITTLE_ENDIAN/BIG_ENDIAN)
-
-* SHA2_USE_INTTYPES_H option:
-By default, this code uses u_intXX_t data types for 8 bit, 32 bit, and
-64 bit unsigned integer type definitions.  Most BSD systems define these,
-as does Linux.  However, some (like Compaq's Tru64 Unix) may instead
-use uintXX_t data types as defined by recent ANSI C standards and as
-included in the inttypes.h header file.  Those wanting to use inttypes.h
-need to define this either in sha.h or at compile time.
-
-On those systems where NEITHER definitions are available, you will need
-to edit both sha2.h and sha2.c and define things by hand in the appropriate
-sections.
-
-* BYTE_ORDER definitions:
-This code assumes that BYTE_ORDER will be defined by the system during
-compile to either equal LITTLE_ENDIAN or BIG_ENDIAN.  If your system
-does not define these, you may need to define them by hand in the sha.c
-file according to the byte ordering conventions of your system.
-
-* SHA2_USE_MEMSET_MEMCPY or SHA2_USE_BZERO_BCOPY
-The code in sha2.c can use either memset()/memcpy() for memory block
-operations, or bzero()/mcopy().  If you define neither of these, the
-code will default to memset()/memcpy().  You can define either at the
-command line or in sha2.h or in sha2.c.
-
-* SHA2_UNROLL_TRANSFORM
-By defining this either on the command line or in sha2.h or sha2.c,
-the code will use macros to partially "unroll" the SHA transform
-function.  This usually generates bigger executables.  It CAN (but
-not necessarily WILL) generate faster code when you tell your compiler
-to optimize things.  For example, on the FreeBSD and Linux x86 systems
-I tested things on (using gcc), when I optimized with just -O2 and
-unrolled the transform, the hash transform was faster by 15-30%.  On
-these same systems, if I did NO optimization, the unrolled transform
-was SLOWER, much slower (I'm guessing because the code was breaking
-the cache, but I'm not sure).  Your mileage may vary.
-
-
-PORTABILITY:
-
-The code in sha2.c and sha2.h is intended to be portable.  It may
-require that you do a few #definitions in the .h file.  I've successfully
-compiled and tested the sha2.c and sha2.h code on Apple's OS X (on
-a PPC), FreeBSD 4.1.1 on Intel, Linux on Intel, FreeBSD on the Alpha,
-and even under Windows98SE using Metrowerks C.  The utility/example
-programs (sha2prog.c, sha2test.c, and sha2speed.c) will very likely
-have more trouble in portability since they do I/O.
-
-To get sha2.c/sha2.h working under Windows, I had to define
-SHA2_USE_INTTYPES_H, BYTE_ORDER, LITTLE_ENDIAN, and had to comment
-out the include of <sys/types.h> in sha2.h.  With a bit more work
-I got the test program to run and verified that all the test
-cases passed.
-
-
-SUGGESTIONS/BUG FIXES:
-
-If you make changes to get it working on other architectures, if you fix
-any bugs, or if you make changes that improve this implementation's
-efficiency that would be relatively portable and you're willing to release
-your changes under the same license, please send them to me for possible
-inclusion in future versions.
-
-If you know where I can find some additional test vectors, please let me
-know.
-
-
-CHANGE HISTORY:
-
-0.8 to 0.9     - Fixed spelling errors, changed to u_intXX_t type usage,
-                 removed names from prototypes, added prototypes to sha2.c,
-                 and a few things I can't recall.
-
-0.9 to 0.9.5   - Add a new define in sha2.c that permits one to compile
-                 it to either use memcpy()/memset() or bcopy()/bzero()
-                 for memory block copying and zeroing.  Added support
-                 for unrolled SHA-256/384/512 transform loops.  Just
-                 compile with SHA2_UNROLL_TRANSFORM to enable.  It takes
-                 longer to compile, but I hope it is a bit faster.  I
-                 need to do some test to see whether or not it is. Oh,
-                 in sha2.c, you either need to define SHA2_USE_BZERO_BCOPY
-                 or SHA2_USE_MEMSET_MEMCPY to choose which way you want
-                 to compile.  *Whew*  It's amazing how quickly something
-                 simple starts to grow more complex even in the span of
-                 just a few hours.  I didn't really intend to do this much.
-0.9.5 to 0.9.6  - Added a test program (sha2test) which tests against several
-                  known test vectors.  WARNING: Some of the test output
-                  hashes are NOT from NIST's documentation and are the
-                  output of this implementation and so may be incorrect.
-0.9.6 to 0.9.7  - Fixed a bug that could cause invalid output in certain
-                 cases and added an assumed scenario where zero-length
-                 data is hashed.  Also changed the rotation macros to use
-                 a temporary variable as this reduces the number of operations.
-                 When data is fed in blocks of the right length, copying of
-                 data is reduced in this version.  Added SHAYXZ_Data()
-                 functions for ease of hashing a set of data.  Added another
-                 file sha2speed.c for doing speed testing.  Added another test
-                 vector with a larger data size (16KB).  Fixed u_intXX_t and
-                 uintXX_t handling by adding a define for SHA2_USE_INTTYPES_H
-                 as well as made a few other minor changes to get rid of
-                 warnings when compiling on Compaq's Tru64 Unix.
-0.9.7 to 0.9.8  - The bug fix in 0.9.7 was incomplete and in some cases made
-                  things worse.  I believe that 0.9.8 fixes the bug completely
-                  so that output is correct.  I cannot verify this, however,
-                  because of the lack of test vectors against which to do such
-                  verification.  All versions correctly matched the very few
-                  NIST-provided vectors, but unfortunately the bug only
-                  appeared in longer message data sets.
-0.9.8 to 0.9.9  - Fixed some really bad typos and mistakes on my part that
-                  only affected big-endian systems.  I didn't have direct
-                  access for testing before this version.  Thanks to
-                  Lucas Marshall for giving me access to his OS X system.
-0.9.9 to 1.0.0b1  Added a few more test samples and made a few changes to
-                  make things easier compiling on several other platforms.
-                  Also I experimented with alternate macro definitions
-                  in the SHA2_UNROLL_TRANSFORM version (see sha2.slower.c)
-                  and eliminated the T1 temporary variable (the compiler
-                  would of course still use internal temporary storage
-                  during expression evaluation, but I'd hoped the compiler
-                  would be more efficient), but unfortunately under FreeBSD
-                  4.1.1-STABLE on an x86 platform, the change slowed things
-                  down.
-1.0.0b1 to 1.0 RELEASE  Fixed an off-by-one implementation bug that affected
-                  SHA-256 when hashed data length L = 55 + 64 * X where X is
-                  either zero or a positive integer, and another (basically
-                  the same bug) bug in SHA-384 and SHA-512 that showed up when
-                  hashed data lengths L = 111 + 128 * X.  Thanks to Rogier
-                 van de Pol for sending me test data that revealed the bug.
-                  The fix was very simple (just two tiny changes).  Also,
-                  I finally put the files into RCS so future changes will be
-                  easier to manage.  The sha2prog.c file was rewritten to
-                  be more useful to me, and I got rid of the old C testing
-                  program and now use a perl script with a subdirectory full
-                  of test data.  It's a more flexible test system.
-
-
-LATEST VERSION:
-
-The latest version and documentation (if any ;) should always be available
-on the web at:
-
-  http://www.aarongifford.com/computers/sha.html
-
-
-CONTACT ME:
-
-I can be reached via email at:
-
-  Aaron Gifford   <m e @ a a r o n g i f f o r d . c o m>
-
-Please don't send support questions.  I don't have the time to answer and
-they'll probably be ignored.  Bug fixes, or patches that add something useful
-will be gratefully accepted, however.
-
-If you use this implementation, I would enjoy getting a brief email message
-letting me know who you are and what use to which it is being put.  There
-is no requirement to do so.  I just think it would be fun.
-
-
-EXAMPLES:
-
-Here's an example of compiling and using the sha2 program (in this example
-I build it using the unrolled transform version with -O2 optimizations),
-and then running the perl testing script:
-
-  cc -O2 -DSHA2_UNROLL_TRANSFORM -Wall -o sha2 sha2prog.c sha2.c
-  % ./sha2test.pl
-
-  [most of the perl script output deleted for brevity]
-
-  ===== RESULTS (18 VECTOR DATA FILES HASHED) =====
-
-  HASH TYPE       NO. OF TESTS    PASSED  FAILED
-  ---------       ------------    ------  ------
-  SHA-256                   18        18       0
-  SHA-384                   18        18       0
-  SHA-512                   18        18       0
-  ----------------------------------------------
-  TOTAL:                    54        54       0
-
-  NO ERRORS!  ALL TESTS WERE SUCCESSFUL!
-
-  ALL TEST VECTORS PASSED!
-
-That's all folks!  Have fun!
-
-Aaron out.
-
diff --git a/external/wakaama/examples/shared/tinydtls/sha2/sha2.c b/external/wakaama/examples/shared/tinydtls/sha2/sha2.c
deleted file mode 100644 (file)
index 2578f17..0000000
+++ /dev/null
@@ -1,1101 +0,0 @@
-/*
- * FILE:       sha2.c
- * AUTHOR:     Aaron D. Gifford - http://www.aarongifford.com/
- * 
- * Copyright (c) 2000-2001, Aaron D. Gifford
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the copyright holder nor the names of contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- * 
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTOR(S) ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTOR(S) BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * $Id: sha2.c,v 1.1 2001/11/08 00:01:51 adg Exp adg $
- */
-
-#include "tinydtls.h"
-#include "dtls_config.h"
-#include <string.h>    /* memcpy()/memset() or bcopy()/bzero() */
-#ifdef HAVE_ASSERT_H
-#include <assert.h>    /* assert() */
-#else
-#ifndef assert
-#warning "assertions are disabled"
-#  define assert(x)
-#endif
-#endif
-#include "sha2.h"
-
-/*
- * ASSERT NOTE:
- * Some sanity checking code is included using assert().  On my FreeBSD
- * system, this additional code can be removed by compiling with NDEBUG
- * defined.  Check your own systems manpage on assert() to see how to
- * compile WITHOUT the sanity checking code on your system.
- *
- * UNROLLED TRANSFORM LOOP NOTE:
- * You can define SHA2_UNROLL_TRANSFORM to use the unrolled transform
- * loop version for the hash transform rounds (defined using macros
- * later in this file).  Either define on the command line, for example:
- *
- *   cc -DSHA2_UNROLL_TRANSFORM -o sha2 sha2.c sha2prog.c
- *
- * or define below:
- *
- *   #define SHA2_UNROLL_TRANSFORM
- *
- */
-
-
-/*** SHA-256/384/512 Machine Architecture Definitions *****************/
-/*
- * BYTE_ORDER NOTE:
- *
- * Please make sure that your system defines BYTE_ORDER.  If your
- * architecture is little-endian, make sure it also defines
- * LITTLE_ENDIAN and that the two (BYTE_ORDER and LITTLE_ENDIAN) are
- * equivilent.
- *
- * If your system does not define the above, then you can do so by
- * hand like this:
- *
- *   #define LITTLE_ENDIAN 1234
- *   #define BIG_ENDIAN    4321
- *
- * And for little-endian machines, add:
- *
- *   #define BYTE_ORDER LITTLE_ENDIAN 
- *
- * Or for big-endian machines:
- *
- *   #define BYTE_ORDER BIG_ENDIAN
- *
- * The FreeBSD machine this was written on defines BYTE_ORDER
- * appropriately by including <sys/types.h> (which in turn includes
- * <machine/endian.h> where the appropriate definitions are actually
- * made).
- */
-
-/* bergmann: define LITTLE_ENDIAN and BIG_ENDIAN to ease autoconf: */
-#ifndef LITTLE_ENDIAN
-#define LITTLE_ENDIAN 1234
-#endif
-#ifndef BIG_ENDIAN
-#define BIG_ENDIAN 4321
-#endif
-
-#ifndef BYTE_ORDER
-#  if defined(WORDS_BIGENDIAN) || (defined(AC_APPLE_UNIVERSAL_BUILD) && defined(__BIG_ENDIAN__))
-#    define BYTE_ORDER BIG_ENDIAN
-#  else /* WORDS_BIGENDIAN */
-#    define BYTE_ORDER LITTLE_ENDIAN
-#  endif
-#endif
-
-#if !defined(BYTE_ORDER) || (BYTE_ORDER != LITTLE_ENDIAN && BYTE_ORDER != BIG_ENDIAN)
-#error Define BYTE_ORDER to be equal to either LITTLE_ENDIAN or BIG_ENDIAN
-#endif
-
-/*
- * Define the followingsha2_* types to types of the correct length on
- * the native archtecture.   Most BSD systems and Linux define u_intXX_t
- * types.  Machines with very recent ANSI C headers, can use the
- * uintXX_t definintions from inttypes.h by defining SHA2_USE_INTTYPES_H
- * during compile or in the sha.h header file.
- *
- * Machines that support neither u_intXX_t nor inttypes.h's uintXX_t
- * will need to define these three typedefs below (and the appropriate
- * ones in sha.h too) by hand according to their system architecture.
- *
- * Thank you, Jun-ichiro itojun Hagino, for suggesting using u_intXX_t
- * types and pointing out recent ANSI C support for uintXX_t in inttypes.h.
- */
-#ifdef SHA2_USE_INTTYPES_H
-
-typedef uint8_t  sha2_byte;    /* Exactly 1 byte */
-typedef uint32_t sha2_word32;  /* Exactly 4 bytes */
-typedef uint64_t sha2_word64;  /* Exactly 8 bytes */
-
-#else /* SHA2_USE_INTTYPES_H */
-
-typedef u_int8_t  sha2_byte;   /* Exactly 1 byte */
-typedef u_int32_t sha2_word32; /* Exactly 4 bytes */
-typedef u_int64_t sha2_word64; /* Exactly 8 bytes */
-
-#endif /* SHA2_USE_INTTYPES_H */
-
-
-/*** SHA-256/384/512 Various Length Definitions ***********************/
-/* NOTE: Most of these are in sha2.h */
-#define SHA256_SHORT_BLOCK_LENGTH      (SHA256_BLOCK_LENGTH - 8)
-#define SHA384_SHORT_BLOCK_LENGTH      (SHA384_BLOCK_LENGTH - 16)
-#define SHA512_SHORT_BLOCK_LENGTH      (SHA512_BLOCK_LENGTH - 16)
-
-
-/*** ENDIAN REVERSAL MACROS *******************************************/
-#if BYTE_ORDER == LITTLE_ENDIAN
-#define REVERSE32(w,x) { \
-       sha2_word32 tmp = (w); \
-       tmp = (tmp >> 16) | (tmp << 16); \
-       (x) = ((tmp & 0xff00ff00UL) >> 8) | ((tmp & 0x00ff00ffUL) << 8); \
-}
-#define REVERSE64(w,x) { \
-       sha2_word64 tmp = (w); \
-       tmp = (tmp >> 32) | (tmp << 32); \
-       tmp = ((tmp & 0xff00ff00ff00ff00ULL) >> 8) | \
-             ((tmp & 0x00ff00ff00ff00ffULL) << 8); \
-       (x) = ((tmp & 0xffff0000ffff0000ULL) >> 16) | \
-             ((tmp & 0x0000ffff0000ffffULL) << 16); \
-}
-#endif /* BYTE_ORDER == LITTLE_ENDIAN */
-
-/*
- * Macro for incrementally adding the unsigned 64-bit integer n to the
- * unsigned 128-bit integer (represented using a two-element array of
- * 64-bit words):
- */
-#define ADDINC128(w,n) { \
-       (w)[0] += (sha2_word64)(n); \
-       if ((w)[0] < (n)) { \
-               (w)[1]++; \
-       } \
-}
-
-/*
- * Macros for copying blocks of memory and for zeroing out ranges
- * of memory.  Using these macros makes it easy to switch from
- * using memset()/memcpy() and using bzero()/bcopy().
- *
- * Please define either SHA2_USE_MEMSET_MEMCPY or define
- * SHA2_USE_BZERO_BCOPY depending on which function set you
- * choose to use:
- */
-#if !defined(SHA2_USE_MEMSET_MEMCPY) && !defined(SHA2_USE_BZERO_BCOPY)
-/* Default to memset()/memcpy() if no option is specified */
-#define        SHA2_USE_MEMSET_MEMCPY  1
-#endif
-#if defined(SHA2_USE_MEMSET_MEMCPY) && defined(SHA2_USE_BZERO_BCOPY)
-/* Abort with an error if BOTH options are defined */
-#error Define either SHA2_USE_MEMSET_MEMCPY or SHA2_USE_BZERO_BCOPY, not both!
-#endif
-
-#ifdef SHA2_USE_MEMSET_MEMCPY
-#define MEMSET_BZERO(p,l)      memset((p), 0, (l))
-#define MEMCPY_BCOPY(d,s,l)    memcpy((d), (s), (l))
-#endif
-#ifdef SHA2_USE_BZERO_BCOPY
-#define MEMSET_BZERO(p,l)      bzero((p), (l))
-#define MEMCPY_BCOPY(d,s,l)    bcopy((s), (d), (l))
-#endif
-
-
-/*** THE SIX LOGICAL FUNCTIONS ****************************************/
-/*
- * Bit shifting and rotation (used by the six SHA-XYZ logical functions:
- *
- *   NOTE:  The naming of R and S appears backwards here (R is a SHIFT and
- *   S is a ROTATION) because the SHA-256/384/512 description document
- *   (see http://csrc.nist.gov/cryptval/shs/sha256-384-512.pdf) uses this
- *   same "backwards" definition.
- */
-/* Shift-right (used in SHA-256, SHA-384, and SHA-512): */
-#define R(b,x)                 ((x) >> (b))
-/* 32-bit Rotate-right (used in SHA-256): */
-#define S32(b,x)       (((x) >> (b)) | ((x) << (32 - (b))))
-/* 64-bit Rotate-right (used in SHA-384 and SHA-512): */
-#define S64(b,x)       (((x) >> (b)) | ((x) << (64 - (b))))
-
-/* Two of six logical functions used in SHA-256, SHA-384, and SHA-512: */
-#define Ch(x,y,z)      (((x) & (y)) ^ ((~(x)) & (z)))
-#define Maj(x,y,z)     (((x) & (y)) ^ ((x) & (z)) ^ ((y) & (z)))
-
-/* Four of six logical functions used in SHA-256: */
-#define Sigma0_256(x)  (S32(2,  (x)) ^ S32(13, (x)) ^ S32(22, (x)))
-#define Sigma1_256(x)  (S32(6,  (x)) ^ S32(11, (x)) ^ S32(25, (x)))
-#define sigma0_256(x)  (S32(7,  (x)) ^ S32(18, (x)) ^ R(3 ,   (x)))
-#define sigma1_256(x)  (S32(17, (x)) ^ S32(19, (x)) ^ R(10,   (x)))
-
-/* Four of six logical functions used in SHA-384 and SHA-512: */
-#define Sigma0_512(x)  (S64(28, (x)) ^ S64(34, (x)) ^ S64(39, (x)))
-#define Sigma1_512(x)  (S64(14, (x)) ^ S64(18, (x)) ^ S64(41, (x)))
-#define sigma0_512(x)  (S64( 1, (x)) ^ S64( 8, (x)) ^ R( 7,   (x)))
-#define sigma1_512(x)  (S64(19, (x)) ^ S64(61, (x)) ^ R( 6,   (x)))
-
-/*** INTERNAL FUNCTION PROTOTYPES *************************************/
-/* NOTE: These should not be accessed directly from outside this
- * library -- they are intended for private internal visibility/use
- * only.
- */
-void SHA512_Last(SHA512_CTX*);
-void SHA256_Transform(SHA256_CTX*, const sha2_word32*);
-void SHA512_Transform(SHA512_CTX*, const sha2_word64*);
-
-#ifdef WITH_SHA256
-/*** SHA-XYZ INITIAL HASH VALUES AND CONSTANTS ************************/
-/* Hash constant words K for SHA-256: */
-const static sha2_word32 K256[64] = {
-       0x428a2f98UL, 0x71374491UL, 0xb5c0fbcfUL, 0xe9b5dba5UL,
-       0x3956c25bUL, 0x59f111f1UL, 0x923f82a4UL, 0xab1c5ed5UL,
-       0xd807aa98UL, 0x12835b01UL, 0x243185beUL, 0x550c7dc3UL,
-       0x72be5d74UL, 0x80deb1feUL, 0x9bdc06a7UL, 0xc19bf174UL,
-       0xe49b69c1UL, 0xefbe4786UL, 0x0fc19dc6UL, 0x240ca1ccUL,
-       0x2de92c6fUL, 0x4a7484aaUL, 0x5cb0a9dcUL, 0x76f988daUL,
-       0x983e5152UL, 0xa831c66dUL, 0xb00327c8UL, 0xbf597fc7UL,
-       0xc6e00bf3UL, 0xd5a79147UL, 0x06ca6351UL, 0x14292967UL,
-       0x27b70a85UL, 0x2e1b2138UL, 0x4d2c6dfcUL, 0x53380d13UL,
-       0x650a7354UL, 0x766a0abbUL, 0x81c2c92eUL, 0x92722c85UL,
-       0xa2bfe8a1UL, 0xa81a664bUL, 0xc24b8b70UL, 0xc76c51a3UL,
-       0xd192e819UL, 0xd6990624UL, 0xf40e3585UL, 0x106aa070UL,
-       0x19a4c116UL, 0x1e376c08UL, 0x2748774cUL, 0x34b0bcb5UL,
-       0x391c0cb3UL, 0x4ed8aa4aUL, 0x5b9cca4fUL, 0x682e6ff3UL,
-       0x748f82eeUL, 0x78a5636fUL, 0x84c87814UL, 0x8cc70208UL,
-       0x90befffaUL, 0xa4506cebUL, 0xbef9a3f7UL, 0xc67178f2UL
-};
-
-/* Initial hash value H for SHA-256: */
-const static sha2_word32 sha256_initial_hash_value[8] = {
-       0x6a09e667UL,
-       0xbb67ae85UL,
-       0x3c6ef372UL,
-       0xa54ff53aUL,
-       0x510e527fUL,
-       0x9b05688cUL,
-       0x1f83d9abUL,
-       0x5be0cd19UL
-};
-#endif
-
-#if defined(WITH_SHA384) || defined(WITH_SHA512)
-/* Hash constant words K for SHA-384 and SHA-512: */
-const static sha2_word64 K512[80] = {
-       0x428a2f98d728ae22ULL, 0x7137449123ef65cdULL,
-       0xb5c0fbcfec4d3b2fULL, 0xe9b5dba58189dbbcULL,
-       0x3956c25bf348b538ULL, 0x59f111f1b605d019ULL,
-       0x923f82a4af194f9bULL, 0xab1c5ed5da6d8118ULL,
-       0xd807aa98a3030242ULL, 0x12835b0145706fbeULL,
-       0x243185be4ee4b28cULL, 0x550c7dc3d5ffb4e2ULL,
-       0x72be5d74f27b896fULL, 0x80deb1fe3b1696b1ULL,
-       0x9bdc06a725c71235ULL, 0xc19bf174cf692694ULL,
-       0xe49b69c19ef14ad2ULL, 0xefbe4786384f25e3ULL,
-       0x0fc19dc68b8cd5b5ULL, 0x240ca1cc77ac9c65ULL,
-       0x2de92c6f592b0275ULL, 0x4a7484aa6ea6e483ULL,
-       0x5cb0a9dcbd41fbd4ULL, 0x76f988da831153b5ULL,
-       0x983e5152ee66dfabULL, 0xa831c66d2db43210ULL,
-       0xb00327c898fb213fULL, 0xbf597fc7beef0ee4ULL,
-       0xc6e00bf33da88fc2ULL, 0xd5a79147930aa725ULL,
-       0x06ca6351e003826fULL, 0x142929670a0e6e70ULL,
-       0x27b70a8546d22ffcULL, 0x2e1b21385c26c926ULL,
-       0x4d2c6dfc5ac42aedULL, 0x53380d139d95b3dfULL,
-       0x650a73548baf63deULL, 0x766a0abb3c77b2a8ULL,
-       0x81c2c92e47edaee6ULL, 0x92722c851482353bULL,
-       0xa2bfe8a14cf10364ULL, 0xa81a664bbc423001ULL,
-       0xc24b8b70d0f89791ULL, 0xc76c51a30654be30ULL,
-       0xd192e819d6ef5218ULL, 0xd69906245565a910ULL,
-       0xf40e35855771202aULL, 0x106aa07032bbd1b8ULL,
-       0x19a4c116b8d2d0c8ULL, 0x1e376c085141ab53ULL,
-       0x2748774cdf8eeb99ULL, 0x34b0bcb5e19b48a8ULL,
-       0x391c0cb3c5c95a63ULL, 0x4ed8aa4ae3418acbULL,
-       0x5b9cca4f7763e373ULL, 0x682e6ff3d6b2b8a3ULL,
-       0x748f82ee5defb2fcULL, 0x78a5636f43172f60ULL,
-       0x84c87814a1f0ab72ULL, 0x8cc702081a6439ecULL,
-       0x90befffa23631e28ULL, 0xa4506cebde82bde9ULL,
-       0xbef9a3f7b2c67915ULL, 0xc67178f2e372532bULL,
-       0xca273eceea26619cULL, 0xd186b8c721c0c207ULL,
-       0xeada7dd6cde0eb1eULL, 0xf57d4f7fee6ed178ULL,
-       0x06f067aa72176fbaULL, 0x0a637dc5a2c898a6ULL,
-       0x113f9804bef90daeULL, 0x1b710b35131c471bULL,
-       0x28db77f523047d84ULL, 0x32caab7b40c72493ULL,
-       0x3c9ebe0a15c9bebcULL, 0x431d67c49c100d4cULL,
-       0x4cc5d4becb3e42b6ULL, 0x597f299cfc657e2aULL,
-       0x5fcb6fab3ad6faecULL, 0x6c44198c4a475817ULL
-};
-#endif
-
-#ifdef WITH_SHA384
-/* Initial hash value H for SHA-384 */
-const static sha2_word64 sha384_initial_hash_value[8] = {
-       0xcbbb9d5dc1059ed8ULL,
-       0x629a292a367cd507ULL,
-       0x9159015a3070dd17ULL,
-       0x152fecd8f70e5939ULL,
-       0x67332667ffc00b31ULL,
-       0x8eb44a8768581511ULL,
-       0xdb0c2e0d64f98fa7ULL,
-       0x47b5481dbefa4fa4ULL
-};
-#endif
-
-#ifdef WITH_SHA512
-/* Initial hash value H for SHA-512 */
-const static sha2_word64 sha512_initial_hash_value[8] = {
-       0x6a09e667f3bcc908ULL,
-       0xbb67ae8584caa73bULL,
-       0x3c6ef372fe94f82bULL,
-       0xa54ff53a5f1d36f1ULL,
-       0x510e527fade682d1ULL,
-       0x9b05688c2b3e6c1fULL,
-       0x1f83d9abfb41bd6bULL,
-       0x5be0cd19137e2179ULL
-};
-#endif
-
-/*
- * Constant used by SHA256/384/512_End() functions for converting the
- * digest to a readable hexadecimal character string:
- */
-static const char *sha2_hex_digits = "0123456789abcdef";
-
-
-/*** SHA-256: *********************************************************/
-#ifdef WITH_SHA256
-void SHA256_Init(SHA256_CTX* context) {
-       if (context == (SHA256_CTX*)0) {
-               return;
-       }
-       MEMCPY_BCOPY(context->state, sha256_initial_hash_value, SHA256_DIGEST_LENGTH);
-       MEMSET_BZERO(context->buffer, SHA256_BLOCK_LENGTH);
-       context->bitcount = 0;
-}
-
-#ifdef SHA2_UNROLL_TRANSFORM
-
-/* Unrolled SHA-256 round macros: */
-
-#if BYTE_ORDER == LITTLE_ENDIAN
-
-#define ROUND256_0_TO_15(a,b,c,d,e,f,g,h)      \
-       REVERSE32(*data++, W256[j]); \
-       T1 = (h) + Sigma1_256(e) + Ch((e), (f), (g)) + \
-             K256[j] + W256[j]; \
-       (d) += T1; \
-       (h) = T1 + Sigma0_256(a) + Maj((a), (b), (c)); \
-       j++
-
-
-#else /* BYTE_ORDER == LITTLE_ENDIAN */
-
-#define ROUND256_0_TO_15(a,b,c,d,e,f,g,h)      \
-       T1 = (h) + Sigma1_256(e) + Ch((e), (f), (g)) + \
-            K256[j] + (W256[j] = *data++); \
-       (d) += T1; \
-       (h) = T1 + Sigma0_256(a) + Maj((a), (b), (c)); \
-       j++
-
-#endif /* BYTE_ORDER == LITTLE_ENDIAN */
-
-#define ROUND256(a,b,c,d,e,f,g,h)      \
-       s0 = W256[(j+1)&0x0f]; \
-       s0 = sigma0_256(s0); \
-       s1 = W256[(j+14)&0x0f]; \
-       s1 = sigma1_256(s1); \
-       T1 = (h) + Sigma1_256(e) + Ch((e), (f), (g)) + K256[j] + \
-            (W256[j&0x0f] += s1 + W256[(j+9)&0x0f] + s0); \
-       (d) += T1; \
-       (h) = T1 + Sigma0_256(a) + Maj((a), (b), (c)); \
-       j++
-
-void SHA256_Transform(SHA256_CTX* context, const sha2_word32* data) {
-       sha2_word32     a, b, c, d, e, f, g, h, s0, s1;
-       sha2_word32     T1, *W256;
-       int             j;
-
-       W256 = (sha2_word32*)context->buffer;
-
-       /* Initialize registers with the prev. intermediate value */
-       a = context->state[0];
-       b = context->state[1];
-       c = context->state[2];
-       d = context->state[3];
-       e = context->state[4];
-       f = context->state[5];
-       g = context->state[6];
-       h = context->state[7];
-
-       j = 0;
-       do {
-               /* Rounds 0 to 15 (unrolled): */
-               ROUND256_0_TO_15(a,b,c,d,e,f,g,h);
-               ROUND256_0_TO_15(h,a,b,c,d,e,f,g);
-               ROUND256_0_TO_15(g,h,a,b,c,d,e,f);
-               ROUND256_0_TO_15(f,g,h,a,b,c,d,e);
-               ROUND256_0_TO_15(e,f,g,h,a,b,c,d);
-               ROUND256_0_TO_15(d,e,f,g,h,a,b,c);
-               ROUND256_0_TO_15(c,d,e,f,g,h,a,b);
-               ROUND256_0_TO_15(b,c,d,e,f,g,h,a);
-       } while (j < 16);
-
-       /* Now for the remaining rounds to 64: */
-       do {
-               ROUND256(a,b,c,d,e,f,g,h);
-               ROUND256(h,a,b,c,d,e,f,g);
-               ROUND256(g,h,a,b,c,d,e,f);
-               ROUND256(f,g,h,a,b,c,d,e);
-               ROUND256(e,f,g,h,a,b,c,d);
-               ROUND256(d,e,f,g,h,a,b,c);
-               ROUND256(c,d,e,f,g,h,a,b);
-               ROUND256(b,c,d,e,f,g,h,a);
-       } while (j < 64);
-
-       /* Compute the current intermediate hash value */
-       context->state[0] += a;
-       context->state[1] += b;
-       context->state[2] += c;
-       context->state[3] += d;
-       context->state[4] += e;
-       context->state[5] += f;
-       context->state[6] += g;
-       context->state[7] += h;
-
-       /* Clean up */
-       a = b = c = d = e = f = g = h = T1 = 0;
-}
-
-#else /* SHA2_UNROLL_TRANSFORM */
-
-void SHA256_Transform(SHA256_CTX* context, const sha2_word32* data) {
-       sha2_word32     a, b, c, d, e, f, g, h, s0, s1;
-       sha2_word32     T1, T2, *W256;
-       int             j;
-
-       W256 = (sha2_word32*)context->buffer;
-
-       /* Initialize registers with the prev. intermediate value */
-       a = context->state[0];
-       b = context->state[1];
-       c = context->state[2];
-       d = context->state[3];
-       e = context->state[4];
-       f = context->state[5];
-       g = context->state[6];
-       h = context->state[7];
-
-       j = 0;
-       do {
-#if BYTE_ORDER == LITTLE_ENDIAN
-               /* Copy data while converting to host byte order */
-               REVERSE32(*data++,W256[j]);
-               /* Apply the SHA-256 compression function to update a..h */
-               T1 = h + Sigma1_256(e) + Ch(e, f, g) + K256[j] + W256[j];
-#else /* BYTE_ORDER == LITTLE_ENDIAN */
-               /* Apply the SHA-256 compression function to update a..h with copy */
-               T1 = h + Sigma1_256(e) + Ch(e, f, g) + K256[j] + (W256[j] = *data++);
-#endif /* BYTE_ORDER == LITTLE_ENDIAN */
-               T2 = Sigma0_256(a) + Maj(a, b, c);
-               h = g;
-               g = f;
-               f = e;
-               e = d + T1;
-               d = c;
-               c = b;
-               b = a;
-               a = T1 + T2;
-
-               j++;
-       } while (j < 16);
-
-       do {
-               /* Part of the message block expansion: */
-               s0 = W256[(j+1)&0x0f];
-               s0 = sigma0_256(s0);
-               s1 = W256[(j+14)&0x0f]; 
-               s1 = sigma1_256(s1);
-
-               /* Apply the SHA-256 compression function to update a..h */
-               T1 = h + Sigma1_256(e) + Ch(e, f, g) + K256[j] + 
-                    (W256[j&0x0f] += s1 + W256[(j+9)&0x0f] + s0);
-               T2 = Sigma0_256(a) + Maj(a, b, c);
-               h = g;
-               g = f;
-               f = e;
-               e = d + T1;
-               d = c;
-               c = b;
-               b = a;
-               a = T1 + T2;
-
-               j++;
-       } while (j < 64);
-
-       /* Compute the current intermediate hash value */
-       context->state[0] += a;
-       context->state[1] += b;
-       context->state[2] += c;
-       context->state[3] += d;
-       context->state[4] += e;
-       context->state[5] += f;
-       context->state[6] += g;
-       context->state[7] += h;
-
-       /* Clean up */
-       a = b = c = d = e = f = g = h = T1 = T2 = 0;
-}
-
-#endif /* SHA2_UNROLL_TRANSFORM */
-
-void SHA256_Update(SHA256_CTX* context, const sha2_byte *data, size_t len) {
-       unsigned int    freespace, usedspace;
-
-       if (len == 0) {
-               /* Calling with no data is valid - we do nothing */
-               return;
-       }
-
-       /* Sanity check: */
-       assert(context != (SHA256_CTX*)0 && data != (sha2_byte*)0);
-
-       usedspace = (context->bitcount >> 3) % SHA256_BLOCK_LENGTH;
-       if (usedspace > 0) {
-               /* Calculate how much free space is available in the buffer */
-               freespace = SHA256_BLOCK_LENGTH - usedspace;
-
-               if (len >= freespace) {
-                       /* Fill the buffer completely and process it */
-                       MEMCPY_BCOPY(&context->buffer[usedspace], data, freespace);
-                       context->bitcount += freespace << 3;
-                       len -= freespace;
-                       data += freespace;
-                       SHA256_Transform(context, (sha2_word32*)context->buffer);
-               } else {
-                       /* The buffer is not yet full */
-                       MEMCPY_BCOPY(&context->buffer[usedspace], data, len);
-                       context->bitcount += len << 3;
-                       /* Clean up: */
-                       usedspace = freespace = 0;
-                       return;
-               }
-       }
-       while (len >= SHA256_BLOCK_LENGTH) {
-               /* Process as many complete blocks as we can */
-               SHA256_Transform(context, (sha2_word32*)data);
-               context->bitcount += SHA256_BLOCK_LENGTH << 3;
-               len -= SHA256_BLOCK_LENGTH;
-               data += SHA256_BLOCK_LENGTH;
-       }
-       if (len > 0) {
-               /* There's left-overs, so save 'em */
-               MEMCPY_BCOPY(context->buffer, data, len);
-               context->bitcount += len << 3;
-       }
-       /* Clean up: */
-       usedspace = freespace = 0;
-}
-
-void SHA256_Final(sha2_byte digest[], SHA256_CTX* context) {
-       sha2_word32     *d = (sha2_word32*)digest;
-       unsigned int    usedspace;
-
-       /* Sanity check: */
-       assert(context != (SHA256_CTX*)0);
-
-       /* If no digest buffer is passed, we don't bother doing this: */
-       if (digest != (sha2_byte*)0) {
-               usedspace = (context->bitcount >> 3) % SHA256_BLOCK_LENGTH;
-#if BYTE_ORDER == LITTLE_ENDIAN
-               /* Convert FROM host byte order */
-               REVERSE64(context->bitcount,context->bitcount);
-#endif
-               if (usedspace > 0) {
-                       /* Begin padding with a 1 bit: */
-                       context->buffer[usedspace++] = 0x80;
-
-                       if (usedspace <= SHA256_SHORT_BLOCK_LENGTH) {
-                               /* Set-up for the last transform: */
-                               MEMSET_BZERO(&context->buffer[usedspace], SHA256_SHORT_BLOCK_LENGTH - usedspace);
-                       } else {
-                               if (usedspace < SHA256_BLOCK_LENGTH) {
-                                       MEMSET_BZERO(&context->buffer[usedspace], SHA256_BLOCK_LENGTH - usedspace);
-                               }
-                               /* Do second-to-last transform: */
-                               SHA256_Transform(context, (sha2_word32*)context->buffer);
-
-                               /* And set-up for the last transform: */
-                               MEMSET_BZERO(context->buffer, SHA256_SHORT_BLOCK_LENGTH);
-                       }
-               } else {
-                       /* Set-up for the last transform: */
-                       MEMSET_BZERO(context->buffer, SHA256_SHORT_BLOCK_LENGTH);
-
-                       /* Begin padding with a 1 bit: */
-                       *context->buffer = 0x80;
-               }
-               /* Set the bit count: */
-               *(sha2_word64*)&context->buffer[SHA256_SHORT_BLOCK_LENGTH] = context->bitcount;
-
-               /* Final transform: */
-               SHA256_Transform(context, (sha2_word32*)context->buffer);
-
-#if BYTE_ORDER == LITTLE_ENDIAN
-               {
-                       /* Convert TO host byte order */
-                       int     j;
-                       for (j = 0; j < 8; j++) {
-                               REVERSE32(context->state[j],context->state[j]);
-                               *d++ = context->state[j];
-                       }
-               }
-#else
-               MEMCPY_BCOPY(d, context->state, SHA256_DIGEST_LENGTH);
-#endif
-       }
-
-       /* Clean up state data: */
-       MEMSET_BZERO(context, sizeof(*context));
-       usedspace = 0;
-}
-
-char *SHA256_End(SHA256_CTX* context, char buffer[]) {
-       sha2_byte       digest[SHA256_DIGEST_LENGTH], *d = digest;
-       int             i;
-
-       /* Sanity check: */
-       assert(context != (SHA256_CTX*)0);
-
-       if (buffer != (char*)0) {
-               SHA256_Final(digest, context);
-
-               for (i = 0; i < SHA256_DIGEST_LENGTH; i++) {
-                       *buffer++ = sha2_hex_digits[(*d & 0xf0) >> 4];
-                       *buffer++ = sha2_hex_digits[*d & 0x0f];
-                       d++;
-               }
-               *buffer = (char)0;
-       } else {
-               MEMSET_BZERO(context, sizeof(*context));
-       }
-       MEMSET_BZERO(digest, SHA256_DIGEST_LENGTH);
-       return buffer;
-}
-
-char* SHA256_Data(const sha2_byte* data, size_t len, char digest[SHA256_DIGEST_STRING_LENGTH]) {
-       SHA256_CTX      context;
-
-       SHA256_Init(&context);
-       SHA256_Update(&context, data, len);
-       return SHA256_End(&context, digest);
-}
-#endif
-
-/*** SHA-512: *********************************************************/
-#ifdef WITH_SHA512
-void SHA512_Init(SHA512_CTX* context) {
-       if (context == (SHA512_CTX*)0) {
-               return;
-       }
-       MEMCPY_BCOPY(context->state, sha512_initial_hash_value, SHA512_DIGEST_LENGTH);
-       MEMSET_BZERO(context->buffer, SHA512_BLOCK_LENGTH);
-       context->bitcount[0] = context->bitcount[1] =  0;
-}
-
-#ifdef SHA2_UNROLL_TRANSFORM
-
-/* Unrolled SHA-512 round macros: */
-#if BYTE_ORDER == LITTLE_ENDIAN
-
-#define ROUND512_0_TO_15(a,b,c,d,e,f,g,h)      \
-       REVERSE64(*data++, W512[j]); \
-       T1 = (h) + Sigma1_512(e) + Ch((e), (f), (g)) + \
-             K512[j] + W512[j]; \
-       (d) += T1, \
-       (h) = T1 + Sigma0_512(a) + Maj((a), (b), (c)), \
-       j++
-
-
-#else /* BYTE_ORDER == LITTLE_ENDIAN */
-
-#define ROUND512_0_TO_15(a,b,c,d,e,f,g,h)      \
-       T1 = (h) + Sigma1_512(e) + Ch((e), (f), (g)) + \
-             K512[j] + (W512[j] = *data++); \
-       (d) += T1; \
-       (h) = T1 + Sigma0_512(a) + Maj((a), (b), (c)); \
-       j++
-
-#endif /* BYTE_ORDER == LITTLE_ENDIAN */
-
-#define ROUND512(a,b,c,d,e,f,g,h)      \
-       s0 = W512[(j+1)&0x0f]; \
-       s0 = sigma0_512(s0); \
-       s1 = W512[(j+14)&0x0f]; \
-       s1 = sigma1_512(s1); \
-       T1 = (h) + Sigma1_512(e) + Ch((e), (f), (g)) + K512[j] + \
-             (W512[j&0x0f] += s1 + W512[(j+9)&0x0f] + s0); \
-       (d) += T1; \
-       (h) = T1 + Sigma0_512(a) + Maj((a), (b), (c)); \
-       j++
-
-void SHA512_Transform(SHA512_CTX* context, const sha2_word64* data) {
-       sha2_word64     a, b, c, d, e, f, g, h, s0, s1;
-       sha2_word64     T1, *W512 = (sha2_word64*)context->buffer;
-       int             j;
-
-       /* Initialize registers with the prev. intermediate value */
-       a = context->state[0];
-       b = context->state[1];
-       c = context->state[2];
-       d = context->state[3];
-       e = context->state[4];
-       f = context->state[5];
-       g = context->state[6];
-       h = context->state[7];
-
-       j = 0;
-       do {
-               ROUND512_0_TO_15(a,b,c,d,e,f,g,h);
-               ROUND512_0_TO_15(h,a,b,c,d,e,f,g);
-               ROUND512_0_TO_15(g,h,a,b,c,d,e,f);
-               ROUND512_0_TO_15(f,g,h,a,b,c,d,e);
-               ROUND512_0_TO_15(e,f,g,h,a,b,c,d);
-               ROUND512_0_TO_15(d,e,f,g,h,a,b,c);
-               ROUND512_0_TO_15(c,d,e,f,g,h,a,b);
-               ROUND512_0_TO_15(b,c,d,e,f,g,h,a);
-       } while (j < 16);
-
-       /* Now for the remaining rounds up to 79: */
-       do {
-               ROUND512(a,b,c,d,e,f,g,h);
-               ROUND512(h,a,b,c,d,e,f,g);
-               ROUND512(g,h,a,b,c,d,e,f);
-               ROUND512(f,g,h,a,b,c,d,e);
-               ROUND512(e,f,g,h,a,b,c,d);
-               ROUND512(d,e,f,g,h,a,b,c);
-               ROUND512(c,d,e,f,g,h,a,b);
-               ROUND512(b,c,d,e,f,g,h,a);
-       } while (j < 80);
-
-       /* Compute the current intermediate hash value */
-       context->state[0] += a;
-       context->state[1] += b;
-       context->state[2] += c;
-       context->state[3] += d;
-       context->state[4] += e;
-       context->state[5] += f;
-       context->state[6] += g;
-       context->state[7] += h;
-
-       /* Clean up */
-       a = b = c = d = e = f = g = h = T1 = 0;
-}
-
-#else /* SHA2_UNROLL_TRANSFORM */
-
-void SHA512_Transform(SHA512_CTX* context, const sha2_word64* data) {
-       sha2_word64     a, b, c, d, e, f, g, h, s0, s1;
-       sha2_word64     T1, T2, *W512 = (sha2_word64*)context->buffer;
-       int             j;
-
-       /* Initialize registers with the prev. intermediate value */
-       a = context->state[0];
-       b = context->state[1];
-       c = context->state[2];
-       d = context->state[3];
-       e = context->state[4];
-       f = context->state[5];
-       g = context->state[6];
-       h = context->state[7];
-
-       j = 0;
-       do {
-#if BYTE_ORDER == LITTLE_ENDIAN
-               /* Convert TO host byte order */
-               REVERSE64(*data++, W512[j]);
-               /* Apply the SHA-512 compression function to update a..h */
-               T1 = h + Sigma1_512(e) + Ch(e, f, g) + K512[j] + W512[j];
-#else /* BYTE_ORDER == LITTLE_ENDIAN */
-               /* Apply the SHA-512 compression function to update a..h with copy */
-               T1 = h + Sigma1_512(e) + Ch(e, f, g) + K512[j] + (W512[j] = *data++);
-#endif /* BYTE_ORDER == LITTLE_ENDIAN */
-               T2 = Sigma0_512(a) + Maj(a, b, c);
-               h = g;
-               g = f;
-               f = e;
-               e = d + T1;
-               d = c;
-               c = b;
-               b = a;
-               a = T1 + T2;
-
-               j++;
-       } while (j < 16);
-
-       do {
-               /* Part of the message block expansion: */
-               s0 = W512[(j+1)&0x0f];
-               s0 = sigma0_512(s0);
-               s1 = W512[(j+14)&0x0f];
-               s1 =  sigma1_512(s1);
-
-               /* Apply the SHA-512 compression function to update a..h */
-               T1 = h + Sigma1_512(e) + Ch(e, f, g) + K512[j] +
-                    (W512[j&0x0f] += s1 + W512[(j+9)&0x0f] + s0);
-               T2 = Sigma0_512(a) + Maj(a, b, c);
-               h = g;
-               g = f;
-               f = e;
-               e = d + T1;
-               d = c;
-               c = b;
-               b = a;
-               a = T1 + T2;
-
-               j++;
-       } while (j < 80);
-
-       /* Compute the current intermediate hash value */
-       context->state[0] += a;
-       context->state[1] += b;
-       context->state[2] += c;
-       context->state[3] += d;
-       context->state[4] += e;
-       context->state[5] += f;
-       context->state[6] += g;
-       context->state[7] += h;
-
-       /* Clean up */
-       a = b = c = d = e = f = g = h = T1 = T2 = 0;
-}
-
-#endif /* SHA2_UNROLL_TRANSFORM */
-
-void SHA512_Update(SHA512_CTX* context, const sha2_byte *data, size_t len) {
-       unsigned int    freespace, usedspace;
-
-       if (len == 0) {
-               /* Calling with no data is valid - we do nothing */
-               return;
-       }
-
-       /* Sanity check: */
-       assert(context != (SHA512_CTX*)0 && data != (sha2_byte*)0);
-
-       usedspace = (context->bitcount[0] >> 3) % SHA512_BLOCK_LENGTH;
-       if (usedspace > 0) {
-               /* Calculate how much free space is available in the buffer */
-               freespace = SHA512_BLOCK_LENGTH - usedspace;
-
-               if (len >= freespace) {
-                       /* Fill the buffer completely and process it */
-                       MEMCPY_BCOPY(&context->buffer[usedspace], data, freespace);
-                       ADDINC128(context->bitcount, freespace << 3);
-                       len -= freespace;
-                       data += freespace;
-                       SHA512_Transform(context, (sha2_word64*)context->buffer);
-               } else {
-                       /* The buffer is not yet full */
-                       MEMCPY_BCOPY(&context->buffer[usedspace], data, len);
-                       ADDINC128(context->bitcount, len << 3);
-                       /* Clean up: */
-                       usedspace = freespace = 0;
-                       return;
-               }
-       }
-       while (len >= SHA512_BLOCK_LENGTH) {
-               /* Process as many complete blocks as we can */
-               SHA512_Transform(context, (sha2_word64*)data);
-               ADDINC128(context->bitcount, SHA512_BLOCK_LENGTH << 3);
-               len -= SHA512_BLOCK_LENGTH;
-               data += SHA512_BLOCK_LENGTH;
-       }
-       if (len > 0) {
-               /* There's left-overs, so save 'em */
-               MEMCPY_BCOPY(context->buffer, data, len);
-               ADDINC128(context->bitcount, len << 3);
-       }
-       /* Clean up: */
-       usedspace = freespace = 0;
-}
-
-void SHA512_Last(SHA512_CTX* context) {
-       unsigned int    usedspace;
-
-       usedspace = (context->bitcount[0] >> 3) % SHA512_BLOCK_LENGTH;
-#if BYTE_ORDER == LITTLE_ENDIAN
-       /* Convert FROM host byte order */
-       REVERSE64(context->bitcount[0],context->bitcount[0]);
-       REVERSE64(context->bitcount[1],context->bitcount[1]);
-#endif
-       if (usedspace > 0) {
-               /* Begin padding with a 1 bit: */
-               context->buffer[usedspace++] = 0x80;
-
-               if (usedspace <= SHA512_SHORT_BLOCK_LENGTH) {
-                       /* Set-up for the last transform: */
-                       MEMSET_BZERO(&context->buffer[usedspace], SHA512_SHORT_BLOCK_LENGTH - usedspace);
-               } else {
-                       if (usedspace < SHA512_BLOCK_LENGTH) {
-                               MEMSET_BZERO(&context->buffer[usedspace], SHA512_BLOCK_LENGTH - usedspace);
-                       }
-                       /* Do second-to-last transform: */
-                       SHA512_Transform(context, (sha2_word64*)context->buffer);
-
-                       /* And set-up for the last transform: */
-                       MEMSET_BZERO(context->buffer, SHA512_BLOCK_LENGTH - 2);
-               }
-       } else {
-               /* Prepare for final transform: */
-               MEMSET_BZERO(context->buffer, SHA512_SHORT_BLOCK_LENGTH);
-
-               /* Begin padding with a 1 bit: */
-               *context->buffer = 0x80;
-       }
-       /* Store the length of input data (in bits): */
-       *(sha2_word64*)&context->buffer[SHA512_SHORT_BLOCK_LENGTH] = context->bitcount[1];
-       *(sha2_word64*)&context->buffer[SHA512_SHORT_BLOCK_LENGTH+8] = context->bitcount[0];
-
-       /* Final transform: */
-       SHA512_Transform(context, (sha2_word64*)context->buffer);
-}
-
-void SHA512_Final(sha2_byte digest[], SHA512_CTX* context) {
-       sha2_word64     *d = (sha2_word64*)digest;
-
-       /* Sanity check: */
-       assert(context != (SHA512_CTX*)0);
-
-       /* If no digest buffer is passed, we don't bother doing this: */
-       if (digest != (sha2_byte*)0) {
-               SHA512_Last(context);
-
-               /* Save the hash data for output: */
-#if BYTE_ORDER == LITTLE_ENDIAN
-               {
-                       /* Convert TO host byte order */
-                       int     j;
-                       for (j = 0; j < 8; j++) {
-                               REVERSE64(context->state[j],context->state[j]);
-                               *d++ = context->state[j];
-                       }
-               }
-#else
-               MEMCPY_BCOPY(d, context->state, SHA512_DIGEST_LENGTH);
-#endif
-       }
-
-       /* Zero out state data */
-       MEMSET_BZERO(context, sizeof(context));
-}
-
-char *SHA512_End(SHA512_CTX* context, char buffer[]) {
-       sha2_byte       digest[SHA512_DIGEST_LENGTH], *d = digest;
-       int             i;
-
-       /* Sanity check: */
-       assert(context != (SHA512_CTX*)0);
-
-       if (buffer != (char*)0) {
-               SHA512_Final(digest, context);
-
-               for (i = 0; i < SHA512_DIGEST_LENGTH; i++) {
-                       *buffer++ = sha2_hex_digits[(*d & 0xf0) >> 4];
-                       *buffer++ = sha2_hex_digits[*d & 0x0f];
-                       d++;
-               }
-               *buffer = (char)0;
-       } else {
-               MEMSET_BZERO(context, sizeof(context));
-       }
-       MEMSET_BZERO(digest, SHA512_DIGEST_LENGTH);
-       return buffer;
-}
-
-char* SHA512_Data(const sha2_byte* data, size_t len, char digest[SHA512_DIGEST_STRING_LENGTH]) {
-       SHA512_CTX      context;
-
-       SHA512_Init(&context);
-       SHA512_Update(&context, data, len);
-       return SHA512_End(&context, digest);
-}
-#endif
-
-/*** SHA-384: *********************************************************/
-#ifdef WITH_SHA384
-void SHA384_Init(SHA384_CTX* context) {
-       if (context == (SHA384_CTX*)0) {
-               return;
-       }
-       MEMCPY_BCOPY(context->state, sha384_initial_hash_value, SHA512_DIGEST_LENGTH);
-       MEMSET_BZERO(context->buffer, SHA384_BLOCK_LENGTH);
-       context->bitcount[0] = context->bitcount[1] = 0;
-}
-
-void SHA384_Update(SHA384_CTX* context, const sha2_byte* data, size_t len) {
-       SHA512_Update((SHA512_CTX*)context, data, len);
-}
-
-void SHA384_Final(sha2_byte digest[], SHA384_CTX* context) {
-       sha2_word64     *d = (sha2_word64*)digest;
-
-       /* Sanity check: */
-       assert(context != (SHA384_CTX*)0);
-
-       /* If no digest buffer is passed, we don't bother doing this: */
-       if (digest != (sha2_byte*)0) {
-               SHA512_Last((SHA512_CTX*)context);
-
-               /* Save the hash data for output: */
-#if BYTE_ORDER == LITTLE_ENDIAN
-               {
-                       /* Convert TO host byte order */
-                       int     j;
-                       for (j = 0; j < 6; j++) {
-                               REVERSE64(context->state[j],context->state[j]);
-                               *d++ = context->state[j];
-                       }
-               }
-#else
-               MEMCPY_BCOPY(d, context->state, SHA384_DIGEST_LENGTH);
-#endif
-       }
-
-       /* Zero out state data */
-       MEMSET_BZERO(context, sizeof(context));
-}
-
-char *SHA384_End(SHA384_CTX* context, char buffer[]) {
-       sha2_byte       digest[SHA384_DIGEST_LENGTH], *d = digest;
-       int             i;
-
-       /* Sanity check: */
-       assert(context != (SHA384_CTX*)0);
-
-       if (buffer != (char*)0) {
-               SHA384_Final(digest, context);
-
-               for (i = 0; i < SHA384_DIGEST_LENGTH; i++) {
-                       *buffer++ = sha2_hex_digits[(*d & 0xf0) >> 4];
-                       *buffer++ = sha2_hex_digits[*d & 0x0f];
-                       d++;
-               }
-               *buffer = (char)0;
-       } else {
-               MEMSET_BZERO(context, sizeof(context));
-       }
-       MEMSET_BZERO(digest, SHA384_DIGEST_LENGTH);
-       return buffer;
-}
-
-char* SHA384_Data(const sha2_byte* data, size_t len, char digest[SHA384_DIGEST_STRING_LENGTH]) {
-       SHA384_CTX      context;
-
-       SHA384_Init(&context);
-       SHA384_Update(&context, data, len);
-       return SHA384_End(&context, digest);
-}
-#endif
diff --git a/external/wakaama/examples/shared/tinydtls/sha2/sha2.h b/external/wakaama/examples/shared/tinydtls/sha2/sha2.h
deleted file mode 100644 (file)
index 37761df..0000000
+++ /dev/null
@@ -1,215 +0,0 @@
-/*
- * FILE:       sha2.h
- * AUTHOR:     Aaron D. Gifford - http://www.aarongifford.com/
- * 
- * Copyright (c) 2000-2001, Aaron D. Gifford
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the copyright holder nor the names of contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- * 
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTOR(S) ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTOR(S) BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * $Id: sha2.h,v 1.1 2001/11/08 00:02:01 adg Exp adg $
- */
-
-#ifndef __SHA2_H__
-#define __SHA2_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-/*
- * Import u_intXX_t size_t type definitions from system headers.  You
- * may need to change this, or define these things yourself in this
- * file.
- */
-#include <sys/types.h>
-
-#ifdef SHA2_USE_INTTYPES_H
-
-#include <inttypes.h>
-
-#endif /* SHA2_USE_INTTYPES_H */
-
-
-/*** SHA-256/384/512 Various Length Definitions ***********************/
-#define SHA256_BLOCK_LENGTH            64
-#define SHA256_DIGEST_LENGTH           32
-#define SHA256_DIGEST_STRING_LENGTH    (SHA256_DIGEST_LENGTH * 2 + 1)
-#define SHA384_BLOCK_LENGTH            128
-#define SHA384_DIGEST_LENGTH           48
-#define SHA384_DIGEST_STRING_LENGTH    (SHA384_DIGEST_LENGTH * 2 + 1)
-#define SHA512_BLOCK_LENGTH            128
-#define SHA512_DIGEST_LENGTH           64
-#define SHA512_DIGEST_STRING_LENGTH    (SHA512_DIGEST_LENGTH * 2 + 1)
-
-
-/*** SHA-256/384/512 Context Structures *******************************/
-/* NOTE: If your architecture does not define either u_intXX_t types or
- * uintXX_t (from inttypes.h), you may need to define things by hand
- * for your system:
- */
-#if 1
-typedef unsigned char u_int8_t;                /* 1-byte  (8-bits)  */
-typedef unsigned int u_int32_t;                /* 4-bytes (32-bits) */
-typedef unsigned long long u_int64_t;  /* 8-bytes (64-bits) */
-#endif
-/*
- * Most BSD systems already define u_intXX_t types, as does Linux.
- * Some systems, however, like Compaq's Tru64 Unix instead can use
- * uintXX_t types defined by very recent ANSI C standards and included
- * in the file:
- *
- *   #include <inttypes.h>
- *
- * If you choose to use <inttypes.h> then please define: 
- *
- *   #define SHA2_USE_INTTYPES_H
- *
- * Or on the command line during compile:
- *
- *   cc -DSHA2_USE_INTTYPES_H ...
- */
-#ifdef SHA2_USE_INTTYPES_H
-
-typedef struct _SHA256_CTX {
-       uint32_t        state[8];
-       uint64_t        bitcount;
-       uint8_t buffer[SHA256_BLOCK_LENGTH];
-} SHA256_CTX;
-typedef struct _SHA512_CTX {
-       uint64_t        state[8];
-       uint64_t        bitcount[2];
-       uint8_t buffer[SHA512_BLOCK_LENGTH];
-} SHA512_CTX;
-
-#else /* SHA2_USE_INTTYPES_H */
-
-typedef struct _SHA256_CTX {
-       u_int32_t       state[8];
-       u_int64_t       bitcount;
-       u_int8_t        buffer[SHA256_BLOCK_LENGTH];
-} SHA256_CTX;
-typedef struct _SHA512_CTX {
-       u_int64_t       state[8];
-       u_int64_t       bitcount[2];
-       u_int8_t        buffer[SHA512_BLOCK_LENGTH];
-} SHA512_CTX;
-
-#endif /* SHA2_USE_INTTYPES_H */
-
-typedef SHA512_CTX SHA384_CTX;
-
-
-/*** SHA-256/384/512 Function Prototypes ******************************/
-#ifndef NOPROTO
-#ifdef SHA2_USE_INTTYPES_H
-
-#ifdef WITH_SHA256
-void SHA256_Init(SHA256_CTX *);
-void SHA256_Update(SHA256_CTX*, const uint8_t*, size_t);
-void SHA256_Final(uint8_t[SHA256_DIGEST_LENGTH], SHA256_CTX*);
-char* SHA256_End(SHA256_CTX*, char[SHA256_DIGEST_STRING_LENGTH]);
-char* SHA256_Data(const uint8_t*, size_t, char[SHA256_DIGEST_STRING_LENGTH]);
-#endif
-
-#ifdef WITH_SHA384
-void SHA384_Init(SHA384_CTX*);
-void SHA384_Update(SHA384_CTX*, const uint8_t*, size_t);
-void SHA384_Final(uint8_t[SHA384_DIGEST_LENGTH], SHA384_CTX*);
-char* SHA384_End(SHA384_CTX*, char[SHA384_DIGEST_STRING_LENGTH]);
-char* SHA384_Data(const uint8_t*, size_t, char[SHA384_DIGEST_STRING_LENGTH]);
-#endif
-
-#ifdef WITH_SHA512
-void SHA512_Init(SHA512_CTX*);
-void SHA512_Update(SHA512_CTX*, const uint8_t*, size_t);
-void SHA512_Final(uint8_t[SHA512_DIGEST_LENGTH], SHA512_CTX*);
-char* SHA512_End(SHA512_CTX*, char[SHA512_DIGEST_STRING_LENGTH]);
-char* SHA512_Data(const uint8_t*, size_t, char[SHA512_DIGEST_STRING_LENGTH]);
-#endif
-
-#else /* SHA2_USE_INTTYPES_H */
-
-#ifdef WITH_SHA256
-void SHA256_Init(SHA256_CTX *);
-void SHA256_Update(SHA256_CTX*, const u_int8_t*, size_t);
-void SHA256_Final(u_int8_t[SHA256_DIGEST_LENGTH], SHA256_CTX*);
-char* SHA256_End(SHA256_CTX*, char[SHA256_DIGEST_STRING_LENGTH]);
-char* SHA256_Data(const u_int8_t*, size_t, char[SHA256_DIGEST_STRING_LENGTH]);
-#endif
-
-#ifdef WITH_SHA384
-void SHA384_Init(SHA384_CTX*);
-void SHA384_Update(SHA384_CTX*, const u_int8_t*, size_t);
-void SHA384_Final(u_int8_t[SHA384_DIGEST_LENGTH], SHA384_CTX*);
-char* SHA384_End(SHA384_CTX*, char[SHA384_DIGEST_STRING_LENGTH]);
-char* SHA384_Data(const u_int8_t*, size_t, char[SHA384_DIGEST_STRING_LENGTH]);
-#endif
-
-#ifdef WITH_SHA512
-void SHA512_Init(SHA512_CTX*);
-void SHA512_Update(SHA512_CTX*, const u_int8_t*, size_t);
-void SHA512_Final(u_int8_t[SHA512_DIGEST_LENGTH], SHA512_CTX*);
-char* SHA512_End(SHA512_CTX*, char[SHA512_DIGEST_STRING_LENGTH]);
-char* SHA512_Data(const u_int8_t*, size_t, char[SHA512_DIGEST_STRING_LENGTH]);
-#endif
-
-#endif /* SHA2_USE_INTTYPES_H */
-
-#else /* NOPROTO */
-
-#ifdef WITH_SHA256
-void SHA256_Init();
-void SHA256_Update();
-void SHA256_Final();
-char* SHA256_End();
-char* SHA256_Data();
-#endif
-
-#ifdef WITH_SHA384
-void SHA384_Init();
-void SHA384_Update();
-void SHA384_Final();
-char* SHA384_End();
-char* SHA384_Data();
-#endif
-
-#ifdef WITH_SHA512
-void SHA512_Init();
-void SHA512_Update();
-void SHA512_Final();
-char* SHA512_End();
-char* SHA512_Data();
-#endif
-
-#endif /* NOPROTO */
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-#endif /* __SHA2_H__ */
-
diff --git a/external/wakaama/examples/shared/tinydtls/sha2/sha2prog.c b/external/wakaama/examples/shared/tinydtls/sha2/sha2prog.c
deleted file mode 100644 (file)
index 8d9d6ae..0000000
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * FILE:       sha2prog.c
- * AUTHOR:     Aaron D. Gifford - http://www.aarongifford.com/
- * 
- * Copyright (c) 2000-2001, Aaron D. Gifford
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the copyright holder nor the names of contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- * 
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTOR(S) ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTOR(S) BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * $Id: sha2prog.c,v 1.1 2001/11/08 00:02:11 adg Exp adg $
- */
-
-#include <stdio.h>
-#include <sysexits.h>
-#include <sys/types.h>
-#include <sys/uio.h>
-#include <unistd.h>
-
-#include "sha2.h"
-
-void usage(char *prog, char *msg) {
-       fprintf(stderr, "%s\nUsage:\t%s [options] [<file>]\nOptions:\n\t-256\tGenerate SHA-256 hash\n\t-384\tGenerate SHA-284 hash\n\t-512\tGenerate SHA-512 hash\n\t-ALL\tGenerate all three hashes\n\t-q\tQuiet mode - only output hexadecimal hashes, one per line\n\n", msg, prog);
-       exit(-1);
-}
-
-#define BUFLEN 16384
-
-int main(int argc, char **argv) {
-       int             kl, l, fd, ac;
-       int             quiet = 0, hash = 0;
-       char            *av, *file = (char*)0;
-       FILE            *IN = (FILE*)0;
-       SHA256_CTX      ctx256;
-       SHA384_CTX      ctx384;
-       SHA512_CTX      ctx512;
-       unsigned char   buf[BUFLEN];
-
-       SHA256_Init(&ctx256);
-       SHA384_Init(&ctx384);
-       SHA512_Init(&ctx512);
-
-       /* Read data from STDIN by default */
-       fd = fileno(stdin);
-
-       ac = 1;
-       while (ac < argc) {
-               if (*argv[ac] == '-') {
-                       av = argv[ac] + 1;
-                       if (!strcmp(av, "q")) {
-                               quiet = 1;
-                       } else if (!strcmp(av, "256")) {
-                               hash |= 1;
-                       } else if (!strcmp(av, "384")) {
-                               hash |= 2;
-                       } else if (!strcmp(av, "512")) {
-                               hash |= 4;
-                       } else if (!strcmp(av, "ALL")) {
-                               hash = 7;
-                       } else {
-                               usage(argv[0], "Invalid option.");
-                       }
-                       ac++;
-               } else {
-                       file = argv[ac++];
-                       if (ac != argc) {
-                               usage(argv[0], "Too many arguments.");
-                       }
-                       if ((IN = fopen(file, "r")) == NULL) {
-                               perror(argv[0]);
-                               exit(-1);
-                       }
-                       fd = fileno(IN);
-               }
-       }
-       if (hash == 0)
-               hash = 7;       /* Default to ALL */
-
-       kl = 0;
-       while ((l = read(fd,buf,BUFLEN)) > 0) {
-               kl += l;
-               SHA256_Update(&ctx256, (unsigned char*)buf, l);
-               SHA384_Update(&ctx384, (unsigned char*)buf, l);
-               SHA512_Update(&ctx512, (unsigned char*)buf, l);
-       }
-       if (file) {
-               fclose(IN);
-       }
-
-       if (hash & 1) {
-               SHA256_End(&ctx256, buf);
-               if (!quiet)
-                       printf("SHA-256 (%s) = ", file);
-               printf("%s\n", buf);
-       }
-       if (hash & 2) {
-               SHA384_End(&ctx384, buf);
-               if (!quiet)
-                       printf("SHA-384 (%s) = ", file);
-               printf("%s\n", buf);
-       }
-       if (hash & 4) {
-               SHA512_End(&ctx512, buf);
-               if (!quiet)
-                       printf("SHA-512 (%s) = ", file);
-               printf("%s\n", buf);
-       }
-
-       return 1;
-}
-
diff --git a/external/wakaama/examples/shared/tinydtls/sha2/sha2speed.c b/external/wakaama/examples/shared/tinydtls/sha2/sha2speed.c
deleted file mode 100644 (file)
index 2e13575..0000000
+++ /dev/null
@@ -1,174 +0,0 @@
-/*
- * FILE:       sha2speed.c
- * AUTHOR:     Aaron D. Gifford - http://www.aarongifford.com/
- * 
- * Copyright (c) 2000-2001, Aaron D. Gifford
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the copyright holder nor the names of contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- * 
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTOR(S) ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTOR(S) BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * $Id: sha2speed.c,v 1.1 2001/11/08 00:02:23 adg Exp adg $
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <sys/time.h>
-
-#include "sha2.h"
-
-#define BUFSIZE        16384
-
-void usage(char *prog) {
-       fprintf(stderr, "Usage:\t%s [<num-of-bytes>] [<num-of-loops>] [<fill-byte>]\n", prog);
-       exit(-1);
-}
-
-void printspeed(char *caption, unsigned long bytes, double time) {
-       if (bytes / 1073741824UL > 0) {
-                printf("%s %.4f sec (%.3f GBps)\n", caption, time, (double)bytes/1073741824UL/time);
-        } else if (bytes / 1048576 > 0) {
-                printf("%s %.4f (%.3f MBps)\n", caption, time, (double)bytes/1048576/time);
-        } else if (bytes / 1024 > 0) {
-                printf("%s %.4f (%.3f KBps)\n", caption, time, (double)bytes/1024/time);
-        } else {
-               printf("%s %.4f (%f Bps)\n", caption, time, (double)bytes/time);
-       }
-}
-
-
-int main(int argc, char **argv) {
-       SHA256_CTX      c256;
-       SHA384_CTX      c384;
-       SHA512_CTX      c512;
-       char            buf[BUFSIZE];
-       char            md[SHA512_DIGEST_STRING_LENGTH];
-       int             bytes, blocks, rep, i, j;
-       struct timeval  start, end;
-       double          t, ave256, ave384, ave512;
-       double          best256, best384, best512;
-
-       if (argc > 4) {
-               usage(argv[0]);
-       }
-
-       /* Default to 1024 16K blocks (16 MB) */
-       bytes = 1024 * 1024 * 16;
-       if (argc > 1) {
-               blocks = atoi(argv[1]);
-       }
-       blocks = bytes / BUFSIZE;
-
-       /* Default to 10 repetitions */
-       rep = 10;
-       if (argc > 2) {
-               rep = atoi(argv[2]);
-       }
-
-       /* Set up the input data */
-       if (argc > 3) {
-               memset(buf, atoi(argv[2]), BUFSIZE);
-       } else {
-               memset(buf, 0xb7, BUFSIZE);
-       }
-
-       ave256 = ave384 = ave512 = 0;
-       best256 = best384 = best512 = 100000;
-       for (i = 0; i < rep; i++) {
-               SHA256_Init(&c256);
-               SHA384_Init(&c384);
-               SHA512_Init(&c512);
-       
-               gettimeofday(&start, (struct timezone*)0);
-               for (j = 0; j < blocks; j++) {
-                       SHA256_Update(&c256, (unsigned char*)buf, BUFSIZE);
-               }
-               if (bytes % BUFSIZE) {
-                       SHA256_Update(&c256, (unsigned char*)buf, bytes % BUFSIZE);
-               }
-               SHA256_End(&c256, md);
-               gettimeofday(&end, (struct timezone*)0);
-               t = ((end.tv_sec - start.tv_sec) * 1000000.0 + (end.tv_usec - start.tv_usec)) / 1000000.0;
-               ave256 += t;
-               if (t < best256) {
-                       best256 = t;
-               }
-               printf("SHA-256[%d] (%.4f/%.4f/%.4f seconds) = 0x%s\n", i+1, t, ave256/(i+1), best256, md);
-
-               gettimeofday(&start, (struct timezone*)0);
-               for (j = 0; j < blocks; j++) {
-                       SHA384_Update(&c384, (unsigned char*)buf, BUFSIZE);
-               }
-               if (bytes % BUFSIZE) {
-                       SHA384_Update(&c384, (unsigned char*)buf, bytes % BUFSIZE);
-               }
-               SHA384_End(&c384, md);
-               gettimeofday(&end, (struct timezone*)0);
-               t = ((end.tv_sec - start.tv_sec) * 1000000.0 + (end.tv_usec - start.tv_usec)) / 1000000.0;
-               ave384 += t;
-               if (t < best384) {
-                       best384 = t;
-               }
-               printf("SHA-384[%d] (%.4f/%.4f/%.4f seconds) = 0x%s\n", i+1, t, ave384/(i+1), best384, md);
-
-               gettimeofday(&start, (struct timezone*)0);
-               for (j = 0; j < blocks; j++) {
-                       SHA512_Update(&c512, (unsigned char*)buf, BUFSIZE);
-               }
-               if (bytes % BUFSIZE) {
-                       SHA512_Update(&c512, (unsigned char*)buf, bytes % BUFSIZE);
-               }
-               SHA512_End(&c512, md);
-               gettimeofday(&end, (struct timezone*)0);
-               t = ((end.tv_sec - start.tv_sec) * 1000000.0 + (end.tv_usec - start.tv_usec)) / 1000000.0;
-               ave512 += t;
-               if (t < best512) {
-                       best512 = t;
-               }
-               printf("SHA-512[%d] (%.4f/%.4f/%.4f seconds) = 0x%s\n", i+1, t, ave512/(i+1), best512, md);
-       }
-       ave256 /= rep;
-       ave384 /= rep;
-       ave512 /= rep;
-       printf("\nTEST RESULTS SUMMARY:\nTEST REPETITIONS: %d\n", rep);
-       if (bytes / 1073741824UL > 0) {
-               printf("TEST SET SIZE: %.3f GB\n", (double)bytes/1073741824UL);
-       } else if (bytes / 1048576 > 0) {
-               printf("TEST SET SIZE: %.3f MB\n", (double)bytes/1048576);
-       } else if (bytes /1024 > 0) {
-               printf("TEST SET SIZE: %.3f KB\n", (double)bytes/1024);
-       } else {
-               printf("TEST SET SIZE: %d B\n", bytes);
-       }
-       printspeed("SHA-256 average:", bytes, ave256);
-       printspeed("SHA-256 best:   ", bytes, best256);
-       printspeed("SHA-384 average:", bytes, ave384);
-       printspeed("SHA-384 best:   ", bytes, best384);
-       printspeed("SHA-512 average:", bytes, ave512);
-       printspeed("SHA-512 best:   ", bytes, best512);
-
-       return 1;
-}
-
diff --git a/external/wakaama/examples/shared/tinydtls/sha2/sha2test.pl b/external/wakaama/examples/shared/tinydtls/sha2/sha2test.pl
deleted file mode 100644 (file)
index dc884d8..0000000
+++ /dev/null
@@ -1,358 +0,0 @@
-#!/usr/bin/perl
-#
-# FILE:                sha2test.pl
-# AUTHOR:      Aaron D. Gifford - http://www.aarongifford.com/
-# 
-# Copyright (c) 2001, Aaron D. Gifford
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-# 1. Redistributions of source code must retain the above copyright
-#    notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-#    notice, this list of conditions and the following disclaimer in the
-#    documentation and/or other materials provided with the distribution.
-# 3. Neither the name of the copyright holder nor the names of contributors
-#    may be used to endorse or promote products derived from this software
-#    without specific prior written permission.
-# 
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTOR(S) ``AS IS'' AND
-# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-# ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTOR(S) BE LIABLE
-# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-# SUCH DAMAGE.
-#
-# $Id: sha2test.pl,v 1.1 2001/11/08 00:02:37 adg Exp adg $
-#
-
-sub usage {
-       my ($err) = shift(@_);
-
-       print <<EOM;
-Error:
-       $err
-Usage:
-       $0 [<options>] [<test-vector-info-file> [<test-vector-info-file> ...]]
-
-Options:
-       -256    Use SHA-256 hashes during testing
-       -384    Use SHA-384 hashes during testing
-       -512    Use SHA-512 hashes during testing
-       -ALL    Use all three hashes during testing
-       -c256 <command-spec>    Specify a command to execute to generate a
-                               SHA-256 hash.  Be sure to include a '%'
-                               character which will be replaced by the
-                               test vector data filename containing the
-                               data to be hashed.  This command implies
-                               the -256 option.
-       -c384 <command-spec>    Specify a command to execute to generate a
-                               SHA-384 hash.  See above.  Implies -384.
-       -c512 <command-spec>    Specify a command to execute to generate a
-                               SHA-512 hash.  See above.  Implies -512.
-       -cALL <command-spec>    Specify a command to execute that will
-                               generate all three hashes at once and output
-                               the data in hexadecimal.  See above for
-                               information about the <command-spec>.
-                               This option implies the -ALL option, and
-                               also overrides any other command options if
-                               present.
-
-By default, this program expects to execute the command ./sha2 within the
-current working directory to generate all hashes.  If no test vector
-information files are specified, this program expects to read a series of
-files ending in ".info" within a subdirectory of the current working
-directory called "testvectors".
-
-EOM
-       exit(-1);
-}
-
-$c256 = $c384 = $c512 = $cALL = "";
-$hashes = 0;
-@FILES = ();
-
-# Read all command-line options and files:
-while ($opt = shift(@ARGV)) {
-       if ($opt =~ s/^\-//) {
-               if ($opt eq "256") {
-                       $hashes |= 1;
-               } elsif ($opt eq "384") {
-                       $hashes |= 2;
-               } elsif ($opt eq "512") {
-                       $hashes |= 4;
-               } elsif ($opt =~ /^ALL$/i) {
-                       $hashes = 7;
-               } elsif ($opt =~ /^c256$/i) {
-                       $hashes |= 1;
-                       $opt = $c256 = shift(@ARGV);
-                       $opt =~ s/\s+.*$//;
-                       if (!$c256 || $c256 !~ /\%/ || !-x $opt) {
-                               usage("Missing or invalid command specification for option -c256: $opt\n");
-                       }
-               } elsif ($opt =~ /^c384$/i) {
-                       $hashes |= 2;
-                       $opt = $c384 = shift(@ARGV);
-                       $opt =~ s/\s+.*$//;
-                       if (!$c384 || $c384 !~ /\%/ || !-x $opt) {
-                               usage("Missing or invalid command specification for option -c384: $opt\n");
-                       }
-               } elsif ($opt =~ /^c512$/i) {
-                       $hashes |= 4;
-                       $opt = $c512 = shift(@ARGV);
-                       $opt =~ s/\s+.*$//;
-                       if (!$c512 || $c512 !~ /\%/ || !-x $opt) {
-                               usage("Missing or invalid command specification for option -c512: $opt\n");
-                       }
-               } elsif ($opt =~ /^cALL$/i) {
-                       $hashes = 7;
-                       $opt = $cALL = shift(@ARGV);
-                       $opt =~ s/\s+.*$//;
-                       if (!$cALL || $cALL !~ /\%/ || !-x $opt) {
-                               usage("Missing or invalid command specification for option -cALL: $opt\n");
-                       }
-               } else {
-                       usage("Unknown/invalid option '$opt'\n");
-               }
-       } else {
-               usage("Invalid, nonexistent, or unreadable file '$opt': $!\n") if (!-f $opt);
-               push(@FILES, $opt);
-       }
-}
-
-# Set up defaults:
-if (!$cALL && !$c256 && !$c384 && !$c512) {
-       $cALL = "./sha2 -ALL %";
-       usage("Required ./sha2 binary executable not found.\n") if (!-x "./sha2");
-}
-$hashes = 7 if (!$hashes);
-
-# Do some sanity checks:
-usage("No command was supplied to generate SHA-256 hashes.\n") if ($hashes & 1 == 1 && !$cALL && !$c256);
-usage("No command was supplied to generate SHA-384 hashes.\n") if ($hashes & 2 == 2 && !$cALL && !$c384);
-usage("No command was supplied to generate SHA-512 hashes.\n") if ($hashes & 4 == 4 && !$cALL && !$c512);
-
-# Default .info files:
-if (scalar(@FILES) < 1) {
-       opendir(DIR, "testvectors") || usage("Unable to scan directory 'testvectors' for vector information files: $!\n");
-       @FILES = grep(/\.info$/, readdir(DIR));
-       closedir(DIR);
-       @FILES = map { s/^/testvectors\//; $_; } @FILES;
-       @FILES = sort(@FILES);
-}
-
-# Now read in each test vector information file:
-foreach $file (@FILES) {
-       $dir = $file;
-       if ($file !~ /\//) {
-               $dir = "./";
-       } else {
-               $dir =~ s/\/[^\/]+$//;
-               $dir .= "/";
-       }
-       open(FILE, "<" . $file) ||
-               usage("Unable to open test vector information file '$file' for reading: $!\n");
-       $vec = { desc => "", file => "", sha256 => "", sha384 => "", sha512 => "" };
-       $data = $field = "";
-       $line = 0;
-       while(<FILE>) {
-               $line++;
-               s/\s*[\r\n]+$//;
-               next if ($field && $field ne "DESCRIPTION" && !$_);
-               if (/^(DESCRIPTION|FILE|SHA256|SHA384|SHA512):$/) {
-                       if ($field eq "DESCRIPTION") {
-                               $vec->{desc} = $data;
-                       } elsif ($field eq "FILE") {
-                               $data = $dir . $data if ($data !~ /^\//);
-                               $vec->{file} = $data;
-                       } elsif ($field eq "SHA256") {
-                               $vec->{sha256} = $data;
-                       } elsif ($field eq "SHA384") {
-                               $vec->{sha384} = $data;
-                       } elsif ($field eq "SHA512") {
-                               $vec->{sha512} = $data;
-                       }
-                       $data = "";
-                       $field = $1;
-               } elsif ($field eq "DESCRIPTION") {
-                       s/^    //;
-                       $data .= $_ . "\n";
-               } elsif ($field =~ /^SHA\d\d\d$/) {
-                       s/^\s+//;
-                       if (!/^([a-f0-9]{32}|[a-f0-9]{64})$/) {
-                               usage("Invalid SHA-256/384/512 test vector information " .
-                                     "file format at line $line of file '$file'\n");
-                       }
-                       $data .= $_;
-               } elsif ($field eq "FILE") {
-                       s/^    //;
-                       $data .= $_;
-               } else {
-                       usage("Invalid SHA-256/384/512 test vector information file " .
-                             "format at line $line of file '$file'\n");
-               }
-       }
-       if ($field eq "DESCRIPTION") {
-               $data = $dir . $data if ($data !~ /^\//);
-               $vec->{desc} = $data;
-       } elsif ($field eq "FILE") {
-               $vec->{file} = $data;
-       } elsif ($field eq "SHA256") {
-               $vec->{sha256} = $data;
-       } elsif ($field eq "SHA384") {
-               $vec->{sha384} = $data;
-       } elsif ($field eq "SHA512") {
-               $vec->{sha512} = $data;
-       } else {
-               usage("Invalid SHA-256/384/512 test vector information file " .
-                     "format.  Missing required fields in file '$file'\n");
-       }
-
-       # Sanity check all entries:
-       if (!$vec->{desc}) {
-               usage("Invalid SHA-256/384/512 test vector information file " .
-                     "format.  Missing required DESCRIPTION field in file '$file'\n");
-       }
-       if (!$vec->{file}) {
-               usage("Invalid SHA-256/384/512 test vector information file " .
-                     "format.  Missing required FILE field in file '$file'\n");
-       }
-       if (! -f $vec->{file}) {
-               usage("The test vector data file (field FILE) name " .
-                     "'$vec->{file}' is not a readable file.  Check the FILE filed in " .
-                     "file '$file'.\n");
-       }
-       if (!($vec->{sha256} || $vec->{sha384} || $vec->{sha512})) {
-               usage("Invalid SHA-256/384/512 test vector information file " .
-                     "format.  There must be at least one SHA256, SHA384, or SHA512 " .
-                     "field specified in file '$file'.\n");
-       }
-       if ($vec->{sha256} !~ /^(|[a-f0-9]{64})$/) {
-               usage("Invalid SHA-256/384/512 test vector information file " .
-                     "format.  The SHA256 field is invalid in file '$file'.\n");
-       }
-       if ($vec->{sha384} !~ /^(|[a-f0-9]{96})$/) {
-               usage("Invalid SHA-256/384/512 test vector information file " .
-                     "format.  The SHA384 field is invalid in file '$file'.\n");
-       }
-       if ($vec->{sha512} !~ /^(|[a-f0-9]{128})$/) {
-               usage("Invalid SHA-256/384/512 test vector information file " .
-                     "format.  The SHA512 field is invalid in file '$file'.\n");
-       }
-       close(FILE);
-       if ($hashes & (($vec->{sha256} ? 1 : 0) | ($vec->{sha384} ? 2 : 0) | ($vec->{sha512} ? 4 : 0))) {
-               push(@VECTORS, $vec);
-       }
-}
-
-usage("There were no test vectors for the specified hash(es) in any of the test vector information files you specified.\n") if (scalar(@VECTORS) < 1);
-
-$num = $errors = $error256 = $error384 = $error512 = $tests = $test256 = $test384 = $test512 = 0;
-foreach $vec (@VECTORS) {
-       $num++;
-       print "TEST VECTOR #$num:\n";
-       print "\t" . join("\n\t", split(/\n/, $vec->{desc})) . "\n";
-       print "VECTOR DATA FILE:\n\t$vec->{file}\n";
-       $sha256 = $sha384 = $sha512 = "";
-       if ($cALL) {
-               $prog = $cALL;
-               $prog =~ s/\%/'$vec->{file}'/g;
-               @SHA = grep(/[a-fA-f0-9]{64,128}/, split(/\n/, `$prog`));
-               ($sha256) = grep(/(^[a-fA-F0-9]{64}$|^[a-fA-F0-9]{64}[^a-fA-F0-9]|[^a-fA-F0-9][a-fA-F0-9]{64}$|[^a-fA-F0-9][a-fA-F0-9]{64}[^a-fA-F0-9])/, @SHA);
-               ($sha384) = grep(/(^[a-fA-F0-9]{96}$|^[a-fA-F0-9]{96}[^a-fA-F0-9]|[^a-fA-F0-9][a-fA-F0-9]{96}$|[^a-fA-F0-9][a-fA-F0-9]{96}[^a-fA-F0-9])/, @SHA);
-               ($sha512) = grep(/(^[a-fA-F0-9]{128}$|^[a-fA-F0-9]{128}[^a-fA-F0-9]|[^a-fA-F0-9][a-fA-F0-9]{128}$|[^a-fA-F0-9][a-fA-F0-9]{128}[^a-fA-F0-9])/, @SHA);
-       } else {
-               if ($c256) {
-                       $prog = $c256;
-                       $prog =~ s/\%/'$vec->{file}'/g;
-                       @SHA = grep(/[a-fA-f0-9]{64,128}/, split(/\n/, `$prog`));
-                       ($sha256) = grep(/(^[a-fA-F0-9]{64}$|^[a-fA-F0-9]{64}[^a-fA-F0-9]|[^a-fA-F0-9][a-fA-F0-9]{64}$|[^a-fA-F0-9][a-fA-F0-9]{64}[^a-fA-F0-9])/, @SHA);
-               }
-               if ($c384) {
-                       $prog = $c384;
-                       $prog =~ s/\%/'$vec->{file}'/g;
-                       @SHA = grep(/[a-fA-f0-9]{64,128}/, split(/\n/, `$prog`));
-                       ($sha384) = grep(/(^[a-fA-F0-9]{96}$|^[a-fA-F0-9]{96}[^a-fA-F0-9]|[^a-fA-F0-9][a-fA-F0-9]{96}$|[^a-fA-F0-9][a-fA-F0-9]{96}[^a-fA-F0-9])/, @SHA);
-               }
-               if ($c512) {
-                       $prog = $c512;
-                       $prog =~ s/\%/'$vec->{file}'/g;
-                       @SHA = grep(/[a-fA-f0-9]{64,128}/, split(/\n/, `$prog`));
-                       ($sha512) = grep(/(^[a-fA-F0-9]{128}$|^[a-fA-F0-9]{128}[^a-fA-F0-9]|[^a-fA-F0-9][a-fA-F0-9]{128}$|[^a-fA-F0-9][a-fA-F0-9]{128}[^a-fA-F0-9])/, @SHA);
-               }
-       }
-       usage("Unable to generate any hashes for file '$vec->{file}'!\n") if (!$sha256 && !$sha384 && $sha512);
-       $sha256 =~ tr/A-F/a-f/;
-       $sha384 =~ tr/A-F/a-f/;
-       $sha512 =~ tr/A-F/a-f/;
-       $sha256 =~ s/^.*([a-f0-9]{64}).*$/$1/;
-       $sha384 =~ s/^.*([a-f0-9]{96}).*$/$1/;
-       $sha512 =~ s/^.*([a-f0-9]{128}).*$/$1/;
-
-       if ($sha256 && $hashes & 1 == 1) {
-               if ($vec->{sha256} eq $sha256) {
-                       print "SHA256 MATCHES:\n\t$sha256\n"
-               } else {
-                       print "SHA256 DOES NOT MATCH:\n\tEXPECTED:\n\t\t$vec->{sha256}\n" .
-                             "\tGOT:\n\t\t$sha256\n\n";
-                       $error256++;
-               }
-               $test256++;
-       }
-       if ($sha384 && $hashes & 2 == 2) {
-               if ($vec->{sha384} eq $sha384) {
-                       print "SHA384 MATCHES:\n\t" . substr($sha384, 0, 64) . "\n\t" .
-                             substr($sha384, -32) . "\n";
-               } else {
-                       print "SHA384 DOES NOT MATCH:\n\tEXPECTED:\n\t\t" .
-                             substr($vec->{sha384}, 0, 64) . "\n\t\t" .
-                             substr($vec->{sha384}, -32) . "\n\tGOT:\n\t\t" .
-                             substr($sha384, 0, 64) . "\n\t\t" . substr($sha384, -32) . "\n\n";
-                       $error384++;
-               }
-               $test384++;
-       }
-       if ($sha512 && $hashes & 4 == 4) {
-               if ($vec->{sha512} eq $sha512) {
-                       print "SHA512 MATCHES:\n\t" . substr($sha512, 0, 64) . "\n\t" .
-                             substr($sha512, -64) . "\n";
-               } else {
-                       print "SHA512 DOES NOT MATCH:\n\tEXPECTED:\n\t\t" .
-                             substr($vec->{sha512}, 0, 64) . "\n\t\t" .
-                             substr($vec->{sha512}, -32) . "\n\tGOT:\n\t\t" .
-                             substr($sha512, 0, 64) . "\n\t\t" . substr($sha512, -64) . "\n\n";
-                       $error512++;
-               }
-               $test512++;
-       }
-}
-
-$errors = $error256 + $error384 + $error512;
-$tests = $test256 + $test384 + $test512;
-print "\n\n===== RESULTS ($num VECTOR DATA FILES HASHED) =====\n\n";
-print "HASH TYPE\tNO. OF TESTS\tPASSED\tFAILED\n";
-print "---------\t------------\t------\t------\n";
-if ($test256) {
-       $pass = $test256 - $error256;
-       print "SHA-256\t\t".substr("           $test256", -12)."\t".substr("     $pass", -6)."\t".substr("     $error256", -6)."\n";
-}
-if ($test384) {
-       $pass = $test384 - $error384;
-       print "SHA-384\t\t".substr("           $test384", -12)."\t".substr("     $pass", -6)."\t".substr("     $error384", -6)."\n";
-}
-if ($test512) {
-       $pass = $test512 - $error512;
-       print "SHA-512\t\t".substr("           $test512", -12)."\t".substr("     $pass", -6)."\t".substr("     $error512", -6)."\n";
-}
-print "----------------------------------------------\n";
-$pass = $tests - $errors;
-print "TOTAL:          ".substr("           $tests", -12)."\t".substr("     $pass", -6)."\t".substr("     $errors", -6)."\n\n";
-print "NO ERRORS!  ALL TESTS WERE SUCCESSFUL!\n\n" if (!$errors);
-
diff --git a/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector001.dat b/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector001.dat
deleted file mode 100644 (file)
index f2ba8f8..0000000
+++ /dev/null
@@ -1 +0,0 @@
-abc
\ No newline at end of file
diff --git a/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector001.info b/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector001.info
deleted file mode 100644 (file)
index 57b444e..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-DESCRIPTION:
-    This test vector is taken from the PDF document that describes
-    the SHA-256/384/512 algorithms.  That document contains sample
-    output for all three versions (SHA-256, SHA-384, and SHA-512).
-    
-    (Total length of test vector data: 3)
-
-FILE:
-    vector001.dat
-
-SHA256:
-    ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad
-
-SHA384:
-    cb00753f45a35e8bb5a03d699ac65007272c32ab0eded1631a8b605a43ff5bed
-    8086072ba1e7cc2358baeca134c825a7
-
-SHA512:
-    ddaf35a193617abacc417349ae20413112e6fa4e89a97ea20a9eeee64b55d39a
-    2192992a274fc1a836ba3c23a3feebbd454d4423643ce80e2a9ac94fa54ca49f
-
diff --git a/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector002.dat b/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector002.dat
deleted file mode 100644 (file)
index 199f24e..0000000
+++ /dev/null
@@ -1 +0,0 @@
-abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq
\ No newline at end of file
diff --git a/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector002.info b/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector002.info
deleted file mode 100644 (file)
index 0fc1ed3..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-DESCRIPTION:
-    The PDF document only provided sample output for SHA-256 using
-    this test data.  I have provided SHA-384 and SHA-512 sample
-    output from my own implementation which may not be correct.
-    
-    (Total length of test vector data: 56)
-
-FILE:
-    vector002.dat
-
-SHA256:
-    248d6a61d20638b8e5c026930c3e6039a33ce45964ff2167f6ecedd419db06c1
-
-SHA384:
-    3391fdddfc8dc7393707a65b1b4709397cf8b1d162af05abfe8f450de5f36bc6
-    b0455a8520bc4e6f5fe95b1fe3c8452b
-
-SHA512:
-    204a8fc6dda82f0a0ced7beb8e08a41657c16ef468b228a8279be331a703c335
-    96fd15c13b1b07f9aa1d3bea57789ca031ad85c7a71dd70354ec631238ca3445
-
diff --git a/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector003.dat b/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector003.dat
deleted file mode 100644 (file)
index 4674ea4..0000000
+++ /dev/null
@@ -1 +0,0 @@
-abcdefghbcdefghicdefghijdefghijkefghijklfghijklmghijklmnhijklmnoijklmnopjklmnopqklmnopqrlmnopqrsmnopqrstnopqrstu
\ No newline at end of file
diff --git a/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector003.info b/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector003.info
deleted file mode 100644 (file)
index 17a2ad8..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-DESCRIPTION:
-    For this test data (from the PDF document), no example output
-    was provided for SHA-256 (SHA-384 and SHA-512 samples were
-    provided), so the sample for SHA-256 comes from the output of
-    my own implementation and so may not be correct.
-    
-    (Total length of test vector data: 112)
-
-FILE:
-    vector003.dat
-
-SHA256:
-    cf5b16a778af8380036ce59e7b0492370b249b11e8f07a51afac45037afee9d1
-
-SHA384:
-    09330c33f71147e83d192fc782cd1b4753111b173b3b05d22fa08086e3b0f712
-    fcc7c71a557e2db966c3e9fa91746039
-
-SHA512:
-    8e959b75dae313da8cf4f72814fc143f8f7779c6eb9f7fa17299aeadb6889018
-    501d289e4900f7e4331b99dec4b5433ac7d329eeb6dd26545e96e55b874be909
-
diff --git a/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector004.dat b/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector004.dat
deleted file mode 100644 (file)
index 3d71eba..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Four score and seven years ago our fathers brought forth on this continent, a new nation, conceived in Liberty, and dedicated to the proposition that all men are created equal.  Now we are engaged in a great civil war, testing whether that nation, or any nation so conceived and so dedicated, can long endure. We are met on a great battlefield of that war.  We have come to dedicate a portion of that field, as a final resting place for those who here gave their lives that that nation might live.  It is altogether fitting and proper that we should do this.  But, in a larger sense, we can not dedicate--we can not consecrate--we can not hallow--this ground.  The brave men, living and dead, who struggled here, have consecrated it, far above our poor power to add or detract.  The world will little note, nor long remember what we say here, but it can never forget what they did here.  It is for us the living, rather, to be dedicated here to the unfinished work which they who fought here have thus far so nobly advanced.  It is rather for us to be here dedicated to the great task remaining before us--that from these honored dead we take increased devotion to that cause for which they gave the last full measure of devotion--that we here highly resolve that these dead shall not have died in vain--that this nation, under God, shall have a new birth of freedom--and that government of the people, by the people, for the people, shall not perish from the earth.  -- President Abraham Lincoln, November 19, 1863
\ No newline at end of file
diff --git a/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector004.info b/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector004.info
deleted file mode 100644 (file)
index eed148c..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-DESCRIPTION:
-    The output samples for this test vector come exclusively from my
-    own implementation and so may be completely incorrect.  Use with
-    a very large grain of salt.  The input sample comes from...well
-    most anyone in the U.S. will know and many outside the U.S. too.
-    
-    (Total length of test vector data: 1515)
-
-FILE:
-    vector004.dat
-
-SHA256:
-    4d25fccf8752ce470a58cd21d90939b7eb25f3fa418dd2da4c38288ea561e600
-
-SHA384:
-    69cc75b95280bdd9e154e743903e37b1205aa382e92e051b1f48a6db9d0203f8
-    a17c1762d46887037275606932d3381e
-
-SHA512:
-    23450737795d2f6a13aa61adcca0df5eef6df8d8db2b42cd2ca8f783734217a7
-    3e9cabc3c9b8a8602f8aeaeb34562b6b1286846060f9809b90286b3555751f09
-
diff --git a/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector005.dat b/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector005.dat
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector005.info b/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector005.info
deleted file mode 100644 (file)
index 37602d3..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-DESCRIPTION:
-    The output samples for this test vector come exclusively from my
-    own implementation and so may be completely incorrect.  Use with
-    a very large grain of salt.  The input sample is EMPTY (no bits).
-    Mr. David A. Ireland's SHA-256 implementation agrees with my own
-    implementation on the output of this test vector (SHA-256 only).
-    
-    (Total length of test vector data: 0)
-
-FILE:
-    vector005.dat
-
-SHA256:
-    e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
-
-SHA384:
-    38b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e1da
-    274edebfe76f65fbd51ad2f14898b95b
-
-SHA512:
-    cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce
-    47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e
-
diff --git a/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector006.dat b/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector006.dat
deleted file mode 100644 (file)
index 7caf161..0000000
+++ /dev/null
@@ -1 +0,0 @@
-This is exactly 64 bytes long, not counting the terminating byte
\ No newline at end of file
diff --git a/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector006.info b/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector006.info
deleted file mode 100644 (file)
index 2a0d78a..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-DESCRIPTION:
-    The output samples for thi test vector come exclusively from my
-    own implementation and so may be completely incorrect.  Use with
-    a very large grain of salt.  The input sample exactly the same
-    length as the SHA-256 block length.
-    
-    (Total length of test vector data: 64)
-
-FILE:
-    vector006.dat
-
-SHA256:
-    ab64eff7e88e2e46165e29f2bce41826bd4c7b3552f6b382a9e7d3af47c245f8
-
-SHA384:
-    e28e35e25a1874908bf0958bb088b69f3d742a753c86993e9f4b1c4c21988f95
-    8bd1fe0315b195aca7b061213ac2a9bd
-
-SHA512:
-    70aefeaa0e7ac4f8fe17532d7185a289bee3b428d950c14fa8b713ca09814a38
-    7d245870e007a80ad97c369d193e41701aa07f3221d15f0e65a1ff970cedf030
-
diff --git a/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector007.dat b/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector007.dat
deleted file mode 100644 (file)
index 1caf01b..0000000
+++ /dev/null
@@ -1 +0,0 @@
-For this sample, this 63-byte string will be used as input data
\ No newline at end of file
diff --git a/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector007.info b/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector007.info
deleted file mode 100644 (file)
index fad860d..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-DESCRIPTION:
-    The output samples for thi test vector come exclusively from my
-    own implementation and so may be completely incorrect.  Use with
-    a very large grain of salt.  The input sample one byte shorter
-    than the SHA-256 block length.
-    
-    (Total length of test vector data: 63)
-
-FILE:
-    vector007.dat
-
-SHA256:
-    f08a78cbbaee082b052ae0708f32fa1e50c5c421aa772ba5dbb406a2ea6be342
-
-SHA384:
-    37b49ef3d08de53e9bd018b0630067bd43d09c427d06b05812f48531bce7d2a6
-    98ee2d1ed1ffed46fd4c3b9f38a8a557
-
-SHA512:
-    b3de4afbc516d2478fe9b518d063bda6c8dd65fc38402dd81d1eb7364e72fb6e
-    6663cf6d2771c8f5a6da09601712fb3d2a36c6ffea3e28b0818b05b0a8660766
-
diff --git a/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector008.dat b/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector008.dat
deleted file mode 100644 (file)
index baae226..0000000
+++ /dev/null
@@ -1 +0,0 @@
-And this textual data, astonishing as it may appear, is exactly 128 bytes in length, as are both SHA-384 and SHA-512 block sizes
\ No newline at end of file
diff --git a/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector008.info b/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector008.info
deleted file mode 100644 (file)
index 22cfd81..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-DESCRIPTION:
-    The output samples for thi test vector come exclusively from my
-    own implementation and so may be completely incorrect.  Use with
-    a very large grain of salt.  The input sample exactly the same
-    length as the SHA-384 and SHA-512 block lengths.
-    
-    (Total length of test vector data: 128)
-
-FILE:
-    vector008.dat
-
-SHA256:
-    0ab803344830f92089494fb635ad00d76164ad6e57012b237722df0d7ad26896
-
-SHA384:
-    e3e3602f4d90c935321d788f722071a8809f4f09366f2825cd85da97ccd2955e
-    b6b8245974402aa64789ed45293e94ba
-
-SHA512:
-    97fb4ec472f3cb698b9c3c12a12768483e5b62bcdad934280750b4fa4701e5e0
-    550a80bb0828342c19631ba55a55e1cee5de2fda91fc5d40e7bee1d4e6d415b3
-
diff --git a/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector009.dat b/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector009.dat
deleted file mode 100644 (file)
index 9c64af4..0000000
+++ /dev/null
@@ -1 +0,0 @@
-By hashing data that is one byte less than a multiple of a hash block length (like this 127-byte string), bugs may be revealed.
\ No newline at end of file
diff --git a/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector009.info b/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector009.info
deleted file mode 100644 (file)
index d5fe515..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-DESCRIPTION:
-    The output samples for thi test vector come exclusively from my
-    own implementation and so may be completely incorrect.  Use with
-    a very large grain of salt.  The input sample is one byte shorter
-    in length than the SHA-384 and SHA-512 block lengths.
-    
-    (Total length of test vector data: 127)
-
-FILE:
-    vector009.dat
-
-SHA256:
-    e4326d0459653d7d3514674d713e74dc3df11ed4d30b4013fd327fdb9e394c26
-
-SHA384:
-    1ca650f38480fa9dfb5729636bec4a935ebc1cd4c0055ee50cad2aa627e06687
-    1044fd8e6fdb80edf10b85df15ba7aab
-
-SHA512:
-    d399507bbf5f2d0da51db1ff1fc51c1c9ff1de0937e00d01693b240e84fcc340
-    0601429f45c297acc6e8fcf1e4e4abe9ff21a54a0d3d88888f298971bd206cd5
-
diff --git a/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector010.dat b/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector010.dat
deleted file mode 100644 (file)
index f1681bc..0000000
Binary files a/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector010.dat and /dev/null differ
diff --git a/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector010.info b/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector010.info
deleted file mode 100644 (file)
index df7717d..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-DESCRIPTION:
-    The output samples for thi test vector come exclusively from my
-    own implementation and so may be completely incorrect.  Use with
-    a very large grain of salt.  The input sample is exactly 5 times
-    size of the SHA-256 block length.
-    
-    (Total length of test vector data: 320)
-
-FILE:
-    vector010.dat
-
-SHA256:
-    a7f001d996dd25af402d03b5f61aef950565949c1a6ad5004efa730328d2dbf3
-
-SHA384:
-    b8261ddcd7df7b3969a516b72550de6fbf0e394a4a7bb2bbc60ec603c2ceff64
-    3c5bf62bc6dcbfa5beb54b62d750b969
-
-SHA512:
-    caf970d3638e21053173a638c4b94d6d1ff87bc47b58f8ee928fbe9e245c23ab
-    f81019e45bf017ecc8610e5e0b95e3b025ccd611a772ca4fb3dfba26f0859725
-
diff --git a/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector011.dat b/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector011.dat
deleted file mode 100644 (file)
index d1609a9..0000000
Binary files a/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector011.dat and /dev/null differ
diff --git a/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector011.info b/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector011.info
deleted file mode 100644 (file)
index f36988c..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-DESCRIPTION:
-    The output samples for thi test vector come exclusively from my
-    own implementation and so may be completely incorrect.  Use with
-    a very large grain of salt.  The input sample is one byte less
-    than 7 times the size of the SHA-256 block length.
-    
-    (Total length of test vector data: 447)
-
-FILE:
-    vector011.dat
-
-SHA256:
-    6dcd63a07b0922cc3a9b3315b158478681cc32543b0a4180abe58a73c5e14cc2
-
-SHA384:
-    548e4e9a1ff57f469ed47b023bf5279dfb4d4ca08c65051e3a5c41fab84479a2
-    05496276906008b4b3c5b0970b2f5446
-
-SHA512:
-    ee5d07460183b130687c977e9f8d43110989b0864b18fe6ee00a53dec5eda111
-    f3aaa3bac7ab8dae26ed545a4de33ed45190f18fa0c327c44642ab9424265330
-
diff --git a/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector012.dat b/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector012.dat
deleted file mode 100644 (file)
index d74f1db..0000000
Binary files a/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector012.dat and /dev/null differ
diff --git a/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector012.info b/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector012.info
deleted file mode 100644 (file)
index a1574e1..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-DESCRIPTION:
-    The output samples for thi test vector come exclusively from my
-    own implementation and so may be completely incorrect.  Use with
-    a very large grain of salt.  The input sample is exactly 5 times
-    size of the SHA-384 and SHA-512 block lengths.
-    
-    (Total length of test vector data: 640)
-
-FILE:
-    vector012.dat
-
-SHA256:
-    af6ebfde7d93d5badb6cde6287ecc2061c1cafc5b1c1217cd984fbcdb9c61aaa
-
-SHA384:
-    c6fec3a3278dd6b5afc8c0971d32d38faf5802f1a21527c32563b32a1ac34065
-    6b433b44fe2648aa2232206f4301193a
-
-SHA512:
-    73ffeb67716c3495fbc33f2d62fe08e2616706a5599881c7e67e9ef2b68f4988
-    ea8b3b604ba87e50b07962692705c420fa31a00be41d6aaa9f3b11eafe9cf49b
-
diff --git a/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector013.dat b/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector013.dat
deleted file mode 100644 (file)
index cc8a8ae..0000000
Binary files a/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector013.dat and /dev/null differ
diff --git a/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector013.info b/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector013.info
deleted file mode 100644 (file)
index 4fbd4cb..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-DESCRIPTION:
-    The output samples for thi test vector come exclusively from my
-    own implementation and so may be completely incorrect.  Use with
-    a very large grain of salt.  The input sample is one byte short
-    of 17 times size of the SHA-384 and SHA-512 block lengths.
-    
-    (Total length of test vector data: 2175)
-
-FILE:
-    vector013.dat
-
-SHA256:
-    8ff59c6d33c5a991088bc44dd38f037eb5ad5630c91071a221ad6943e872ac29
-
-SHA384:
-    92dca5655229b3c34796a227ff1809e273499adc2830149481224e0f54ff4483
-    bd49834d4865e508ef53d4cd22b703ce
-
-SHA512:
-    0e928db6207282bfb498ee871202f2337f4074f3a1f5055a24f08e912ac118f8
-    101832cdb9c2f702976e629183db9bacfdd7b086c800687c3599f15de7f7b9dd
-
diff --git a/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector014.dat b/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector014.dat
deleted file mode 100644 (file)
index 6ee6629..0000000
Binary files a/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector014.dat and /dev/null differ
diff --git a/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector014.info b/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector014.info
deleted file mode 100644 (file)
index 1780afc..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-DESCRIPTION:
-    The output samples for thi test vector come exclusively from my
-    own implementation and so may be completely incorrect.  Use with
-    a very large grain of salt.  The input sample 4 KB of misc.
-    data.
-    
-    (Total length of test vector data: 16384)
-
-FILE:
-    vector014.dat
-
-SHA256:
-    1818e87564e0c50974ecaabbb2eb4ca2f6cc820234b51861e2590be625f1f703
-
-SHA384:
-    310fbb2027bdb7042f0e09e7b092e9ada506649510a7aa029825c8e8019e9c30
-    749d723f2de1bd8c043d8d89d3748c2f
-
-SHA512:
-    a001636f3ff1ce34f432f8e8f7785b78be84318beb8485a406650a8b243c419f
-    7db6435cf6bf3000c6524adb5b52bad01afb76b3ceff701331e18b85b0e4cbd3
-
diff --git a/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector015.dat b/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector015.dat
deleted file mode 100644 (file)
index 7d63021..0000000
+++ /dev/null
@@ -1 +0,0 @@
-qwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwerty
\ No newline at end of file
diff --git a/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector015.info b/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector015.info
deleted file mode 100644 (file)
index d035782..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-DESCRIPTION:
-    This is yet another of my own test vectors for a larger
-    input data set.  The input data is the string "qwerty
-    repeated 65536 times.
-    
-    (Total length of test vector data: 393216)
-
-FILE:
-    vector015.dat
-
-SHA256:
-    5e3dfe0cc98fd1c2de2a9d2fd893446da43d290f2512200c515416313cdf3192
-
-SHA384:
-    0d5e45317bc7997cb9c8a23bad9bac9170d5bc81789b51af6bcd74ace379fd64
-    9a2b48cb56c4cb4ec1477e6933329e0e
-
-SHA512:
-    735bd6bebfe6f8070d70069105bc761f35ed1ac3742f2e372fdc14d2a51898e6
-    153ccaff9073324130abdc451c730dc5dab5a0452487b1171c4dd97f92e267b7
-
diff --git a/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector016.dat b/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector016.dat
deleted file mode 100644 (file)
index fc00891..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Rijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AESRijndael is AES
\ No newline at end of file
diff --git a/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector016.info b/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector016.info
deleted file mode 100644 (file)
index effb114..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-DESCRIPTION:
-    This test vector came from Brian LaMacchia in his e-mail
-    message containing several samples of output from his SHA-256
-    and SHA-512 implementations.  My own implementations match
-    his output exactly.  The input data data set is the string
-    "Rijndael is AES" repeated 1024 times.
-    
-    (Total length of test vector data: 15360)
-
-FILE:
-    vector016.dat
-
-SHA256:
-    80fced5a97176a5009207cd119551b42c5b51ceb445230d02ecc2663bbfb483a
-
-SHA384:
-    aa1e77c094e5ce6db81a1add4c095201d020b7f8885a4333218da3b799b9fc42
-    f00d60cd438a1724ae03bd7b515b739b
-
-SHA512:
-    fae25ec70bcb3bbdef9698b9d579da49db68318dbdf18c021d1f76aaceff9628
-    38873235597e7cce0c68aabc610e0deb79b13a01c302abc108e459ddfbe9bee8
-
diff --git a/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector017.dat b/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector017.dat
deleted file mode 100644 (file)
index 4272d97..0000000
Binary files a/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector017.dat and /dev/null differ
diff --git a/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector017.info b/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector017.info
deleted file mode 100644 (file)
index 5d6c632..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-DESCRIPTION:
-    Rogier van de Pol notified me that my implementation differed
-    with several others on several test data sets he had tested
-    against.  This test vector data set is one Rogier provided
-    to me that highlighted an off-by-one bug in my implementation
-    that affected SHA-256/384/512 hashes where the data set length
-    was of a certain length.  In the case of SHA512 or SHA384, if
-    the data length after subtracting 111 was an even multiple of
-    128 bytes, the bug surfaced.  In the case of SHA256, after
-    subtracting 55, the remaining length was an even multiple of 64,
-    the bug surfaced.  The fix was simple.  In SHA512_Last() and in
-    SHA256_Final() functions,  I simply replaced a single "<" test
-    with a "<=" test.
-
-    Thanks, Rogier!
-   
-    (Total length of test vector data: 12271)
-
-FILE:
-    vector017.dat
-
-SHA256:
-    88ee6ada861083094f4c64b373657e178d88ef0a4674fce6e4e1d84e3b176afb
-
-SHA384:
-    78cc6402a29eb984b8f8f888ab0102cabe7c06f0b9570e3d8d744c969db14397
-    f58ecd14e70f324bf12d8dd4cd1ad3b2
-
-SHA512:
-    211bec83fbca249c53668802b857a9889428dc5120f34b3eac1603f13d1b4796
-    5c387b39ef6af15b3a44c5e7b6bbb6c1096a677dc98fc8f472737540a332f378
-
diff --git a/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector018.dat b/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector018.dat
deleted file mode 100644 (file)
index cc8a8d1..0000000
Binary files a/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector018.dat and /dev/null differ
diff --git a/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector018.info b/external/wakaama/examples/shared/tinydtls/sha2/testvectors/testvectors/vector018.info
deleted file mode 100644 (file)
index 7ee3444..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-DESCRIPTION:
-    I added this vector after fixing a bug first discovered by
-    Rogier van de Pol.  The length of this data set is designed to
-    test for that bug or similar bugs in SHA-256 hashes.  The bug
-    was an off-by-one bug where I used a "<" test instead of a "<="
-    test in SHA256_Final().  Whenever data set lengths were an even
-    multiple of 64 after subtracting 55, the bug showed up.  The
-    fix was easy, once the problem was fully diagnosed.
-
-    Thanks, Rogier!
-   
-    (Total length of test vector data: 1079)
-
-FILE:
-    vector018.dat
-
-SHA256:
-    5a2e925a7f8399fa63a20a1524ae83a7e3c48452f9af4df493c8c51311b04520
-
-SHA384:
-    72ec26cc742bc5fb1ef82541c9cadcf01a15c8104650d305f24ec8b006d7428e
-    8ebe2bb320a465dbdd5c6326bbd8c9ad
-
-SHA512:
-    ebad464e6d9f1df7e8aadff69f52db40a001b253fbf65a018f29974dcc7fbf8e
-    58b69e247975fbadb4153d7289357c9b6212752d0ab67dd3d9bbc0bb908aa98c
diff --git a/external/wakaama/examples/shared/tinydtls/state.h b/external/wakaama/examples/shared/tinydtls/state.h
deleted file mode 100644 (file)
index 72df125..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-/* dtls -- a very basic DTLS implementation
- *
- * Copyright (C) 2011--2013 Olaf Bergmann <bergmann@tzi.org>
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-/**
- * @file state.h
- * @brief state information for DTLS FSM
- */
-
-#ifndef _DTLS_STATE_H_
-#define _DTLS_STATE_H_
-
-#include <sys/types.h>
-#include <stdint.h>
-
-#include "global.h"
-#include "hmac.h"
-
-typedef enum { 
-  DTLS_STATE_INIT = 0, DTLS_STATE_WAIT_CLIENTHELLO, DTLS_STATE_WAIT_CLIENTCERTIFICATE,
-  DTLS_STATE_WAIT_CLIENTKEYEXCHANGE, DTLS_STATE_WAIT_CERTIFICATEVERIFY,
-  DTLS_STATE_WAIT_CHANGECIPHERSPEC,
-  DTLS_STATE_WAIT_FINISHED, DTLS_STATE_FINISHED, 
-  /* client states */
-  DTLS_STATE_CLIENTHELLO, DTLS_STATE_WAIT_SERVERCERTIFICATE, DTLS_STATE_WAIT_SERVERKEYEXCHANGE,
-  DTLS_STATE_WAIT_SERVERHELLODONE,
-
-  DTLS_STATE_CONNECTED,
-  DTLS_STATE_CLOSING,
-  DTLS_STATE_CLOSED
-} dtls_state_t;
-
-typedef struct {
-  uint16_t mseq_s;          /**< send handshake message sequence number counter */
-  uint16_t mseq_r;          /**< received handshake message sequence number counter */
-
-  /** pending config that is updated during handshake */
-  /* FIXME: dtls_security_parameters_t pending_config; */
-
-  /* temporary storage for the final handshake hash */
-  dtls_hash_ctx hs_hash;
-} dtls_hs_state_t;
-#endif /* _DTLS_STATE_H_ */
diff --git a/external/wakaama/examples/shared/tinydtls/t_list.h b/external/wakaama/examples/shared/tinydtls/t_list.h
deleted file mode 100644 (file)
index eb72991..0000000
+++ /dev/null
@@ -1,147 +0,0 @@
-/* t_list -- tinydtls lists
- *
- * Copyright (C) 2012 Olaf Bergmann <bergmann@tzi.org>
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-/**
- * @file t_list.h
- * @brief Wrappers for list structures and functions
- */
-
-#ifndef _DTLS_LIST_H_
-#define _DTLS_LIST_H_
-
-#include "tinydtls.h"
-
-#ifndef WITH_CONTIKI
-#include "uthash.h"
-#include "utlist.h"
-
-/* We define list structures and utility functions to be compatible
- * with Contiki list structures. The Contiki list API is part of the
- * Contiki operating system, and therefore the following licensing
- * terms apply (taken from contiki/core/lib/list.h):
- *
- * Copyright (c) 2004, Swedish Institute of Computer Science.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the Institute nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * This file is part of the Contiki operating system.
- *
- * Author: Adam Dunkels <adam@sics.se>
- *
- * $ Id: list.h,v 1.5 2010/09/13 13:31:00 adamdunkels Exp $
- */
-
-typedef void **list_t;
-struct list {
-  struct list *next;
-};
-
-#define LIST_CONCAT(s1, s2) s1##s2
-
-#define LIST_STRUCT(name)                      \
-  void *LIST_CONCAT(name, _list);              \
-  list_t name
-
-#define LIST_STRUCT_INIT(struct_ptr, name)  {                          \
-    (struct_ptr)->name = &((struct_ptr)->LIST_CONCAT(name,_list));     \
-    (struct_ptr)->LIST_CONCAT(name,_list) = NULL;                      \
-  }
-
-static inline void *
-list_head(list_t list) {
-  return *list;
-}
-
-static inline void 
-list_remove(list_t list, void *item) {
-  LL_DELETE(*(struct list **)list, (struct list *)item);
-}
-
-static inline void 
-list_add(list_t list, void *item) {
-  list_remove(list, item);
-  LL_APPEND(*(struct list **)list, (struct list *)item);
-}
-
-static inline void 
-list_push(list_t list, void *item) {
-  LL_PREPEND(*(struct list **)list, (struct list *)item);
-}
-
-static inline void *
-list_pop(list_t list) {
-  struct list *l;
-  l = *list;
-  if(l)
-    list_remove(list, l);
-  
-  return l;
-}
-
-static inline void
-list_insert(list_t list, void *previtem, void *newitem) {
-  if(previtem == NULL) {
-    list_push(list, newitem);
-  } else {
-    ((struct list *)newitem)->next = ((struct list *)previtem)->next;
-    ((struct list *)previtem)->next = newitem;
-  } 
-}
-
-static inline void *
-list_item_next(void *item)
-{
-  return item == NULL? NULL: ((struct list *)item)->next;
-}
-
-#else /* WITH_CONTIKI */
-#include "list.h"
-#endif /* WITH_CONTIKI */
-
-#endif /* _DTLS_LIST_H_ */
-
diff --git a/external/wakaama/examples/shared/tinydtls/tests/Makefile.in b/external/wakaama/examples/shared/tinydtls/tests/Makefile.in
deleted file mode 100644 (file)
index 3a50695..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-# Makefile for tinydtls
-#
-# Copyright (C) 2011 Olaf Bergmann <bergmann@tzi.org>
-#
-# Permission is hereby granted, free of charge, to any person
-# obtaining a copy of this software and associated documentation
-# files (the "Software"), to deal in the Software without
-# restriction, including without limitation the rights to use, copy,
-# modify, merge, publish, distribute, sublicense, and/or sell copies
-# of the Software, and to permit persons to whom the Software is
-# furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice shall be
-# included in all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
-# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
-# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-# SOFTWARE.
-
-# the library's version
-VERSION:=@PACKAGE_VERSION@
-
-# tools
-@SET_MAKE@
-SHELL = /bin/sh
-MKDIR = mkdir
-
-abs_builddir = @abs_builddir@
-top_builddir = @top_builddir@
-top_srcdir:= @top_srcdir@
-
-# files and flags
-SOURCES:= dtls-server.c ccm-test.c prf-test.c \
-  dtls-client.c
-  #cbc_aes128-test.c #dsrv-test.c
-OBJECTS:= $(patsubst %.c, %.o, $(SOURCES))
-PROGRAMS:= $(patsubst %.c, %, $(SOURCES))
-HEADERS:=
-CFLAGS:=-Wall @CFLAGS@ 
-CPPFLAGS:=-I$(top_srcdir) @CPPFLAGS@
-LDFLAGS:=-L$(top_builddir) 
-LDLIBS:=-ltinydtls @LIBS@
-DISTDIR=$(top_builddir)/@PACKAGE_TARNAME@-@PACKAGE_VERSION@
-FILES:=Makefile.in $(SOURCES) ccm-testdata.c #cbc_aes128-testdata.c
-
-.PHONY: all dirs clean distclean .gitignore doc
-
-.SUFFIXES:
-.SUFFIXES:      .c .o
-
-all:   $(PROGRAMS)
-
-check: 
-       echo DISTDIR: $(DISTDIR)
-       echo top_builddir: $(top_builddir)
-
-clean:
-       @rm -f $(PROGRAMS) main.o $(LIB) $(OBJECTS)
-       for dir in $(SUBDIRS); do \
-               $(MAKE) -C $$dir clean ; \
-       done
-
-doc:   
-       $(MAKE) -C doc
-
-distclean:     clean
-       @rm -rf $(DISTDIR)
-       @rm -f *~ $(DISTDIR).tar.gz
-
-dist:  $(FILES)
-       test -d $(DISTDIR)/tests || mkdir $(DISTDIR)/tests
-       cp $(FILES) $(DISTDIR)/tests
-
-# this directory contains no installation candidates
-install:
-       :
-
-.gitignore:
-       echo "core\n*~\n*.[oa]\n*.gz\n*.cap\n$(PROGRAM)\n$(DISTDIR)\n.gitignore" >$@
diff --git a/external/wakaama/examples/shared/tinydtls/tests/ccm-test.c b/external/wakaama/examples/shared/tinydtls/tests/ccm-test.c
deleted file mode 100644 (file)
index cbb7d2a..0000000
+++ /dev/null
@@ -1,96 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#ifdef HAVE_STRINGS_H
-#include <strings.h>
-#endif
-
-#ifdef WITH_CONTIKI
-#include "contiki.h"
-#include "contiki-lib.h"
-#include "contiki-net.h"
-#endif /* WITH_CONTIKI */
-
-//#include "debug.h"
-#include "numeric.h"
-#include "ccm.h"
-
-#include "ccm-testdata.c"
-
-#ifndef HAVE_FLS
-int fls(unsigned int i) {
-  int n;
-  for (n = 0; i; n++)
-    i >>= 1;
-  return n;
-}
-#endif
-
-void 
-dump(unsigned char *buf, size_t len) {
-  size_t i = 0;
-  while (i < len) {
-    printf("%02x ", buf[i++]);
-    if (i % 4 == 0)
-      printf(" ");
-    if (i % 16 == 0)
-      printf("\n\t");
-  }
-  printf("\n");
-}
-
-#ifdef WITH_CONTIKI
-PROCESS(ccm_test_process, "CCM test process");
-AUTOSTART_PROCESSES(&ccm_test_process);
-PROCESS_THREAD(ccm_test_process, ev, d)
-{
-#else  /* WITH_CONTIKI */
-int main(int argc, char **argv) {
-#endif /* WITH_CONTIKI */
-  long int len;
-  int n;
-
-  rijndael_ctx ctx;
-
-#ifdef WITH_CONTIKI
-  PROCESS_BEGIN();
-#endif /* WITH_CONTIKI */
-
-  for (n = 0; n < sizeof(data)/sizeof(struct test_vector); ++n) {
-
-    if (rijndael_set_key_enc_only(&ctx, data[n].key, 8*sizeof(data[n].key)) < 0) {
-      fprintf(stderr, "cannot set key\n");
-      return -1;
-    }
-
-    len = dtls_ccm_encrypt_message(&ctx, data[n].M, data[n].L, data[n].nonce, 
-                                  data[n].msg + data[n].la, 
-                                  data[n].lm - data[n].la, 
-                                  data[n].msg, data[n].la);
-    
-    len +=  + data[n].la;
-    printf("Packet Vector #%d ", n+1);
-    if (len != data[n].r_lm || memcmp(data[n].msg, data[n].result, len))
-      printf("FAILED, ");
-    else 
-      printf("OK, ");
-    
-    printf("result is (total length = %lu):\n\t", len);
-    dump(data[n].msg, len);
-
-    len = dtls_ccm_decrypt_message(&ctx, data[n].M, data[n].L, data[n].nonce, 
-                                  data[n].msg + data[n].la, len - data[n].la, 
-                                  data[n].msg, data[n].la);
-    
-    if (len < 0)
-      printf("Packet Vector #%d: cannot decrypt message\n", n+1);
-    else 
-      printf("\t*** MAC verified (total length = %lu) ***\n", len + data[n].la);
-  }
-
-#ifdef WITH_CONTIKI
-  PROCESS_END();
-#else /* WITH_CONTIKI */
-  return 0;
-#endif /* WITH_CONTIKI */
-}
diff --git a/external/wakaama/examples/shared/tinydtls/tests/ccm-testdata.c b/external/wakaama/examples/shared/tinydtls/tests/ccm-testdata.c
deleted file mode 100644 (file)
index f0da4ae..0000000
+++ /dev/null
@@ -1,395 +0,0 @@
-/* dtls -- a very basic DTLS implementation
- *
- * Copyright (C) 2011 Olaf Bergmann <bergmann@tzi.org>
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-/* test vectors from RFC 3610 */
-
-struct test_vector {
-  size_t M, L;
-  size_t lm;                   /* overall message length */
-  size_t la;                   /* number of bytes additional data */
-  unsigned char key[DTLS_CCM_BLOCKSIZE];
-  unsigned char nonce[DTLS_CCM_BLOCKSIZE];
-  unsigned char msg[200];
-  size_t r_lm;                 /* overall result length */
-  unsigned char result[200];   /* result */
-};
-
-struct test_vector data[] = {
-  /* #1 */
-  { 8, 2, 31, 8,
-    { 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF}, /* AES key */
-    { 0x00, 0x00, 0x00, 0x03, 0x02, 0x01, 0x00, 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5},   /* Nonce */
-    { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E},       /* msg */
-    39,        /* length of result */
-    { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x58, 0x8C, 0x97, 0x9A, 0x61, 0xC6, 0x63, 0xD2, 0xF0, 0x66, 0xD0, 0xC2, 0xC0, 0xF9, 0x89, 0x80, 0x6D, 0x5F, 0x6B, 0x61, 0xDA, 0xC3, 0x84, 0x17, 0xE8, 0xD1, 0x2C, 0xFD, 0xF9, 0x26, 0xE0}        /* result */
-  },
-  
-  /* #2 */
-  { 8, 2, 32, 8,
-    { 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF}, /* AES key */
-    { 0x00, 0x00, 0x00, 0x04, 0x03, 0x02, 0x01, 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5},   /* Nonce */
-    { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F}, /* msg */
-    40,        /* length of result */
-    { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x72, 0xC9, 0x1A, 0x36, 0xE1, 0x35, 0xF8, 0xCF, 0x29, 0x1C, 0xA8, 0x94, 0x08, 0x5C, 0x87, 0xE3, 0xCC, 0x15, 0xC4, 0x39, 0xC9, 0xE4, 0x3A, 0x3B, 0xA0, 0x91, 0xD5, 0x6E, 0x10, 0x40, 0x09, 0x16}  /* result */
-  },
-
-  /* #3 */
-  { 8, 2, 33, 8,
-    { 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF}, /* AES key */
-    { 0x00, 0x00, 0x00, 0x05, 0x04, 0x03, 0x02, 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5},   /* Nonce */
-    { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20},   /* msg */
-    41,        /* length of result */
-    { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x51, 0xB1, 0xE5, 0xF4, 0x4A, 0x19, 0x7D, 0x1D, 0xA4, 0x6B, 0x0F, 0x8E, 0x2D, 0x28, 0x2A, 0xE8, 0x71, 0xE8, 0x38, 0xBB, 0x64, 0xDA, 0x85, 0x96, 0x57, 0x4A, 0xDA, 0xA7, 0x6F, 0xBD, 0x9F, 0xB0, 0xC5}    /* result */
-  },
-
-  /* #4 */
-  { 8, 2, 31, 12,
-    { 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF}, /* AES key */
-    { 0x00, 0x00, 0x00, 0x06, 0x05, 0x04, 0x03, 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5},   /* Nonce */
-    { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E},       /* msg */
-    39,        /* length of result */
-    { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0xA2, 0x8C, 0x68, 0x65, 0x93, 0x9A, 0x9A, 0x79, 0xFA, 0xAA, 0x5C, 0x4C, 0x2A, 0x9D, 0x4A, 0x91, 0xCD, 0xAC, 0x8C, 0x96, 0xC8, 0x61, 0xB9, 0xC9, 0xE6, 0x1E, 0xF1}        /* result */
-  },
-
-  /* #5 */
-  { 8, 2, 32, 12,
-    { 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF}, /* AES key */
-    { 0x00, 0x00, 0x00, 0x07, 0x06, 0x05, 0x04, 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5},   /* Nonce */
-    { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F}, /* msg */
-    40,        /* length of result */
-    { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0xDC, 0xF1, 0xFB, 0x7B, 0x5D, 0x9E, 0x23, 0xFB, 0x9D, 0x4E, 0x13, 0x12, 0x53, 0x65, 0x8A, 0xD8, 0x6E, 0xBD, 0xCA, 0x3E, 0x51, 0xE8, 0x3F, 0x07, 0x7D, 0x9C, 0x2D, 0x93}  /* result */
-  },
-
-  /* #6 */
-  { 8, 2, 33, 12,
-    { 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF}, /* AES key */
-    { 0x00, 0x00, 0x00, 0x08, 0x07, 0x06, 0x05, 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5},   /* Nonce */
-    { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20},   /* msg */
-    41,        /* length of result */
-    { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x6F, 0xC1, 0xB0, 0x11, 0xF0, 0x06, 0x56, 0x8B, 0x51, 0x71, 0xA4, 0x2D, 0x95, 0x3D, 0x46, 0x9B, 0x25, 0x70, 0xA4, 0xBD, 0x87, 0x40, 0x5A, 0x04, 0x43, 0xAC, 0x91, 0xCB, 0x94}    /* result */
-  },
-
-  /* #7 */
-  { 10, 2, 31, 8,
-    { 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF}, /* AES key */
-    { 0x00, 0x00, 0x00, 0x09, 0x08, 0x07, 0x06, 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5},   /* Nonce */
-    { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E},       /* msg */
-    41,        /* length of result */
-    { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x01, 0x35, 0xD1, 0xB2, 0xC9, 0x5F, 0x41, 0xD5, 0xD1, 0xD4, 0xFE, 0xC1, 0x85, 0xD1, 0x66, 0xB8, 0x09, 0x4E, 0x99, 0x9D, 0xFE, 0xD9, 0x6C, 0x04, 0x8C, 0x56, 0x60, 0x2C, 0x97, 0xAC, 0xBB, 0x74, 0x90}    /* result */
-  },
-
-  /* #8 */
-  { 10, 2, 32, 8,
-    { 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF}, /* AES key */
-    { 0x00, 0x00, 0x00, 0x0A, 0x09, 0x08, 0x07, 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5},   /* Nonce */
-    { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F}, /* msg */
-    42,        /* length of result */
-    { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x7B, 0x75, 0x39, 0x9A, 0xC0, 0x83, 0x1D, 0xD2, 0xF0, 0xBB, 0xD7, 0x58, 0x79, 0xA2, 0xFD, 0x8F, 0x6C, 0xAE, 0x6B, 0x6C, 0xD9, 0xB7, 0xDB, 0x24, 0xC1, 0x7B, 0x44, 0x33, 0xF4, 0x34, 0x96, 0x3F, 0x34, 0xB4}      /* result */
-  },
-
-  /* #9 */
-  { 10, 2, 33, 8,
-    { 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF}, /* AES key */
-    { 0x00, 0x00, 0x00, 0x0B, 0x0A, 0x09, 0x08, 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5},   /* Nonce */
-    { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20},   /* msg */
-    43,        /* length of result */
-    { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x82, 0x53, 0x1A, 0x60, 0xCC, 0x24, 0x94, 0x5A, 0x4B, 0x82, 0x79, 0x18, 0x1A, 0xB5, 0xC8, 0x4D, 0xF2, 0x1C, 0xE7, 0xF9, 0xB7, 0x3F, 0x42, 0xE1, 0x97, 0xEA, 0x9C, 0x07, 0xE5, 0x6B, 0x5E, 0xB1, 0x7E, 0x5F, 0x4E}        /* result */
-  },
-
-  /* #10 */
-  { 10, 2, 31, 12,
-    { 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF}, /* AES key */
-    { 0x00, 0x00, 0x00, 0x0C, 0x0B, 0x0A, 0x09, 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5},   /* Nonce */
-    { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E},       /* msg */
-    41,        /* length of result */
-    { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x07, 0x34, 0x25, 0x94, 0x15, 0x77, 0x85, 0x15, 0x2B, 0x07, 0x40, 0x98, 0x33, 0x0A, 0xBB, 0x14, 0x1B, 0x94, 0x7B, 0x56, 0x6A, 0xA9, 0x40, 0x6B, 0x4D, 0x99, 0x99, 0x88, 0xDD}    /* result */
-  },
-
-  /* #11 */
-  { 10, 2, 32, 12,
-    { 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF}, /* AES key */
-    { 0x00, 0x00, 0x00, 0x0D, 0x0C, 0x0B, 0x0A, 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5},   /* Nonce */
-    { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F}, /* msg */
-    42,        /* length of result */
-    { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x67, 0x6B, 0xB2, 0x03, 0x80, 0xB0, 0xE3, 0x01, 0xE8, 0xAB, 0x79, 0x59, 0x0A, 0x39, 0x6D, 0xA7, 0x8B, 0x83, 0x49, 0x34, 0xF5, 0x3A, 0xA2, 0xE9, 0x10, 0x7A, 0x8B, 0x6C, 0x02, 0x2C}      /* result */
-  },
-
-  /* #12 */
-  { 10, 2, 33, 12,
-    { 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF}, /* AES key */
-    { 0x00, 0x00, 0x00, 0x0E, 0x0D, 0x0C, 0x0B, 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5},   /* Nonce */
-    { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20},   /* msg */
-    43,        /* length of result */
-    { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0xC0, 0xFF, 0xA0, 0xD6, 0xF0, 0x5B, 0xDB, 0x67, 0xF2, 0x4D, 0x43, 0xA4, 0x33, 0x8D, 0x2A, 0xA4, 0xBE, 0xD7, 0xB2, 0x0E, 0x43, 0xCD, 0x1A, 0xA3, 0x16, 0x62, 0xE7, 0xAD, 0x65, 0xD6, 0xDB}        /* result */
-  },
-
-  /* #13 */
-  { 8, 2, 31, 8,
-    { 0xD7, 0x82, 0x8D, 0x13, 0xB2, 0xB0, 0xBD, 0xC3, 0x25, 0xA7, 0x62, 0x36, 0xDF, 0x93, 0xCC, 0x6B}, /* AES key */
-    { 0x00, 0x41, 0x2B, 0x4E, 0xA9, 0xCD, 0xBE, 0x3C, 0x96, 0x96, 0x76, 0x6C, 0xFA},   /* Nonce */
-    { 0x0B, 0xE1, 0xA8, 0x8B, 0xAC, 0xE0, 0x18, 0xB1, 0x08, 0xE8, 0xCF, 0x97, 0xD8, 0x20, 0xEA, 0x25, 0x84, 0x60, 0xE9, 0x6A, 0xD9, 0xCF, 0x52, 0x89, 0x05, 0x4D, 0x89, 0x5C, 0xEA, 0xC4, 0x7C},       /* msg */
-    39,        /* length of result */
-    { 0x0B, 0xE1, 0xA8, 0x8B, 0xAC, 0xE0, 0x18, 0xB1, 0x4C, 0xB9, 0x7F, 0x86, 0xA2, 0xA4, 0x68, 0x9A, 0x87, 0x79, 0x47, 0xAB, 0x80, 0x91, 0xEF, 0x53, 0x86, 0xA6, 0xFF, 0xBD, 0xD0, 0x80, 0xF8, 0xE7, 0x8C, 0xF7, 0xCB, 0x0C, 0xDD, 0xD7, 0xB3}        /* result */
-  },
-
-  /* #14 */
-  { 8, 2, 32, 8,
-    { 0xD7, 0x82, 0x8D, 0x13, 0xB2, 0xB0, 0xBD, 0xC3, 0x25, 0xA7, 0x62, 0x36, 0xDF, 0x93, 0xCC, 0x6B}, /* AES key */
-    { 0x00, 0x33, 0x56, 0x8E, 0xF7, 0xB2, 0x63, 0x3C, 0x96, 0x96, 0x76, 0x6C, 0xFA},   /* Nonce */
-    { 0x63, 0x01, 0x8F, 0x76, 0xDC, 0x8A, 0x1B, 0xCB, 0x90, 0x20, 0xEA, 0x6F, 0x91, 0xBD, 0xD8, 0x5A, 0xFA, 0x00, 0x39, 0xBA, 0x4B, 0xAF, 0xF9, 0xBF, 0xB7, 0x9C, 0x70, 0x28, 0x94, 0x9C, 0xD0, 0xEC}, /* msg */
-    40,        /* length of result */
-    { 0x63, 0x01, 0x8F, 0x76, 0xDC, 0x8A, 0x1B, 0xCB, 0x4C, 0xCB, 0x1E, 0x7C, 0xA9, 0x81, 0xBE, 0xFA, 0xA0, 0x72, 0x6C, 0x55, 0xD3, 0x78, 0x06, 0x12, 0x98, 0xC8, 0x5C, 0x92, 0x81, 0x4A, 0xBC, 0x33, 0xC5, 0x2E, 0xE8, 0x1D, 0x7D, 0x77, 0xC0, 0x8A}  /* result */
-  },
-
-  /* #15 */
-  { 8, 2, 33, 8,
-    { 0xD7, 0x82, 0x8D, 0x13, 0xB2, 0xB0, 0xBD, 0xC3, 0x25, 0xA7, 0x62, 0x36, 0xDF, 0x93, 0xCC, 0x6B}, /* AES key */
-    { 0x00, 0x10, 0x3F, 0xE4, 0x13, 0x36, 0x71, 0x3C, 0x96, 0x96, 0x76, 0x6C, 0xFA},   /* Nonce */
-    { 0xAA, 0x6C, 0xFA, 0x36, 0xCA, 0xE8, 0x6B, 0x40, 0xB9, 0x16, 0xE0, 0xEA, 0xCC, 0x1C, 0x00, 0xD7, 0xDC, 0xEC, 0x68, 0xEC, 0x0B, 0x3B, 0xBB, 0x1A, 0x02, 0xDE, 0x8A, 0x2D, 0x1A, 0xA3, 0x46, 0x13, 0x2E},   /* msg */
-    41,        /* length of result */
-    { 0xAA, 0x6C, 0xFA, 0x36, 0xCA, 0xE8, 0x6B, 0x40, 0xB1, 0xD2, 0x3A, 0x22, 0x20, 0xDD, 0xC0, 0xAC, 0x90, 0x0D, 0x9A, 0xA0, 0x3C, 0x61, 0xFC, 0xF4, 0xA5, 0x59, 0xA4, 0x41, 0x77, 0x67, 0x08, 0x97, 0x08, 0xA7, 0x76, 0x79, 0x6E, 0xDB, 0x72, 0x35, 0x06}    /* result */
-  },
-
-  /* #16 */
-  { 8, 2, 31, 12,
-    { 0xD7, 0x82, 0x8D, 0x13, 0xB2, 0xB0, 0xBD, 0xC3, 0x25, 0xA7, 0x62, 0x36, 0xDF, 0x93, 0xCC, 0x6B}, /* AES key */
-    { 0x00, 0x76, 0x4C, 0x63, 0xB8, 0x05, 0x8E, 0x3C, 0x96, 0x96, 0x76, 0x6C, 0xFA},   /* Nonce */
-    { 0xD0, 0xD0, 0x73, 0x5C, 0x53, 0x1E, 0x1B, 0xEC, 0xF0, 0x49, 0xC2, 0x44, 0x12, 0xDA, 0xAC, 0x56, 0x30, 0xEF, 0xA5, 0x39, 0x6F, 0x77, 0x0C, 0xE1, 0xA6, 0x6B, 0x21, 0xF7, 0xB2, 0x10, 0x1C},       /* msg */
-    39,        /* length of result */
-    { 0xD0, 0xD0, 0x73, 0x5C, 0x53, 0x1E, 0x1B, 0xEC, 0xF0, 0x49, 0xC2, 0x44, 0x14, 0xD2, 0x53, 0xC3, 0x96, 0x7B, 0x70, 0x60, 0x9B, 0x7C, 0xBB, 0x7C, 0x49, 0x91, 0x60, 0x28, 0x32, 0x45, 0x26, 0x9A, 0x6F, 0x49, 0x97, 0x5B, 0xCA, 0xDE, 0xAF}        /* result */
-  },
-
-  /* #17 */
-  { 8, 2, 32, 12,
-    { 0xD7, 0x82, 0x8D, 0x13, 0xB2, 0xB0, 0xBD, 0xC3, 0x25, 0xA7, 0x62, 0x36, 0xDF, 0x93, 0xCC, 0x6B}, /* AES key */
-    { 0x00, 0xF8, 0xB6, 0x78, 0x09, 0x4E, 0x3B, 0x3C, 0x96, 0x96, 0x76, 0x6C, 0xFA},   /* Nonce */
-    { 0x77, 0xB6, 0x0F, 0x01, 0x1C, 0x03, 0xE1, 0x52, 0x58, 0x99, 0xBC, 0xAE, 0xE8, 0x8B, 0x6A, 0x46, 0xC7, 0x8D, 0x63, 0xE5, 0x2E, 0xB8, 0xC5, 0x46, 0xEF, 0xB5, 0xDE, 0x6F, 0x75, 0xE9, 0xCC, 0x0D}, /* msg */
-    40,        /* length of result */
-    { 0x77, 0xB6, 0x0F, 0x01, 0x1C, 0x03, 0xE1, 0x52, 0x58, 0x99, 0xBC, 0xAE, 0x55, 0x45, 0xFF, 0x1A, 0x08, 0x5E, 0xE2, 0xEF, 0xBF, 0x52, 0xB2, 0xE0, 0x4B, 0xEE, 0x1E, 0x23, 0x36, 0xC7, 0x3E, 0x3F, 0x76, 0x2C, 0x0C, 0x77, 0x44, 0xFE, 0x7E, 0x3C}  /* result */
-  },
-
-  /* #18 */
-  { 8, 2, 33, 12,
-    { 0xD7, 0x82, 0x8D, 0x13, 0xB2, 0xB0, 0xBD, 0xC3, 0x25, 0xA7, 0x62, 0x36, 0xDF, 0x93, 0xCC, 0x6B}, /* AES key */
-    { 0x00, 0xD5, 0x60, 0x91, 0x2D, 0x3F, 0x70, 0x3C, 0x96, 0x96, 0x76, 0x6C, 0xFA},   /* Nonce */
-    { 0xCD, 0x90, 0x44, 0xD2, 0xB7, 0x1F, 0xDB, 0x81, 0x20, 0xEA, 0x60, 0xC0, 0x64, 0x35, 0xAC, 0xBA, 0xFB, 0x11, 0xA8, 0x2E, 0x2F, 0x07, 0x1D, 0x7C, 0xA4, 0xA5, 0xEB, 0xD9, 0x3A, 0x80, 0x3B, 0xA8, 0x7F},   /* msg */
-    41,        /* length of result */
-    { 0xCD, 0x90, 0x44, 0xD2, 0xB7, 0x1F, 0xDB, 0x81, 0x20, 0xEA, 0x60, 0xC0, 0x00, 0x97, 0x69, 0xEC, 0xAB, 0xDF, 0x48, 0x62, 0x55, 0x94, 0xC5, 0x92, 0x51, 0xE6, 0x03, 0x57, 0x22, 0x67, 0x5E, 0x04, 0xC8, 0x47, 0x09, 0x9E, 0x5A, 0xE0, 0x70, 0x45, 0x51}    /* result */
-  },
-
-  /* #19 */
-  { 10, 2, 31, 8,
-    { 0xD7, 0x82, 0x8D, 0x13, 0xB2, 0xB0, 0xBD, 0xC3, 0x25, 0xA7, 0x62, 0x36, 0xDF, 0x93, 0xCC, 0x6B}, /* AES key */
-    { 0x00, 0x42, 0xFF, 0xF8, 0xF1, 0x95, 0x1C, 0x3C, 0x96, 0x96, 0x76, 0x6C, 0xFA},   /* Nonce */
-    { 0xD8, 0x5B, 0xC7, 0xE6, 0x9F, 0x94, 0x4F, 0xB8, 0x8A, 0x19, 0xB9, 0x50, 0xBC, 0xF7, 0x1A, 0x01, 0x8E, 0x5E, 0x67, 0x01, 0xC9, 0x17, 0x87, 0x65, 0x98, 0x09, 0xD6, 0x7D, 0xBE, 0xDD, 0x18},       /* msg */
-    41,        /* length of result */
-    { 0xD8, 0x5B, 0xC7, 0xE6, 0x9F, 0x94, 0x4F, 0xB8, 0xBC, 0x21, 0x8D, 0xAA, 0x94, 0x74, 0x27, 0xB6, 0xDB, 0x38, 0x6A, 0x99, 0xAC, 0x1A, 0xEF, 0x23, 0xAD, 0xE0, 0xB5, 0x29, 0x39, 0xCB, 0x6A, 0x63, 0x7C, 0xF9, 0xBE, 0xC2, 0x40, 0x88, 0x97, 0xC6, 0xBA}    /* result */
-  },
-
-  /* #20 */
-  { 10, 2, 32, 8,
-    { 0xD7, 0x82, 0x8D, 0x13, 0xB2, 0xB0, 0xBD, 0xC3, 0x25, 0xA7, 0x62, 0x36, 0xDF, 0x93, 0xCC, 0x6B}, /* AES key */
-    { 0x00, 0x92, 0x0F, 0x40, 0xE5, 0x6C, 0xDC, 0x3C, 0x96, 0x96, 0x76, 0x6C, 0xFA},   /* Nonce */
-    { 0x74, 0xA0, 0xEB, 0xC9, 0x06, 0x9F, 0x5B, 0x37, 0x17, 0x61, 0x43, 0x3C, 0x37, 0xC5, 0xA3, 0x5F, 0xC1, 0xF3, 0x9F, 0x40, 0x63, 0x02, 0xEB, 0x90, 0x7C, 0x61, 0x63, 0xBE, 0x38, 0xC9, 0x84, 0x37}, /* msg */
-    42,        /* length of result */
-    { 0x74, 0xA0, 0xEB, 0xC9, 0x06, 0x9F, 0x5B, 0x37, 0x58, 0x10, 0xE6, 0xFD, 0x25, 0x87, 0x40, 0x22, 0xE8, 0x03, 0x61, 0xA4, 0x78, 0xE3, 0xE9, 0xCF, 0x48, 0x4A, 0xB0, 0x4F, 0x44, 0x7E, 0xFF, 0xF6, 0xF0, 0xA4, 0x77, 0xCC, 0x2F, 0xC9, 0xBF, 0x54, 0x89, 0x44}      /* result */
-  },
-
-  /* #21 */
-  { 10, 2, 33, 8,
-    { 0xD7, 0x82, 0x8D, 0x13, 0xB2, 0xB0, 0xBD, 0xC3, 0x25, 0xA7, 0x62, 0x36, 0xDF, 0x93, 0xCC, 0x6B}, /* AES key */
-    { 0x00, 0x27, 0xCA, 0x0C, 0x71, 0x20, 0xBC, 0x3C, 0x96, 0x96, 0x76, 0x6C, 0xFA},   /* Nonce */
-    { 0x44, 0xA3, 0xAA, 0x3A, 0xAE, 0x64, 0x75, 0xCA, 0xA4, 0x34, 0xA8, 0xE5, 0x85, 0x00, 0xC6, 0xE4, 0x15, 0x30, 0x53, 0x88, 0x62, 0xD6, 0x86, 0xEA, 0x9E, 0x81, 0x30, 0x1B, 0x5A, 0xE4, 0x22, 0x6B, 0xFA},   /* msg */
-    43,        /* length of result */
-    { 0x44, 0xA3, 0xAA, 0x3A, 0xAE, 0x64, 0x75, 0xCA, 0xF2, 0xBE, 0xED, 0x7B, 0xC5, 0x09, 0x8E, 0x83, 0xFE, 0xB5, 0xB3, 0x16, 0x08, 0xF8, 0xE2, 0x9C, 0x38, 0x81, 0x9A, 0x89, 0xC8, 0xE7, 0x76, 0xF1, 0x54, 0x4D, 0x41, 0x51, 0xA4, 0xED, 0x3A, 0x8B, 0x87, 0xB9, 0xCE}        /* result */
-  },
-
-  /* #22 */
-  { 10, 2, 31, 12,
-    { 0xD7, 0x82, 0x8D, 0x13, 0xB2, 0xB0, 0xBD, 0xC3, 0x25, 0xA7, 0x62, 0x36, 0xDF, 0x93, 0xCC, 0x6B}, /* AES key */
-    { 0x00, 0x5B, 0x8C, 0xCB, 0xCD, 0x9A, 0xF8, 0x3C, 0x96, 0x96, 0x76, 0x6C, 0xFA},   /* Nonce */
-    { 0xEC, 0x46, 0xBB, 0x63, 0xB0, 0x25, 0x20, 0xC3, 0x3C, 0x49, 0xFD, 0x70, 0xB9, 0x6B, 0x49, 0xE2, 0x1D, 0x62, 0x17, 0x41, 0x63, 0x28, 0x75, 0xDB, 0x7F, 0x6C, 0x92, 0x43, 0xD2, 0xD7, 0xC2},       /* msg */
-    41,        /* length of result */
-    { 0xEC, 0x46, 0xBB, 0x63, 0xB0, 0x25, 0x20, 0xC3, 0x3C, 0x49, 0xFD, 0x70, 0x31, 0xD7, 0x50, 0xA0, 0x9D, 0xA3, 0xED, 0x7F, 0xDD, 0xD4, 0x9A, 0x20, 0x32, 0xAA, 0xBF, 0x17, 0xEC, 0x8E, 0xBF, 0x7D, 0x22, 0xC8, 0x08, 0x8C, 0x66, 0x6B, 0xE5, 0xC1, 0x97}    /* result */
-  },
-
-  /* #23 */
-  { 10, 2, 32, 12,
-    { 0xD7, 0x82, 0x8D, 0x13, 0xB2, 0xB0, 0xBD, 0xC3, 0x25, 0xA7, 0x62, 0x36, 0xDF, 0x93, 0xCC, 0x6B}, /* AES key */
-    { 0x00, 0x3E, 0xBE, 0x94, 0x04, 0x4B, 0x9A, 0x3C, 0x96, 0x96, 0x76, 0x6C, 0xFA},   /* Nonce */
-    { 0x47, 0xA6, 0x5A, 0xC7, 0x8B, 0x3D, 0x59, 0x42, 0x27, 0xE8, 0x5E, 0x71, 0xE2, 0xFC, 0xFB, 0xB8, 0x80, 0x44, 0x2C, 0x73, 0x1B, 0xF9, 0x51, 0x67, 0xC8, 0xFF, 0xD7, 0x89, 0x5E, 0x33, 0x70, 0x76}, /* msg */
-    42,        /* length of result */
-    { 0x47, 0xA6, 0x5A, 0xC7, 0x8B, 0x3D, 0x59, 0x42, 0x27, 0xE8, 0x5E, 0x71, 0xE8, 0x82, 0xF1, 0xDB, 0xD3, 0x8C, 0xE3, 0xED, 0xA7, 0xC2, 0x3F, 0x04, 0xDD, 0x65, 0x07, 0x1E, 0xB4, 0x13, 0x42, 0xAC, 0xDF, 0x7E, 0x00, 0xDC, 0xCE, 0xC7, 0xAE, 0x52, 0x98, 0x7D}      /* result */
-  },
-
-  /* #24 */
-  { 10, 2, 33, 12,
-    { 0xD7, 0x82, 0x8D, 0x13, 0xB2, 0xB0, 0xBD, 0xC3, 0x25, 0xA7, 0x62, 0x36, 0xDF, 0x93, 0xCC, 0x6B}, /* AES key */
-    { 0x00, 0x8D, 0x49, 0x3B, 0x30, 0xAE, 0x8B, 0x3C, 0x96, 0x96, 0x76, 0x6C, 0xFA},   /* Nonce */
-    { 0x6E, 0x37, 0xA6, 0xEF, 0x54, 0x6D, 0x95, 0x5D, 0x34, 0xAB, 0x60, 0x59, 0xAB, 0xF2, 0x1C, 0x0B, 0x02, 0xFE, 0xB8, 0x8F, 0x85, 0x6D, 0xF4, 0xA3, 0x73, 0x81, 0xBC, 0xE3, 0xCC, 0x12, 0x85, 0x17, 0xD4},   /* msg */
-    43,        /* length of result */
-    { 0x6E, 0x37, 0xA6, 0xEF, 0x54, 0x6D, 0x95, 0x5D, 0x34, 0xAB, 0x60, 0x59, 0xF3, 0x29, 0x05, 0xB8, 0x8A, 0x64, 0x1B, 0x04, 0xB9, 0xC9, 0xFF, 0xB5, 0x8C, 0xC3, 0x90, 0x90, 0x0F, 0x3D, 0xA1, 0x2A, 0xB1, 0x6D, 0xCE, 0x9E, 0x82, 0xEF, 0xA1, 0x6D, 0xA6, 0x20, 0x59}        /* result */
-  },
-
-  /* #25 */
-  /* Cipher: AES-128 M=16 L=2 K_LEN=1 N_LEN=13 K=0x00 N=0x00000000000000000000000000 */
-  { 16, 2, 0, 0,
-    { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, /* AES key */  
-    { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, /* Nonce */
-    { },       /* msg */
-    16,                /* length of result */
-    { 0x8b, 0x60, 0xab, 0xcd, 0x60, 0x43, 0x81, 0x0b, 
-      0xa3, 0x78, 0xa0, 0x1d, 0x4a, 0x29, 0x83, 0x0b
-    }          /* result */
-  },
-
-  /* #26 */
-  /* Cipher: AES-128 M=16 L=2 K_LEN=1 N_LEN=13 K=0x00 N=0x00000000000000000000000000 */
-  { 16, 2, 37, 0,
-    { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, /* AES key */  
-    { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-      0x00, 0x00, 0x00, 0x00 }, /* Nonce */
-    { 0x45, 0x69, 0x6e, 0x20, 0x6b, 0x6c, 0x65, 0x69, 
-      0x6e, 0x65, 0x72, 0x20, 0x54, 0x65, 0x78, 0x74,
-      0x0a, 0x7a, 0x75, 0x6d, 0x20, 0x54, 0x65, 0x73,
-      0x74, 0x65, 0x6e, 0x20, 0x76, 0x6f, 0x6e, 0x20,
-      0x43, 0x43, 0x4d, 0x2e, 0x0a
-    }, /* msg */
-    53,                /* length of result */
-    { 0x90, 0x11, 0x9c, 0x2d, 0x6b, 0xf9, 0xe9, 0x05,
-      0x3e, 0x0b, 0x44, 0x56, 0xca, 0xc8, 0xb6, 0x1a,
-      0x00, 0x57, 0xa9, 0x8b, 0x6b, 0x69, 0x09, 0x7e, 
-      0x8e, 0x50, 0x50, 0x63, 0x50, 0x58, 0x0f, 0x78,
-      0x75, 0x69, 0x6e, 0x9f, 0x3d, 0x63, 0x93, 0xe7,
-      0x7a, 0x84, 0xe9, 0x9f, 0x11, 0x93, 0x95, 0xa0,
-      0x9a, 0xef, 0x0d, 0xa0, 0xed
-    } /* result */
-  },
-
-  /* #27 */
-  /* Cipher: AES-128 M=8 L=5 K_LEN=16 N_LEN=10 K=0x001234567890abcdefdcaffeed3921ee N=0x00112233445566778899 */
-  { 8, 5, 0, 0,
-    { 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0xab, 0xcd,
-      0xef, 0xdc, 0xaf, 0xfe, 0xed, 0x39, 0x21, 0xee }, /* AES key */
-    { 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77,
-      0x88, 0x99 }, /* Nonce */
-    { },           /* msg */
-    8,             /* length of result */
-    { 0xb1, 0x33, 0x51, 0xc8, 0xb3, 0xd5, 0x10, 0xa7 } /* result */
-  },
-
-  /* #28 */
-  /* Cipher: AES-128 M=8 L=5 K_LEN=16 N_LEN=10 K=0x001234567890abcdefdcaffeed3921ee N=0x00112233445566778899 */
-  { 8, 5, 37, 0,
-    { 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0xab, 0xcd,
-      0xef, 0xdc, 0xaf, 0xfe, 0xed, 0x39, 0x21, 0xee }, /* AES key */
-    { 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77,
-      0x88, 0x99 }, /* Nonce */
-    { 0x45, 0x69, 0x6e, 0x20, 0x6b, 0x6c, 0x65, 0x69, 
-      0x6e, 0x65, 0x72, 0x20, 0x54, 0x65, 0x78, 0x74,
-      0x0a, 0x7a, 0x75, 0x6d, 0x20, 0x54, 0x65, 0x73,
-      0x74, 0x65, 0x6e, 0x20, 0x76, 0x6f, 0x6e, 0x20,
-      0x43, 0x43, 0x4d, 0x2e, 0x0a
-    }, /* msg */
-    45,                    /* length of result */
-    { 0x44, 0x7a, 0x82, 0x70, 0x1d, 0xd0, 0x35, 0x7b,
-      0x68, 0xf7, 0x35, 0x4d, 0xbf, 0xd9, 0x16, 0x15,
-      0x97, 0x41, 0x3d, 0x1e, 0x89, 0xc1, 0x25, 0xe7,
-      0xd6, 0xa7, 0xde, 0x90, 0x1e, 0xf1, 0x69, 0x69,
-      0x9f, 0xce, 0x40, 0xdc, 0xf0, 0xd1, 0x74, 0x53,
-      0x2c, 0xa3, 0xb0, 0xcf, 0xb9
-    } /* result */
-  },
-
-  /* #29 */
-  /* Cipher: AES-128 M=14 L=3 K_LEN=16 N_LEN=12 K=0x001234567890abcdefdcaffeed3921ee N=0x001122334455667788990000 */
-  { 14, 3, 0, 0,
-    { 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0xab, 0xcd,
-      0xef, 0xdc, 0xaf, 0xfe, 0xed, 0x39, 0x21, 0xee }, /* AES key */
-    { 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77,
-      0x88, 0x99, 0x00, 0x00 }, /* Nonce */
-    { },           /* msg */
-    14,                    /* length of result */
-    { 0xa4, 0x06, 0xa4, 0x23, 0x93, 0x3d, 0xa0, 0xca,
-      0xb5, 0x90, 0xdb, 0x69, 0x69, 0x33 } /* result */
-  },
-
-  /* #30 */
-  /* Cipher: AES-128 M=14 L=3 K_LEN=16 N_LEN=12 K=0x001234567890abcdefdcaffeed3921ee N=0x001122334455667788990000 */
-  { 14, 3, 37, 0,
-    { 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0xab, 0xcd,
-      0xef, 0xdc, 0xaf, 0xfe, 0xed, 0x39, 0x21, 0xee }, /* AES key */
-    { 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77,
-      0x88, 0x99, 0x00, 0x00 }, /* Nonce */
-    { 0x45, 0x69, 0x6e, 0x20, 0x6b, 0x6c, 0x65, 0x69, 
-      0x6e, 0x65, 0x72, 0x20, 0x54, 0x65, 0x78, 0x74,
-      0x0a, 0x7a, 0x75, 0x6d, 0x20, 0x54, 0x65, 0x73,
-      0x74, 0x65, 0x6e, 0x20, 0x76, 0x6f, 0x6e, 0x20,
-      0x43, 0x43, 0x4d, 0x2e, 0x0a
-    }, /* msg */
-    51,
-    { 0x60, 0xaf, 0x87, 0x67, 0x4d, 0x9d, 0x54, 0x17,
-      0x16, 0xc0, 0x29, 0x10, 0x7e, 0x3e, 0x34, 0x93,
-      0x78, 0xe8, 0xd3, 0xc8, 0xc1, 0x03, 0x4f, 0xd6,
-      0xf5, 0x3b, 0xaf, 0xd3, 0xf0, 0xd7, 0x0b, 0xdd,
-      0x63, 0x93, 0xed, 0xf2, 0xb2, 0x72, 0xdc, 0xae,
-      0x7c, 0xa0, 0x01, 0xdb, 0x56, 0x2a, 0x06, 0xb6,
-      0xe9, 0xcf, 0x3c } /* result */
-  },
-
-  /* #31 */
-  /* Cipher: AES-128 M=8 L=5 K_LEN=6 N_LEN=10 K=0x11223344aabb N=0x00112233445566778899 */
-  { 8, 5, 0, 0,
-    { 0x11, 0x22, 0x33, 0x44, 0xaa, 0xbb },    /* AES key */
-    { 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77,
-      0x88, 0x99 },                            /* Nonce */
-    { },                                       /* msg */
-    8,
-    { 0x28, 0x15, 0xfe, 0x81, 0xdd, 0xc3, 0x79, 0x04 } /* result */
-  },
-
-  /* #32 */
-  /* Cipher: AES-128 M=8 L=5 K_LEN=6 N_LEN=10 K=0x11223344aabb N=0x00112233445566778899 */
-
-  { 8, 5, 37, 0,
-    { 0x11, 0x22, 0x33, 0x44, 0xaa, 0xbb },    /* AES key */
-    { 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77,
-      0x88, 0x99 },                            /* Nonce */
-    { 0x45, 0x69, 0x6e, 0x20, 0x6b, 0x6c, 0x65, 0x69, 
-      0x6e, 0x65, 0x72, 0x20, 0x54, 0x65, 0x78, 0x74,
-      0x0a, 0x7a, 0x75, 0x6d, 0x20, 0x54, 0x65, 0x73,
-      0x74, 0x65, 0x6e, 0x20, 0x76, 0x6f, 0x6e, 0x20,
-      0x43, 0x43, 0x4d, 0x2e, 0x0a
-    }, /* msg */
-    45,
-    { 0xdb, 0x31, 0x55, 0x9d, 0xab, 0x70, 0xdc, 0x62,
-      0xd7, 0x76, 0x41, 0xb2, 0x14, 0x9e, 0x9c, 0x26,
-      0x70, 0x61, 0xea, 0x36, 0xf8, 0x0e, 0xdf, 0x19,
-      0xa6, 0xc7, 0x46, 0x3d, 0x5a, 0xc3, 0x0a, 0x73,
-      0x14, 0x96, 0xa4, 0x84, 0x7f, 0x37, 0x55, 0x42,
-      0xce, 0x7e, 0xf9, 0x3b, 0xe5 } /* result */
-  }
-};
diff --git a/external/wakaama/examples/shared/tinydtls/tests/dtls-client.c b/external/wakaama/examples/shared/tinydtls/tests/dtls-client.c
deleted file mode 100644 (file)
index 96ed0fa..0000000
+++ /dev/null
@@ -1,502 +0,0 @@
-#include "tinydtls.h" 
-
-/* This is needed for apple */
-#define __APPLE_USE_RFC_3542
-
-#include <stdio.h>
-#include <string.h>
-#include <errno.h>
-#include <unistd.h>
-#include <ctype.h>
-#include <netinet/in.h>
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <sys/time.h>
-#include <arpa/inet.h>
-#include <netdb.h>
-#include <signal.h>
-
-#include "global.h" 
-#include "debug.h" 
-#include "dtls.h" 
-
-#define DEFAULT_PORT 20220
-
-#define PSK_DEFAULT_IDENTITY "Client_identity"
-#define PSK_DEFAULT_KEY      "secretPSK"
-#define PSK_OPTIONS          "i:k:"
-
-#ifdef __GNUC__
-#define UNUSED_PARAM __attribute__((unused))
-#else
-#define UNUSED_PARAM
-#endif /* __GNUC__ */
-
-static char buf[200];
-static size_t len = 0;
-
-typedef struct {
-  size_t length;               /* length of string */
-  unsigned char *s;            /* string data */
-} dtls_str;
-
-static dtls_str output_file = { 0, NULL }; /* output file name */
-
-static dtls_context_t *dtls_context = NULL;
-
-
-static const unsigned char ecdsa_priv_key[] = {
-                       0x41, 0xC1, 0xCB, 0x6B, 0x51, 0x24, 0x7A, 0x14,
-                       0x43, 0x21, 0x43, 0x5B, 0x7A, 0x80, 0xE7, 0x14,
-                       0x89, 0x6A, 0x33, 0xBB, 0xAD, 0x72, 0x94, 0xCA,
-                       0x40, 0x14, 0x55, 0xA1, 0x94, 0xA9, 0x49, 0xFA};
-
-static const unsigned char ecdsa_pub_key_x[] = {
-                       0x36, 0xDF, 0xE2, 0xC6, 0xF9, 0xF2, 0xED, 0x29,
-                       0xDA, 0x0A, 0x9A, 0x8F, 0x62, 0x68, 0x4E, 0x91,
-                       0x63, 0x75, 0xBA, 0x10, 0x30, 0x0C, 0x28, 0xC5,
-                       0xE4, 0x7C, 0xFB, 0xF2, 0x5F, 0xA5, 0x8F, 0x52};
-
-static const unsigned char ecdsa_pub_key_y[] = {
-                       0x71, 0xA0, 0xD4, 0xFC, 0xDE, 0x1A, 0xB8, 0x78,
-                       0x5A, 0x3C, 0x78, 0x69, 0x35, 0xA7, 0xCF, 0xAB,
-                       0xE9, 0x3F, 0x98, 0x72, 0x09, 0xDA, 0xED, 0x0B,
-                       0x4F, 0xAB, 0xC3, 0x6F, 0xC7, 0x72, 0xF8, 0x29};
-
-#ifdef DTLS_PSK
-ssize_t
-read_from_file(char *arg, unsigned char *buf, size_t max_buf_len) {
-  FILE *f;
-  ssize_t result = 0;
-
-  f = fopen(arg, "r");
-  if (f == NULL)
-    return -1;
-
-  while (!feof(f)) {
-    size_t bytes_read;
-    bytes_read = fread(buf, 1, max_buf_len, f);
-    if (ferror(f)) {
-      result = -1;
-      break;
-    }
-
-    buf += bytes_read;
-    result += bytes_read;
-    max_buf_len -= bytes_read;
-  }
-
-  fclose(f);
-  return result;
-}
-
-/* The PSK information for DTLS */
-#define PSK_ID_MAXLEN 256
-#define PSK_MAXLEN 256
-static unsigned char psk_id[PSK_ID_MAXLEN];
-static size_t psk_id_length = 0;
-static unsigned char psk_key[PSK_MAXLEN];
-static size_t psk_key_length = 0;
-
-/* This function is the "key store" for tinyDTLS. It is called to
- * retrieve a key for the given identity within this particular
- * session. */
-static int
-get_psk_info(struct dtls_context_t *ctx UNUSED_PARAM,
-           const session_t *session UNUSED_PARAM,
-           dtls_credentials_type_t type,
-           const unsigned char *id, size_t id_len,
-           unsigned char *result, size_t result_length) {
-
-  switch (type) {
-  case DTLS_PSK_IDENTITY:
-    if (id_len) {
-      dtls_debug("got psk_identity_hint: '%.*s'\n", id_len, id);
-    }
-
-    if (result_length < psk_id_length) {
-      dtls_warn("cannot set psk_identity -- buffer too small\n");
-      return dtls_alert_fatal_create(DTLS_ALERT_INTERNAL_ERROR);
-    }
-
-    memcpy(result, psk_id, psk_id_length);
-    return psk_id_length;
-  case DTLS_PSK_KEY:
-    if (id_len != psk_id_length || memcmp(psk_id, id, id_len) != 0) {
-      dtls_warn("PSK for unknown id requested, exiting\n");
-      return dtls_alert_fatal_create(DTLS_ALERT_ILLEGAL_PARAMETER);
-    } else if (result_length < psk_key_length) {
-      dtls_warn("cannot set psk -- buffer too small\n");
-      return dtls_alert_fatal_create(DTLS_ALERT_INTERNAL_ERROR);
-    }
-
-    memcpy(result, psk_key, psk_key_length);
-    return psk_key_length;
-  default:
-    dtls_warn("unsupported request type: %d\n", type);
-  }
-
-  return dtls_alert_fatal_create(DTLS_ALERT_INTERNAL_ERROR);
-}
-#endif /* DTLS_PSK */
-
-#ifdef DTLS_ECC
-static int
-get_ecdsa_key(struct dtls_context_t *ctx,
-             const session_t *session,
-             const dtls_ecdsa_key_t **result) {
-  static const dtls_ecdsa_key_t ecdsa_key = {
-    .curve = DTLS_ECDH_CURVE_SECP256R1,
-    .priv_key = ecdsa_priv_key,
-    .pub_key_x = ecdsa_pub_key_x,
-    .pub_key_y = ecdsa_pub_key_y
-  };
-
-  *result = &ecdsa_key;
-  return 0;
-}
-
-static int
-verify_ecdsa_key(struct dtls_context_t *ctx,
-                const session_t *session,
-                const unsigned char *other_pub_x,
-                const unsigned char *other_pub_y,
-                size_t key_size) {
-  return 0;
-}
-#endif /* DTLS_ECC */
-
-static void
-try_send(struct dtls_context_t *ctx, session_t *dst) {
-  int res;
-  res = dtls_write(ctx, dst, (uint8 *)buf, len);
-  if (res >= 0) {
-    memmove(buf, buf + res, len - res);
-    len -= res;
-  }
-}
-
-static void
-handle_stdin() {
-  if (fgets(buf + len, sizeof(buf) - len, stdin))
-    len += strlen(buf + len);
-}
-
-static int
-read_from_peer(struct dtls_context_t *ctx, 
-              session_t *session, uint8 *data, size_t len) {
-  size_t i;
-  for (i = 0; i < len; i++)
-    printf("%c", data[i]);
-  return 0;
-}
-
-static int
-send_to_peer(struct dtls_context_t *ctx, 
-            session_t *session, uint8 *data, size_t len) {
-
-  int fd = *(int *)dtls_get_app_data(ctx);
-  return sendto(fd, data, len, MSG_DONTWAIT,
-               &session->addr.sa, session->size);
-}
-
-static int
-dtls_handle_read(struct dtls_context_t *ctx) {
-  int fd;
-  session_t session;
-#define MAX_READ_BUF 2000
-  static uint8 buf[MAX_READ_BUF];
-  int len;
-
-  fd = *(int *)dtls_get_app_data(ctx);
-  
-  if (!fd)
-    return -1;
-
-  memset(&session, 0, sizeof(session_t));
-  session.size = sizeof(session.addr);
-  len = recvfrom(fd, buf, MAX_READ_BUF, 0, 
-                &session.addr.sa, &session.size);
-  
-  if (len < 0) {
-    perror("recvfrom");
-    return -1;
-  } else {
-    dtls_dsrv_log_addr(DTLS_LOG_DEBUG, "peer", &session);
-    dtls_debug_dump("bytes from peer", buf, len);
-  }
-
-  return dtls_handle_message(ctx, &session, buf, len);
-}    
-
-static void dtls_handle_signal(int sig)
-{
-  dtls_free_context(dtls_context);
-  signal(sig, SIG_DFL);
-  kill(getpid(), sig);
-}
-
-/* stolen from libcoap: */
-static int
-resolve_address(const char *server, struct sockaddr *dst) {
-  
-  struct addrinfo *res, *ainfo;
-  struct addrinfo hints;
-  static char addrstr[256];
-  int error;
-
-  memset(addrstr, 0, sizeof(addrstr));
-  if (server && strlen(server) > 0)
-    memcpy(addrstr, server, strlen(server));
-  else
-    memcpy(addrstr, "localhost", 9);
-
-  memset ((char *)&hints, 0, sizeof(hints));
-  hints.ai_socktype = SOCK_DGRAM;
-  hints.ai_family = AF_UNSPEC;
-
-  error = getaddrinfo(addrstr, "", &hints, &res);
-
-  if (error != 0) {
-    fprintf(stderr, "getaddrinfo: %s\n", gai_strerror(error));
-    return error;
-  }
-
-  for (ainfo = res; ainfo != NULL; ainfo = ainfo->ai_next) {
-
-    switch (ainfo->ai_family) {
-    case AF_INET6:
-    case AF_INET:
-
-      memcpy(dst, ainfo->ai_addr, ainfo->ai_addrlen);
-      return ainfo->ai_addrlen;
-    default:
-      ;
-    }
-  }
-
-  freeaddrinfo(res);
-  return -1;
-}
-
-/*---------------------------------------------------------------------------*/
-static void
-usage( const char *program, const char *version) {
-  const char *p;
-
-  p = strrchr( program, '/' );
-  if ( p )
-    program = ++p;
-
-  fprintf(stderr, "%s v%s -- DTLS client implementation\n"
-         "(c) 2011-2014 Olaf Bergmann <bergmann@tzi.org>\n\n"
-#ifdef DTLS_PSK
-         "usage: %s [-i file] [-k file] [-o file] [-p port] [-v num] addr [port]\n"
-#else /*  DTLS_PSK */
-         "usage: %s [-o file] [-p port] [-v num] addr [port]\n"
-#endif /* DTLS_PSK */
-#ifdef DTLS_PSK
-         "\t-i file\t\tread PSK identity from file\n"
-         "\t-k file\t\tread pre-shared key from file\n"
-#endif /* DTLS_PSK */
-         "\t-o file\t\toutput received data to this file (use '-' for STDOUT)\n"
-         "\t-p port\t\tlisten on specified port (default is %d)\n"
-         "\t-v num\t\tverbosity level (default: 3)\n",
-          program, version, program, DEFAULT_PORT);
-}
-
-static dtls_handler_t cb = {
-  .write = send_to_peer,
-  .read  = read_from_peer,
-  .event = NULL,
-#ifdef DTLS_PSK
-  .get_psk_info = get_psk_info,
-#endif /* DTLS_PSK */
-#ifdef DTLS_ECC
-  .get_ecdsa_key = get_ecdsa_key,
-  .verify_ecdsa_key = verify_ecdsa_key
-#endif /* DTLS_ECC */
-};
-
-#define DTLS_CLIENT_CMD_CLOSE "client:close"
-#define DTLS_CLIENT_CMD_RENEGOTIATE "client:renegotiate"
-
-int 
-main(int argc, char **argv) {
-  fd_set rfds, wfds;
-  struct timeval timeout;
-  unsigned short port = DEFAULT_PORT;
-  char port_str[NI_MAXSERV] = "0";
-  log_t log_level = DTLS_LOG_WARN;
-  int fd, result;
-  int on = 1;
-  int opt, res;
-  session_t dst;
-
-  dtls_init();
-  snprintf(port_str, sizeof(port_str), "%d", port);
-
-#ifdef DTLS_PSK
-  psk_id_length = strlen(PSK_DEFAULT_IDENTITY);
-  psk_key_length = strlen(PSK_DEFAULT_KEY);
-  memcpy(psk_id, PSK_DEFAULT_IDENTITY, psk_id_length);
-  memcpy(psk_key, PSK_DEFAULT_KEY, psk_key_length);
-#endif /* DTLS_PSK */
-
-  while ((opt = getopt(argc, argv, "p:o:v:" PSK_OPTIONS)) != -1) {
-    switch (opt) {
-#ifdef DTLS_PSK
-    case 'i' : {
-      ssize_t result = read_from_file(optarg, psk_id, PSK_ID_MAXLEN);
-      if (result < 0) {
-       dtls_warn("cannot read PSK identity\n");
-      } else {
-       psk_id_length = result;
-      }
-      break;
-    }
-    case 'k' : {
-      ssize_t result = read_from_file(optarg, psk_key, PSK_MAXLEN);
-      if (result < 0) {
-       dtls_warn("cannot read PSK\n");
-      } else {
-       psk_key_length = result;
-      }
-      break;
-    }
-#endif /* DTLS_PSK */
-    case 'p' :
-      strncpy(port_str, optarg, NI_MAXSERV-1);
-      port_str[NI_MAXSERV - 1] = '\0';
-      break;
-    case 'o' :
-      output_file.length = strlen(optarg);
-      output_file.s = (unsigned char *)malloc(output_file.length + 1);
-      
-      if (!output_file.s) {
-       dtls_crit("cannot set output file: insufficient memory\n");
-       exit(-1);
-      } else {
-       /* copy filename including trailing zero */
-       memcpy(output_file.s, optarg, output_file.length + 1);
-      }
-      break;
-    case 'v' :
-      log_level = strtol(optarg, NULL, 10);
-      break;
-    default:
-      usage(argv[0], dtls_package_version());
-      exit(1);
-    }
-  }
-
-  dtls_set_log_level(log_level);
-  
-  if (argc <= optind) {
-    usage(argv[0], dtls_package_version());
-    exit(1);
-  }
-  
-  memset(&dst, 0, sizeof(session_t));
-  /* resolve destination address where server should be sent */
-  res = resolve_address(argv[optind++], &dst.addr.sa);
-  if (res < 0) {
-    dtls_emerg("failed to resolve address\n");
-    exit(-1);
-  }
-  dst.size = res;
-
-  /* use port number from command line when specified or the listen
-     port, otherwise */
-  dst.addr.sin.sin_port = htons(atoi(optind < argc ? argv[optind++] : port_str));
-
-  
-  /* init socket and set it to non-blocking */
-  fd = socket(dst.addr.sa.sa_family, SOCK_DGRAM, 0);
-
-  if (fd < 0) {
-    dtls_alert("socket: %s\n", strerror(errno));
-    return 0;
-  }
-
-  if (setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on) ) < 0) {
-    dtls_alert("setsockopt SO_REUSEADDR: %s\n", strerror(errno));
-  }
-#if 0
-  flags = fcntl(fd, F_GETFL, 0);
-  if (flags < 0 || fcntl(fd, F_SETFL, flags | O_NONBLOCK) < 0) {
-    dtls_alert("fcntl: %s\n", strerror(errno));
-    goto error;
-  }
-#endif
-  on = 1;
-#ifdef IPV6_RECVPKTINFO
-  if (setsockopt(fd, IPPROTO_IPV6, IPV6_RECVPKTINFO, &on, sizeof(on) ) < 0) {
-#else /* IPV6_RECVPKTINFO */
-  if (setsockopt(fd, IPPROTO_IPV6, IPV6_PKTINFO, &on, sizeof(on) ) < 0) {
-#endif /* IPV6_RECVPKTINFO */
-    dtls_alert("setsockopt IPV6_PKTINFO: %s\n", strerror(errno));
-  }
-
-  if (signal(SIGINT, dtls_handle_signal) == SIG_ERR) {
-    dtls_alert("An error occurred while setting a signal handler.\n");
-    return EXIT_FAILURE;
-  }
-
-  dtls_context = dtls_new_context(&fd);
-  if (!dtls_context) {
-    dtls_emerg("cannot create context\n");
-    exit(-1);
-  }
-
-  dtls_set_handler(dtls_context, &cb);
-
-  dtls_connect(dtls_context, &dst);
-
-  while (1) {
-    FD_ZERO(&rfds);
-    FD_ZERO(&wfds);
-
-    FD_SET(fileno(stdin), &rfds);
-    FD_SET(fd, &rfds);
-    /* FD_SET(fd, &wfds); */
-    
-    timeout.tv_sec = 5;
-    timeout.tv_usec = 0;
-    
-    result = select(fd+1, &rfds, &wfds, 0, &timeout);
-    
-    if (result < 0) {          /* error */
-      if (errno != EINTR)
-       perror("select");
-    } else if (result == 0) {  /* timeout */
-    } else {                   /* ok */
-      if (FD_ISSET(fd, &wfds))
-       /* FIXME */;
-      else if (FD_ISSET(fd, &rfds))
-       dtls_handle_read(dtls_context);
-      else if (FD_ISSET(fileno(stdin), &rfds))
-       handle_stdin();
-    }
-
-    if (len) {
-      if (len >= strlen(DTLS_CLIENT_CMD_CLOSE) &&
-         !memcmp(buf, DTLS_CLIENT_CMD_CLOSE, strlen(DTLS_CLIENT_CMD_CLOSE))) {
-       printf("client: closing connection\n");
-       dtls_close(dtls_context, &dst);
-       len = 0;
-      } else if (len >= strlen(DTLS_CLIENT_CMD_RENEGOTIATE) &&
-                !memcmp(buf, DTLS_CLIENT_CMD_RENEGOTIATE, strlen(DTLS_CLIENT_CMD_RENEGOTIATE))) {
-       printf("client: renegotiate connection\n");
-       dtls_renegotiate(dtls_context, &dst);
-       len = 0;
-      } else {
-       try_send(dtls_context, &dst);
-      }
-    }
-  }
-  
-  dtls_free_context(dtls_context);
-  exit(0);
-}
-
diff --git a/external/wakaama/examples/shared/tinydtls/tests/dtls-server.c b/external/wakaama/examples/shared/tinydtls/tests/dtls-server.c
deleted file mode 100644 (file)
index 3f030b1..0000000
+++ /dev/null
@@ -1,366 +0,0 @@
-
-/* This is needed for apple */
-#define __APPLE_USE_RFC_3542
-
-#include <assert.h>
-#include <stdio.h>
-#include <string.h>
-#include <errno.h>
-#include <unistd.h>
-#include <netinet/in.h>
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <sys/time.h>
-#include <netdb.h>
-#include <signal.h>
-
-#include "tinydtls.h" 
-#include "dtls.h" 
-#include "debug.h" 
-
-#define DEFAULT_PORT 20220
-
-static const unsigned char ecdsa_priv_key[] = {
-                       0xD9, 0xE2, 0x70, 0x7A, 0x72, 0xDA, 0x6A, 0x05,
-                       0x04, 0x99, 0x5C, 0x86, 0xED, 0xDB, 0xE3, 0xEF,
-                       0xC7, 0xF1, 0xCD, 0x74, 0x83, 0x8F, 0x75, 0x70,
-                       0xC8, 0x07, 0x2D, 0x0A, 0x76, 0x26, 0x1B, 0xD4};
-
-static const unsigned char ecdsa_pub_key_x[] = {
-                       0xD0, 0x55, 0xEE, 0x14, 0x08, 0x4D, 0x6E, 0x06,
-                       0x15, 0x59, 0x9D, 0xB5, 0x83, 0x91, 0x3E, 0x4A,
-                       0x3E, 0x45, 0x26, 0xA2, 0x70, 0x4D, 0x61, 0xF2,
-                       0x7A, 0x4C, 0xCF, 0xBA, 0x97, 0x58, 0xEF, 0x9A};
-
-static const unsigned char ecdsa_pub_key_y[] = {
-                       0xB4, 0x18, 0xB6, 0x4A, 0xFE, 0x80, 0x30, 0xDA,
-                       0x1D, 0xDC, 0xF4, 0xF4, 0x2E, 0x2F, 0x26, 0x31,
-                       0xD0, 0x43, 0xB1, 0xFB, 0x03, 0xE2, 0x2F, 0x4D,
-                       0x17, 0xDE, 0x43, 0xF9, 0xF9, 0xAD, 0xEE, 0x70};
-
-#if 0
-/* SIGINT handler: set quit to 1 for graceful termination */
-void
-handle_sigint(int signum) {
-  dsrv_stop(dsrv_get_context());
-}
-#endif
-
-#ifdef DTLS_PSK
-/* This function is the "key store" for tinyDTLS. It is called to
- * retrieve a key for the given identity within this particular
- * session. */
-static int
-get_psk_info(struct dtls_context_t *ctx, const session_t *session,
-            dtls_credentials_type_t type,
-            const unsigned char *id, size_t id_len,
-            unsigned char *result, size_t result_length) {
-
-  struct keymap_t {
-    unsigned char *id;
-    size_t id_length;
-    unsigned char *key;
-    size_t key_length;
-  } psk[3] = {
-    { (unsigned char *)"Client_identity", 15,
-      (unsigned char *)"secretPSK", 9 },
-    { (unsigned char *)"default identity", 16,
-      (unsigned char *)"\x11\x22\x33", 3 },
-    { (unsigned char *)"\0", 2,
-      (unsigned char *)"", 1 }
-  };
-
-  if (type != DTLS_PSK_KEY) {
-    return 0;
-  }
-
-  if (id) {
-    int i;
-    for (i = 0; i < sizeof(psk)/sizeof(struct keymap_t); i++) {
-      if (id_len == psk[i].id_length && memcmp(id, psk[i].id, id_len) == 0) {
-       if (result_length < psk[i].key_length) {
-         dtls_warn("buffer too small for PSK");
-         return dtls_alert_fatal_create(DTLS_ALERT_INTERNAL_ERROR);
-       }
-
-       memcpy(result, psk[i].key, psk[i].key_length);
-       return psk[i].key_length;
-      }
-    }
-  }
-
-  return dtls_alert_fatal_create(DTLS_ALERT_DECRYPT_ERROR);
-}
-
-#endif /* DTLS_PSK */
-
-#ifdef DTLS_ECC
-static int
-get_ecdsa_key(struct dtls_context_t *ctx,
-             const session_t *session,
-             const dtls_ecdsa_key_t **result) {
-  static const dtls_ecdsa_key_t ecdsa_key = {
-    .curve = DTLS_ECDH_CURVE_SECP256R1,
-    .priv_key = ecdsa_priv_key,
-    .pub_key_x = ecdsa_pub_key_x,
-    .pub_key_y = ecdsa_pub_key_y
-  };
-
-  *result = &ecdsa_key;
-  return 0;
-}
-
-static int
-verify_ecdsa_key(struct dtls_context_t *ctx,
-                const session_t *session,
-                const unsigned char *other_pub_x,
-                const unsigned char *other_pub_y,
-                size_t key_size) {
-  return 0;
-}
-#endif /* DTLS_ECC */
-
-#define DTLS_SERVER_CMD_CLOSE "server:close"
-#define DTLS_SERVER_CMD_RENEGOTIATE "server:renegotiate"
-
-static int
-read_from_peer(struct dtls_context_t *ctx, 
-              session_t *session, uint8 *data, size_t len) {
-  size_t i;
-  for (i = 0; i < len; i++)
-    printf("%c", data[i]);
-  if (len >= strlen(DTLS_SERVER_CMD_CLOSE) &&
-      !memcmp(data, DTLS_SERVER_CMD_CLOSE, strlen(DTLS_SERVER_CMD_CLOSE))) {
-    printf("server: closing connection\n");
-    dtls_close(ctx, session);
-    return len;
-  } else if (len >= strlen(DTLS_SERVER_CMD_RENEGOTIATE) &&
-      !memcmp(data, DTLS_SERVER_CMD_RENEGOTIATE, strlen(DTLS_SERVER_CMD_RENEGOTIATE))) {
-    printf("server: renegotiate connection\n");
-    dtls_renegotiate(ctx, session);
-    return len;
-  }
-
-  return dtls_write(ctx, session, data, len);
-}
-
-static int
-send_to_peer(struct dtls_context_t *ctx, 
-            session_t *session, uint8 *data, size_t len) {
-
-  int fd = *(int *)dtls_get_app_data(ctx);
-  return sendto(fd, data, len, MSG_DONTWAIT,
-               &session->addr.sa, session->size);
-}
-
-static int
-dtls_handle_read(struct dtls_context_t *ctx) {
-  int *fd;
-  session_t session;
-  static uint8 buf[DTLS_MAX_BUF];
-  int len;
-
-  fd = dtls_get_app_data(ctx);
-
-  assert(fd);
-
-  memset(&session, 0, sizeof(session_t));
-  session.size = sizeof(session.addr);
-  len = recvfrom(*fd, buf, sizeof(buf), MSG_TRUNC,
-                &session.addr.sa, &session.size);
-
-  if (len < 0) {
-    perror("recvfrom");
-    return -1;
-  } else {
-    dtls_debug("got %d bytes from port %d\n", len, 
-            ntohs(session.addr.sin6.sin6_port));
-    if (sizeof(buf) < len) {
-      dtls_warn("packet was truncated (%d bytes lost)\n", len - sizeof(buf));
-    }
-  }
-
-  return dtls_handle_message(ctx, &session, buf, len);
-}    
-
-static int
-resolve_address(const char *server, struct sockaddr *dst) {
-  
-  struct addrinfo *res, *ainfo;
-  struct addrinfo hints;
-  static char addrstr[256];
-  int error;
-
-  memset(addrstr, 0, sizeof(addrstr));
-  if (server && strlen(server) > 0)
-    memcpy(addrstr, server, strlen(server));
-  else
-    memcpy(addrstr, "localhost", 9);
-
-  memset ((char *)&hints, 0, sizeof(hints));
-  hints.ai_socktype = SOCK_DGRAM;
-  hints.ai_family = AF_UNSPEC;
-
-  error = getaddrinfo(addrstr, "", &hints, &res);
-
-  if (error != 0) {
-    fprintf(stderr, "getaddrinfo: %s\n", gai_strerror(error));
-    return error;
-  }
-
-  for (ainfo = res; ainfo != NULL; ainfo = ainfo->ai_next) {
-
-    switch (ainfo->ai_family) {
-    case AF_INET6:
-
-      memcpy(dst, ainfo->ai_addr, ainfo->ai_addrlen);
-      return ainfo->ai_addrlen;
-    default:
-      ;
-    }
-  }
-
-  freeaddrinfo(res);
-  return -1;
-}
-
-static void
-usage(const char *program, const char *version) {
-  const char *p;
-
-  p = strrchr( program, '/' );
-  if ( p )
-    program = ++p;
-
-  fprintf(stderr, "%s v%s -- DTLS server implementation\n"
-         "(c) 2011-2014 Olaf Bergmann <bergmann@tzi.org>\n\n"
-         "usage: %s [-A address] [-p port] [-v num]\n"
-         "\t-A address\t\tlisten on specified address (default is ::)\n"
-         "\t-p port\t\tlisten on specified port (default is %d)\n"
-         "\t-v num\t\tverbosity level (default: 3)\n",
-          program, version, program, DEFAULT_PORT);
-}
-
-static dtls_handler_t cb = {
-  .write = send_to_peer,
-  .read  = read_from_peer,
-  .event = NULL,
-#ifdef DTLS_PSK
-  .get_psk_info = get_psk_info,
-#endif /* DTLS_PSK */
-#ifdef DTLS_ECC
-  .get_ecdsa_key = get_ecdsa_key,
-  .verify_ecdsa_key = verify_ecdsa_key
-#endif /* DTLS_ECC */
-};
-
-int 
-main(int argc, char **argv) {
-  dtls_context_t *the_context = NULL;
-  log_t log_level = DTLS_LOG_WARN;
-  fd_set rfds, wfds;
-  struct timeval timeout;
-  int fd, opt, result;
-  int on = 1;
-  struct sockaddr_in6 listen_addr;
-
-  memset(&listen_addr, 0, sizeof(struct sockaddr_in6));
-
-  /* fill extra field for 4.4BSD-based systems (see RFC 3493, section 3.4) */
-#if defined(SIN6_LEN) || defined(HAVE_SOCKADDR_IN6_SIN6_LEN)
-  listen_addr.sin6_len = sizeof(struct sockaddr_in6);
-#endif
-
-  listen_addr.sin6_family = AF_INET6;
-  listen_addr.sin6_port = htons(DEFAULT_PORT);
-  listen_addr.sin6_addr = in6addr_any;
-
-  while ((opt = getopt(argc, argv, "A:p:v:")) != -1) {
-    switch (opt) {
-    case 'A' :
-      if (resolve_address(optarg, (struct sockaddr *)&listen_addr) < 0) {
-       fprintf(stderr, "cannot resolve address\n");
-       exit(-1);
-      }
-      break;
-    case 'p' :
-      listen_addr.sin6_port = htons(atoi(optarg));
-      break;
-    case 'v' :
-      log_level = strtol(optarg, NULL, 10);
-      break;
-    default:
-      usage(argv[0], dtls_package_version());
-      exit(1);
-    }
-  }
-
-  dtls_set_log_level(log_level);
-
-  /* init socket and set it to non-blocking */
-  fd = socket(listen_addr.sin6_family, SOCK_DGRAM, 0);
-
-  if (fd < 0) {
-    dtls_alert("socket: %s\n", strerror(errno));
-    return 0;
-  }
-
-  if (setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on) ) < 0) {
-    dtls_alert("setsockopt SO_REUSEADDR: %s\n", strerror(errno));
-  }
-#if 0
-  flags = fcntl(fd, F_GETFL, 0);
-  if (flags < 0 || fcntl(fd, F_SETFL, flags | O_NONBLOCK) < 0) {
-    dtls_alert("fcntl: %s\n", strerror(errno));
-    goto error;
-  }
-#endif
-  on = 1;
-#ifdef IPV6_RECVPKTINFO
-  if (setsockopt(fd, IPPROTO_IPV6, IPV6_RECVPKTINFO, &on, sizeof(on) ) < 0) {
-#else /* IPV6_RECVPKTINFO */
-  if (setsockopt(fd, IPPROTO_IPV6, IPV6_PKTINFO, &on, sizeof(on) ) < 0) {
-#endif /* IPV6_RECVPKTINFO */
-    dtls_alert("setsockopt IPV6_PKTINFO: %s\n", strerror(errno));
-  }
-
-  if (bind(fd, (struct sockaddr *)&listen_addr, sizeof(listen_addr)) < 0) {
-    dtls_alert("bind: %s\n", strerror(errno));
-    goto error;
-  }
-
-  dtls_init();
-
-  the_context = dtls_new_context(&fd);
-
-  dtls_set_handler(the_context, &cb);
-
-  while (1) {
-    FD_ZERO(&rfds);
-    FD_ZERO(&wfds);
-
-    FD_SET(fd, &rfds);
-    /* FD_SET(fd, &wfds); */
-    
-    timeout.tv_sec = 5;
-    timeout.tv_usec = 0;
-    
-    result = select( fd+1, &rfds, &wfds, 0, &timeout);
-    
-    if (result < 0) {          /* error */
-      if (errno != EINTR)
-       perror("select");
-    } else if (result == 0) {  /* timeout */
-    } else {                   /* ok */
-      if (FD_ISSET(fd, &wfds))
-       ;
-      else if (FD_ISSET(fd, &rfds)) {
-       dtls_handle_read(the_context);
-      }
-    }
-  }
-  
- error:
-  dtls_free_context(the_context);
-  exit(0);
-}
diff --git a/external/wakaama/examples/shared/tinydtls/tests/prf-test.c b/external/wakaama/examples/shared/tinydtls/tests/prf-test.c
deleted file mode 100644 (file)
index d8d83d9..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-#include <stdio.h>
-
-#include "tinydtls.h"
-#include "debug.h"
-#include "global.h"
-#include "crypto.h"
-
-int 
-main() {
-  /* see http://www.ietf.org/mail-archive/web/tls/current/msg03416.html */
-  unsigned char key[] = { 0x9b, 0xbe, 0x43, 0x6b, 0xa9, 0x40, 0xf0, 0x17, 
-                         0xb1, 0x76, 0x52, 0x84, 0x9a, 0x71, 0xdb, 0x35 };
-  unsigned char label[] = { 0x74, 0x65, 0x73, 0x74, 0x20, 0x6c, 0x61, 0x62, 
-                           0x65, 0x6c};
-  unsigned char random1[] = { 0xa0, 0xba, 0x9f, 0x93, 0x6c, 0xda, 0x31, 0x18};
-  unsigned char random2[] = {0x27, 0xa6, 0xf7, 0x96, 0xff, 0xd5, 0x19, 0x8c
-  };
-  unsigned char buf[200];
-  size_t result;
-  
-  result = dtls_prf(key, sizeof(key),
-                   label, sizeof(label),
-                   random1, sizeof(random1),
-                   random2, sizeof(random2),
-                   buf, 100);
-
-  printf("PRF yields %zu bytes of random data:\n", result);
-  hexdump(buf, result);
-  printf("\n");
-  return 0;
-}
diff --git a/external/wakaama/examples/shared/tinydtls/tinydtls.h b/external/wakaama/examples/shared/tinydtls/tinydtls.h
deleted file mode 100644 (file)
index b1b8cdf..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-/* tinydtls.h.  Generated from tinydtls.h.in by configure.  */
-/* tinydtls -- a very basic DTLS implementation
- *
- * Copyright (C) 2011--2014 Olaf Bergmann <bergmann@tzi.org>
- * Copyright (C) 2013 Hauke Mehrtens <hauke@hauke-m.de>
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-/**
- * @file tinydtls.h
- * @brief public tinydtls API
- */
-
-#ifndef _DTLS_TINYDTLS_H_
-#define _DTLS_TINYDTLS_H_
-
-/** Defined to 1 if tinydtls is built with support for ECC */
-#define DTLS_ECC 1
-
-/** Defined to 1 if tinydtls is built with support for PSK */
-#define DTLS_PSK 1
-
-/** Defined to 1 if tinydtls is built for Contiki OS */
-/* #undef WITH_CONTIKI */
-
-#endif /* _DTLS_TINYDTLS_H_ */
diff --git a/external/wakaama/examples/shared/tinydtls/tinydtls.h.in b/external/wakaama/examples/shared/tinydtls/tinydtls.h.in
deleted file mode 100644 (file)
index a2e6685..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-/* tinydtls -- a very basic DTLS implementation
- *
- * Copyright (C) 2011--2014 Olaf Bergmann <bergmann@tzi.org>
- * Copyright (C) 2013 Hauke Mehrtens <hauke@hauke-m.de>
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-/**
- * @file tinydtls.h
- * @brief public tinydtls API
- */
-
-#ifndef _DTLS_TINYDTLS_H_
-#define _DTLS_TINYDTLS_H_
-
-/** Defined to 1 if tinydtls is built with support for ECC */
-#undef DTLS_ECC
-
-/** Defined to 1 if tinydtls is built with support for PSK */
-#undef DTLS_PSK
-
-/** Defined to 1 if tinydtls is built for Contiki OS */
-#undef WITH_CONTIKI
-
-#endif /* _DTLS_TINYDTLS_H_ */
diff --git a/external/wakaama/examples/shared/tinydtls/uthash.h b/external/wakaama/examples/shared/tinydtls/uthash.h
deleted file mode 100644 (file)
index 786c956..0000000
+++ /dev/null
@@ -1,972 +0,0 @@
-/*
-Copyright (c) 2003-2010, Troy D. Hanson     http://uthash.sourceforge.net
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright
-      notice, this list of conditions and the following disclaimer.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
-IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
-TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
-PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
-OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-#ifndef _DTLS_UTHASH_H
-#define _DTLS_UTHASH_H 
-
-#include <string.h>   /* memcmp,strlen */
-#include <stddef.h>   /* ptrdiff_t */
-
-/* These macros use decltype or the earlier __typeof GNU extension.
-   As decltype is only available in newer compilers (VS2010 or gcc 4.3+
-   when compiling c++ source) this code uses whatever method is needed
-   or, for VS2008 where neither is available, uses casting workarounds. */
-#ifdef _MSC_VER         /* MS compiler */
-#if _MSC_VER >= 1600 && defined(__cplusplus)  /* VS2010 or newer in C++ mode */
-#define DECLTYPE(x) (decltype(x))
-#else                   /* VS2008 or older (or VS2010 in C mode) */
-#define NO_DECLTYPE
-#define DECLTYPE(x)
-#endif
-#else                   /* GNU, Sun and other compilers */
-#define DECLTYPE(x) (__typeof(x))
-#endif
-
-#ifdef NO_DECLTYPE
-#define DECLTYPE_ASSIGN(dst,src)                                                 \
-do {                                                                             \
-  char **_da_dst = (char**)(&(dst));                                             \
-  *_da_dst = (char*)(src);                                                       \
-} while(0)
-#else 
-#define DECLTYPE_ASSIGN(dst,src)                                                 \
-do {                                                                             \
-  (dst) = DECLTYPE(dst)(src);                                                    \
-} while(0)
-#endif
-
-/* a number of the hash function use uint32_t which isn't defined on win32 */
-#ifdef _MSC_VER
-typedef unsigned int uint32_t;
-#else
-#include <inttypes.h>   /* uint32_t */
-#endif
-
-#define UTHASH_VERSION 1.9.3
-
-#define uthash_fatal(msg) exit(-1)        /* fatal error (out of memory,etc) */
-#define uthash_malloc(sz) malloc(sz)      /* malloc fcn                      */
-#define uthash_free(ptr,sz) free(ptr)     /* free fcn                        */
-
-#define uthash_noexpand_fyi(tbl)          /* can be defined to log noexpand  */
-#define uthash_expand_fyi(tbl)            /* can be defined to log expands   */
-
-/* initial number of buckets */
-#define HASH_INITIAL_NUM_BUCKETS 32      /* initial number of buckets        */
-#define HASH_INITIAL_NUM_BUCKETS_LOG2 5  /* lg2 of initial number of buckets */
-#define HASH_BKT_CAPACITY_THRESH 10      /* expand when bucket count reaches */
-
-/* calculate the element whose hash handle address is hhe */
-#define ELMT_FROM_HH(tbl,hhp) ((void*)(((char*)(hhp)) - ((tbl)->hho)))
-
-#define HASH_FIND(hh,head,keyptr,keylen,out)                                     \
-do {                                                                             \
-  unsigned _hf_bkt,_hf_hashv;                                                    \
-  out=NULL;                                                                      \
-  if (head) {                                                                    \
-     HASH_FCN(keyptr,keylen, (head)->hh.tbl->num_buckets, _hf_hashv, _hf_bkt);   \
-     if (HASH_BLOOM_TEST((head)->hh.tbl, _hf_hashv)) {                           \
-       HASH_FIND_IN_BKT((head)->hh.tbl, hh, (head)->hh.tbl->buckets[ _hf_bkt ],  \
-                        keyptr,keylen,out);                                      \
-     }                                                                           \
-  }                                                                              \
-} while (0)
-
-#ifdef HASH_BLOOM
-#define HASH_BLOOM_BITLEN (1ULL << HASH_BLOOM)
-#define HASH_BLOOM_BYTELEN (HASH_BLOOM_BITLEN/8) + ((HASH_BLOOM_BITLEN%8) ? 1:0)
-#define HASH_BLOOM_MAKE(tbl)                                                     \
-do {                                                                             \
-  (tbl)->bloom_nbits = HASH_BLOOM;                                               \
-  (tbl)->bloom_bv = (uint8_t*)uthash_malloc(HASH_BLOOM_BYTELEN);                 \
-  if (!((tbl)->bloom_bv))  { uthash_fatal( "out of memory"); }                   \
-  memset((tbl)->bloom_bv, 0, HASH_BLOOM_BYTELEN);                                \
-  (tbl)->bloom_sig = HASH_BLOOM_SIGNATURE;                                       \
-} while (0);
-
-#define HASH_BLOOM_FREE(tbl)                                                     \
-do {                                                                             \
-  uthash_free((tbl)->bloom_bv, HASH_BLOOM_BYTELEN);                              \
-} while (0);
-
-#define HASH_BLOOM_BITSET(bv,idx) (bv[(idx)/8] |= (1U << ((idx)%8)))
-#define HASH_BLOOM_BITTEST(bv,idx) (bv[(idx)/8] & (1U << ((idx)%8)))
-
-#define HASH_BLOOM_ADD(tbl,hashv)                                                \
-  HASH_BLOOM_BITSET((tbl)->bloom_bv, (hashv & (uint32_t)((1ULL << (tbl)->bloom_nbits) - 1)))
-
-#define HASH_BLOOM_TEST(tbl,hashv)                                               \
-  HASH_BLOOM_BITTEST((tbl)->bloom_bv, (hashv & (uint32_t)((1ULL << (tbl)->bloom_nbits) - 1)))
-
-#else
-#define HASH_BLOOM_MAKE(tbl) 
-#define HASH_BLOOM_FREE(tbl) 
-#define HASH_BLOOM_ADD(tbl,hashv) 
-#define HASH_BLOOM_TEST(tbl,hashv) (1)
-#endif
-
-#define HASH_MAKE_TABLE(hh,head)                                                 \
-do {                                                                             \
-  (head)->hh.tbl = (UT_hash_table*)uthash_malloc(                                \
-                  sizeof(UT_hash_table));                                        \
-  if (!((head)->hh.tbl))  { uthash_fatal( "out of memory"); }                    \
-  memset((head)->hh.tbl, 0, sizeof(UT_hash_table));                              \
-  (head)->hh.tbl->tail = &((head)->hh);                                          \
-  (head)->hh.tbl->num_buckets = HASH_INITIAL_NUM_BUCKETS;                        \
-  (head)->hh.tbl->log2_num_buckets = HASH_INITIAL_NUM_BUCKETS_LOG2;              \
-  (head)->hh.tbl->hho = (char*)(&(head)->hh) - (char*)(head);                    \
-  (head)->hh.tbl->buckets = (UT_hash_bucket*)uthash_malloc(                      \
-          HASH_INITIAL_NUM_BUCKETS*sizeof(struct UT_hash_bucket));               \
-  if (! (head)->hh.tbl->buckets) { uthash_fatal( "out of memory"); }             \
-  memset((head)->hh.tbl->buckets, 0,                                             \
-          HASH_INITIAL_NUM_BUCKETS*sizeof(struct UT_hash_bucket));               \
-  HASH_BLOOM_MAKE((head)->hh.tbl);                                               \
-  (head)->hh.tbl->signature = HASH_SIGNATURE;                                    \
-} while(0)
-
-#define HASH_ADD(hh,head,fieldname,keylen_in,add)                                \
-        HASH_ADD_KEYPTR(hh,head,&add->fieldname,keylen_in,add)
-#define HASH_ADD_KEYPTR(hh,head,keyptr,keylen_in,add)                            \
-do {                                                                             \
- unsigned _ha_bkt;                                                               \
- (add)->hh.next = NULL;                                                          \
- (add)->hh.key = (char*)keyptr;                                                  \
- (add)->hh.keylen = keylen_in;                                                   \
- if (!(head)) {                                                                  \
-    head = (add);                                                                \
-    (head)->hh.prev = NULL;                                                      \
-    HASH_MAKE_TABLE(hh,head);                                                    \
- } else {                                                                        \
-    (head)->hh.tbl->tail->next = (add);                                          \
-    (add)->hh.prev = ELMT_FROM_HH((head)->hh.tbl, (head)->hh.tbl->tail);         \
-    (head)->hh.tbl->tail = &((add)->hh);                                         \
- }                                                                               \
- (head)->hh.tbl->num_items++;                                                    \
- (add)->hh.tbl = (head)->hh.tbl;                                                 \
- HASH_FCN(keyptr,keylen_in, (head)->hh.tbl->num_buckets,                         \
-         (add)->hh.hashv, _ha_bkt);                                              \
- HASH_ADD_TO_BKT((head)->hh.tbl->buckets[_ha_bkt],&(add)->hh);                   \
- HASH_BLOOM_ADD((head)->hh.tbl,(add)->hh.hashv);                                 \
- HASH_EMIT_KEY(hh,head,keyptr,keylen_in);                                        \
- HASH_FSCK(hh,head);                                                             \
-} while(0)
-
-#define HASH_TO_BKT( hashv, num_bkts, bkt )                                      \
-do {                                                                             \
-  bkt = ((hashv) & ((num_bkts) - 1));                                            \
-} while(0)
-
-/* delete "delptr" from the hash table.
- * "the usual" patch-up process for the app-order doubly-linked-list.
- * The use of _hd_hh_del below deserves special explanation.
- * These used to be expressed using (delptr) but that led to a bug
- * if someone used the same symbol for the head and deletee, like
- *  HASH_DELETE(hh,users,users);
- * We want that to work, but by changing the head (users) below
- * we were forfeiting our ability to further refer to the deletee (users)
- * in the patch-up process. Solution: use scratch space to
- * copy the deletee pointer, then the latter references are via that
- * scratch pointer rather than through the repointed (users) symbol.
- */
-#define HASH_DELETE(hh,head,delptr)                                              \
-do {                                                                             \
-    unsigned _hd_bkt;                                                            \
-    struct UT_hash_handle *_hd_hh_del;                                           \
-    if ( ((delptr)->hh.prev == NULL) && ((delptr)->hh.next == NULL) )  {         \
-        uthash_free((head)->hh.tbl->buckets,                                     \
-                    (head)->hh.tbl->num_buckets*sizeof(struct UT_hash_bucket) ); \
-        HASH_BLOOM_FREE((head)->hh.tbl);                                         \
-        uthash_free((head)->hh.tbl, sizeof(UT_hash_table));                      \
-        head = NULL;                                                             \
-    } else {                                                                     \
-        _hd_hh_del = &((delptr)->hh);                                            \
-        if ((delptr) == ELMT_FROM_HH((head)->hh.tbl,(head)->hh.tbl->tail)) {     \
-            (head)->hh.tbl->tail =                                               \
-                (UT_hash_handle*)((char*)((delptr)->hh.prev) +                   \
-                (head)->hh.tbl->hho);                                            \
-        }                                                                        \
-        if ((delptr)->hh.prev) {                                                 \
-            ((UT_hash_handle*)((char*)((delptr)->hh.prev) +                      \
-                    (head)->hh.tbl->hho))->next = (delptr)->hh.next;             \
-        } else {                                                                 \
-            DECLTYPE_ASSIGN(head,(delptr)->hh.next);                             \
-        }                                                                        \
-        if (_hd_hh_del->next) {                                                  \
-            ((UT_hash_handle*)((char*)_hd_hh_del->next +                         \
-                    (head)->hh.tbl->hho))->prev =                                \
-                    _hd_hh_del->prev;                                            \
-        }                                                                        \
-        HASH_TO_BKT( _hd_hh_del->hashv, (head)->hh.tbl->num_buckets, _hd_bkt);   \
-        HASH_DEL_IN_BKT(hh,(head)->hh.tbl->buckets[_hd_bkt], _hd_hh_del);        \
-        (head)->hh.tbl->num_items--;                                             \
-    }                                                                            \
-    HASH_FSCK(hh,head);                                                          \
-} while (0)
-
-
-/* convenience forms of HASH_FIND/HASH_ADD/HASH_DEL */
-#define HASH_FIND_STR(head,findstr,out)                                          \
-    HASH_FIND(hh,head,findstr,strlen(findstr),out)
-#define HASH_ADD_STR(head,strfield,add)                                          \
-    HASH_ADD(hh,head,strfield,strlen(add->strfield),add)
-#define HASH_FIND_INT(head,findint,out)                                          \
-    HASH_FIND(hh,head,findint,sizeof(int),out)
-#define HASH_ADD_INT(head,intfield,add)                                          \
-    HASH_ADD(hh,head,intfield,sizeof(int),add)
-#define HASH_FIND_PTR(head,findptr,out)                                          \
-    HASH_FIND(hh,head,findptr,sizeof(void *),out)
-#define HASH_ADD_PTR(head,ptrfield,add)                                          \
-    HASH_ADD(hh,head,ptrfield,sizeof(void *),add)
-#define HASH_DEL(head,delptr)                                                    \
-    HASH_DELETE(hh,head,delptr)
-
-/* HASH_FSCK checks hash integrity on every add/delete when HASH_DEBUG is defined.
- * This is for uthash developer only; it compiles away if HASH_DEBUG isn't defined.
- */
-#ifdef HASH_DEBUG
-#define HASH_OOPS(...) do { fprintf(stderr,__VA_ARGS__); exit(-1); } while (0)
-#define HASH_FSCK(hh,head)                                                       \
-do {                                                                             \
-    unsigned _bkt_i;                                                             \
-    unsigned _count, _bkt_count;                                                 \
-    char *_prev;                                                                 \
-    struct UT_hash_handle *_thh;                                                 \
-    if (head) {                                                                  \
-        _count = 0;                                                              \
-        for( _bkt_i = 0; _bkt_i < (head)->hh.tbl->num_buckets; _bkt_i++) {       \
-            _bkt_count = 0;                                                      \
-            _thh = (head)->hh.tbl->buckets[_bkt_i].hh_head;                      \
-            _prev = NULL;                                                        \
-            while (_thh) {                                                       \
-               if (_prev != (char*)(_thh->hh_prev)) {                            \
-                   HASH_OOPS("invalid hh_prev %p, actual %p\n",                  \
-                    _thh->hh_prev, _prev );                                      \
-               }                                                                 \
-               _bkt_count++;                                                     \
-               _prev = (char*)(_thh);                                            \
-               _thh = _thh->hh_next;                                             \
-            }                                                                    \
-            _count += _bkt_count;                                                \
-            if ((head)->hh.tbl->buckets[_bkt_i].count !=  _bkt_count) {          \
-               HASH_OOPS("invalid bucket count %d, actual %d\n",                 \
-                (head)->hh.tbl->buckets[_bkt_i].count, _bkt_count);              \
-            }                                                                    \
-        }                                                                        \
-        if (_count != (head)->hh.tbl->num_items) {                               \
-            HASH_OOPS("invalid hh item count %d, actual %d\n",                   \
-                (head)->hh.tbl->num_items, _count );                             \
-        }                                                                        \
-        /* traverse hh in app order; check next/prev integrity, count */         \
-        _count = 0;                                                              \
-        _prev = NULL;                                                            \
-        _thh =  &(head)->hh;                                                     \
-        while (_thh) {                                                           \
-           _count++;                                                             \
-           if (_prev !=(char*)(_thh->prev)) {                                    \
-              HASH_OOPS("invalid prev %p, actual %p\n",                          \
-                    _thh->prev, _prev );                                         \
-           }                                                                     \
-           _prev = (char*)ELMT_FROM_HH((head)->hh.tbl, _thh);                    \
-           _thh = ( _thh->next ?  (UT_hash_handle*)((char*)(_thh->next) +        \
-                                  (head)->hh.tbl->hho) : NULL );                 \
-        }                                                                        \
-        if (_count != (head)->hh.tbl->num_items) {                               \
-            HASH_OOPS("invalid app item count %d, actual %d\n",                  \
-                (head)->hh.tbl->num_items, _count );                             \
-        }                                                                        \
-    }                                                                            \
-} while (0)
-#else
-#define HASH_FSCK(hh,head) 
-#endif
-
-/* When compiled with -DHASH_EMIT_KEYS, length-prefixed keys are emitted to 
- * the descriptor to which this macro is defined for tuning the hash function.
- * The app can #include <unistd.h> to get the prototype for write(2). */
-#ifdef HASH_EMIT_KEYS
-#define HASH_EMIT_KEY(hh,head,keyptr,fieldlen)                                   \
-do {                                                                             \
-    unsigned _klen = fieldlen;                                                   \
-    write(HASH_EMIT_KEYS, &_klen, sizeof(_klen));                                \
-    write(HASH_EMIT_KEYS, keyptr, fieldlen);                                     \
-} while (0)
-#else 
-#define HASH_EMIT_KEY(hh,head,keyptr,fieldlen)                    
-#endif
-
-/* default to Jenkin's hash unless overridden e.g. DHASH_FUNCTION=HASH_SAX */
-#ifdef HASH_FUNCTION 
-#define HASH_FCN HASH_FUNCTION
-#else
-#define HASH_FCN HASH_JEN
-#endif
-
-/* The Bernstein hash function, used in Perl prior to v5.6 */
-#define HASH_BER(key,keylen,num_bkts,hashv,bkt)                                  \
-do {                                                                             \
-  unsigned _hb_keylen=keylen;                                                    \
-  char *_hb_key=(char*)(key);                                                    \
-  (hashv) = 0;                                                                   \
-  while (_hb_keylen--)  { (hashv) = ((hashv) * 33) + *_hb_key++; }               \
-  bkt = (hashv) & (num_bkts-1);                                                  \
-} while (0)
-
-
-/* SAX/FNV/OAT/JEN hash functions are macro variants of those listed at 
- * http://eternallyconfuzzled.com/tuts/algorithms/jsw_tut_hashing.aspx */
-#define HASH_SAX(key,keylen,num_bkts,hashv,bkt)                                  \
-do {                                                                             \
-  unsigned _sx_i;                                                                \
-  char *_hs_key=(char*)(key);                                                    \
-  hashv = 0;                                                                     \
-  for(_sx_i=0; _sx_i < keylen; _sx_i++)                                          \
-      hashv ^= (hashv << 5) + (hashv >> 2) + _hs_key[_sx_i];                     \
-  bkt = hashv & (num_bkts-1);                                                    \
-} while (0)
-
-#define HASH_FNV(key,keylen,num_bkts,hashv,bkt)                                  \
-do {                                                                             \
-  unsigned _fn_i;                                                                \
-  char *_hf_key=(char*)(key);                                                    \
-  hashv = 2166136261UL;                                                          \
-  for(_fn_i=0; _fn_i < keylen; _fn_i++)                                          \
-      hashv = (hashv * 16777619) ^ _hf_key[_fn_i];                               \
-  bkt = hashv & (num_bkts-1);                                                    \
-} while(0);
-#define HASH_OAT(key,keylen,num_bkts,hashv,bkt)                                  \
-do {                                                                             \
-  unsigned _ho_i;                                                                \
-  char *_ho_key=(char*)(key);                                                    \
-  hashv = 0;                                                                     \
-  for(_ho_i=0; _ho_i < keylen; _ho_i++) {                                        \
-      hashv += _ho_key[_ho_i];                                                   \
-      hashv += (hashv << 10);                                                    \
-      hashv ^= (hashv >> 6);                                                     \
-  }                                                                              \
-  hashv += (hashv << 3);                                                         \
-  hashv ^= (hashv >> 11);                                                        \
-  hashv += (hashv << 15);                                                        \
-  bkt = hashv & (num_bkts-1);                                                    \
-} while(0)
-
-#define HASH_JEN_MIX(a,b,c)                                                      \
-do {                                                                             \
-  a -= b; a -= c; a ^= ( c >> 13 );                                              \
-  b -= c; b -= a; b ^= ( a << 8 );                                               \
-  c -= a; c -= b; c ^= ( b >> 13 );                                              \
-  a -= b; a -= c; a ^= ( c >> 12 );                                              \
-  b -= c; b -= a; b ^= ( a << 16 );                                              \
-  c -= a; c -= b; c ^= ( b >> 5 );                                               \
-  a -= b; a -= c; a ^= ( c >> 3 );                                               \
-  b -= c; b -= a; b ^= ( a << 10 );                                              \
-  c -= a; c -= b; c ^= ( b >> 15 );                                              \
-} while (0)
-
-#define HASH_JEN(key,keylen,num_bkts,hashv,bkt)                                  \
-do {                                                                             \
-  unsigned _hj_i,_hj_j,_hj_k;                                                    \
-  char *_hj_key=(char*)(key);                                                    \
-  hashv = 0xfeedbeef;                                                            \
-  _hj_i = _hj_j = 0x9e3779b9;                                                    \
-  _hj_k = keylen;                                                                \
-  while (_hj_k >= 12) {                                                          \
-    _hj_i +=    (_hj_key[0] + ( (unsigned)_hj_key[1] << 8 )                      \
-        + ( (unsigned)_hj_key[2] << 16 )                                         \
-        + ( (unsigned)_hj_key[3] << 24 ) );                                      \
-    _hj_j +=    (_hj_key[4] + ( (unsigned)_hj_key[5] << 8 )                      \
-        + ( (unsigned)_hj_key[6] << 16 )                                         \
-        + ( (unsigned)_hj_key[7] << 24 ) );                                      \
-    hashv += (_hj_key[8] + ( (unsigned)_hj_key[9] << 8 )                         \
-        + ( (unsigned)_hj_key[10] << 16 )                                        \
-        + ( (unsigned)_hj_key[11] << 24 ) );                                     \
-                                                                                 \
-     HASH_JEN_MIX(_hj_i, _hj_j, hashv);                                          \
-                                                                                 \
-     _hj_key += 12;                                                              \
-     _hj_k -= 12;                                                                \
-  }                                                                              \
-  hashv += keylen;                                                               \
-  switch ( _hj_k ) {                                                             \
-     case 11: hashv += ( (unsigned)_hj_key[10] << 24 );                          \
-     case 10: hashv += ( (unsigned)_hj_key[9] << 16 );                           \
-     case 9:  hashv += ( (unsigned)_hj_key[8] << 8 );                            \
-     case 8:  _hj_j += ( (unsigned)_hj_key[7] << 24 );                           \
-     case 7:  _hj_j += ( (unsigned)_hj_key[6] << 16 );                           \
-     case 6:  _hj_j += ( (unsigned)_hj_key[5] << 8 );                            \
-     case 5:  _hj_j += _hj_key[4];                                               \
-     case 4:  _hj_i += ( (unsigned)_hj_key[3] << 24 );                           \
-     case 3:  _hj_i += ( (unsigned)_hj_key[2] << 16 );                           \
-     case 2:  _hj_i += ( (unsigned)_hj_key[1] << 8 );                            \
-     case 1:  _hj_i += _hj_key[0];                                               \
-  }                                                                              \
-  HASH_JEN_MIX(_hj_i, _hj_j, hashv);                                             \
-  bkt = hashv & (num_bkts-1);                                                    \
-} while(0)
-
-/* The Paul Hsieh hash function */
-#undef get16bits
-#if (defined(__GNUC__) && defined(__i386__)) || defined(__WATCOMC__)             \
-  || defined(_MSC_VER) || defined (__BORLANDC__) || defined (__TURBOC__)
-#define get16bits(d) (*((const uint16_t *) (d)))
-#endif
-
-#if !defined (get16bits)
-#define get16bits(d) ((((uint32_t)(((const uint8_t *)(d))[1])) << 8)             \
-                       +(uint32_t)(((const uint8_t *)(d))[0]) )
-#endif
-#define HASH_SFH(key,keylen,num_bkts,hashv,bkt)                                  \
-do {                                                                             \
-  char *_sfh_key=(char*)(key);                                                   \
-  uint32_t _sfh_tmp, _sfh_len = keylen;                                          \
-                                                                                 \
-  int _sfh_rem = _sfh_len & 3;                                                   \
-  _sfh_len >>= 2;                                                                \
-  hashv = 0xcafebabe;                                                            \
-                                                                                 \
-  /* Main loop */                                                                \
-  for (;_sfh_len > 0; _sfh_len--) {                                              \
-    hashv    += get16bits (_sfh_key);                                            \
-    _sfh_tmp       = (get16bits (_sfh_key+2) << 11) ^ hashv;                     \
-    hashv     = (hashv << 16) ^ _sfh_tmp;                                        \
-    _sfh_key += 2*sizeof (uint16_t);                                             \
-    hashv    += hashv >> 11;                                                     \
-  }                                                                              \
-                                                                                 \
-  /* Handle end cases */                                                         \
-  switch (_sfh_rem) {                                                            \
-    case 3: hashv += get16bits (_sfh_key);                                       \
-            hashv ^= hashv << 16;                                                \
-            hashv ^= _sfh_key[sizeof (uint16_t)] << 18;                          \
-            hashv += hashv >> 11;                                                \
-            break;                                                               \
-    case 2: hashv += get16bits (_sfh_key);                                       \
-            hashv ^= hashv << 11;                                                \
-            hashv += hashv >> 17;                                                \
-            break;                                                               \
-    case 1: hashv += *_sfh_key;                                                  \
-            hashv ^= hashv << 10;                                                \
-            hashv += hashv >> 1;                                                 \
-  }                                                                              \
-                                                                                 \
-    /* Force "avalanching" of final 127 bits */                                  \
-    hashv ^= hashv << 3;                                                         \
-    hashv += hashv >> 5;                                                         \
-    hashv ^= hashv << 4;                                                         \
-    hashv += hashv >> 17;                                                        \
-    hashv ^= hashv << 25;                                                        \
-    hashv += hashv >> 6;                                                         \
-    bkt = hashv & (num_bkts-1);                                                  \
-} while(0);
-
-#ifdef HASH_USING_NO_STRICT_ALIASING
-/* The MurmurHash exploits some CPU's (e.g. x86) tolerance for unaligned reads.
- * For other types of CPU's (e.g. Sparc) an unaligned read causes a bus error.
- * So MurmurHash comes in two versions, the faster unaligned one and the slower
- * aligned one. We only use the faster one on CPU's where we know it's safe. 
- *
- * Note the preprocessor built-in defines can be emitted using:
- *
- *   gcc -m64 -dM -E - < /dev/null                  (on gcc)
- *   cc -## a.c (where a.c is a simple test file)   (Sun Studio)
- */
-#if (defined(__i386__) || defined(__x86_64__)) 
-#define HASH_MUR HASH_MUR_UNALIGNED
-#else
-#define HASH_MUR HASH_MUR_ALIGNED
-#endif
-
-/* Appleby's MurmurHash fast version for unaligned-tolerant archs like i386 */
-#define HASH_MUR_UNALIGNED(key,keylen,num_bkts,hashv,bkt)                        \
-do {                                                                             \
-  const unsigned int _mur_m = 0x5bd1e995;                                        \
-  const int _mur_r = 24;                                                         \
-  hashv = 0xcafebabe ^ keylen;                                                   \
-  char *_mur_key = (char *)(key);                                                \
-  uint32_t _mur_tmp, _mur_len = keylen;                                          \
-                                                                                 \
-  for (;_mur_len >= 4; _mur_len-=4) {                                            \
-    _mur_tmp = *(uint32_t *)_mur_key;                                            \
-    _mur_tmp *= _mur_m;                                                          \
-    _mur_tmp ^= _mur_tmp >> _mur_r;                                              \
-    _mur_tmp *= _mur_m;                                                          \
-    hashv *= _mur_m;                                                             \
-    hashv ^= _mur_tmp;                                                           \
-    _mur_key += 4;                                                               \
-  }                                                                              \
-                                                                                 \
-  switch(_mur_len)                                                               \
-  {                                                                              \
-    case 3: hashv ^= _mur_key[2] << 16;                                          \
-    case 2: hashv ^= _mur_key[1] << 8;                                           \
-    case 1: hashv ^= _mur_key[0];                                                \
-            hashv *= _mur_m;                                                     \
-  };                                                                             \
-                                                                                 \
-  hashv ^= hashv >> 13;                                                          \
-  hashv *= _mur_m;                                                               \
-  hashv ^= hashv >> 15;                                                          \
-                                                                                 \
-  bkt = hashv & (num_bkts-1);                                                    \
-} while(0)
-
-/* Appleby's MurmurHash version for alignment-sensitive archs like Sparc */
-#define HASH_MUR_ALIGNED(key,keylen,num_bkts,hashv,bkt)                          \
-do {                                                                             \
-  const unsigned int _mur_m = 0x5bd1e995;                                        \
-  const int _mur_r = 24;                                                         \
-  hashv = 0xcafebabe ^ (keylen);                                                 \
-  char *_mur_key = (char *)(key);                                                \
-  uint32_t _mur_len = keylen;                                                    \
-  int _mur_align = (int)_mur_key & 3;                                            \
-                                                                                 \
-  if (_mur_align && (_mur_len >= 4)) {                                           \
-    unsigned _mur_t = 0, _mur_d = 0;                                             \
-    switch(_mur_align) {                                                         \
-      case 1: _mur_t |= _mur_key[2] << 16;                                       \
-      case 2: _mur_t |= _mur_key[1] << 8;                                        \
-      case 3: _mur_t |= _mur_key[0];                                             \
-    }                                                                            \
-    _mur_t <<= (8 * _mur_align);                                                 \
-    _mur_key += 4-_mur_align;                                                    \
-    _mur_len -= 4-_mur_align;                                                    \
-    int _mur_sl = 8 * (4-_mur_align);                                            \
-    int _mur_sr = 8 * _mur_align;                                                \
-                                                                                 \
-    for (;_mur_len >= 4; _mur_len-=4) {                                          \
-      _mur_d = *(unsigned *)_mur_key;                                            \
-      _mur_t = (_mur_t >> _mur_sr) | (_mur_d << _mur_sl);                        \
-      unsigned _mur_k = _mur_t;                                                  \
-      _mur_k *= _mur_m;                                                          \
-      _mur_k ^= _mur_k >> _mur_r;                                                \
-      _mur_k *= _mur_m;                                                          \
-      hashv *= _mur_m;                                                           \
-      hashv ^= _mur_k;                                                           \
-      _mur_t = _mur_d;                                                           \
-      _mur_key += 4;                                                             \
-    }                                                                            \
-    _mur_d = 0;                                                                  \
-    if(_mur_len >= _mur_align) {                                                 \
-      switch(_mur_align) {                                                       \
-        case 3: _mur_d |= _mur_key[2] << 16;                                     \
-        case 2: _mur_d |= _mur_key[1] << 8;                                      \
-        case 1: _mur_d |= _mur_key[0];                                           \
-      }                                                                          \
-      unsigned _mur_k = (_mur_t >> _mur_sr) | (_mur_d << _mur_sl);               \
-      _mur_k *= _mur_m;                                                          \
-      _mur_k ^= _mur_k >> _mur_r;                                                \
-      _mur_k *= _mur_m;                                                          \
-      hashv *= _mur_m;                                                           \
-      hashv ^= _mur_k;                                                           \
-      _mur_k += _mur_align;                                                      \
-      _mur_len -= _mur_align;                                                    \
-                                                                                 \
-      switch(_mur_len)                                                           \
-      {                                                                          \
-        case 3: hashv ^= _mur_key[2] << 16;                                      \
-        case 2: hashv ^= _mur_key[1] << 8;                                       \
-        case 1: hashv ^= _mur_key[0];                                            \
-                hashv *= _mur_m;                                                 \
-      }                                                                          \
-    } else {                                                                     \
-      switch(_mur_len)                                                           \
-      {                                                                          \
-        case 3: _mur_d ^= _mur_key[2] << 16;                                     \
-        case 2: _mur_d ^= _mur_key[1] << 8;                                      \
-        case 1: _mur_d ^= _mur_key[0];                                           \
-        case 0: hashv ^= (_mur_t >> _mur_sr) | (_mur_d << _mur_sl);              \
-        hashv *= _mur_m;                                                         \
-      }                                                                          \
-    }                                                                            \
-                                                                                 \
-    hashv ^= hashv >> 13;                                                        \
-    hashv *= _mur_m;                                                             \
-    hashv ^= hashv >> 15;                                                        \
-  } else {                                                                       \
-    for (;_mur_len >= 4; _mur_len-=4) {                                          \
-      unsigned _mur_k = *(unsigned*)_mur_key;                                    \
-      _mur_k *= _mur_m;                                                          \
-      _mur_k ^= _mur_k >> _mur_r;                                                \
-      _mur_k *= _mur_m;                                                          \
-      hashv *= _mur_m;                                                           \
-      hashv ^= _mur_k;                                                           \
-      _mur_key += 4;                                                             \
-    }                                                                            \
-    switch(_mur_len)                                                             \
-    {                                                                            \
-      case 3: hashv ^= _mur_key[2] << 16;                                        \
-      case 2: hashv ^= _mur_key[1] << 8;                                         \
-      case 1: hashv ^= _mur_key[0];                                              \
-      hashv *= _mur_m;                                                           \
-    }                                                                            \
-                                                                                 \
-    hashv ^= hashv >> 13;                                                        \
-    hashv *= _mur_m;                                                             \
-    hashv ^= hashv >> 15;                                                        \
-  }                                                                              \
-  bkt = hashv & (num_bkts-1);                                                    \
-} while(0)
-#endif  /* HASH_USING_NO_STRICT_ALIASING */
-
-/* key comparison function; return 0 if keys equal */
-#define HASH_KEYCMP(a,b,len) memcmp(a,b,len) 
-
-/* iterate over items in a known bucket to find desired item */
-#define HASH_FIND_IN_BKT(tbl,hh,head,keyptr,keylen_in,out)                       \
-do {                                                                             \
- if (head.hh_head) DECLTYPE_ASSIGN(out,ELMT_FROM_HH(tbl,head.hh_head));          \
- else out=NULL;                                                                  \
- while (out) {                                                                   \
-    if (out->hh.keylen == keylen_in) {                                           \
-        if ((HASH_KEYCMP(out->hh.key,keyptr,keylen_in)) == 0) break;             \
-    }                                                                            \
-    if (out->hh.hh_next) DECLTYPE_ASSIGN(out,ELMT_FROM_HH(tbl,out->hh.hh_next)); \
-    else out = NULL;                                                             \
- }                                                                               \
-} while(0)
-
-/* add an item to a bucket  */
-#define HASH_ADD_TO_BKT(head,addhh)                                              \
-do {                                                                             \
- head.count++;                                                                   \
- (addhh)->hh_next = head.hh_head;                                                \
- (addhh)->hh_prev = NULL;                                                        \
- if (head.hh_head) { (head).hh_head->hh_prev = (addhh); }                        \
- (head).hh_head=addhh;                                                           \
- if (head.count >= ((head.expand_mult+1) * HASH_BKT_CAPACITY_THRESH)             \
-     && (addhh)->tbl->noexpand != 1) {                                           \
-       HASH_EXPAND_BUCKETS((addhh)->tbl);                                        \
- }                                                                               \
-} while(0)
-
-/* remove an item from a given bucket */
-#define HASH_DEL_IN_BKT(hh,head,hh_del)                                          \
-    (head).count--;                                                              \
-    if ((head).hh_head == hh_del) {                                              \
-      (head).hh_head = hh_del->hh_next;                                          \
-    }                                                                            \
-    if (hh_del->hh_prev) {                                                       \
-        hh_del->hh_prev->hh_next = hh_del->hh_next;                              \
-    }                                                                            \
-    if (hh_del->hh_next) {                                                       \
-        hh_del->hh_next->hh_prev = hh_del->hh_prev;                              \
-    }                                                                
-
-/* Bucket expansion has the effect of doubling the number of buckets
- * and redistributing the items into the new buckets. Ideally the
- * items will distribute more or less evenly into the new buckets
- * (the extent to which this is true is a measure of the quality of
- * the hash function as it applies to the key domain). 
- * 
- * With the items distributed into more buckets, the chain length
- * (item count) in each bucket is reduced. Thus by expanding buckets
- * the hash keeps a bound on the chain length. This bounded chain 
- * length is the essence of how a hash provides constant time lookup.
- * 
- * The calculation of tbl->ideal_chain_maxlen below deserves some
- * explanation. First, keep in mind that we're calculating the ideal
- * maximum chain length based on the *new* (doubled) bucket count.
- * In fractions this is just n/b (n=number of items,b=new num buckets).
- * Since the ideal chain length is an integer, we want to calculate 
- * ceil(n/b). We don't depend on floating point arithmetic in this
- * hash, so to calculate ceil(n/b) with integers we could write
- * 
- *      ceil(n/b) = (n/b) + ((n%b)?1:0)
- * 
- * and in fact a previous version of this hash did just that.
- * But now we have improved things a bit by recognizing that b is
- * always a power of two. We keep its base 2 log handy (call it lb),
- * so now we can write this with a bit shift and logical AND:
- * 
- *      ceil(n/b) = (n>>lb) + ( (n & (b-1)) ? 1:0)
- * 
- */
-#define HASH_EXPAND_BUCKETS(tbl)                                                 \
-do {                                                                             \
-    unsigned _he_bkt;                                                            \
-    unsigned _he_bkt_i;                                                          \
-    struct UT_hash_handle *_he_thh, *_he_hh_nxt;                                 \
-    UT_hash_bucket *_he_new_buckets, *_he_newbkt;                                \
-    _he_new_buckets = (UT_hash_bucket*)uthash_malloc(                            \
-             2 * tbl->num_buckets * sizeof(struct UT_hash_bucket));              \
-    if (!_he_new_buckets) { uthash_fatal( "out of memory"); }                    \
-    memset(_he_new_buckets, 0,                                                   \
-            2 * tbl->num_buckets * sizeof(struct UT_hash_bucket));               \
-    tbl->ideal_chain_maxlen =                                                    \
-       (tbl->num_items >> (tbl->log2_num_buckets+1)) +                           \
-       ((tbl->num_items & ((tbl->num_buckets*2)-1)) ? 1 : 0);                    \
-    tbl->nonideal_items = 0;                                                     \
-    for(_he_bkt_i = 0; _he_bkt_i < tbl->num_buckets; _he_bkt_i++)                \
-    {                                                                            \
-        _he_thh = tbl->buckets[ _he_bkt_i ].hh_head;                             \
-        while (_he_thh) {                                                        \
-           _he_hh_nxt = _he_thh->hh_next;                                        \
-           HASH_TO_BKT( _he_thh->hashv, tbl->num_buckets*2, _he_bkt);            \
-           _he_newbkt = &(_he_new_buckets[ _he_bkt ]);                           \
-           if (++(_he_newbkt->count) > tbl->ideal_chain_maxlen) {                \
-             tbl->nonideal_items++;                                              \
-             _he_newbkt->expand_mult = _he_newbkt->count /                       \
-                                        tbl->ideal_chain_maxlen;                 \
-           }                                                                     \
-           _he_thh->hh_prev = NULL;                                              \
-           _he_thh->hh_next = _he_newbkt->hh_head;                               \
-           if (_he_newbkt->hh_head) _he_newbkt->hh_head->hh_prev =               \
-                _he_thh;                                                         \
-           _he_newbkt->hh_head = _he_thh;                                        \
-           _he_thh = _he_hh_nxt;                                                 \
-        }                                                                        \
-    }                                                                            \
-    uthash_free( tbl->buckets, tbl->num_buckets*sizeof(struct UT_hash_bucket) ); \
-    tbl->num_buckets *= 2;                                                       \
-    tbl->log2_num_buckets++;                                                     \
-    tbl->buckets = _he_new_buckets;                                              \
-    tbl->ineff_expands = (tbl->nonideal_items > (tbl->num_items >> 1)) ?         \
-        (tbl->ineff_expands+1) : 0;                                              \
-    if (tbl->ineff_expands > 1) {                                                \
-        tbl->noexpand=1;                                                         \
-        uthash_noexpand_fyi(tbl);                                                \
-    }                                                                            \
-    uthash_expand_fyi(tbl);                                                      \
-} while(0)
-
-
-/* This is an adaptation of Simon Tatham's O(n log(n)) mergesort */
-/* Note that HASH_SORT assumes the hash handle name to be hh. 
- * HASH_SRT was added to allow the hash handle name to be passed in. */
-#define HASH_SORT(head,cmpfcn) HASH_SRT(hh,head,cmpfcn)
-#define HASH_SRT(hh,head,cmpfcn)                                                 \
-do {                                                                             \
-  unsigned _hs_i;                                                                \
-  unsigned _hs_looping,_hs_nmerges,_hs_insize,_hs_psize,_hs_qsize;               \
-  struct UT_hash_handle *_hs_p, *_hs_q, *_hs_e, *_hs_list, *_hs_tail;            \
-  if (head) {                                                                    \
-      _hs_insize = 1;                                                            \
-      _hs_looping = 1;                                                           \
-      _hs_list = &((head)->hh);                                                  \
-      while (_hs_looping) {                                                      \
-          _hs_p = _hs_list;                                                      \
-          _hs_list = NULL;                                                       \
-          _hs_tail = NULL;                                                       \
-          _hs_nmerges = 0;                                                       \
-          while (_hs_p) {                                                        \
-              _hs_nmerges++;                                                     \
-              _hs_q = _hs_p;                                                     \
-              _hs_psize = 0;                                                     \
-              for ( _hs_i = 0; _hs_i  < _hs_insize; _hs_i++ ) {                  \
-                  _hs_psize++;                                                   \
-                  _hs_q = (UT_hash_handle*)((_hs_q->next) ?                      \
-                          ((void*)((char*)(_hs_q->next) +                        \
-                          (head)->hh.tbl->hho)) : NULL);                         \
-                  if (! (_hs_q) ) break;                                         \
-              }                                                                  \
-              _hs_qsize = _hs_insize;                                            \
-              while ((_hs_psize > 0) || ((_hs_qsize > 0) && _hs_q )) {           \
-                  if (_hs_psize == 0) {                                          \
-                      _hs_e = _hs_q;                                             \
-                      _hs_q = (UT_hash_handle*)((_hs_q->next) ?                  \
-                              ((void*)((char*)(_hs_q->next) +                    \
-                              (head)->hh.tbl->hho)) : NULL);                     \
-                      _hs_qsize--;                                               \
-                  } else if ( (_hs_qsize == 0) || !(_hs_q) ) {                   \
-                      _hs_e = _hs_p;                                             \
-                      _hs_p = (UT_hash_handle*)((_hs_p->next) ?                  \
-                              ((void*)((char*)(_hs_p->next) +                    \
-                              (head)->hh.tbl->hho)) : NULL);                     \
-                      _hs_psize--;                                               \
-                  } else if ((                                                   \
-                      cmpfcn(DECLTYPE(head)(ELMT_FROM_HH((head)->hh.tbl,_hs_p)), \
-                             DECLTYPE(head)(ELMT_FROM_HH((head)->hh.tbl,_hs_q))) \
-                             ) <= 0) {                                           \
-                      _hs_e = _hs_p;                                             \
-                      _hs_p = (UT_hash_handle*)((_hs_p->next) ?                  \
-                              ((void*)((char*)(_hs_p->next) +                    \
-                              (head)->hh.tbl->hho)) : NULL);                     \
-                      _hs_psize--;                                               \
-                  } else {                                                       \
-                      _hs_e = _hs_q;                                             \
-                      _hs_q = (UT_hash_handle*)((_hs_q->next) ?                  \
-                              ((void*)((char*)(_hs_q->next) +                    \
-                              (head)->hh.tbl->hho)) : NULL);                     \
-                      _hs_qsize--;                                               \
-                  }                                                              \
-                  if ( _hs_tail ) {                                              \
-                      _hs_tail->next = ((_hs_e) ?                                \
-                            ELMT_FROM_HH((head)->hh.tbl,_hs_e) : NULL);          \
-                  } else {                                                       \
-                      _hs_list = _hs_e;                                          \
-                  }                                                              \
-                  _hs_e->prev = ((_hs_tail) ?                                    \
-                     ELMT_FROM_HH((head)->hh.tbl,_hs_tail) : NULL);              \
-                  _hs_tail = _hs_e;                                              \
-              }                                                                  \
-              _hs_p = _hs_q;                                                     \
-          }                                                                      \
-          _hs_tail->next = NULL;                                                 \
-          if ( _hs_nmerges <= 1 ) {                                              \
-              _hs_looping=0;                                                     \
-              (head)->hh.tbl->tail = _hs_tail;                                   \
-              DECLTYPE_ASSIGN(head,ELMT_FROM_HH((head)->hh.tbl, _hs_list));      \
-          }                                                                      \
-          _hs_insize *= 2;                                                       \
-      }                                                                          \
-      HASH_FSCK(hh,head);                                                        \
- }                                                                               \
-} while (0)
-
-/* This function selects items from one hash into another hash. 
- * The end result is that the selected items have dual presence 
- * in both hashes. There is no copy of the items made; rather 
- * they are added into the new hash through a secondary hash 
- * hash handle that must be present in the structure. */
-#define HASH_SELECT(hh_dst, dst, hh_src, src, cond)                              \
-do {                                                                             \
-  unsigned _src_bkt, _dst_bkt;                                                   \
-  void *_last_elt=NULL, *_elt;                                                   \
-  UT_hash_handle *_src_hh, *_dst_hh, *_last_elt_hh=NULL;                         \
-  ptrdiff_t _dst_hho = ((char*)(&(dst)->hh_dst) - (char*)(dst));                 \
-  if (src) {                                                                     \
-    for(_src_bkt=0; _src_bkt < (src)->hh_src.tbl->num_buckets; _src_bkt++) {     \
-      for(_src_hh = (src)->hh_src.tbl->buckets[_src_bkt].hh_head;                \
-          _src_hh;                                                               \
-          _src_hh = _src_hh->hh_next) {                                          \
-          _elt = ELMT_FROM_HH((src)->hh_src.tbl, _src_hh);                       \
-          if (cond(_elt)) {                                                      \
-            _dst_hh = (UT_hash_handle*)(((char*)_elt) + _dst_hho);               \
-            _dst_hh->key = _src_hh->key;                                         \
-            _dst_hh->keylen = _src_hh->keylen;                                   \
-            _dst_hh->hashv = _src_hh->hashv;                                     \
-            _dst_hh->prev = _last_elt;                                           \
-            _dst_hh->next = NULL;                                                \
-            if (_last_elt_hh) { _last_elt_hh->next = _elt; }                     \
-            if (!dst) {                                                          \
-              DECLTYPE_ASSIGN(dst,_elt);                                         \
-              HASH_MAKE_TABLE(hh_dst,dst);                                       \
-            } else {                                                             \
-              _dst_hh->tbl = (dst)->hh_dst.tbl;                                  \
-            }                                                                    \
-            HASH_TO_BKT(_dst_hh->hashv, _dst_hh->tbl->num_buckets, _dst_bkt);    \
-            HASH_ADD_TO_BKT(_dst_hh->tbl->buckets[_dst_bkt],_dst_hh);            \
-            (dst)->hh_dst.tbl->num_items++;                                      \
-            _last_elt = _elt;                                                    \
-            _last_elt_hh = _dst_hh;                                              \
-          }                                                                      \
-      }                                                                          \
-    }                                                                            \
-  }                                                                              \
-  HASH_FSCK(hh_dst,dst);                                                         \
-} while (0)
-
-#define HASH_CLEAR(hh,head)                                                      \
-do {                                                                             \
-  if (head) {                                                                    \
-    uthash_free((head)->hh.tbl->buckets,                                         \
-                (head)->hh.tbl->num_buckets*sizeof(struct UT_hash_bucket));      \
-    uthash_free((head)->hh.tbl, sizeof(UT_hash_table));                          \
-    (head)=NULL;                                                                 \
-  }                                                                              \
-} while(0)
-
-#ifdef NO_DECLTYPE
-#define HASH_ITER(hh,head,el,tmp)                                                \
-for((el)=(head), (*(char**)(&(tmp)))=(char*)((head)?(head)->hh.next:NULL);       \
-  el; (el)=(tmp),(*(char**)(&(tmp)))=(char*)((tmp)?(tmp)->hh.next:NULL)) 
-#else
-#define HASH_ITER(hh,head,el,tmp)                                                \
-for((el)=(head),(tmp)=DECLTYPE(el)((head)?(head)->hh.next:NULL);                 \
-  el; (el)=(tmp),(tmp)=DECLTYPE(el)((tmp)?(tmp)->hh.next:NULL))
-#endif
-
-/* obtain a count of items in the hash */
-#define HASH_COUNT(head) HASH_CNT(hh,head) 
-#define HASH_CNT(hh,head) ((head)?((head)->hh.tbl->num_items):0)
-
-typedef struct UT_hash_bucket {
-   struct UT_hash_handle *hh_head;
-   unsigned count;
-
-   /* expand_mult is normally set to 0. In this situation, the max chain length
-    * threshold is enforced at its default value, HASH_BKT_CAPACITY_THRESH. (If
-    * the bucket's chain exceeds this length, bucket expansion is triggered). 
-    * However, setting expand_mult to a non-zero value delays bucket expansion
-    * (that would be triggered by additions to this particular bucket)
-    * until its chain length reaches a *multiple* of HASH_BKT_CAPACITY_THRESH.
-    * (The multiplier is simply expand_mult+1). The whole idea of this
-    * multiplier is to reduce bucket expansions, since they are expensive, in
-    * situations where we know that a particular bucket tends to be overused.
-    * It is better to let its chain length grow to a longer yet-still-bounded
-    * value, than to do an O(n) bucket expansion too often. 
-    */
-   unsigned expand_mult;
-
-} UT_hash_bucket;
-
-/* random signature used only to find hash tables in external analysis */
-#define HASH_SIGNATURE 0xa0111fe1
-#define HASH_BLOOM_SIGNATURE 0xb12220f2
-
-typedef struct UT_hash_table {
-   UT_hash_bucket *buckets;
-   unsigned num_buckets, log2_num_buckets;
-   unsigned num_items;
-   struct UT_hash_handle *tail; /* tail hh in app order, for fast append    */
-   ptrdiff_t hho; /* hash handle offset (byte pos of hash handle in element */
-
-   /* in an ideal situation (all buckets used equally), no bucket would have
-    * more than ceil(#items/#buckets) items. that's the ideal chain length. */
-   unsigned ideal_chain_maxlen;
-
-   /* nonideal_items is the number of items in the hash whose chain position
-    * exceeds the ideal chain maxlen. these items pay the penalty for an uneven
-    * hash distribution; reaching them in a chain traversal takes >ideal steps */
-   unsigned nonideal_items;
-
-   /* ineffective expands occur when a bucket doubling was performed, but 
-    * afterward, more than half the items in the hash had nonideal chain
-    * positions. If this happens on two consecutive expansions we inhibit any
-    * further expansion, as it's not helping; this happens when the hash
-    * function isn't a good fit for the key domain. When expansion is inhibited
-    * the hash will still work, albeit no longer in constant time. */
-   unsigned ineff_expands, noexpand;
-
-   uint32_t signature; /* used only to find hash tables in external analysis */
-#ifdef HASH_BLOOM
-   uint32_t bloom_sig; /* used only to test bloom exists in external analysis */
-   uint8_t *bloom_bv;
-   char bloom_nbits;
-#endif
-
-} UT_hash_table;
-
-typedef struct UT_hash_handle {
-   struct UT_hash_table *tbl;
-   void *prev;                       /* prev element in app order      */
-   void *next;                       /* next element in app order      */
-   struct UT_hash_handle *hh_prev;   /* previous hh in bucket order    */
-   struct UT_hash_handle *hh_next;   /* next hh in bucket order        */
-   void *key;                        /* ptr to enclosing struct's key  */
-   unsigned keylen;                  /* enclosing struct's key len     */
-   unsigned hashv;                   /* result of hash-fcn(key)        */
-} UT_hash_handle;
-
-#endif /* _DTLS_UTHASH_H */
diff --git a/external/wakaama/examples/shared/tinydtls/utlist.h b/external/wakaama/examples/shared/tinydtls/utlist.h
deleted file mode 100644 (file)
index 8b03b6b..0000000
+++ /dev/null
@@ -1,490 +0,0 @@
-/*
-Copyright (c) 2007-2010, Troy D. Hanson   http://uthash.sourceforge.net
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright
-      notice, this list of conditions and the following disclaimer.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
-IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
-TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
-PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
-OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-#ifndef _DTLS_UTLIST_H
-#define _DTLS_UTLIST_H
-
-#define UTLIST_VERSION 1.9.1
-
-/* 
- * This file contains macros to manipulate singly and doubly-linked lists.
- *
- * 1. LL_ macros:  singly-linked lists.
- * 2. DL_ macros:  doubly-linked lists.
- * 3. CDL_ macros: circular doubly-linked lists.
- *
- * To use singly-linked lists, your structure must have a "next" pointer.
- * To use doubly-linked lists, your structure must "prev" and "next" pointers.
- * Either way, the pointer to the head of the list must be initialized to NULL.
- * 
- * ----------------.EXAMPLE -------------------------
- * struct item {
- *      int id;
- *      struct item *prev, *next;
- * }
- *
- * struct item *list = NULL:
- *
- * int main() {
- *      struct item *item;
- *      ... allocate and populate item ...
- *      DL_APPEND(list, item);
- * }
- * --------------------------------------------------
- *
- * For doubly-linked lists, the append and delete macros are O(1)
- * For singly-linked lists, append and delete are O(n) but prepend is O(1)
- * The sort macro is O(n log(n)) for all types of single/double/circular lists.
- */
-
-/* These macros use decltype or the earlier __typeof GNU extension.
-   As decltype is only available in newer compilers (VS2010 or gcc 4.3+
-   when compiling c++ code), this code uses whatever method is needed
-   or, for VS2008 where neither is available, uses casting workarounds. */
-#ifdef _MSC_VER            /* MS compiler */
-#if _MSC_VER >= 1600 && __cplusplus  /* VS2010 and newer in C++ mode */
-#define LDECLTYPE(x) decltype(x)
-#else                     /* VS2008 or older (or VS2010 in C mode) */
-#define NO_DECLTYPE
-#define LDECLTYPE(x) char*
-#endif
-#else                      /* GNU, Sun and other compilers */
-#define LDECLTYPE(x) __typeof(x)
-#endif
-
-/* for VS2008 we use some workarounds to get around the lack of decltype,
- * namely, we always reassign our tmp variable to the list head if we need
- * to dereference its prev/next pointers, and save/restore the real head.*/
-#ifdef NO_DECLTYPE
-#define _SV(elt,list) _tmp = (char*)(list); {char **_alias = (char**)&(list); *_alias = (elt); }
-#define _NEXT(elt,list) ((char*)((list)->next))
-#define _NEXTASGN(elt,list,to) { char **_alias = (char**)&((list)->next); *_alias=(char*)(to); }
-#define _PREV(elt,list) ((char*)((list)->prev))
-#define _PREVASGN(elt,list,to) { char **_alias = (char**)&((list)->prev); *_alias=(char*)(to); }
-#define _RS(list) { char **_alias = (char**)&(list); *_alias=_tmp; }
-#define _CASTASGN(a,b) { char **_alias = (char**)&(a); *_alias=(char*)(b); }
-#else 
-#define _SV(elt,list)
-#define _NEXT(elt,list) ((elt)->next)
-#define _NEXTASGN(elt,list,to) ((elt)->next)=(to)
-#define _PREV(elt,list) ((elt)->prev)
-#define _PREVASGN(elt,list,to) ((elt)->prev)=(to)
-#define _RS(list)
-#define _CASTASGN(a,b) (a)=(b)
-#endif
-
-/******************************************************************************
- * The sort macro is an adaptation of Simon Tatham's O(n log(n)) mergesort    *
- * Unwieldy variable names used here to avoid shadowing passed-in variables.  *
- *****************************************************************************/
-#define LL_SORT(list, cmp)                                                                     \
-do {                                                                                           \
-  LDECLTYPE(list) _ls_p;                                                                       \
-  LDECLTYPE(list) _ls_q;                                                                       \
-  LDECLTYPE(list) _ls_e;                                                                       \
-  LDECLTYPE(list) _ls_tail;                                                                    \
-  LDECLTYPE(list) _ls_oldhead;                                                                 \
-  LDECLTYPE(list) _tmp;                                                                        \
-  int _ls_insize, _ls_nmerges, _ls_psize, _ls_qsize, _ls_i, _ls_looping;                       \
-  if (list) {                                                                                  \
-    _ls_insize = 1;                                                                            \
-    _ls_looping = 1;                                                                           \
-    while (_ls_looping) {                                                                      \
-      _CASTASGN(_ls_p,list);                                                                   \
-      _CASTASGN(_ls_oldhead,list);                                                             \
-      list = NULL;                                                                             \
-      _ls_tail = NULL;                                                                         \
-      _ls_nmerges = 0;                                                                         \
-      while (_ls_p) {                                                                          \
-        _ls_nmerges++;                                                                         \
-        _ls_q = _ls_p;                                                                         \
-        _ls_psize = 0;                                                                         \
-        for (_ls_i = 0; _ls_i < _ls_insize; _ls_i++) {                                         \
-          _ls_psize++;                                                                         \
-          _SV(_ls_q,list); _ls_q = _NEXT(_ls_q,list); _RS(list);                               \
-          if (!_ls_q) break;                                                                   \
-        }                                                                                      \
-        _ls_qsize = _ls_insize;                                                                \
-        while (_ls_psize > 0 || (_ls_qsize > 0 && _ls_q)) {                                    \
-          if (_ls_psize == 0) {                                                                \
-            _ls_e = _ls_q; _SV(_ls_q,list); _ls_q = _NEXT(_ls_q,list); _RS(list); _ls_qsize--; \
-          } else if (_ls_qsize == 0 || !_ls_q) {                                               \
-            _ls_e = _ls_p; _SV(_ls_p,list); _ls_p = _NEXT(_ls_p,list); _RS(list); _ls_psize--; \
-          } else if (cmp(_ls_p,_ls_q) <= 0) {                                                  \
-            _ls_e = _ls_p; _SV(_ls_p,list); _ls_p = _NEXT(_ls_p,list); _RS(list); _ls_psize--; \
-          } else {                                                                             \
-            _ls_e = _ls_q; _SV(_ls_q,list); _ls_q = _NEXT(_ls_q,list); _RS(list); _ls_qsize--; \
-          }                                                                                    \
-          if (_ls_tail) {                                                                      \
-            _SV(_ls_tail,list); _NEXTASGN(_ls_tail,list,_ls_e); _RS(list);                     \
-          } else {                                                                             \
-            _CASTASGN(list,_ls_e);                                                             \
-          }                                                                                    \
-          _ls_tail = _ls_e;                                                                    \
-        }                                                                                      \
-        _ls_p = _ls_q;                                                                         \
-      }                                                                                        \
-      _SV(_ls_tail,list); _NEXTASGN(_ls_tail,list,NULL); _RS(list);                            \
-      if (_ls_nmerges <= 1) {                                                                  \
-        _ls_looping=0;                                                                         \
-      }                                                                                        \
-      _ls_insize *= 2;                                                                         \
-    }                                                                                          \
-  } else _tmp=NULL; /* quiet gcc unused variable warning */                                    \
-} while (0)
-
-#define DL_SORT(list, cmp)                                                                     \
-do {                                                                                           \
-  LDECLTYPE(list) _ls_p;                                                                       \
-  LDECLTYPE(list) _ls_q;                                                                       \
-  LDECLTYPE(list) _ls_e;                                                                       \
-  LDECLTYPE(list) _ls_tail;                                                                    \
-  LDECLTYPE(list) _ls_oldhead;                                                                 \
-  LDECLTYPE(list) _tmp;                                                                        \
-  int _ls_insize, _ls_nmerges, _ls_psize, _ls_qsize, _ls_i, _ls_looping;                       \
-  if (list) {                                                                                  \
-    _ls_insize = 1;                                                                            \
-    _ls_looping = 1;                                                                           \
-    while (_ls_looping) {                                                                      \
-      _CASTASGN(_ls_p,list);                                                                   \
-      _CASTASGN(_ls_oldhead,list);                                                             \
-      list = NULL;                                                                             \
-      _ls_tail = NULL;                                                                         \
-      _ls_nmerges = 0;                                                                         \
-      while (_ls_p) {                                                                          \
-        _ls_nmerges++;                                                                         \
-        _ls_q = _ls_p;                                                                         \
-        _ls_psize = 0;                                                                         \
-        for (_ls_i = 0; _ls_i < _ls_insize; _ls_i++) {                                         \
-          _ls_psize++;                                                                         \
-          _SV(_ls_q,list); _ls_q = _NEXT(_ls_q,list); _RS(list);                               \
-          if (!_ls_q) break;                                                                   \
-        }                                                                                      \
-        _ls_qsize = _ls_insize;                                                                \
-        while (_ls_psize > 0 || (_ls_qsize > 0 && _ls_q)) {                                    \
-          if (_ls_psize == 0) {                                                                \
-            _ls_e = _ls_q; _SV(_ls_q,list); _ls_q = _NEXT(_ls_q,list); _RS(list); _ls_qsize--; \
-          } else if (_ls_qsize == 0 || !_ls_q) {                                               \
-            _ls_e = _ls_p; _SV(_ls_p,list); _ls_p = _NEXT(_ls_p,list); _RS(list); _ls_psize--; \
-          } else if (cmp(_ls_p,_ls_q) <= 0) {                                                  \
-            _ls_e = _ls_p; _SV(_ls_p,list); _ls_p = _NEXT(_ls_p,list); _RS(list); _ls_psize--; \
-          } else {                                                                             \
-            _ls_e = _ls_q; _SV(_ls_q,list); _ls_q = _NEXT(_ls_q,list); _RS(list); _ls_qsize--; \
-          }                                                                                    \
-          if (_ls_tail) {                                                                      \
-            _SV(_ls_tail,list); _NEXTASGN(_ls_tail,list,_ls_e); _RS(list);                     \
-          } else {                                                                             \
-            _CASTASGN(list,_ls_e);                                                             \
-          }                                                                                    \
-          _SV(_ls_e,list); _PREVASGN(_ls_e,list,_ls_tail); _RS(list);                          \
-          _ls_tail = _ls_e;                                                                    \
-        }                                                                                      \
-        _ls_p = _ls_q;                                                                         \
-      }                                                                                        \
-      _CASTASGN(list->prev, _ls_tail);                                                         \
-      _SV(_ls_tail,list); _NEXTASGN(_ls_tail,list,NULL); _RS(list);                            \
-      if (_ls_nmerges <= 1) {                                                                  \
-        _ls_looping=0;                                                                         \
-      }                                                                                        \
-      _ls_insize *= 2;                                                                         \
-    }                                                                                          \
-  } else _tmp=NULL; /* quiet gcc unused variable warning */                                    \
-} while (0)
-
-#define CDL_SORT(list, cmp)                                                                    \
-do {                                                                                           \
-  LDECLTYPE(list) _ls_p;                                                                       \
-  LDECLTYPE(list) _ls_q;                                                                       \
-  LDECLTYPE(list) _ls_e;                                                                       \
-  LDECLTYPE(list) _ls_tail;                                                                    \
-  LDECLTYPE(list) _ls_oldhead;                                                                 \
-  LDECLTYPE(list) _tmp;                                                                        \
-  LDECLTYPE(list) _tmp2;                                                                       \
-  int _ls_insize, _ls_nmerges, _ls_psize, _ls_qsize, _ls_i, _ls_looping;                       \
-  if (list) {                                                                                  \
-    _ls_insize = 1;                                                                            \
-    _ls_looping = 1;                                                                           \
-    while (_ls_looping) {                                                                      \
-      _CASTASGN(_ls_p,list);                                                                   \
-      _CASTASGN(_ls_oldhead,list);                                                             \
-      list = NULL;                                                                             \
-      _ls_tail = NULL;                                                                         \
-      _ls_nmerges = 0;                                                                         \
-      while (_ls_p) {                                                                          \
-        _ls_nmerges++;                                                                         \
-        _ls_q = _ls_p;                                                                         \
-        _ls_psize = 0;                                                                         \
-        for (_ls_i = 0; _ls_i < _ls_insize; _ls_i++) {                                         \
-          _ls_psize++;                                                                         \
-          _SV(_ls_q,list);                                                                     \
-          if (_NEXT(_ls_q,list) == _ls_oldhead) {                                              \
-            _ls_q = NULL;                                                                      \
-          } else {                                                                             \
-            _ls_q = _NEXT(_ls_q,list);                                                         \
-          }                                                                                    \
-          _RS(list);                                                                           \
-          if (!_ls_q) break;                                                                   \
-        }                                                                                      \
-        _ls_qsize = _ls_insize;                                                                \
-        while (_ls_psize > 0 || (_ls_qsize > 0 && _ls_q)) {                                    \
-          if (_ls_psize == 0) {                                                                \
-            _ls_e = _ls_q; _SV(_ls_q,list); _ls_q = _NEXT(_ls_q,list); _RS(list); _ls_qsize--; \
-            if (_ls_q == _ls_oldhead) { _ls_q = NULL; }                                        \
-          } else if (_ls_qsize == 0 || !_ls_q) {                                               \
-            _ls_e = _ls_p; _SV(_ls_p,list); _ls_p = _NEXT(_ls_p,list); _RS(list); _ls_psize--; \
-            if (_ls_p == _ls_oldhead) { _ls_p = NULL; }                                        \
-          } else if (cmp(_ls_p,_ls_q) <= 0) {                                                  \
-            _ls_e = _ls_p; _SV(_ls_p,list); _ls_p = _NEXT(_ls_p,list); _RS(list); _ls_psize--; \
-            if (_ls_p == _ls_oldhead) { _ls_p = NULL; }                                        \
-          } else {                                                                             \
-            _ls_e = _ls_q; _SV(_ls_q,list); _ls_q = _NEXT(_ls_q,list); _RS(list); _ls_qsize--; \
-            if (_ls_q == _ls_oldhead) { _ls_q = NULL; }                                        \
-          }                                                                                    \
-          if (_ls_tail) {                                                                      \
-            _SV(_ls_tail,list); _NEXTASGN(_ls_tail,list,_ls_e); _RS(list);                     \
-          } else {                                                                             \
-            _CASTASGN(list,_ls_e);                                                             \
-          }                                                                                    \
-          _SV(_ls_e,list); _PREVASGN(_ls_e,list,_ls_tail); _RS(list);                          \
-          _ls_tail = _ls_e;                                                                    \
-        }                                                                                      \
-        _ls_p = _ls_q;                                                                         \
-      }                                                                                        \
-      _CASTASGN(list->prev,_ls_tail);                                                          \
-      _CASTASGN(_tmp2,list);                                                                   \
-      _SV(_ls_tail,list); _NEXTASGN(_ls_tail,list,_tmp2); _RS(list);                           \
-      if (_ls_nmerges <= 1) {                                                                  \
-        _ls_looping=0;                                                                         \
-      }                                                                                        \
-      _ls_insize *= 2;                                                                         \
-    }                                                                                          \
-  } else _tmp=NULL; /* quiet gcc unused variable warning */                                    \
-} while (0)
-
-/******************************************************************************
- * singly linked list macros (non-circular)                                   *
- *****************************************************************************/
-#define LL_PREPEND(head,add)                                                                   \
-do {                                                                                           \
-  (add)->next = head;                                                                          \
-  head = add;                                                                                  \
-} while (0)
-
-#define LL_APPEND(head,add)                                                                    \
-do {                                                                                           \
-  LDECLTYPE(head) _tmp;                                                                        \
-  (add)->next=NULL;                                                                            \
-  if (head) {                                                                                  \
-    _tmp = head;                                                                               \
-    while (_tmp->next) { _tmp = _tmp->next; }                                                  \
-    _tmp->next=(add);                                                                          \
-  } else {                                                                                     \
-    (head)=(add);                                                                              \
-  }                                                                                            \
-} while (0)
-
-#define LL_DELETE(head,del)                                                                    \
-do {                                                                                           \
-  LDECLTYPE(head) _tmp;                                                                        \
-  if ((head) == (del)) {                                                                       \
-    (head)=(head)->next;                                                                       \
-  } else {                                                                                     \
-    _tmp = head;                                                                               \
-    while (_tmp->next && (_tmp->next != (del))) {                                              \
-      _tmp = _tmp->next;                                                                       \
-    }                                                                                          \
-    if (_tmp->next) {                                                                          \
-      _tmp->next = ((del)->next);                                                              \
-    }                                                                                          \
-  }                                                                                            \
-} while (0)
-
-/* Here are VS2008 replacements for LL_APPEND and LL_DELETE */
-#define LL_APPEND_VS2008(head,add)                                                             \
-do {                                                                                           \
-  if (head) {                                                                                  \
-    (add)->next = head;     /* use add->next as a temp variable */                             \
-    while ((add)->next->next) { (add)->next = (add)->next->next; }                             \
-    (add)->next->next=(add);                                                                   \
-  } else {                                                                                     \
-    (head)=(add);                                                                              \
-  }                                                                                            \
-  (add)->next=NULL;                                                                            \
-} while (0)
-
-#define LL_DELETE_VS2008(head,del)                                                             \
-do {                                                                                           \
-  if ((head) == (del)) {                                                                       \
-    (head)=(head)->next;                                                                       \
-  } else {                                                                                     \
-    char *_tmp = (char*)(head);                                                                \
-    while (head->next && (head->next != (del))) {                                              \
-      head = head->next;                                                                       \
-    }                                                                                          \
-    if (head->next) {                                                                          \
-      head->next = ((del)->next);                                                              \
-    }                                                                                          \
-    {                                                                                          \
-      char **_head_alias = (char**)&(head);                                                    \
-      *_head_alias = _tmp;                                                                     \
-    }                                                                                          \
-  }                                                                                            \
-} while (0)
-#ifdef NO_DECLTYPE
-#undef LL_APPEND
-#define LL_APPEND LL_APPEND_VS2008
-#undef LL_DELETE
-#define LL_DELETE LL_DELETE_VS2008
-#endif
-/* end VS2008 replacements */
-
-#define LL_FOREACH(head,el)                                                                    \
-    for(el=head;el;el=el->next)
-
-#define LL_FOREACH_SAFE(head,el,tmp)                                                           \
-  for((el)=(head);(el) && (tmp = (el)->next, 1); (el) = tmp)
-
-#define LL_SEARCH_SCALAR(head,out,field,val)                                                   \
-do {                                                                                           \
-    LL_FOREACH(head,out) {                                                                     \
-      if ((out)->field == (val)) break;                                                        \
-    }                                                                                          \
-} while(0) 
-
-#define LL_SEARCH(head,out,elt,cmp)                                                            \
-do {                                                                                           \
-    LL_FOREACH(head,out) {                                                                     \
-      if ((cmp(out,elt))==0) break;                                                            \
-    }                                                                                          \
-} while(0) 
-
-/******************************************************************************
- * doubly linked list macros (non-circular)                                   *
- *****************************************************************************/
-#define DL_PREPEND(head,add)                                                                   \
-do {                                                                                           \
- (add)->next = head;                                                                           \
- if (head) {                                                                                   \
-   (add)->prev = (head)->prev;                                                                 \
-   (head)->prev = (add);                                                                       \
- } else {                                                                                      \
-   (add)->prev = (add);                                                                        \
- }                                                                                             \
- (head) = (add);                                                                               \
-} while (0)
-
-#define DL_APPEND(head,add)                                                                    \
-do {                                                                                           \
-  if (head) {                                                                                  \
-      (add)->prev = (head)->prev;                                                              \
-      (head)->prev->next = (add);                                                              \
-      (head)->prev = (add);                                                                    \
-      (add)->next = NULL;                                                                      \
-  } else {                                                                                     \
-      (head)=(add);                                                                            \
-      (head)->prev = (head);                                                                   \
-      (head)->next = NULL;                                                                     \
-  }                                                                                            \
-} while (0);
-
-#define DL_DELETE(head,del)                                                                    \
-do {                                                                                           \
-  if ((del)->prev == (del)) {                                                                  \
-      (head)=NULL;                                                                             \
-  } else if ((del)==(head)) {                                                                  \
-      (del)->next->prev = (del)->prev;                                                         \
-      (head) = (del)->next;                                                                    \
-  } else {                                                                                     \
-      (del)->prev->next = (del)->next;                                                         \
-      if ((del)->next) {                                                                       \
-          (del)->next->prev = (del)->prev;                                                     \
-      } else {                                                                                 \
-          (head)->prev = (del)->prev;                                                          \
-      }                                                                                        \
-  }                                                                                            \
-} while (0);
-
-
-#define DL_FOREACH(head,el)                                                                    \
-    for(el=head;el;el=el->next)
-
-/* this version is safe for deleting the elements during iteration */
-#define DL_FOREACH_SAFE(head,el,tmp)                                                           \
-  for((el)=(head);(el) && (tmp = (el)->next, 1); (el) = tmp)
-
-/* these are identical to their singly-linked list counterparts */
-#define DL_SEARCH_SCALAR LL_SEARCH_SCALAR
-#define DL_SEARCH LL_SEARCH
-
-/******************************************************************************
- * circular doubly linked list macros                                         *
- *****************************************************************************/
-#define CDL_PREPEND(head,add)                                                                  \
-do {                                                                                           \
- if (head) {                                                                                   \
-   (add)->prev = (head)->prev;                                                                 \
-   (add)->next = (head);                                                                       \
-   (head)->prev = (add);                                                                       \
-   (add)->prev->next = (add);                                                                  \
- } else {                                                                                      \
-   (add)->prev = (add);                                                                        \
-   (add)->next = (add);                                                                        \
- }                                                                                             \
-(head)=(add);                                                                                  \
-} while (0)
-
-#define CDL_DELETE(head,del)                                                                   \
-do {                                                                                           \
-  if ( ((head)==(del)) && ((head)->next == (head))) {                                          \
-      (head) = 0L;                                                                             \
-  } else {                                                                                     \
-     (del)->next->prev = (del)->prev;                                                          \
-     (del)->prev->next = (del)->next;                                                          \
-     if ((del) == (head)) (head)=(del)->next;                                                  \
-  }                                                                                            \
-} while (0);
-
-#define CDL_FOREACH(head,el)                                                                   \
-    for(el=head;el;el=(el->next==head ? 0L : el->next)) 
-
-#define CDL_FOREACH_SAFE(head,el,tmp1,tmp2)                                                    \
-  for((el)=(head), ((tmp1)=(head)?((head)->prev):NULL);                                        \
-      (el) && ((tmp2)=(el)->next, 1);                                                          \
-      ((el) = (((el)==(tmp1)) ? 0L : (tmp2))))
-
-#define CDL_SEARCH_SCALAR(head,out,field,val)                                                  \
-do {                                                                                           \
-    CDL_FOREACH(head,out) {                                                                    \
-      if ((out)->field == (val)) break;                                                        \
-    }                                                                                          \
-} while(0) 
-
-#define CDL_SEARCH(head,out,elt,cmp)                                                           \
-do {                                                                                           \
-    CDL_FOREACH(head,out) {                                                                    \
-      if ((cmp(out,elt))==0) break;                                                            \
-    }                                                                                          \
-} while(0) 
-
-#endif /* _DTLS_UTLIST_H */
-