Re: Pointer to pointer handling in LuaJIT

  • From: Delyan Nestorov <delyan.nestorov@xxxxxxxxx>
  • To: "luajit@xxxxxxxxxxxxx" <luajit@xxxxxxxxxxxxx>
  • Date: Sun, 22 Dec 2013 13:37:28 +0000

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
> 
> 

Other related posts: