comp.lang.ada
 help / color / mirror / Atom feed
From: how to read C extern variables from Ada? <how@newsguy.com>
Subject: nabbasi@pacbell.net
Date: 1999/02/28
Date: 1999-02-28T00:00:00+00:00	[thread overview]
Message-ID: <7bbd3c$gf7@drn.newsguy.com> (raw)

Hello,

It is easy to interface to C from Ada. But one problem that I could not
see mentioned in annex B, is how to get access to 'extern' variables.

For example, I can call getopt() from Ada. But the problem is that getopt()
sets values into an extern variables that are defined is C header files, 
and so can be read from C client programs after the call to getopt() 
returns.

--------------------
SYNOPSIS
    #include <unistd.h>

    int getopt(int argc, char * const argv[], const char *optstring);
    extern char *optarg;
    extern int optind, opterr, optopt;
-----------------------

So, in the above, after I call getopt(), I need a way to 'read' optarg. There
is no C API to read optarg. So, How to do this in Ada??

thanks,
Nasser

ps. offcourse I could write a small C stub that the Ada program calls, and
then it calls getopt(), and this C stub could read the extern
variables. and I define an API to this C stub function to return these
variables via function call. But I wanted to see if I can do the whole thing
in 100% pure Ada :), it also makes the Makefile simpler.  This is GNAT 3.11p.




             reply	other threads:[~1999-02-28  0:00 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1999-02-28  0:00 how to read C extern variables from Ada? [this message]
1999-02-28  0:00 ` nabbasi@pacbell.net Matthew Heaney
1999-02-28  0:00 ` how to read C extern variables from Ada? David C. Hoos, Sr.
1999-03-02  0:00 ` nabbasi@pacbell.net Stephen Leake
replies disabled

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