@@ -219,6 +219,34 @@ static void pcap_dlt_set(lua_State* L, const char* name, int number)
219219 lua_settable (L , -3 );
220220}
221221
222+ /* TODO - add all the DLT values... */
223+ static void pcap_make_dlt (lua_State * L )
224+ {
225+ lua_newtable (L );
226+ #ifdef DLT_EN10MB
227+ pcap_dlt_set (L , "EN10MB" , DLT_EN10MB );
228+ #endif
229+ #ifdef DLT_RAW
230+ pcap_dlt_set (L , "RAW" , DLT_RAW );
231+ #endif
232+ #ifdef DLT_LINUX_SLL
233+ pcap_dlt_set (L , "LINUX_SLL" , DLT_LINUX_SLL );
234+ #endif
235+ #ifdef DLT_USER0
236+ pcap_dlt_set (L , "USER0" , DLT_USER0 );
237+ #endif
238+ #ifdef DLT_USER1
239+ pcap_dlt_set (L , "USER1" , DLT_USER1 );
240+ #endif
241+ #ifdef DLT_USER2
242+ pcap_dlt_set (L , "USER2" , DLT_USER2 );
243+ #endif
244+ #ifdef DLT_USER3
245+ pcap_dlt_set (L , "USER3" , DLT_USER3 );
246+ #endif
247+ }
248+
249+
222250/*-
223251-- cap = pcap.open_dead([linktype, [snaplen]])
224252
@@ -660,19 +688,7 @@ LUALIB_API int luaopen_pcap (lua_State *L)
660688 lua_pushstring (L , pcap_lib_version ());
661689 lua_setfield (L , -2 , "_LIB_VERSION" );
662690
663- /* Create DLT table */
664- /* TODO - add all the DLT values... */
665- lua_newtable (L );
666- #ifdef DLT_EN10MB
667- pcap_dlt_set (L , "EN10MB" , DLT_EN10MB );
668- #endif
669- #ifdef DLT_RAW
670- pcap_dlt_set (L , "RAW" , DLT_RAW );
671- #endif
672- #ifdef DLT_LINUX_SLL
673- pcap_dlt_set (L , "LINUX_SLL" , DLT_LINUX_SLL );
674- #endif
675-
691+ pcap_make_dlt (L );
676692 lua_setfield (L , -2 , "DLT" );
677693
678694 return 1 ;
0 commit comments