comp.lang.ada
 help / color / mirror / Atom feed
From: Maciej Sobczak <see.my.homepage@gmail.com>
Subject: Re: Dispatching callback handed over to C
Date: Fri, 6 Apr 2012 00:30:31 -0700 (PDT)
Date: 2012-04-06T00:30:31-07:00	[thread overview]
Message-ID: <b7613390-e4f9-45e0-b599-32f941ea2e68@db5g2000vbb.googlegroups.com> (raw)
In-Reply-To: slrnjnqoga.1lme.lithiumcat@sigil.instinctive.eu

On 5 Kwi, 11:13, Natasha Kerensikova <lithium...@gmail.com> wrote:

> So for my binding, what about something like :
>
>    type Opaque_Data is null record;
>    pragma Convention (C, Opaque_Data);
>
>    type Opaque_Pointer is access all Opaque_Data;
>    pragma Convention (C, Opaque_Pointer);
[...]

Looks good!

> As far as I cen tell, Opaque_Pointer refers only to types compatibles
> with C,

> Or is there some trap in the above code that I'm missing?

That according to AARM, the C counterpart needs to correspond to
Opaque_Data, that is, a pointer to an empty struct with the same
alignment requirements.

But in general, this seems to be the most convincng solution.

--
Maciej Sobczak * http://www.inspirel.com



  parent reply	other threads:[~2012-04-06  7:30 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-03  7:19 Dispatching callback handed over to C Natasha Kerensikova
2012-04-03  9:04 ` Brian Drummond
2012-04-03  9:21   ` Thomas Locke
2012-04-03  9:37 ` Maciej Sobczak
2012-04-03 12:02   ` Natasha Kerensikova
2012-04-03 14:42     ` Maciej Sobczak
2012-04-03 20:20       ` Randy Brukardt
2012-04-04  7:26         ` Georg Bauhaus
2012-04-04  7:56         ` Natasha Kerensikova
2012-04-04 19:28           ` Randy Brukardt
2012-04-05  8:59             ` Natasha Kerensikova
2012-04-05 21:04               ` Randy Brukardt
2012-04-04 19:55           ` Simon Wright
2012-04-04 11:34         ` Maciej Sobczak
2012-04-04 19:16           ` Randy Brukardt
2012-04-05  7:28             ` Maciej Sobczak
2012-04-05 21:32               ` Randy Brukardt
2012-04-07  8:55                 ` Natasha Kerensikova
2012-04-07 11:32                   ` Simon Wright
2012-04-07 13:28                     ` Robert A Duff
2012-04-05  9:13             ` Natasha Kerensikova
2012-04-05 21:06               ` Randy Brukardt
2012-04-06  7:30               ` Maciej Sobczak [this message]
2012-04-06 11:41                 ` Simon Wright
2012-04-10  7:15                   ` Maciej Sobczak
replies disabled

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