comp.lang.ada
 help / color / mirror / Atom feed
* How to supply pointer to C?
@ 1996-08-27  0:00 Greg Baker
  1996-08-27  0:00 ` David C. Hoos, Sr.
  0 siblings, 1 reply; 4+ messages in thread
From: Greg Baker @ 1996-08-27  0:00 UTC (permalink / 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.




^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~1996-08-28  0:00 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1996-08-27  0:00 How to supply pointer to C? Greg Baker
1996-08-27  0:00 ` David C. Hoos, Sr.
1996-08-28  0:00   ` Robert Dewar
1996-08-28  0:00     ` Larry Kilgallen

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