comp.lang.ada
 help / color / mirror / Atom feed
* How to bind this properly, C ** which is an array
@ 2019-03-01 13:48 Lucretia
  2019-03-01 13:54 ` Björn Lundin
                   ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: Lucretia @ 2019-03-01 13:48 UTC (permalink / raw)


Hi,

I'm trying to bind the following struct:

typedef struct mpc_ast_t {
  char *tag;
  char *contents;
  mpc_state_t state;
  int children_num;
  struct mpc_ast_t** children;
} mpc_ast_t;

I have this:

   type ASTs is
   record
      Tag                : C.Strings.chars_ptr;
      Contents           : C.Strings.chars_ptr;
      State              : States;
      Number_Of_Children : C.int;
      Children           : System.Address; --  Pointer to a pointer to an array of ASTs.
   end record with
     Convention => C;

Children needs to be accessed in code as a pointer to a pointer to an array of ASTs.

How do I best bind this thing? It's likely going to have to be converted from Address to a particular type using Unchecked_Conversion most likely.

Thanks,
Luke.

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2019-03-01 23:42 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-03-01 13:48 How to bind this properly, C ** which is an array Lucretia
2019-03-01 13:54 ` Björn Lundin
2019-03-01 13:59   ` Lucretia
2019-03-01 14:02 ` Dmitry A. Kazakov
2019-03-01 14:20   ` Lucretia
2019-03-01 19:57 ` Per Sandberg
2019-03-01 20:25   ` Lucretia
2019-03-01 22:02     ` Per Sandberg
2019-03-01 23:42       ` Lucretia

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox