/******************************************************************** * Berry module `webserver` * * To use: `import webserver` * * Allows to respond to HTTP request *******************************************************************/ #include "be_constobj.h" #ifdef USE_ALEXA_AVS extern int m_aes_gcm_init(bvm *vm); extern int m_aes_gcm_encryt(bvm *vm); extern int m_aes_gcm_decryt(bvm *vm); extern int m_aes_gcm_tag(bvm *vm); extern int m_ec_c25519_pubkey(bvm *vm); extern int m_ec_c25519_sharedkey(bvm *vm); #include "../generate/be_fixed_be_class_aes_gcm.h" #include "../generate/be_fixed_be_class_ec_c25519.h" void be_load_crypto_lib(bvm *vm) { // insert the class GCM in module AES be_newmodule(vm); be_setname(vm, -1, "crypto"); be_setglobal(vm, "crypto"); be_pushntvclass(vm, &be_class_aes_gcm); be_setmember(vm, -2, "AES_GCM"); be_pop(vm, 1); be_pushntvclass(vm, &be_class_ec_c25519); be_setmember(vm, -2, "EC_C25519"); be_pop(vm, 2); } /* @const_object_info_begin class be_class_aes_gcm (scope: global, name: AES_GCM) { .p1, var .p2, var init, func(m_aes_gcm_init) encrypt, func(m_aes_gcm_encryt) decrypt, func(m_aes_gcm_decryt) tag, func(m_aes_gcm_tag) } class be_class_ec_c25519 (scope: global, name: EC_C25519) { public_key, func(m_ec_c25519_pubkey) shared_key, func(m_ec_c25519_sharedkey) } @const_object_info_end */ #endif // USE_ALEXA_AVS