comp.lang.ada
 help / color / mirror / Atom feed
From: Anh Vo <anhvofrcaus@gmail.com>
Subject: Re: Interface with C codes
Date: Fri, 17 Oct 2014 18:04:13 -0700 (PDT)
Date: 2014-10-17T18:04:13-07:00	[thread overview]
Message-ID: <4ae8855e-8999-41bd-946d-a7ba8658ad4e@googlegroups.com> (raw)
In-Reply-To: <add0a768-629b-4b87-986e-8e672bc4bb27@googlegroups.com>

On Friday, October 17, 2014 5:04:17 PM UTC-7, Anh Vo wrote:
> On Friday, October 17, 2014 4:49:04 PM UTC-7, Adam Beneschan wrote:
> 
> > On Friday, October 17, 2014 4:22:15 PM UTC-7, Anh Vo wrote:
> > 
> > > What Ada spec should be for the following C prototype where BOOT_PARAMS is a struct and responding Ada type is
> 
> > > type Boot_Parameter_Type is
> > >    record
> > >       Boot_Dev : Interfaces.C.Strings.Chars_Ptr;
> > >       -- ...
> > >    end record;
> > > pragma Convention (C, Boot_Parameter_Type);
> > 
> > > type Boot_Parameter_Type_Access is access Boot_Parameter_Type;
> > > pragma Convention (C, Boot_Parameter_Type_Access);
> > 
> > > typedef struct           /* BOOT_PARAMS */
> > >     {
> > >     char bootDev [20];  /* boot device code */
> > >     * ... *
> > >     } BOOT_PARAMS;
> > 
> > > Note that I can not use Ada 2012 yet.
> > 
> > > char *  bootStringToStruct (char * bootString,  BOOT_PARAMS * pBootParams); 
> > 
> > I'm confused.  You've defined an Ada record Boot_Parameter_Type that has a pointer in it, and a C struct that does not have a pointer. 
> 
> > 
> The second parameter of the function prototype use pointer, BOOT_PARAMS * pBootParams.
> 

How this one.

function Boot_String_To_Type (
           Boot_String : Interfaces.C.Strings.chars_ptr;
           Boot_Params : System.Address) 
                             return Interfaces.C.Strings.chars_ptr;
pragma Import (C, Boot_String_To_Type, "bootStringToStruct");

  reply	other threads:[~2014-10-18  1:04 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-17 23:22 Interface with C codes Anh Vo
2014-10-17 23:30 ` Anh Vo
2014-10-18 18:33   ` Stephen Leake
2014-10-19  4:33     ` Anh Vo
2014-10-19  9:24       ` Simon Clubley
2014-10-19 11:46       ` Brian Drummond
2014-10-19 13:58         ` Simon Wright
2014-10-19 17:33           ` Anh Vo
2014-10-17 23:49 ` Adam Beneschan
2014-10-18  0:04   ` Anh Vo
2014-10-18  1:04     ` Anh Vo [this message]
2014-10-20 16:14     ` Adam Beneschan
2014-10-25  3:31       ` Anh Vo
2014-10-18  2:20 ` Jeffrey Carter
2014-10-18 17:00   ` Anh Vo
2014-10-18  6:27 ` Per Sandberg
2014-10-18 17:08   ` Anh Vo
2014-10-18 17:12     ` Simon Wright
replies disabled

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