#include "lua_plugin_manage.h" #include int session_getid(struct lpm_state * state) { if ( lpm_cbinding_get_params_count(state) != 1 ) return 0; struct lpm_cdata data; lpm_cbinding_get_params(state, 1, &data); struct session * sess = (struct session *)data.data_user; lpm_cdata_clean(&data); int session_id = sess->id; data.data_type = LPM_DATATYPE_INT; lpm_cbinding_push_return(state, 1, &data); lpm_cdata_clean(&data); return 1; } int binding_functions(struct lpm_state * state) { int count = 0; if ( lpm_cbinding_function_register(state, session_getid, "getid", "session") ) { count += 1; } return count; } int binding_data(struct lpm_state * state) { int count = 0; const char * version = "v0.1"; struct lpm_cdata data; data.data_type = LPM_DATATYPE_CSTRING; data.data_length = strlen(version); data.data_string = strdup(version); if ( lpm_cdata_register(state, &data, "version", NULL) ) { count += 1; } lpm_cdata_clean(&data); return count; } int main(int argc, char * argv[]) { struct stellar st; struct lpm_state * state = lpm_state_instance_create(); binding_functions(state); binding_data(state); lpm_state_instance_init(&st, state, "config.toml"); lpm_state_instance_free(state); return 0; }