27 static const char suricata_rule_mt[] =
"suricata:rule:mt";
42 void **
p = lua_newuserdata(L,
sizeof(*
p));
48 luaL_getmetatable(L, suricata_rule_mt);
49 lua_setmetatable(L, -2);
56 void **data = luaL_testudata(L, 1, suricata_rule_mt);
62 lua_pushinteger(L, s->
id);
68 void **data = luaL_testudata(L, 1, suricata_rule_mt);
74 lua_pushinteger(L, s->
gid);
80 void **data = luaL_testudata(L, 1, suricata_rule_mt);
86 lua_pushinteger(L, s->
rev);
92 void **data = luaL_testudata(L, 1, suricata_rule_mt);
99 const char *action =
"";
110 lua_pushstring(L, action);
116 void **data = luaL_testudata(L, 1, suricata_rule_mt);
122 lua_pushstring(L, s->
msg);
126 static int LuaRuleGetClassDescription(
lua_State *L)
128 void **data = luaL_testudata(L, 1, suricata_rule_mt);
138 static int LuaRuleGetPriority(
lua_State *L)
140 void **data = luaL_testudata(L, 1, suricata_rule_mt);
146 lua_pushinteger(L, s->
prio);
150 static const struct luaL_Reg rulemt[] = {
152 {
"action", LuaRuleGetAction },
153 {
"class_description", LuaRuleGetClassDescription, },
154 {
"gid", LuaRuleGetGid, },
155 {
"msg", LuaRuleGetMsg },
156 {
"priority", LuaRuleGetPriority },
157 {
"rev", LuaRuleGetRev, },
158 {
"sid", LuaRuleGetSid, },
163 static const struct luaL_Reg rulelib[] = {
165 {
"get_rule", LuaRuleGetRule, },
172 luaL_newmetatable(L, suricata_rule_mt);
173 lua_pushvalue(L, -1);
174 lua_setfield(L, -2,
"__index");
175 luaL_setfuncs(L, rulemt, 0);
177 luaL_newlib(L, rulelib);