That worked. Thank you! > On 21 Dec 2013, at 02:43, William Adams <william_a_adams@xxxxxxx> wrote: > > ffi.new("char *[1]") > > Would be an array of one chr*, which > Since arrays are just pointers, this would be a pointer to a 'char *', which > is the same as 'char * *'. > > Substitute any type for 'char' and the principle should be the same. > > > Would > > Sent from my Windows Phone > From: Delyan Nestorov > Sent: 12/20/2013 5:23 PM > To: luajit@xxxxxxxxxxxxx > Subject: Pointer to pointer handling in LuaJIT > > Hi, > > I am experimenting with LuaJIT, FFI and libpcap to read packets from live > capture and "save file". I want to use Lua for parsing pcap files instead of > Python's dpkt library. > > I have test function that will have to read the next packet from live capture > or pcap file: > > function pcap.read_packet(self) > local p_data = pcap.ffi.new("unsigned char **") > local p_pkthdr = pcap.ffi.new("struct pcap_pkthdr **") > local ret = self.lib.pcap_next_ex(self.pp, p_pkthdr, p_data) > assert(ret >= 0, "end") > end > > The original C definition is: > > int pcap_next_ex(pcap_t *, struct pcap_pkthdr** pkt_header, u_char** > pkt_data); > > The question is: how to define, use and dereference pointers to pointers? > > Thank you! > > Kind regards, > Delyan > >