WSLUA_ATTRIBUTES CaptureInfo_attributes[] = { WSLUA_ATTRIBUTE_RWREG(CaptureInfo,encap), WSLUA_ATTRIBUTE_RWREG(CaptureInfo,time_precision), WSLUA_ATTRIBUTE_RWREG(CaptureInfo,snapshot_length), WSLUA_ATTRIBUTE_RWREG(CaptureInfo,comment), WSLUA_ATTRIBUTE_RWREG(CaptureInfo,hardware), WSLUA_ATTRIBUTE_RWREG(CaptureInfo,os), WSLUA_ATTRIBUTE_RWREG(CaptureInfo,user_app), WSLUA_ATTRIBUTE_WOREG(CaptureInfo,hosts), WSLUA_ATTRIBUTE_RWREG(CaptureInfo,private_table), { NULL, NULL, NULL } }; WSLUA_META CaptureInfo_meta[] = { WSLUA_CLASS_MTREG(CaptureInfo,tostring), { NULL, NULL } }; int CaptureInfo_register(lua_State* L) { WSLUA_REGISTER_META(CaptureInfo); WSLUA_REGISTER_ATTRIBUTES(CaptureInfo); return 0; } WSLUA_CLASS_DEFINE(CaptureInfoConst,FAIL_ON_NULL_MEMBER_OR_EXPIRED("CaptureInfoConst",wdh),NOP); /* A `CaptureInfoConst` object, passed into Lua as an argument to the `FileHandler` callback function `write_open()`.
* and if __index/__newindex is invoked then it calls the appropriate function * from this table for getting/setting the members. */ WSLUA_ATTRIBUTES NSTime_attributes[] = { WSLUA_ATTRIBUTE_RWREG(NSTime,secs), WSLUA_ATTRIBUTE_RWREG(NSTime,nsecs), { NULL, NULL, NULL } }; WSLUA_METHODS NSTime_methods[] = { WSLUA_CLASS_FNREG(NSTime,new), { NULL, NULL } }; WSLUA_META NSTime_meta[] = { WSLUA_CLASS_MTREG(NSTime,tostring), WSLUA_CLASS_MTREG(NSTime,add), WSLUA_CLASS_MTREG(NSTime,sub), WSLUA_CLASS_MTREG(NSTime,unm), WSLUA_CLASS_MTREG(NSTime,eq), WSLUA_CLASS_MTREG(NSTime,le), WSLUA_CLASS_MTREG(NSTime,lt), WSLUA_CLASS_MTREG(NSTime,call), { NULL, NULL } }; int NSTime_register(lua_State* L) { WSLUA_REGISTER_CLASS(NSTime); WSLUA_REGISTER_ATTRIBUTES(NSTime); return 0; }
if (!priv) return 0; if (!priv->expired) { priv->expired = TRUE; } else { if (priv->is_allocated) { g_hash_table_destroy (priv->table); } g_free(priv); } return 0; } WSLUA_META PrivateTable_meta[] = { WSLUA_CLASS_MTREG(PrivateTable,index), WSLUA_CLASS_MTREG(PrivateTable,newindex), WSLUA_CLASS_MTREG(PrivateTable,tostring), { NULL, NULL } }; int PrivateTable_register(lua_State* L) { WSLUA_REGISTER_META(PrivateTable); return 0; } WSLUA_CLASS_DEFINE(Pinfo,FAIL_ON_NULL_OR_EXPIRED("Pinfo"),NOP); /* Packet information. */ static int Pinfo__tostring(lua_State *L) { lua_pushstring(L,"a Pinfo"); return 1; }
* from this table for getting/setting the members. */ WSLUA_ATTRIBUTES NSTime_attributes[] = { WSLUA_ATTRIBUTE_RWREG(NSTime,secs), WSLUA_ATTRIBUTE_RWREG(NSTime,nsecs), { NULL, NULL, NULL } }; WSLUA_METHODS NSTime_methods[] = { WSLUA_CLASS_FNREG(NSTime,new), WSLUA_CLASS_FNREG(NSTime,tonumber), { NULL, NULL } }; WSLUA_META NSTime_meta[] = { WSLUA_CLASS_MTREG(NSTime,tostring), WSLUA_CLASS_MTREG(NSTime,add), WSLUA_CLASS_MTREG(NSTime,sub), WSLUA_CLASS_MTREG(NSTime,unm), WSLUA_CLASS_MTREG(NSTime,eq), WSLUA_CLASS_MTREG(NSTime,le), WSLUA_CLASS_MTREG(NSTime,lt), WSLUA_CLASS_MTREG(NSTime,call), { NULL, NULL } }; int NSTime_register(lua_State* L) { WSLUA_REGISTER_CLASS(NSTime); WSLUA_REGISTER_ATTRIBUTES(NSTime); return 0; }
WSLUA_ATTRIBUTE_ROREG(FieldInfo,little_endian), WSLUA_ATTRIBUTE_ROREG(FieldInfo,big_endian), WSLUA_ATTRIBUTE_ROREG(FieldInfo,name), WSLUA_ATTRIBUTE_ROREG(FieldInfo,display), WSLUA_ATTRIBUTE_ROREG(FieldInfo,type), WSLUA_ATTRIBUTE_ROREG(FieldInfo,source), { "label", FieldInfo__tostring, NULL }, { "value", FieldInfo__call, NULL }, { "tvb", FieldInfo_get_range, NULL }, { "len", FieldInfo__len, NULL }, { "offset", FieldInfo__unm, NULL }, { NULL, NULL, NULL } }; WSLUA_META FieldInfo_meta[] = { WSLUA_CLASS_MTREG(FieldInfo,tostring), WSLUA_CLASS_MTREG(FieldInfo,call), WSLUA_CLASS_MTREG(FieldInfo,len), WSLUA_CLASS_MTREG(FieldInfo,unm), WSLUA_CLASS_MTREG(FieldInfo,eq), WSLUA_CLASS_MTREG(FieldInfo,le), WSLUA_CLASS_MTREG(FieldInfo,lt), { NULL, NULL } }; int FieldInfo_register(lua_State* L) { WSLUA_REGISTER_META(FieldInfo); WSLUA_REGISTER_ATTRIBUTES(FieldInfo); return 0; }
if (dir->ext) g_free(dir->ext); g_free(dir); return 0; } WSLUA_METHODS Dir_methods[] = { WSLUA_CLASS_FNREG(Dir,make), WSLUA_CLASS_FNREG(Dir,exists), WSLUA_CLASS_FNREG(Dir,remove), WSLUA_CLASS_FNREG(Dir,remove_all), WSLUA_CLASS_FNREG(Dir,open), WSLUA_CLASS_FNREG(Dir,close), WSLUA_CLASS_FNREG(Dir,personal_config_path), WSLUA_CLASS_FNREG(Dir,global_config_path), WSLUA_CLASS_FNREG(Dir,personal_plugins_path), WSLUA_CLASS_FNREG(Dir,global_plugins_path), { NULL, NULL } }; WSLUA_META Dir_meta[] = { WSLUA_CLASS_MTREG(Dir,call), { NULL, NULL } }; int Dir_register(lua_State* L) { WSLUA_REGISTER_CLASS(Dir); return 0; }
WSLUA_CLASS_FNREG(ByteArray,len), WSLUA_CLASS_FNREG(ByteArray,prepend), WSLUA_CLASS_FNREG(ByteArray,append), WSLUA_CLASS_FNREG(ByteArray,subset), WSLUA_CLASS_FNREG(ByteArray,set_size), WSLUA_CLASS_FNREG(ByteArray,tvb), WSLUA_CLASS_FNREG(ByteArray,base64_decode), WSLUA_CLASS_FNREG(ByteArray,get_index), WSLUA_CLASS_FNREG(ByteArray,set_index), WSLUA_CLASS_FNREG(ByteArray,tohex), WSLUA_CLASS_FNREG(ByteArray,raw), { NULL, NULL } }; WSLUA_META ByteArray_meta[] = { WSLUA_CLASS_MTREG(ByteArray,tostring), WSLUA_CLASS_MTREG(ByteArray,concat), {"__call",ByteArray_subset}, { NULL, NULL } }; int ByteArray_register(lua_State* L) { WSLUA_REGISTER_CLASS(ByteArray); return 0; } /* * Tvb & TvbRange * * a Tvb represents a tvbuff_t in Lua.
return 1; } WSLUA_METHODS Tvb_methods[] = { WSLUA_CLASS_FNREG(Tvb,bytes), WSLUA_CLASS_FNREG(Tvb,range), WSLUA_CLASS_FNREG(Tvb,len), WSLUA_CLASS_FNREG(Tvb,offset), WSLUA_CLASS_FNREG(Tvb,reported_len), WSLUA_CLASS_FNREG(Tvb,reported_length_remaining), WSLUA_CLASS_FNREG(Tvb,raw), { NULL, NULL } }; WSLUA_META Tvb_meta[] = { WSLUA_CLASS_MTREG(Tvb,eq), WSLUA_CLASS_MTREG(Tvb,tostring), {"__call", Tvb_range}, { NULL, NULL } }; int Tvb_register(lua_State* L) { WSLUA_REGISTER_CLASS(Tvb); outstanding_Tvb = g_ptr_array_new(); return 0; } WSLUA_CLASS_DEFINE(TvbRange,FAIL_ON_NULL("TvbRange"));