From: Per Sandberg <per.s.sandberg@bahnhof.se>
Subject: Re: How to bind this properly, C ** which is an array
Date: Fri, 1 Mar 2019 20:57:15 +0100
Date: 2019-03-01T20:57:15+01:00 [thread overview]
Message-ID: <v8geE.10893$2t3.770@fx10.am4> (raw)
In-Reply-To: <1bb2318a-eb48-450f-908d-a304b92bd74c@googlegroups.com>
Well i would start with:
gcc -c -fdump-ada-spec ${headerfile} [-fada-spec-parent=${a-good-root}]
to have the compiler do all the tricky work, if the headers are "bad"
you might need to do som touch-ups but that could usually be done with
some simple sed-scripts.
/P
On 3/1/19 2:48 PM, Lucretia wrote:
> 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.
>
next prev parent reply other threads:[~2019-03-01 19:57 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
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 [this message]
2019-03-01 20:25 ` Lucretia
2019-03-01 22:02 ` Per Sandberg
2019-03-01 23:42 ` Lucretia
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox