comp.lang.ada
 help / color / mirror / Atom feed
From: Greg Baker <gbaker@walleroo.rp.csiro.au>
Subject: How to supply pointer to C?
Date: 1996/08/27
Date: 1996-08-27T00:00:00+00:00	[thread overview]
Message-ID: <85ybj1zcdu.fsf@walleroo.rp.CSIRO.AU> (raw)


Interfaces.C.Pointers.Value can get you from a C array to an Ada
array,  and Interfaces.C.To_C can get you from a String to a
null-terminated block of chars,  but what if I want to get a block of
ints,  for examples?

More generally, what if I have some object and I want to pass its
address to some C function.  (The question arises as I am trying to
write an Ada gdbm interface - gdbm_store takes as arguments structs of
the form-
  struct { char * dptr;   int data_size; }.
(i.e. record 
         dptr : Interfaces.C.Pointers.???
         data_size : Interfaces.C.int
      end;
)

I'm kind of hoping to do something like

  x.dptr := Magical_Conversion_function ( object'Access ); 
  x.data_size = object'Size;

Any suggestions?

-- 
Gregory D. Baker        gbaker@rp.csiro.au         CSIRO Radiophysics 
   - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
   - predictions of the future - quantum computers - silly poetry  -
   - the "langue musicale universale" (Solresol)  revival project  - 
   - - - - - - - - http://www.rp.csiro.au/~gbaker  - - - - - - - - -
I'm an eccentric mathematician/IT guru/communicator,  and I'm looking
               for a new job in Sydney,  Australia.




             reply	other threads:[~1996-08-27  0:00 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1996-08-27  0:00 Greg Baker [this message]
1996-08-27  0:00 ` How to supply pointer to C? David C. Hoos, Sr.
1996-08-28  0:00   ` Robert Dewar
1996-08-28  0:00     ` Larry Kilgallen
replies disabled

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