From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-0.9 required=5.0 tests=BAYES_00,FORGED_GMAIL_RCVD, FREEMAIL_FROM autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: 103376,73975695cdfcb86f X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII Received: by 10.68.227.230 with SMTP id sd6mr5644446pbc.8.1333697431867; Fri, 06 Apr 2012 00:30:31 -0700 (PDT) Path: r9ni24359pbh.0!nntp.google.com!news2.google.com!postnews.google.com!db5g2000vbb.googlegroups.com!not-for-mail From: Maciej Sobczak Newsgroups: comp.lang.ada Subject: Re: Dispatching callback handed over to C Date: Fri, 6 Apr 2012 00:30:31 -0700 (PDT) Organization: http://groups.google.com Message-ID: References: <6fb83c74-b2a4-4ae8-9c89-d755b737198f@v22g2000vby.googlegroups.com> <85d1ad51-c02b-44fa-87b6-02aa1d8ba1b2@x17g2000vba.googlegroups.com> <62246369-6b9f-4a96-9c67-fd1774c02e78@k24g2000yqe.googlegroups.com> NNTP-Posting-Host: 213.77.7.66 Mime-Version: 1.0 X-Trace: posting.google.com 1333697431 11505 127.0.0.1 (6 Apr 2012 07:30:31 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Fri, 6 Apr 2012 07:30:31 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: db5g2000vbb.googlegroups.com; posting-host=213.77.7.66; posting-account=bMuEOQoAAACUUr_ghL3RBIi5neBZ5w_S User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:11.0) Gecko/20100101 Firefox/11.0,gzip(gfe) Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Date: 2012-04-06T00:30:31-07:00 List-Id: On 5 Kwi, 11:13, Natasha Kerensikova wrote: > So for my binding, what about something like=A0: > > =A0 =A0type Opaque_Data is null record; > =A0 =A0pragma Convention (C, Opaque_Data); > > =A0 =A0type Opaque_Pointer is access all Opaque_Data; > =A0 =A0pragma 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