comp.lang.ada
 help / color / mirror / Atom feed
* howto make system calls (newbie question)
@ 2001-05-04  7:51 Lars Lundgren
  2001-05-04  8:16 ` L.H.Jeong
  2001-05-04 11:00 ` Noam Kloos
  0 siblings, 2 replies; 56+ messages in thread
From: Lars Lundgren @ 2001-05-04  7:51 UTC (permalink / raw)


Hi there,

How do I execute other programs from within ada?

I.e how do I convert - for example - the following C program to ada?

#include <stdlib.h> 

main(){ 
  printf("Files in Directory are:\n");
  system("ls -l");
}

Thanx,
/Lars L





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

* Re: howto make system calls (newbie question)
  2001-05-04  7:51 Lars Lundgren
@ 2001-05-04  8:16 ` L.H.Jeong
  2001-05-04  8:47   ` Lars Lundgren
  2001-05-04 11:00 ` Noam Kloos
  1 sibling, 1 reply; 56+ messages in thread
From: L.H.Jeong @ 2001-05-04  8:16 UTC (permalink / raw)


On Fri, 4 May 2001 09:51:45 +0200, Lars Lundgren
<d95lars@dtek.chalmers.se> wrote:

>Hi there,
>
>How do I execute other programs from within ada?
>
>I.e how do I convert - for example - the following C program to ada?
>
>#include <stdlib.h> 
>
>main(){ 
>  printf("Files in Directory are:\n");
>  system("ls -l");
>}
>
>Thanx,
>/Lars L
>

here is an example !!


procedure Command is

   function C_System(value : String) return integer;
   pragma Import(
         C, C_System, "system");

   result : integer;
begin
   result := C_System("pwd ");
   result := C_System(value => "acdsee D:\work\pictures\BP47.jpg ");
end Command;




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

* Re: howto make system calls (newbie question)
  2001-05-04  8:16 ` L.H.Jeong
@ 2001-05-04  8:47   ` Lars Lundgren
  2001-05-04 12:12     ` Marc A. Criley
  2001-05-04 16:35     ` Jeffrey Carter
  0 siblings, 2 replies; 56+ messages in thread
From: Lars Lundgren @ 2001-05-04  8:47 UTC (permalink / raw)


On Fri, 4 May 2001, L.H.Jeong wrote:

> On Fri, 4 May 2001 09:51:45 +0200, Lars Lundgren
> <d95lars@dtek.chalmers.se> wrote:
> 
> >Hi there,
> >
> >How do I execute other programs from within ada?
> >
> >I.e how do I convert - for example - the following C program to ada?
> >
> >#include <stdlib.h> 
> >
> >main(){ 
> >  printf("Files in Directory are:\n");
> >  system("ls -l");
> >}
> >
> >Thanx,
> >/Lars L
> >
> 
> here is an example !!
> 
> 
> procedure Command is
> 
>    function C_System(value : String) return integer;
>    pragma Import(
>          C, C_System, "system");
> 
>    result : integer;
> begin
>    result := C_System("pwd ");
>    result := C_System(value => "acdsee D:\work\pictures\BP47.jpg ");
> end Command;
> 
> 
> 

Thank you very much!

That does do the trick for me.

However i'm rather surprised to see you suggest that I escape ada and
import C-functions. Is it really the case that such a (from my
perspective) basic function can not be done solely in Ada - despite its
extensive libraries?

I'm not trying to start a flame, i'm just truly surprised.

/Lars L





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

* Re: howto make system calls (newbie question)
  2001-05-04  7:51 Lars Lundgren
  2001-05-04  8:16 ` L.H.Jeong
@ 2001-05-04 11:00 ` Noam Kloos
  2001-05-04 12:01   ` Lars Lundgren
  1 sibling, 1 reply; 56+ messages in thread
From: Noam Kloos @ 2001-05-04 11:00 UTC (permalink / raw)


I was just busy with the same problem. For the C system command I use
<unistd.h>

there is a way with 'pragma Import(C,localname,externalname) but
haven't got it to work yet.

On Fri, 4 May 2001 09:51:45 +0200, Lars Lundgren
<d95lars@dtek.chalmers.se> wrote:

>Hi there,
>
>How do I execute other programs from within ada?
>
>I.e how do I convert - for example - the following C program to ada?
>
>#include <stdlib.h> 
>
>main(){ 
>  printf("Files in Directory are:\n");
>  system("ls -l");
>}
>
>Thanx,
>/Lars L
>
>




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

* Re: howto make system calls (newbie question)
  2001-05-04 11:00 ` Noam Kloos
@ 2001-05-04 12:01   ` Lars Lundgren
  0 siblings, 0 replies; 56+ messages in thread
From: Lars Lundgren @ 2001-05-04 12:01 UTC (permalink / raw)


On Fri, 4 May 2001, Noam Kloos wrote:

> I was just busy with the same problem. For the C system command I use
> <unistd.h>
> 
> there is a way with 'pragma Import(C,localname,externalname) but
> haven't got it to work yet.
> 

I just found out that there is a gnat library with suitable functions.

GNAT.Os_lib Spawn etc.

If using a gnat-library is ok by you, then the problem is solved.

/Lars L




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

* Re: howto make system calls (newbie question)
  2001-05-04  8:47   ` Lars Lundgren
@ 2001-05-04 12:12     ` Marc A. Criley
  2001-05-04 15:49       ` Marin David Condic
  2001-05-04 16:35     ` Jeffrey Carter
  1 sibling, 1 reply; 56+ messages in thread
From: Marc A. Criley @ 2001-05-04 12:12 UTC (permalink / raw)


Lars Lundgren wrote:
> 
> On Fri, 4 May 2001, L.H.Jeong wrote:
> 
> >
> > procedure Command is
> >
> >    function C_System(value : String) return integer;
> >    pragma Import(
> >          C, C_System, "system");
> >
> >    result : integer;
> > begin
> >    result := C_System("pwd ");
> >    result := C_System(value => "acdsee D:\work\pictures\BP47.jpg ");
> > end Command;
> >
> >
> >
> 
> Thank you very much!
> 
> That does do the trick for me.
> 
> However i'm rather surprised to see you suggest that I escape ada and
> import C-functions. Is it really the case that such a (from my
> perspective) basic function can not be done solely in Ada - despite its
> extensive libraries?

"system" is neither part of C, nor part of Ada, it is an OS function
that uses a C-style calling syntax.

There's a widespread belief that OS functions, string handling
functions, and so on, are all part of C, which makes C so much more
powerful than languages like Ada.  In reality, all those functions are
provided in libraries for which C bindings have merely been provided by
the vendor.  The libraries themselves can be written in any programming
language, it is simply that a C-style calling syntax must be provided.

I've worked on a shared library, completely written in Ada, that is
invoked by C and Ada applications.  Even the Ada applications have to
use "pragma Import(C, ...)" to gain access to its functions.  (And of
course the library specifies pragma Export for the visible entities.)

Marc A. Criley
Senior Staff Engineer
Quadrus Corporation
www.quadruscorp.com



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

* Re: howto make system calls (newbie question)
  2001-05-04 12:12     ` Marc A. Criley
@ 2001-05-04 15:49       ` Marin David Condic
  2001-05-04 17:46         ` tmoran
  0 siblings, 1 reply; 56+ messages in thread
From: Marin David Condic @ 2001-05-04 15:49 UTC (permalink / raw)


While I'm basically on your side here, Marc, I think it is fair to point out
that in Kernighan & Ritchie (I don't have the ANSI C standard in front of
me) it says there is a "Standard Library" that, while "not part of the C
language proper" is considered to be part of the C environment that a
standard implementation of C will provide. In that library, we find
<stdlib.h> which contains a function "system" that one can reasonably expect
to be part of a standard C implementation.

I would consider this analogous to the Ada appendices that define things
like Unbounded_String, etc. The various string packages are not part of the
Ada language per se, but are an expected library of things available in Ada
if the implementation is conformant with the standard. I see no reason that
Ada couldn't provide similar libraries (perhaps optional for implementations
where it makes no sense to have them - e.g. embedded machines) for functions
like "system" so that calling conventions, etc., were Ada-ish and required
no understanding of anything outside Ada to use. (No pragma import stuff,
etc.) If it were legal for us mere mortal hackers to extend the package Ada,
it might have already been done. (This is how a lot of things crept into C,
after all.)

Its fair for someone to criticize Ada for not providing the sort of
reasonable and customary libraries one gets with lots of other languages.
(Where "reasonable and customary" stops is subject to debate, but I'd think
some basic OS services ought to fall within scope.) Saying "well you can get
there by binding to the C libraries" is a bit of a "me too!!!" syndrome that
keeps Ada a follower rather than a leader. Ada has to get out in front of
the issue and create its own interfaces or it will forever find itself
fighting the "well then why not just use C/C++ and be done with it?"
criticism. That's a hard one to win.

I like the idea of having Ada include lots of apendices to bind to things in
a standard way. A lot of what is in the C libraries Ada doesn't need because
it has other ways of getting there, but why not look over the C libraries
and provide an Ada standard way of getting the same services? (Not in a
slavish "me too!!!" way - do it "The Ada Way" (tm).)

A quick scan of K&R-II Appendix B, suggest the following as things Ada
provides no immediate alternative to that could be added in some way:

<stdlib.h> system
<stdlib.h> getenv
<stdlib.h> bsearch
<stdlib.h> qsort
<assert.h> (Yes, it exists, but should be part of the standard...)
<signal.h> (Yeah, you have some of it with exceptions - OS stuff is what I
have in mind here - can we have a standard exception (or other mechanism?)
for SIGINT, SIGTERM, SIGABRT?)
<time.h> clock
<time.h> asctime
<time.h> ctime
<time.h> gmtime
<time.h> localtime
<time.h> strftime

A little thought about other things commonly supplied by most OS's would
probably yield a bunch more ideas. Maybe we'd start seeing some posts in
Comp.Lang.C(++) to the effect of "I can do XYZ in Ada - how do I do the same
thing in C(++)?" and "Why doesn't C(++) provide me with a function/class to
do ABC which I can do in Ada so easily?" (Maybe we can start some shill
postings? :-)

Just an idea....

MDC
--
Marin David Condic
Senior Software Engineer
Pace Micro Technology Americas    www.pacemicro.com
Enabling the digital revolution
e-Mail:    marin.condic@pacemicro.com
Web:      http://www.mcondic.com/


"Marc A. Criley" <mcqada@earthlink.net> wrote in message
news:3AF28F9A.6DC3BD90@earthlink.net...
>
> "system" is neither part of C, nor part of Ada, it is an OS function
> that uses a C-style calling syntax.
>
> There's a widespread belief that OS functions, string handling
> functions, and so on, are all part of C, which makes C so much more
> powerful than languages like Ada.  In reality, all those functions are
> provided in libraries for which C bindings have merely been provided by
> the vendor.  The libraries themselves can be written in any programming
> language, it is simply that a C-style calling syntax must be provided.
>
> I've worked on a shared library, completely written in Ada, that is
> invoked by C and Ada applications.  Even the Ada applications have to
> use "pragma Import(C, ...)" to gain access to its functions.  (And of
> course the library specifies pragma Export for the visible entities.)
>
> Marc A. Criley
> Senior Staff Engineer
> Quadrus Corporation
> www.quadruscorp.com





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

* Re: howto make system calls (newbie question)
  2001-05-04  8:47   ` Lars Lundgren
  2001-05-04 12:12     ` Marc A. Criley
@ 2001-05-04 16:35     ` Jeffrey Carter
  1 sibling, 0 replies; 56+ messages in thread
From: Jeffrey Carter @ 2001-05-04 16:35 UTC (permalink / raw)


Lars Lundgren wrote:
> 
> > procedure Command is
> >
> >    function C_System(value : String) return integer;
> >    pragma Import(
> >          C, C_System, "system");
> >
> >    result : integer;
> > begin
> >    result := C_System("pwd ");
> >    result := C_System(value => "acdsee D:\work\pictures\BP47.jpg ");
> > end Command;
> >
> 
> Thank you very much!
> 
> That does do the trick for me.
> 
> However i'm rather surprised to see you suggest that I escape ada and
> import C-functions. Is it really the case that such a (from my
> perspective) basic function can not be done solely in Ada - despite its
> extensive libraries?
> 
> I'm not trying to start a flame, i'm just truly surprised.

"system" is an OS function provided by some OSes, where it uses the C
calling convention [hence the pragma Import (C, ...);]. Here you are
creating your own binding to this OS function; it's quite likely your
compiler vendor has also provided you another binding to your OS.

It's important to remember that Ada was designed for embedded systems,
where there may be no OS at all, which is a big part of why this is not
part of the language.

--
Jeffrey Carter



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

* Re: howto make system calls (newbie question)
  2001-05-04 15:49       ` Marin David Condic
@ 2001-05-04 17:46         ` tmoran
  2001-05-04 18:46           ` Marin David Condic
  0 siblings, 1 reply; 56+ messages in thread
From: tmoran @ 2001-05-04 17:46 UTC (permalink / raw)


> out that in Kernighan & Ritchie (I don't have the ANSI C standard in front
> of me) it says there is a "Standard Library" that, while "not part of the
 Making Ada packages, even if they only consisted of "pragma Import"s,
seems very straightforward.  Why hasn't it been done?

> <time.h> clock
> <time.h> asctime
> <time.h> ctime
> <time.h> gmtime
> <time.h> localtime
> <time.h> strftime
  Perhaps this is a clue to the "why it hasn't been done question".
Some of this is pointless for Ada, since we already have Ada.Calendar.
And the formatting stuff, like asctime, seems to be a victim of the
"curse of creativity" - everyone has their own idea of what should
be done (see recent thread on date & time formatting routines).

  The simple translation into a bunch of "pragma Import"s is not
exactly exciting, and does not garner much money or fame for the
person who does the grunt work.

> A little thought about other things commonly supplied by most OS's would
> probably yield a bunch more ideas. Maybe we'd start seeing some posts in
> Comp.Lang.C(++) to the effect of "I can do XYZ in Ada - how do I do the same
> thing in C(++)?" and "Why doesn't C(++) provide me with a function/class to
> do ABC which I can do in Ada so easily?" (Maybe we can start some shill
> postings? :-)
>
> Just an idea....
  A good one!



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

* Re: howto make system calls (newbie question)
  2001-05-04 17:46         ` tmoran
@ 2001-05-04 18:46           ` Marin David Condic
  2001-05-05  7:01             ` tmoran
  0 siblings, 1 reply; 56+ messages in thread
From: Marin David Condic @ 2001-05-04 18:46 UTC (permalink / raw)


I think my point in bringing up the C Standard Library was not to suggest we
simply create some pragma imports for it and declare them part of the Ada
standard. I was thinking along the lines of "Here's some stuff that
programmers are used to having around. Shouldn't Ada provide some *similar*
features - done The Ada Way (tm)?"

Where we *might* want to produce a bunch of pragma imports is where there is
some reasonably common & standard library of stuff that could/should be
hooked to in a standard way. Even there, I'd prefer a slightly thicker
binding that had parameters passed The Ada Way and possibly generalized so
that it wasn't tied to some specific implementation. For example, it would
be possible to produce a standard package for connecting to sockets that
provided some minimal TCP/IP capability with child packages allowed for
anything that might be system dependent. Compilers are already doing this
kind of thing in many places but it would be handy to insure that the
specification was agreed-upon so that portability would be preserved.
(There's lots of GNAT.Something out there that is useful, but would it be
done the same way in Aonix.Something? At minimum, you'd want the package
names to line up!)

As for a time string, I have no problem with the notion of providing a
date/time string in a completely arbitrary and capricious manner and saying
"This is what you get if you use the standard routine for quick & dirty
display of time stuff." (Sort of a 'Image for time?) Obviously, the writing
of routines to produce every conceivable string/time representation still
remains possible and is left as an exercise for the student. At least the
programmer has *one* string formatted time available that might actually be
a fairly common time representation.

MDC
--
Marin David Condic
Senior Software Engineer
Pace Micro Technology Americas    www.pacemicro.com
Enabling the digital revolution
e-Mail:    marin.condic@pacemicro.com
Web:      http://www.mcondic.com/

<tmoran@acm.org> wrote in message
news:gWBI6.38284$Jh5.35484299@news1.rdc1.sfba.home.com...
>   Perhaps this is a clue to the "why it hasn't been done question".
> Some of this is pointless for Ada, since we already have Ada.Calendar.
> And the formatting stuff, like asctime, seems to be a victim of the
> "curse of creativity" - everyone has their own idea of what should
> be done (see recent thread on date & time formatting routines).
>
>   The simple translation into a bunch of "pragma Import"s is not
> exactly exciting, and does not garner much money or fame for the
> person who does the grunt work.
>






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

* RE: howto make system calls (newbie question)
@ 2001-05-04 20:56 Beard, Frank
  2001-05-07 14:42 ` Marin David Condic
  0 siblings, 1 reply; 56+ messages in thread
From: Beard, Frank @ 2001-05-04 20:56 UTC (permalink / raw)
  To: 'comp.lang.ada@ada.eu.org'

I totally agree with Marin.
Frank

-----Original Message-----
From: Marin David Condic [mailto:marin.condic.auntie.spam@pacemicro.com]
Sent: Friday, May 04, 2001 11:49 AM
To: comp.lang.ada@ada.eu.org
Subject: Re: howto make system calls (newbie question)

While I'm basically on your side here, Marc, I think it is fair to point out
that in Kernighan & Ritchie (I don't have the ANSI C standard in front of
me) it says there is a "Standard Library" that, while "not part of the C
language proper" is considered to be part of the C environment that a
standard implementation of C will provide. In that library, we find
<stdlib.h> which contains a function "system" that one can reasonably expect
to be part of a standard C implementation.

I would consider this analogous to the Ada appendices that define things
like Unbounded_String, etc. The various string packages are not part of the
Ada language per se, but are an expected library of things available in Ada
if the implementation is conformant with the standard. I see no reason that
Ada couldn't provide similar libraries (perhaps optional for implementations
where it makes no sense to have them - e.g. embedded machines) for functions
like "system" so that calling conventions, etc., were Ada-ish and required
no understanding of anything outside Ada to use. (No pragma import stuff,
etc.) If it were legal for us mere mortal hackers to extend the package Ada,
it might have already been done. (This is how a lot of things crept into C,
after all.)

Its fair for someone to criticize Ada for not providing the sort of
reasonable and customary libraries one gets with lots of other languages.
(Where "reasonable and customary" stops is subject to debate, but I'd think
some basic OS services ought to fall within scope.) Saying "well you can get
there by binding to the C libraries" is a bit of a "me too!!!" syndrome that
keeps Ada a follower rather than a leader. Ada has to get out in front of
the issue and create its own interfaces or it will forever find itself
fighting the "well then why not just use C/C++ and be done with it?"
criticism. That's a hard one to win.

I like the idea of having Ada include lots of apendices to bind to things in
a standard way. A lot of what is in the C libraries Ada doesn't need because
it has other ways of getting there, but why not look over the C libraries
and provide an Ada standard way of getting the same services? (Not in a
slavish "me too!!!" way - do it "The Ada Way" (tm).)

A quick scan of K&R-II Appendix B, suggest the following as things Ada
provides no immediate alternative to that could be added in some way:

<stdlib.h> system
<stdlib.h> getenv
<stdlib.h> bsearch
<stdlib.h> qsort
<assert.h> (Yes, it exists, but should be part of the standard...)
<signal.h> (Yeah, you have some of it with exceptions - OS stuff is what I
have in mind here - can we have a standard exception (or other mechanism?)
for SIGINT, SIGTERM, SIGABRT?)
<time.h> clock
<time.h> asctime
<time.h> ctime
<time.h> gmtime
<time.h> localtime
<time.h> strftime

A little thought about other things commonly supplied by most OS's would
probably yield a bunch more ideas. Maybe we'd start seeing some posts in
Comp.Lang.C(++) to the effect of "I can do XYZ in Ada - how do I do the same
thing in C(++)?" and "Why doesn't C(++) provide me with a function/class to
do ABC which I can do in Ada so easily?" (Maybe we can start some shill
postings? :-)

Just an idea....

MDC
--
Marin David Condic
Senior Software Engineer
Pace Micro Technology Americas    www.pacemicro.com
Enabling the digital revolution
e-Mail:    marin.condic@pacemicro.com
Web:      http://www.mcondic.com/




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

* RE: howto make system calls (newbie question)
@ 2001-05-04 21:08 Beard, Frank
  2001-05-04 22:45 ` Jeffrey Carter
                   ` (2 more replies)
  0 siblings, 3 replies; 56+ messages in thread
From: Beard, Frank @ 2001-05-04 21:08 UTC (permalink / raw)
  To: 'comp.lang.ada@ada.eu.org'

I thought Ada was designed to be a general purpose language,
and among those purposes was strong support for embedded
systems.

If what you are saying "where there may be no OS at all"
were a major part of the premise, then, as I said in 
another post, we would not have Ada.Command_Line, as
well as some other packages.

Frank

-----Original Message-----
From: Jeffrey Carter [mailto:jeffrey.carter@boeing.com]
Sent: Friday, May 04, 2001 12:35 PM
To: comp.lang.ada@ada.eu.org
Subject: Re: howto make system calls (newbie question)

It's important to remember that Ada was designed for embedded systems,
where there may be no OS at all, which is a big part of why this is not
part of the language.

--
Jeffrey Carter
_______________________________________________
comp.lang.ada mailing list
comp.lang.ada@ada.eu.org
http://ada.eu.org/mailman/listinfo/comp.lang.ada




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

* Re: howto make system calls (newbie question)
  2001-05-04 21:08 Beard, Frank
@ 2001-05-04 22:45 ` Jeffrey Carter
  2001-05-07 14:47 ` Marin David Condic
  2001-05-09 18:29 ` GianLuigi Piacentini
  2 siblings, 0 replies; 56+ messages in thread
From: Jeffrey Carter @ 2001-05-04 22:45 UTC (permalink / raw)


"Beard, Frank" wrote:
> 
> I thought Ada was designed to be a general purpose language,
> and among those purposes was strong support for embedded
> systems.

The original requirements were for a language for embedded systems.
Luckily, we got a much more generally useful language in the process.

> 
> If what you are saying "where there may be no OS at all"
> were a major part of the premise, then, as I said in
> another post, we would not have Ada.Command_Line, as
> well as some other packages.

Initially, there were many who felt nothing should be in the standard
unless it applied to every target or couldn't be easily implemented
using the language. This is why Ada 83 had such a minimal standard
library. In the 9X process this shifted more towards having frequently
needed functionality in the standard library, but there was still
resistance to this idea. Hopefully this shift will continue in the 0X
process. An Ada-oriented (no callbacks) portable windowing interface
would be a Nice Thing.

In addition, there was a "time to market" problem in the 9X process.
Many good ideas were left out because there wasn't time to design and
document them adequately before 9X became 0X.

Disclaimer: these are my recollections and may prove entirely contrary
to fact.

--
Jeffrey Carter



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

* Re: howto make system calls (newbie question)
  2001-05-04 18:46           ` Marin David Condic
@ 2001-05-05  7:01             ` tmoran
  0 siblings, 0 replies; 56+ messages in thread
From: tmoran @ 2001-05-05  7:01 UTC (permalink / raw)


>I think my point in bringing up the C Standard Library was not to suggest
>we simply create some pragma imports for it and declare them part of the
>Ada standard.  I was thinking along the lines of "Here's some stuff that
>...
>hooked to in a standard way.  Even there, I'd prefer a slightly thicker
>binding that had parameters passed The Ada Way and possibly generalized so
>that it wasn't tied to some specific implementation.  For example, it
>would be possible to produce a standard package for connecting to sockets
>that provided some minimal TCP/IP capability with child packages allowed
>for anything that might be system dependent.  Compilers are already doing

  Once you go beyond pragma import's, creative programmers will come up
with different ways of doing things The Ada Way.  Perhaps I'm jaundiced by
recent experience with Windows bindings:  There's a "pragma import" kind
of very thin binding, and then there are 4 or 5 mutually incompatible,
varyingly complete, "thick" bindings.  in the area of sockets there are at
least two different free(gratis) bindings.  There's at least one directory
operations package, which matches POSIX as well as a Windows package can.
Each of these particular packages tends to use, and require you to be
familiar with, other parts of that particular binding, so both developers
and users pretty much get locked in to a single binding.

  Everyone knows the advantages of their own approach, and the advantages
of a different approach are not usually convincing.  Once a user has
invested in learning, and writing programs with, one particular binding,
he will ask its authors for the enhancements he happens to want, thus
further diverging the bindings.  To make a standard, you need some source
of centripetal force.  I wish I saw one.



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

* Re: howto make system calls (newbie question)
  2001-05-04 20:56 Beard, Frank
@ 2001-05-07 14:42 ` Marin David Condic
  2001-05-07 16:41   ` Samuel T. Harris
  2001-05-08  7:34   ` Tarjei T. Jensen
  0 siblings, 2 replies; 56+ messages in thread
From: Marin David Condic @ 2001-05-07 14:42 UTC (permalink / raw)


Its nice to find myself being totally agreed with! :-) Maybe you can expand
on the idea. What sort of standard libraries would you like to see in Ada?

MDC
--
Marin David Condic
Senior Software Engineer
Pace Micro Technology Americas    www.pacemicro.com
Enabling the digital revolution
e-Mail:    marin.condic@pacemicro.com
Web:      http://www.mcondic.com/


"Beard, Frank" <beardf@spawar.navy.mil> wrote in message
news:mailman.989009884.30531.comp.lang.ada@ada.eu.org...
> I totally agree with Marin.
> Frank
>






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

* Re: howto make system calls (newbie question)
  2001-05-04 21:08 Beard, Frank
  2001-05-04 22:45 ` Jeffrey Carter
@ 2001-05-07 14:47 ` Marin David Condic
  2001-05-09 13:41   ` Noam Kloos
  2001-05-09 18:29 ` GianLuigi Piacentini
  2 siblings, 1 reply; 56+ messages in thread
From: Marin David Condic @ 2001-05-07 14:47 UTC (permalink / raw)


It is part of the history of Ada which seems to color a lot of the decisions
that are made with current Ada language design. Ada did not have any native
I/O instructions that may have made I/O less painful specifically because it
was originally supposed to be for embedded computers where you could not be
guaranteed proper support of specialized I/O instructions. Hence, its all a
bunch of packages that can easily be excluded from an implementation wherein
they make no sense.

Now that Ada is much more general purpose in nature, it may be time to break
out of the "embedded system" thinking. This might lead to language changes
that make it more useful for development on PC's & workstations. However,
the risk of doing so is that one might then invent a language that is no
longer suited for embedded systems - and this would hurt the feelings of
those of us who do that kind of work. That might be A Bad Thing.

MDC
--
Marin David Condic
Senior Software Engineer
Pace Micro Technology Americas    www.pacemicro.com
Enabling the digital revolution
e-Mail:    marin.condic@pacemicro.com
Web:      http://www.mcondic.com/


"Beard, Frank" <beardf@spawar.navy.mil> wrote in message
news:mailman.989010544.30700.comp.lang.ada@ada.eu.org...
> I thought Ada was designed to be a general purpose language,
> and among those purposes was strong support for embedded
> systems.
>
> If what you are saying "where there may be no OS at all"
> were a major part of the premise, then, as I said in
> another post, we would not have Ada.Command_Line, as
> well as some other packages.
>






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

* Re: howto make system calls (newbie question)
  2001-05-07 14:42 ` Marin David Condic
@ 2001-05-07 16:41   ` Samuel T. Harris
  2001-05-07 18:25     ` Marin David Condic
  2001-05-08 20:23     ` Samuel T. Harris
  2001-05-08  7:34   ` Tarjei T. Jensen
  1 sibling, 2 replies; 56+ messages in thread
From: Samuel T. Harris @ 2001-05-07 16:41 UTC (permalink / raw)


Marin David Condic wrote:
> 
> Its nice to find myself being totally agreed with! :-) Maybe you can expand
> on the idea. What sort of standard libraries would you like to see in Ada?
> 

Of course, there are other "standards" which are not part
of the Ada standard. For instance, the POSIX Ada binding
has been invaluable to me in writing portable code which
requires facilities from the operating system.

Since this is standardized by IEEE, I feel any particular
need to include it as an Ada LRM annex.

-- 
Samuel T. Harris, Principal Engineer
Raytheon, Aerospace Engineering Services
"If you can make it, We can fake it!"



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

* RE: howto make system calls (newbie question)
@ 2001-05-07 17:04 Beard, Frank
  0 siblings, 0 replies; 56+ messages in thread
From: Beard, Frank @ 2001-05-07 17:04 UTC (permalink / raw)
  To: 'comp.lang.ada@ada.eu.org'

I know the feeling.  :-)

-----Original Message-----
From: Jeffrey Carter [mailto:jeffrey.carter@boeing.com]

Disclaimer: these are my recollections and may prove entirely contrary
to fact.




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

* Re: howto make system calls (newbie question)
  2001-05-07 16:41   ` Samuel T. Harris
@ 2001-05-07 18:25     ` Marin David Condic
  2001-05-08 20:30       ` Samuel T. Harris
  2001-05-08 20:23     ` Samuel T. Harris
  1 sibling, 1 reply; 56+ messages in thread
From: Marin David Condic @ 2001-05-07 18:25 UTC (permalink / raw)


Well, not everything in the world needs to be in an annex to the ARM. The
Posix binding is a fair example. Of course, there you have the problem that
the interface may not be made available by a given compiler and it might not
be applicable in all environments anyway. That's a binding to a specific
class of OS that may not be common across all OS's & one would want to give
that some thought.

Is there a reason to maybe make an OS independent package available that
provided some of the things that might exist in Posix, but might be provided
by a different system in a different manner? Or is Posix widely spread
enough that Ada could just say "If you want access to system facilities of
this type - go see Posix"? Is the Posix binding going to just come with my
compiler and I can go along fat, dumb and happy using it at will with no
thought as to where to find it and no concern for transportability of my
code? The answers are not clear to me.

However, I still think there is room to add some standard libraries to Ada
that make it more useful to the programmer. Clearly the Ada.Strings...
branch is a good example - C may supply some fairly lame string handling
functions but Ada83 provided none at all. Now Ada95 has an area of clear
superiority in that you get some really good pre-fabricated string utilities
that are just there on any implementation and are at your disposal. Might
there not be similar libraries of things that Ada could provide in some
standardized manner? If a C programmer can say "I can do this thing in C -
how do I do it in Ada?" should it be fair game to ask how we might have that
provided in all Ada implementations?

I really wish the Ada Standard Library Working Group had managed to get
somewhere with defining even a starting point for this sort of thing. Even
if a library didn't come by virtue of the ARM, if it was available with a
standard interface and provided by most, if not all, implementations, it
would enhance the value of Ada to the programmer. Then we'd be off in other
newsgroups asking "I can do this in Ada - how do I do it in your language?"
:-)

MDC
--
Marin David Condic
Senior Software Engineer
Pace Micro Technology Americas    www.pacemicro.com
Enabling the digital revolution
e-Mail:    marin.condic@pacemicro.com
Web:      http://www.mcondic.com/


"Samuel T. Harris" <u61783@gsde.hou.us.ray.com> wrote in message
news:3AF6D040.FF71B782@gsde.hou.us.ray.com...

> Of course, there are other "standards" which are not part
> of the Ada standard. For instance, the POSIX Ada binding
> has been invaluable to me in writing portable code which
> requires facilities from the operating system.
>
> Since this is standardized by IEEE, I feel any particular
> need to include it as an Ada LRM annex.
>






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

* Re: howto make system calls (newbie question)
  2001-05-07 14:42 ` Marin David Condic
  2001-05-07 16:41   ` Samuel T. Harris
@ 2001-05-08  7:34   ` Tarjei T. Jensen
  2001-05-08 12:16     ` Larry Kilgallen
  2001-05-08 13:43     ` Marin David Condic
  1 sibling, 2 replies; 56+ messages in thread
From: Tarjei T. Jensen @ 2001-05-08  7:34 UTC (permalink / raw)



Marin David Condic wrote in message <9d6c89$1nd$1@nh.pace.co.uk>...
>Its nice to find myself being totally agreed with! :-) Maybe you can expand
>on the idea. What sort of standard libraries would you like to see in Ada?

The obvious ones. E.g. console I/O, adafied sockets, buffered I/O, national
language support (NLS), turbo pascal style strings, NLS string comparison,
file utilities (expand wildcards, get file names from a directory, delete
file, set file protection, etc), dynamic library support (load library,
symbols under program control), standard datatypes for system calls,
standard datatypes for the C library.


Greetings,






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

* Re: howto make system calls (newbie question)
  2001-05-08  7:34   ` Tarjei T. Jensen
@ 2001-05-08 12:16     ` Larry Kilgallen
  2001-05-08 14:12       ` Tarjei T. Jensen
  2001-05-08 13:43     ` Marin David Condic
  1 sibling, 1 reply; 56+ messages in thread
From: Larry Kilgallen @ 2001-05-08 12:16 UTC (permalink / raw)


In article <9d87id$oll15@news.kvaerner.com>, "Tarjei T. Jensen" <tarjei.jensen@kvaerner.com> writes:
> 
> Marin David Condic wrote in message <9d6c89$1nd$1@nh.pace.co.uk>...
>>Its nice to find myself being totally agreed with! :-) Maybe you can expand
>>on the idea. What sort of standard libraries would you like to see in Ada?
> 
> The obvious ones. E.g. console I/O, adafied sockets, buffered I/O, national
> language support (NLS), turbo pascal style strings, NLS string comparison,
> file utilities (expand wildcards, get file names from a directory, delete
> file, set file protection, etc), dynamic library support (load library,
> symbols under program control), standard datatypes for system calls,
> standard datatypes for the C library.

Console I/O - secure operating systems are likely to prevent a program
	run by an ordinary user from accessing the console, to prevent
	password grabbing attacks against the operator.

Turbo Poascal style strings - please describe.  Given Ada String,
Bounded String and Unbounded Strings, I am hard-pressed to thing
of capabilities that are missing.

Set File Protection - this certainly cannot be made uniform across
operating systems. VMS has SOGW, Unix (at least some) have one fewer.
A major way operating systems distinguish themselves is by differences
in their ACLs.

Standard datatypes for system calls - And what good will a VMS-style
descriptor do me on a Unix system ?



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

* Re: howto make system calls (newbie question)
  2001-05-08  7:34   ` Tarjei T. Jensen
  2001-05-08 12:16     ` Larry Kilgallen
@ 2001-05-08 13:43     ` Marin David Condic
  2001-05-12  2:58       ` Randy Brukardt
  1 sibling, 1 reply; 56+ messages in thread
From: Marin David Condic @ 2001-05-08 13:43 UTC (permalink / raw)


I like the Ada-fied sockets part in particular. It would be nice to get
bindings to common things that used Ada-ish parameters. (Sockets made to
line up nicely with Ada.Streams? Hmmmmm???? A nice Object Oriented approach
to sockets rather than the customary C-ish approach?)

MDC
--
Marin David Condic
Senior Software Engineer
Pace Micro Technology Americas    www.pacemicro.com
Enabling the digital revolution
e-Mail:    marin.condic@pacemicro.com
Web:      http://www.mcondic.com/


"Tarjei T. Jensen" <tarjei.jensen@kvaerner.com> wrote in message
news:9d87id$oll15@news.kvaerner.com...
>
> Marin David Condic wrote in message <9d6c89$1nd$1@nh.pace.co.uk>...
> >Its nice to find myself being totally agreed with! :-) Maybe you can
expand
> >on the idea. What sort of standard libraries would you like to see in
Ada?
>
> The obvious ones. E.g. console I/O, adafied sockets, buffered I/O,
national
> language support (NLS), turbo pascal style strings, NLS string comparison,
> file utilities (expand wildcards, get file names from a directory, delete
> file, set file protection, etc), dynamic library support (load library,
> symbols under program control), standard datatypes for system calls,
> standard datatypes for the C library.
>
>
> Greetings,
>
>
>





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

* Re: howto make system calls (newbie question)
  2001-05-08 12:16     ` Larry Kilgallen
@ 2001-05-08 14:12       ` Tarjei T. Jensen
  2001-05-08 16:48         ` Larry Kilgallen
  0 siblings, 1 reply; 56+ messages in thread
From: Tarjei T. Jensen @ 2001-05-08 14:12 UTC (permalink / raw)



Larry Kilgallen
>Console I/O - secure operating systems are likely to prevent a program
> run by an ordinary user from accessing the console, to prevent
> password grabbing attacks against the operator.

Try again. console I/O means that there are no GUI.

>Turbo Poascal style strings - please describe.  Given Ada String,
>Bounded String and Unbounded Strings, I am hard-pressed to thing
>of capabilities that are missing.

This has been discussed before in this newsgroup.

>Set File Protection - this certainly cannot be made uniform across
>operating systems. VMS has SOGW, Unix (at least some) have one fewer.
>A major way operating systems distinguish themselves is by differences
>in their ACLs.

Of course it can. It is just a bit of work and som common sense. The posix
(or was it C) standard have some suggestions about how to do it.

>Standard datatypes for system calls - And what good will a VMS-style
>descriptor do me on a Unix system ?

Beats me. Why would you want that?


Greetings,






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

* Re: howto make system calls (newbie question)
  2001-05-08 14:12       ` Tarjei T. Jensen
@ 2001-05-08 16:48         ` Larry Kilgallen
  2001-05-08 21:40           ` Charles Hixson
  2001-05-09  8:25           ` Tarjei T. Jensen
  0 siblings, 2 replies; 56+ messages in thread
From: Larry Kilgallen @ 2001-05-08 16:48 UTC (permalink / raw)


In article <9d8ute$8tt9@news.kvaerner.com>, "Tarjei T. Jensen" <tarjei.jensen@kvaerner.com> writes:
> 
> Larry Kilgallen
>>Console I/O - secure operating systems are likely to prevent a program
>> run by an ordinary user from accessing the console, to prevent
>> password grabbing attacks against the operator.
> 
> Try again. console I/O means that there are no GUI.

No, absent a specific explanation to the contrary, or specification
of some particular operating system, console I/O should mean I/O to
the console.  On the machines I use, ordinary unprivileged users are
_not_ allowed to write to the console (if they were, their output would
get intermixed).

>>Turbo Poascal style strings - please describe.  Given Ada String,
>>Bounded String and Unbounded Strings, I am hard-pressed to thing
>>of capabilities that are missing.
> 
> This has been discussed before in this newsgroup.

If you remember that, but don't remember the answer, don't bother
commenting on the question.

>>Set File Protection - this certainly cannot be made uniform across
>>operating systems. VMS has SOGW, Unix (at least some) have one fewer.
>>A major way operating systems distinguish themselves is by differences
>>in their ACLs.
> 
> Of course it can. It is just a bit of work and som common sense. The posix
> (or was it C) standard have some suggestions about how to do it.

And do they cover protected subsystem ACEs, which I need for VMS ?
I am sure that MVS, OS/400 and other operating systems have their
own unique ACE types, to say nothing of different processing rules.
As I said, it cannot be made universal across operating systems.

>>Standard datatypes for system calls - And what good will a VMS-style
>>descriptor do me on a Unix system ?
> 
> Beats me. Why would you want that?

The proposal was to implement standard datatypes for system calls.
A descriptor is the most common datatype for VMS system calls.  I
am sure that other operating systems have their own datatypes that
also do not have universal applicability.

If your intention is to provide a binding only to Posix-standard
interfaces, then say so, but I thought that already existed for Ada.



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

* Re: howto make system calls (newbie question)
  2001-05-07 16:41   ` Samuel T. Harris
  2001-05-07 18:25     ` Marin David Condic
@ 2001-05-08 20:23     ` Samuel T. Harris
  1 sibling, 0 replies; 56+ messages in thread
From: Samuel T. Harris @ 2001-05-08 20:23 UTC (permalink / raw)


"Samuel T. Harris" wrote:
> 
> Marin David Condic wrote:
> >
> > Its nice to find myself being totally agreed with! :-) Maybe you can expand
> > on the idea. What sort of standard libraries would you like to see in Ada?
> >
> 
> Of course, there are other "standards" which are not part
> of the Ada standard. For instance, the POSIX Ada binding
> has been invaluable to me in writing portable code which
> requires facilities from the operating system.
> 
> Since this is standardized by IEEE, I       feel any particular
                                       ^don't^
> need to include it as an Ada LRM annex.
> 

-- 
Samuel T. Harris, Principal Engineer
Raytheon, Aerospace Engineering Services
"If you can make it, We can fake it!"



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

* Re: howto make system calls (newbie question)
  2001-05-07 18:25     ` Marin David Condic
@ 2001-05-08 20:30       ` Samuel T. Harris
  2001-05-08 21:13         ` Marin David Condic
  0 siblings, 1 reply; 56+ messages in thread
From: Samuel T. Harris @ 2001-05-08 20:30 UTC (permalink / raw)


Marin David Condic wrote:
> 
> Well, not everything in the world needs to be in an annex to the ARM. The
> Posix binding is a fair example. Of course, there you have the problem that
> the interface may not be made available by a given compiler and it might not
> be applicable in all environments anyway. That's a binding to a specific
> class of OS that may not be common across all OS's & one would want to give
> that some thought.

If I need POSIX, then that becomes a requirement for compiler choice.
POSIX compliance is also a common criteria for OS selection as well.

I also feel that POSIX is a good abstraction layer.

I believe most operating systems can be made to "fit" most
of the standard, at least when it comes to the most common
operations.

> 
> Is there a reason to maybe make an OS independent package available that
> provided some of the things that might exist in Posix, but might be provided
> by a different system in a different manner? Or is Posix widely spread
> enough that Ada could just say "If you want access to system facilities of
> this type - go see Posix"? Is the Posix binding going to just come with my
> compiler and I can go along fat, dumb and happy using it at will with no
> thought as to where to find it and no concern for transportability of my
> code? The answers are not clear to me.

POSIX come with Apex and VADS.

One can get Florist with GNAT, but I'm not sure of the
totality of support, especially when it comes to threads.

As to the most common operations, perhaps the approach
should be to define what is expected as the least common
denominator and standardize that in a POSIX way as what
every implementation is expected to support.

> 
> However, I still think there is room to add some standard libraries to Ada
> that make it more useful to the programmer. Clearly the Ada.Strings...
> branch is a good example - C may supply some fairly lame string handling
> functions but Ada83 provided none at all. Now Ada95 has an area of clear
> superiority in that you get some really good pre-fabricated string utilities
> that are just there on any implementation and are at your disposal. Might
> there not be similar libraries of things that Ada could provide in some
> standardized manner? If a C programmer can say "I can do this thing in C -
> how do I do it in Ada?" should it be fair game to ask how we might have that
> provided in all Ada implementations?

I'd like to see more work on numerics, especially matrix math.

> 
> I really wish the Ada Standard Library Working Group had managed to get
> somewhere with defining even a starting point for this sort of thing. Even
> if a library didn't come by virtue of the ARM, if it was available with a
> standard interface and provided by most, if not all, implementations, it
> would enhance the value of Ada to the programmer. Then we'd be off in other
> newsgroups asking "I can do this in Ada - how do I do it in your language?"

I do that whenever I can over at comp.software-eng and comp.object.

-- 
Samuel T. Harris, Principal Engineer
Raytheon, Aerospace Engineering Services
"If you can make it, We can fake it!"



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

* Re: howto make system calls (newbie question)
  2001-05-08 20:30       ` Samuel T. Harris
@ 2001-05-08 21:13         ` Marin David Condic
  0 siblings, 0 replies; 56+ messages in thread
From: Marin David Condic @ 2001-05-08 21:13 UTC (permalink / raw)


On my web site there is a bunch of statistics code that was built with an
eye towards getting it into the Ada Standard Library Working Group output.
We already define stuff in an appendix for the more common log and trig
functions after discovering that Fortran weenies were complaining about them
being missing. Why not look to other mathematical things that can be
implemented in a fairly recognizable way? Matrix and vector math libraries
exist all over - producing something that would look familiar to those users
might be a useful extension. Obviously I and a couple of extremely bright
math guys thought that statistics would make a good addition. There must be
other math functions that would be useful as well. Lots of numeric
programmers might learn to love Ada as a result.

MDC
--
Marin David Condic
Senior Software Engineer
Pace Micro Technology Americas    www.pacemicro.com
Enabling the digital revolution
e-Mail:    marin.condic@pacemicro.com
Web:      http://www.mcondic.com/

"Samuel T. Harris" <u61783@gsde.hou.us.ray.com> wrote in message
news:3AF85750.D261FBC7@gsde.hou.us.ray.com...
>
> I'd like to see more work on numerics, especially matrix math.
>






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

* Re: howto make system calls (newbie question)
  2001-05-08 16:48         ` Larry Kilgallen
@ 2001-05-08 21:40           ` Charles Hixson
  2001-05-08 22:53             ` Larry Kilgallen
  2001-05-09  8:25           ` Tarjei T. Jensen
  1 sibling, 1 reply; 56+ messages in thread
From: Charles Hixson @ 2001-05-08 21:40 UTC (permalink / raw)


Well, if it were an optional annex, then it wouldn't be 
mandatorially present, but optional, as garbage collection is 
now.  (That may be a good argument against it, considering the 
status of garbage collection, however...)

Further:
Kilgallen@eisner.decus.org.nospam (Larry Kilgallen) wrote in
<Fpv1u1koJqhc@eisner.encompasserve.org>: 

>In article <9d8ute$8tt9@news.kvaerner.com>, "Tarjei T.
>Jensen" <tarjei.jensen@kvaerner.com> writes: 
>> 
>>...
>No, absent a specific explanation to the contrary, or
>specification of some particular operating system, console
>I/O should mean I/O to the console.  On the machines I use,
>ordinary unprivileged users are _not_ allowed to write to the
>console (if they were, their output would get intermixed).
>
Do you mean that all of your users are restricted to batch 
compile/execution cycles?  Then slave sysin to the card reader 
and sysout to the line printer (Unit5 and Unit6, I think they 
were called.)

...
>...
>And do they cover protected subsystem ACEs, which I need for
>VMS ? I am sure that MVS, OS/400 and other operating systems
>have their own unique ACE types, to say nothing of different
>processing rules. As I said, it cannot be made universal
>across operating systems. 

No.  But perhaps a higher level description could be.  It might 
not have the total functionality of low-level system calls, but 
one often doesn't need that. (I have only used VMS twice, so 
forgive me if I don't know what an ACE is.)

>
>...
>If your intention is to provide a binding only to
>Posix-standard interfaces, then say so, but I thought that
>already existed for Ada. 
>
Posix-standard interfaces are good.  That way at least one 
implementation has already been done, so it doesn't need to be 
redone.  It could be swallowed whole into an annex as a proposed 
implementation (licensing issues permitting).

-- 
Charles Hixson

Copy software legally, the GNU way!
Use GNU software, and legally make and share copies of software.
See http://www.gnu.org
    http://www.redhat.com
    http://www.linux-mandrake.com
    http://www.calderasystems.com/
    http://www.linuxapps.com/



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

* Re: howto make system calls (newbie question)
  2001-05-08 21:40           ` Charles Hixson
@ 2001-05-08 22:53             ` Larry Kilgallen
  2001-05-09 16:00               ` Charles Hixson
  0 siblings, 1 reply; 56+ messages in thread
From: Larry Kilgallen @ 2001-05-08 22:53 UTC (permalink / raw)


In article <Xns909B95495DD5Fcharleshixsonearthli@207.217.77.25>, charleshixson@earthling.net (Charles Hixson) writes:

>>In article <9d8ute$8tt9@news.kvaerner.com>, "Tarjei T.
>>Jensen" <tarjei.jensen@kvaerner.com> writes: 
>>> 
>>>...
>>No, absent a specific explanation to the contrary, or
>>specification of some particular operating system, console
>>I/O should mean I/O to the console.  On the machines I use,
>>ordinary unprivileged users are _not_ allowed to write to the
>>console (if they were, their output would get intermixed).
>>
> Do you mean that all of your users are restricted to batch 
> compile/execution cycles?  Then slave sysin to the card reader 
> and sysout to the line printer (Unit5 and Unit6, I think they 
> were called.)

No, but users of interactive terminals (or emulators thereof)
do not have access to the _console_.  There is only one console
on the system.  There could be tens or hundreds of users (depending
on the size of the machine).  From the console one can issue hardware
commands to stop the machine, etc.

>>And do they cover protected subsystem ACEs, which I need for
>>VMS ? I am sure that MVS, OS/400 and other operating systems
>>have their own unique ACE types, to say nothing of different
>>processing rules. As I said, it cannot be made universal
>>across operating systems. 
> 
> No.  But perhaps a higher level description could be.  It might 
> not have the total functionality of low-level system calls, but 
> one often doesn't need that. (I have only used VMS twice, so 
> forgive me if I don't know what an ACE is.)

By ACE I mean "Access Control Entry", the fundamental building
block of an Access Control List.  I was under the impression
the same term was used for Unix and Windows.  It is the most
common method of complying with the C2 rules of the Orange Book.
While various operating systems have Access Control Lists
for file protection, the parsing rules differ from one OS to
another.  Some early Unix implementations came without ACLs,
but I think the need for C2 evaluation cured that for any
serious implementations.



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

* Re: howto make system calls (newbie question)
  2001-05-08 16:48         ` Larry Kilgallen
  2001-05-08 21:40           ` Charles Hixson
@ 2001-05-09  8:25           ` Tarjei T. Jensen
  2001-05-09 12:28             ` Larry Kilgallen
  1 sibling, 1 reply; 56+ messages in thread
From: Tarjei T. Jensen @ 2001-05-09  8:25 UTC (permalink / raw)



Larry Kilgallen wrote
>The proposal was to implement standard datatypes for system calls.
>A descriptor is the most common datatype for VMS system calls.  I
>am sure that other operating systems have their own datatypes that
>also do not have universal applicability.

Why would someone include VMS specifics for Unix or windows nt for that
matter? It makes no sense to have items specific for Unix on a VMS system
(unless one is using the posix subsystem).


Greetings,






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

* Re: howto make system calls (newbie question)
  2001-05-09  8:25           ` Tarjei T. Jensen
@ 2001-05-09 12:28             ` Larry Kilgallen
  2001-05-09 16:13               ` Charles Hixson
  2001-05-10  7:17               ` Tarjei T. Jensen
  0 siblings, 2 replies; 56+ messages in thread
From: Larry Kilgallen @ 2001-05-09 12:28 UTC (permalink / raw)


In article <9dauu7$8m913@news.kvaerner.com>, "Tarjei T. Jensen" <tarjei.jensen@kvaerner.com> writes:
> 
> Larry Kilgallen wrote
>>The proposal was to implement standard datatypes for system calls.
>>A descriptor is the most common datatype for VMS system calls.  I
>>am sure that other operating systems have their own datatypes that
>>also do not have universal applicability.
> 
> Why would someone include VMS specifics for Unix or windows nt for that
> matter? It makes no sense to have items specific for Unix on a VMS system
> (unless one is using the posix subsystem).

I certainly agree, but I was responding to a thread with entries
espousing codification of all "standard datatypes" that might be
used in system calls.  I consider that unworkable, because what
constitutes a "standard datatype" varies so much between various
operating systems.   Basically, I do not feel there is progress
to be made in that direction.



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

* Re: howto make system calls (newbie question)
  2001-05-07 14:47 ` Marin David Condic
@ 2001-05-09 13:41   ` Noam Kloos
  2001-05-09 14:17     ` Ted Dennison
  0 siblings, 1 reply; 56+ messages in thread
From: Noam Kloos @ 2001-05-09 13:41 UTC (permalink / raw)


On Mon, 7 May 2001 10:47:51 -0400, "Marin David Condic"
<marin.condic.auntie.spam@pacemicro.com> wrote:

>Now that Ada is much more general purpose in nature, it may be time to break
>out of the "embedded system" thinking. This might lead to language changes
>that make it more useful for development on PC's & workstations. However,
>the risk of doing so is that one might then invent a language that is no
>longer suited for embedded systems - and this would hurt the feelings of
>those of us who do that kind of work. That might be A Bad Thing.
>
After trying to add os_calls and found it was not portable between
Linux and Windows, I decided to try and forget about OS calls.
And ada program is an entity on its own and I was thinking how to
interact with other programs when not using os_calls or
ada.command_line.

All ada systems have the package Text_IO in common.
So the only way a program can comunicate to other programs is
about reading and writing each others files.

Just to see if the concept is usable I wrote
http://www.noam.nl/download/ada95/my_os.zip
and this makes me confident there is a way to have simultanious
programs running and interfacing without the need of being os
specific.

Noam.





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

* Re: howto make system calls (newbie question)
  2001-05-09 13:41   ` Noam Kloos
@ 2001-05-09 14:17     ` Ted Dennison
  2001-05-16 12:45       ` Marc A. Criley
  0 siblings, 1 reply; 56+ messages in thread
From: Ted Dennison @ 2001-05-09 14:17 UTC (permalink / raw)


In article <3af9470c.18806277@news.nl.uu.net>, Noam Kloos says...
>All ada systems have the package Text_IO in common.
>So the only way a program can comunicate to other programs is
>about reading and writing each others files.

That's a bit strong. For one thing, its quite possible to *portably* interface
to external C code using "pragma Interface (C,...)" and the types in
Interfaces.C.

---
T.E.D.    homepage   - http://www.telepath.com/dennison/Ted/TED.html
          home email - mailto:dennison@telepath.com



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

* Re: howto make system calls (newbie question)
  2001-05-08 22:53             ` Larry Kilgallen
@ 2001-05-09 16:00               ` Charles Hixson
  2001-05-09 17:14                 ` Larry Kilgallen
  0 siblings, 1 reply; 56+ messages in thread
From: Charles Hixson @ 2001-05-09 16:00 UTC (permalink / raw)


Kilgallen@eisner.decus.org.nospam (Larry Kilgallen) wrote in
<FNjDhEG2MwD3@eisner.encompasserve.org>: 

>In article
><Xns909B95495DD5Fcharleshixsonearthli@207.217.77.25>,
>charleshixson@earthling.net (Charles Hixson) writes: 
>
>...
>> Do you mean that all of your users are restricted to batch 
>> compile/execution cycles?  Then slave sysin to the card
>> reader and sysout to the line printer (Unit5 and Unit6, I
>> think they were called.)
>
>No, but users of interactive terminals (or emulators thereof)
>do not have access to the _console_.  There is only one
>console on the system.  There could be tens or hundreds of
>users (depending on the size of the machine).  From the
>console one can issue hardware commands to stop the machine,
>etc. 

OK.  In that case let it be re-stated as a request for access to 
terminal screen I/O.  I believe that this is what was meant.  (I 
know few people who have a separate system console anymore, so 
that meaning has rather dropped from my vocabulary [of course, 
I'm not the original poster, so I'm guessing what was meant].)
>...
>> 
>> No.  But perhaps a higher level description could be.  It
>> might not have the total functionality of low-level system
>> calls, but one often doesn't need that. (I have only used
>> VMS twice, so forgive me if I don't know what an ACE is.)
>
>By ACE I mean "Access Control Entry", the fundamental
>building block of an Access Control List.  I was under the
>impression the same term was used for Unix and Windows.  It
>is the most common method of complying with the C2 rules of
>the Orange Book. While various operating systems have Access
>Control Lists for file protection, the parsing rules differ
>from one OS to another.  Some early Unix implementations came
>without ACLs, but I think the need for C2 evaluation cured
>that for any serious implementations.
>
OK.  Then perhaps the difference is that I never work with 
highly secured systems.  Perhaps that *is* specialized enough 
(and different enough from system to system) that a high level 
specification would be inappropriate.  OTOH, if a similar 
construct is used on VMS, *nix, and Windows, then perhaps a high 
level description would be appropriate.

-- 
Charles Hixson

Copy software legally, the GNU way!
Use GNU software, and legally make and share copies of software.
See http://www.gnu.org
    http://www.redhat.com
    http://www.linux-mandrake.com
    http://www.calderasystems.com/
    http://www.linuxapps.com/



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

* Re: howto make system calls (newbie question)
  2001-05-09 12:28             ` Larry Kilgallen
@ 2001-05-09 16:13               ` Charles Hixson
  2001-05-10  7:17               ` Tarjei T. Jensen
  1 sibling, 0 replies; 56+ messages in thread
From: Charles Hixson @ 2001-05-09 16:13 UTC (permalink / raw)


Kilgallen@eisner.decus.org.nospam (Larry Kilgallen) wrote in
<2ecbjJt$+0y8@eisner.encompasserve.org>: 

>In article <9dauu7$8m913@news.kvaerner.com>, "Tarjei T.
>Jensen" <tarjei.jensen@kvaerner.com> writes: 
>...
>I certainly agree, but I was responding to a thread with
>entries espousing codification of all "standard datatypes"
>that might be used in system calls.  I consider that
>unworkable, because what constitutes a "standard datatype"
>varies so much between various operating systems.  
>Basically, I do not feel there is progress to be made in that
>direction. 
>
Perhaps the problem is the correct level of abstraction.  
Clearly machine/OS specific variations don't belong in the 
standard, but I also feel that SOME way of accomplishing the 
needed tasks does belong in the standard.  It may be that on 
some machines this would be inappropriately inefficient, but at 
least it would be possible.  This is somewhat similar to using a 
numeric 1 to indicate true.  If your machine has a 60 bit word 
length, then this may be quite inefficient.  But it will make 
the transmission of logical information possible.  (I believe 
that this was, indeed, the way that it was done on the CDC7600, 
at least in the Fortran that I used.)

As with the representation of Booleans, so with other things, it 
is frequently true that a less efficient method will be "good 
enough", and that portability will pay back for numerous 
inefficiencies.  And a good compiler could come with specialized 
libraries that would handle the process in a way more 
appropriate to the particular machine/OS.  (On the 7600, it was 
a speed trade off.  The individual bits couldn't be addressed, 
so for speed the >0 comparison was used [I believe that other 
compilers just checked the sign bit]).

-- 
Charles Hixson

Copy software legally, the GNU way!
Use GNU software, and legally make and share copies of software.
See http://www.gnu.org
    http://www.redhat.com
    http://www.linux-mandrake.com
    http://www.calderasystems.com/
    http://www.linuxapps.com/



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

* Re: howto make system calls (newbie question)
  2001-05-09 16:00               ` Charles Hixson
@ 2001-05-09 17:14                 ` Larry Kilgallen
  0 siblings, 0 replies; 56+ messages in thread
From: Larry Kilgallen @ 2001-05-09 17:14 UTC (permalink / raw)


In article <Xns909C5BB41B746charleshixsonearthli@207.217.77.22>, charleshixson@earthling.net (Charles Hixson) writes:
> Kilgallen@eisner.decus.org.nospam (Larry Kilgallen) wrote in
> <FNjDhEG2MwD3@eisner.encompasserve.org>: 
> 
>>In article
>><Xns909B95495DD5Fcharleshixsonearthli@207.217.77.25>,
>>charleshixson@earthling.net (Charles Hixson) writes: 

>>> No.  But perhaps a higher level description could be.  It
>>> might not have the total functionality of low-level system
>>> calls, but one often doesn't need that. (I have only used
>>> VMS twice, so forgive me if I don't know what an ACE is.)
>>
>>By ACE I mean "Access Control Entry", the fundamental
>>building block of an Access Control List.  I was under the
>>impression the same term was used for Unix and Windows.  It
>>is the most common method of complying with the C2 rules of
>>the Orange Book. While various operating systems have Access
>>Control Lists for file protection, the parsing rules differ
>>from one OS to another.  Some early Unix implementations came
>>without ACLs, but I think the need for C2 evaluation cured
>>that for any serious implementations.
>>
> OK.  Then perhaps the difference is that I never work with 
> highly secured systems.  Perhaps that *is* specialized enough 
> (and different enough from system to system) that a high level 
> specification would be inappropriate.  OTOH, if a similar 
> construct is used on VMS, *nix, and Windows, then perhaps a high 
> level description would be appropriate.

If there were a uniform syntax, I worry that some might write
Ada programs that were apparently portable (they compiled and
executed on multiple platforms) but in fact had vastly different
effective file protections depending on the operating system.
I think one of the underlying principles of Ada is to avoid
leading the programmer into mistaken practices.



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

* Re: howto make system calls (newbie question)
  2001-05-04 21:08 Beard, Frank
  2001-05-04 22:45 ` Jeffrey Carter
  2001-05-07 14:47 ` Marin David Condic
@ 2001-05-09 18:29 ` GianLuigi Piacentini
  2001-05-09 19:18   ` David Starner
  2 siblings, 1 reply; 56+ messages in thread
From: GianLuigi Piacentini @ 2001-05-09 18:29 UTC (permalink / raw)




"Beard, Frank" wrote:

> I thought Ada was designed to be a general purpose language,
> and among those purposes was strong support for embedded
> systems.
>

rest of post omitted

I rather find that Ada compilers are lacking coverage of  small
microprocessors (PIC, 68HC11, ST11 to name a few).  All what you can find
on them is ASM and C.  Then if you need a companion program on a PC
(perhaps a board tester) the natural choice of  language will be C, simply
because of some 'commonalty of languages'.  So a not-too-clear language
will spread in spite of well-crafted ones.
So more school and universities make courses on  C, abandoning other
languages, on the ground that it is the most frequent languages. So
university libraries will stock only C books (Milan CLUP library: a shelf
of C/C++,  some C#, a few Delphi, 3 Fortran books, no Ada at all). So many
people start coding mess-programs (I recently met a whole family of poorly
coded C), simply because some common book on C do not emphasize enough good
coding practices...
I would like to see things changed, and Ada even on small (well
not-too-much-small)  micros.  Perhaps better and safer programs will
surface, and school managers will choose clearer languages.
Apologizing for my english
G.L. Piacentini




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

* Re: howto make system calls (newbie question)
  2001-05-09 18:29 ` GianLuigi Piacentini
@ 2001-05-09 19:18   ` David Starner
  0 siblings, 0 replies; 56+ messages in thread
From: David Starner @ 2001-05-09 19:18 UTC (permalink / raw)


On Wed, 09 May 2001 18:29:32 GMT, GianLuigi Piacentini <glplps@libero.it> wrote:
> So more school and universities make courses on  C, abandoning other
> languages, on the ground that it is the most frequent languages. So
> university libraries will stock only C books (Milan CLUP library: a shelf
> of C/C++,  some C#, a few Delphi, 3 Fortran books, no Ada at all). 

Interesting. Around here, everyone's going to Java. How big and how
old is Milan CLUP? Oklahoma State University has many books on Ada,
probably almost as many as on C, but a lot of them date back to Ada
83. (We do have Ada for the C++ programmer, and a few other Ada 95
books.) I don't think we have anything on C# or Delphi. Of course,
we have many rows of computer books. But even Northwestern Oklahoma
State (maybe a couple thousand students?) had a few books on Ada 83.
I haven't been there in a while, but I would be surprised to find
many C# or Delphi books; the library's budget for CompSci probably
isn't that high.

-- 
David Starner - dstarner98@aasaa.ofe.org
Pointless website: http://dvdeug.dhis.org
"I don't care if Bill personally has my name and reads my email and 
laughs at me. In fact, I'd be rather honored." - Joseph_Greg



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

* Re: howto make system calls (newbie question)
@ 2001-05-09 21:42 Mike Brenner
  0 siblings, 0 replies; 56+ messages in thread
From: Mike Brenner @ 2001-05-09 21:42 UTC (permalink / raw)
  To: comp.lang.ada

Marin David Condic > ... Maybe you can expand on the idea.
What sort of standrad libraries would you like to see in
Ada?


We went over this last year under the "killer application
threads" and the answer is a sufficient number of libraries
to program a few really good games.

Game Number 1. The B-C eCommerce that makes a Shopping
Basket that talks to banks, credit card clearing houses,
warehouses, vendors, manufactureres, pick/pack/ship
fulfillment houses, return authorization centers, marketing,
management, accounting, auditing, catalog design, product
design, the printing plant, the mailing list house, and the
internet. This could all be done with some kind of messaging
kernel and xml messages; however, the messaging kernel has
to "out-source" to other languages with the current status
of the language, specifically because the files, sockets,
databases, and basic system calls are not currently
available in a convenient operating system independent way.

Game Number 2. The B-B eCommerce game connects companies
together in a way that they have COMMITMENT. A prime example
is amazon.com's way of saying "this book usually ships in 2
days", but extend it transitively to a long chain of
companies. Most middlemen could be eliminated, if
manufacturers could deliver products with a 98 percent
delivery commitment. The catalogs would say something like
"WIDGET NUMBER 27 fits into WIDGETS 28 and 36 and costs
$57.00 and will be delivered anywhere in continental
Cameroon in 17 days after receipt of the order." This
requires realtime response from parallel channel of
networks, ways of checking legal agreements and keeping
score, unprecedented encryption techniques, etc. This
requires the same as the above, but to get the realtime
response, the conversion checking needs to be taken away
from conversions from signed to unsigned numbers.

Game Number 3. The Shoot'em Down Game connects household
appliances, Netscape Internet browsers, keyboards, mouses,
drawing pads, scanners, printers, relay boards, stepper
motors, robots, lazer light shows, doors, moving walls,
colored light bulbs, satellites, etc. These interfaces have
to be done OUTSIDE the language now. Even a simple keyboard
interrupt driver or a CD reader needs to interface to
software not in the language.

Game Number 4. A three dimensional immersed environment,
like the Matrix or Holodeck using haptic devices to give
touch-feedback. This requires a library of routines to
connect to shared memory buses, very fast disk drives,
associative memory devices, connections to co-processors
(e.g. 3-D math co-processors and single-cycle 4-D matrix
multiply processors), software interfaces to commercial
products, software interfaces to commercial protocols, and
interfaces to 3-D graphics and sound systems). 

WHERE TO START

Some of the more critical libraries that are missing from
most current compilers include the following:

(1) DEVICES. A library of methods of receiving hot key
strokes, hot mouse strokes, parallel port I/O, USB I/O,
firewire I/O, SCSI I/O, bluetooth infrared I/O, CD I/O, etc. 

(2) URI-XML. A library of methods of serving and receiving
hypertext on the world wide web. This includes web servers,
application servers, database servers, ODBC, sending and
receiving html messages, doing cgi, doing xml, doing
sockets, doing local files, doing databases, and executing
software on computers. The assumption would be that all
inter-computer communication would be through previously
agreed xml messages. This library should be easier to use
than text_io is now.

(3) HARDWARE INTERFACE. A library of methods of connecting
to the shared memory and other low level hardware
capabilities of the system. 

Of course, these libraries will be different on each system,
but their visible part will be different only in quantity of
certain enumeration types, not in quality. 

For example, to do shared memory, there will be a single
call that links up the shared memories. In some systems it
will only work if that is precompiled, in others when it is
prelinked, in others it will be dynamic. However, it should
be spelled the same way on all systems.

Similarly, to execute program x in directly y on machine z
should take exactly on URI command which is machine
independent.

Finally, although some systems can provide access to more
keystrokes than others, there is a need to capture mouse and
keyboard strokes in a machine independent way.

Please consider this a first draft to add your own opinions
to, not a final document!

Mike Brenner





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

* RE: howto make system calls (newbie question)
@ 2001-05-09 22:07 Beard, Frank
  2001-05-10 12:34 ` Samuel T. Harris
  0 siblings, 1 reply; 56+ messages in thread
From: Beard, Frank @ 2001-05-09 22:07 UTC (permalink / raw)
  To: 'comp.lang.ada@ada.eu.org'


-----Original Message-----
From: Samuel T. Harris [mailto:u61783@gsde.hou.us.ray.com]

> Of course, there are other "standards" which are not part
> of the Ada standard. For instance, the POSIX Ada binding
> has been invaluable to me in writing portable code which
> requires facilities from the operating system.

Most of the ones I would like included are found in the
POSIX Ada binding (file/record locking on files, move/rename
files, directory lists, environment variable handling, 
process IDs, thread IDs).  I would also like file access
control.

> Since this is standardized by IEEE, I feel any particular
> need to include it as an Ada LRM annex.

I think you are saying you "don't" feel any particular
need to include it as an Ada LRM annex.  If that is what
you are saying, then I disagree.  Even though I'm using
the POSIX binding, it is still too C-ish.  And when I ported
our application to MS Windows, I had to write my own 
POSIX Ada binding for the API's that I needed (this was
before Pascal Obry's binding came out).  I took the POSIX
Ada binding spec and wrote my own bodies for the ones I 
needed, and nulled the rest.  If that functionality,
or any functionality, is part of the standard, there is
no need to go out and find bindings, or write your own.
It would already be available, assuming it was supported.

I don't know what the legalities are, but why not take the
POSIX standard, use it as a model/guideline, and create a
more "pure" Ada annex out of it.

Frank




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

* RE: howto make system calls (newbie question)
@ 2001-05-09 22:19 Beard, Frank
  2001-05-10  6:18 ` Pascal Obry
  2001-05-10 12:40 ` Samuel T. Harris
  0 siblings, 2 replies; 56+ messages in thread
From: Beard, Frank @ 2001-05-09 22:19 UTC (permalink / raw)
  To: 'comp.lang.ada@ada.eu.org'

Marin,

I didn't see this one when I wrote my last response.  I agree with you.
And the answer to your question:

> Is the Posix binding going to just come with my
> compiler and I can go along fat, dumb and happy using it at will with no
> thought as to where to find it and no concern for transportability of my
> code?

is NO, at least not yet.  Even Pascal Obry's effort is not 100% complete.

And I haven't seen anything for the POSIX Ada Real-Time Extensions, which
has the support for Thread IDs, priorities, etc).  The Real-Time extensions
may be where the Message Queues and Shared Memory fell as well.  If my
project, which used Message Queues and Shared Memory, had needed to be
ported to Windows, it would have been a nightmare.

Frank

-----Original Message-----
From: Marin David Condic [mailto:marin.condic.auntie.spam@pacemicro.com]
Sent: Monday, May 07, 2001 2:26 PM
To: comp.lang.ada@ada.eu.org
Subject: Re: howto make system calls (newbie question)


Well, not everything in the world needs to be in an annex to the ARM. The
Posix binding is a fair example. Of course, there you have the problem that
the interface may not be made available by a given compiler and it might not
be applicable in all environments anyway. That's a binding to a specific
class of OS that may not be common across all OS's & one would want to give
that some thought.

Is there a reason to maybe make an OS independent package available that
provided some of the things that might exist in Posix, but might be provided
by a different system in a different manner? Or is Posix widely spread
enough that Ada could just say "If you want access to system facilities of
this type - go see Posix"? Is the Posix binding going to just come with my
compiler and I can go along fat, dumb and happy using it at will with no
thought as to where to find it and no concern for transportability of my
code? The answers are not clear to me.

However, I still think there is room to add some standard libraries to Ada
that make it more useful to the programmer. Clearly the Ada.Strings...
branch is a good example - C may supply some fairly lame string handling
functions but Ada83 provided none at all. Now Ada95 has an area of clear
superiority in that you get some really good pre-fabricated string utilities
that are just there on any implementation and are at your disposal. Might
there not be similar libraries of things that Ada could provide in some
standardized manner? If a C programmer can say "I can do this thing in C -
how do I do it in Ada?" should it be fair game to ask how we might have that
provided in all Ada implementations?

I really wish the Ada Standard Library Working Group had managed to get
somewhere with defining even a starting point for this sort of thing. Even
if a library didn't come by virtue of the ARM, if it was available with a
standard interface and provided by most, if not all, implementations, it
would enhance the value of Ada to the programmer. Then we'd be off in other
newsgroups asking "I can do this in Ada - how do I do it in your language?"
:-)

MDC
--
Marin David Condic
Senior Software Engineer
Pace Micro Technology Americas    www.pacemicro.com
Enabling the digital revolution
e-Mail:    marin.condic@pacemicro.com
Web:      http://www.mcondic.com/


"Samuel T. Harris" <u61783@gsde.hou.us.ray.com> wrote in message
news:3AF6D040.FF71B782@gsde.hou.us.ray.com...

> Of course, there are other "standards" which are not part
> of the Ada standard. For instance, the POSIX Ada binding
> has been invaluable to me in writing portable code which
> requires facilities from the operating system.
>
> Since this is standardized by IEEE, I feel any particular
> need to include it as an Ada LRM annex.
>



_______________________________________________
comp.lang.ada mailing list
comp.lang.ada@ada.eu.org
http://ada.eu.org/mailman/listinfo/comp.lang.ada




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

* RE: howto make system calls (newbie question)
@ 2001-05-09 22:28 Beard, Frank
  0 siblings, 0 replies; 56+ messages in thread
From: Beard, Frank @ 2001-05-09 22:28 UTC (permalink / raw)
  To: 'comp.lang.ada@ada.eu.org'

Ok Mike, how much is sincere and how much is sarcasm?
It's hard to tell through e-mail.  There's not enough
inflection in keystrokes.

-----Original Message-----
From: Mike Brenner [mailto:mikeb@mitre.org]

We went over this last year under the "killer application
threads" and the answer is a sufficient number of libraries
to program a few really good games.

Game Number 1. The B-C eCommerce that makes a Shopping
Basket that talks to banks, credit card clearing houses,
warehouses, vendors, manufactureres, pick/pack/ship
fulfillment houses, return authorization centers, marketing,
management, accounting, auditing, catalog design, product
design, the printing plant, the mailing list house, and the
internet. This could all be done with some kind of messaging
kernel and xml messages; however, the messaging kernel has
to "out-source" to other languages with the current status
of the language, specifically because the files, sockets,
databases, and basic system calls are not currently
available in a convenient operating system independent way.

Game Number 2. The B-B eCommerce game connects companies
together in a way that they have COMMITMENT. A prime example
is amazon.com's way of saying "this book usually ships in 2
days", but extend it transitively to a long chain of
companies. Most middlemen could be eliminated, if
manufacturers could deliver products with a 98 percent
delivery commitment. The catalogs would say something like
"WIDGET NUMBER 27 fits into WIDGETS 28 and 36 and costs
$57.00 and will be delivered anywhere in continental
Cameroon in 17 days after receipt of the order." This
requires realtime response from parallel channel of
networks, ways of checking legal agreements and keeping
score, unprecedented encryption techniques, etc. This
requires the same as the above, but to get the realtime
response, the conversion checking needs to be taken away
from conversions from signed to unsigned numbers.

Game Number 3. The Shoot'em Down Game connects household
appliances, Netscape Internet browsers, keyboards, mouses,
drawing pads, scanners, printers, relay boards, stepper
motors, robots, lazer light shows, doors, moving walls,
colored light bulbs, satellites, etc. These interfaces have
to be done OUTSIDE the language now. Even a simple keyboard
interrupt driver or a CD reader needs to interface to
software not in the language.

Game Number 4. A three dimensional immersed environment,
like the Matrix or Holodeck using haptic devices to give
touch-feedback. This requires a library of routines to
connect to shared memory buses, very fast disk drives,
associative memory devices, connections to co-processors
(e.g. 3-D math co-processors and single-cycle 4-D matrix
multiply processors), software interfaces to commercial
products, software interfaces to commercial protocols, and
interfaces to 3-D graphics and sound systems). 

WHERE TO START

Some of the more critical libraries that are missing from
most current compilers include the following:

(1) DEVICES. A library of methods of receiving hot key
strokes, hot mouse strokes, parallel port I/O, USB I/O,
firewire I/O, SCSI I/O, bluetooth infrared I/O, CD I/O, etc. 

(2) URI-XML. A library of methods of serving and receiving
hypertext on the world wide web. This includes web servers,
application servers, database servers, ODBC, sending and
receiving html messages, doing cgi, doing xml, doing
sockets, doing local files, doing databases, and executing
software on computers. The assumption would be that all
inter-computer communication would be through previously
agreed xml messages. This library should be easier to use
than text_io is now.

(3) HARDWARE INTERFACE. A library of methods of connecting
to the shared memory and other low level hardware
capabilities of the system. 

Of course, these libraries will be different on each system,
but their visible part will be different only in quantity of
certain enumeration types, not in quality. 

For example, to do shared memory, there will be a single
call that links up the shared memories. In some systems it
will only work if that is precompiled, in others when it is
prelinked, in others it will be dynamic. However, it should
be spelled the same way on all systems.

Similarly, to execute program x in directly y on machine z
should take exactly on URI command which is machine
independent.

Finally, although some systems can provide access to more
keystrokes than others, there is a need to capture mouse and
keyboard strokes in a machine independent way.

Please consider this a first draft to add your own opinions
to, not a final document!

Mike Brenner


_______________________________________________
comp.lang.ada mailing list
comp.lang.ada@ada.eu.org
http://ada.eu.org/mailman/listinfo/comp.lang.ada




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

* Re: howto make system calls (newbie question)
  2001-05-09 22:19 Beard, Frank
@ 2001-05-10  6:18 ` Pascal Obry
  2001-05-10 12:40 ` Samuel T. Harris
  1 sibling, 0 replies; 56+ messages in thread
From: Pascal Obry @ 2001-05-10  6:18 UTC (permalink / raw)



"Beard, Frank" <beardf@spawar.navy.mil> writes:

> > Is the Posix binding going to just come with my
> > compiler and I can go along fat, dumb and happy using it at will with no
> > thought as to where to find it and no concern for transportability of my
> > code?
> 
> is NO, at least not yet.  Even Pascal Obry's effort is not 100% complete.

Note that it was not the goal anyway. I have built up a binding just to have
the most common features (working with the environment and launching external
program) and only the ones I needed for a project to achieve portability
between UNIX and Windows. And this has proved to be successful, I use Florist
under Linux and my binding under Win32. I have large distributed application
(yes using GLADE) that I have ported from Windows to Linux (that's the trend
here) without changing a single line :) Only one feature was not working. My
project was send e-mail by launching an NT program... To solve this I have
done an SMTP library that I do distribute too... see my homepage.

In anycase, some POSIX features will be hard to do under Win32 or you'll need
to build a shared library.

Pascal.

-- 

--|------------------------------------------------------
--| Pascal Obry                           Team-Ada Member
--| 45, rue Gabriel Peri - 78114 Magny Les Hameaux FRANCE
--|------------------------------------------------------
--|         http://perso.wanadoo.fr/pascal.obry
--|
--| "The best way to travel is by means of imagination"



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

* Re: howto make system calls (newbie question)
  2001-05-09 12:28             ` Larry Kilgallen
  2001-05-09 16:13               ` Charles Hixson
@ 2001-05-10  7:17               ` Tarjei T. Jensen
  1 sibling, 0 replies; 56+ messages in thread
From: Tarjei T. Jensen @ 2001-05-10  7:17 UTC (permalink / raw)



Larry Kilgallen wrote
>I certainly agree, but I was responding to a thread with entries
>espousing codification of all "standard datatypes" that might be
>used in system calls.  I consider that unworkable, because what
>constitutes a "standard datatype" varies so much between various
>operating systems.   Basically, I do not feel there is progress
>to be made in that direction.


As long as that bit is system specific, it will work as intended. VMSers do
not have this problem as most if not all of the stuff needed to interact
with the system is already present. For Unix, windows nt, etc this is not
the case.

If a program uses sockets which are common to quite a lot of operating
systems, it will work on all if it uses the definitions from a platform
specific source. Granted that sockets and related routines are not
neccessarily a system resource in a given operating system, but they are
pervasive enough to be included if they are supported on the platform.


Greetings,






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

* Re: howto make system calls (newbie question)
  2001-05-09 22:07 Beard, Frank
@ 2001-05-10 12:34 ` Samuel T. Harris
  0 siblings, 0 replies; 56+ messages in thread
From: Samuel T. Harris @ 2001-05-10 12:34 UTC (permalink / raw)


"Beard, Frank" wrote:
> 
> -----Original Message-----
> From: Samuel T. Harris [mailto:u61783@gsde.hou.us.ray.com]
> 
> > Of course, there are other "standards" which are not part
> > of the Ada standard. For instance, the POSIX Ada binding
> > has been invaluable to me in writing portable code which
> > requires facilities from the operating system.
> 
> Most of the ones I would like included are found in the
> POSIX Ada binding (file/record locking on files, move/rename
> files, directory lists, environment variable handling,
> process IDs, thread IDs).  I would also like file access
> control.
> 
> > Since this is standardized by IEEE, I feel any particular
> > need to include it as an Ada LRM annex.
> 
> I think you are saying you "don't" feel any particular

Yes. I corrected myself elsewhere.

> need to include it as an Ada LRM annex.  If that is what
> you are saying, then I disagree.  Even though I'm using
> the POSIX binding, it is still too C-ish.  And when I ported
> our application to MS Windows, I had to write my own
> POSIX Ada binding for the API's that I needed (this was
> before Pascal Obry's binding came out).  I took the POSIX
> Ada binding spec and wrote my own bodies for the ones I
> needed, and nulled the rest.  If that functionality,
> or any functionality, is part of the standard, there is
> no need to go out and find bindings, or write your own.
> It would already be available, assuming it was supported.
> 
> I don't know what the legalities are, but why not take the
> POSIX standard, use it as a model/guideline, and create a
> more "pure" Ada annex out of it.

There's the rub. A annex is optional. It will be provided
by a majority of vendors if there is enough customer
demand. This same demand can also cause vendors to support
the POSIX binding in its present form I don't see where
having an Annex serves any purpose in this regard.

Since POSIX is already a managed standard, I don't see
how "duplicating" it as an Ada standard servers any
purpose in this regard.

About the only thing I can think of is the validation
of compliance the POSIX standard could be enforced
as part of compiler certification. That would be good.
I suppose this work could be addressed by some
appropriate Ada Working Group.

As to the legalities, IEEE makes money when folks buy
their published standards. They may have a problem
with incorporating their POSIX Ada binding into a
ISO standard which is freely available.

-- 
Samuel T. Harris, Principal Engineer
Raytheon, Aerospace Engineering Services
"If you can make it, We can fake it!"



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

* Re: howto make system calls (newbie question)
  2001-05-09 22:19 Beard, Frank
  2001-05-10  6:18 ` Pascal Obry
@ 2001-05-10 12:40 ` Samuel T. Harris
  2001-05-10 15:44   ` Stephen Leake
  1 sibling, 1 reply; 56+ messages in thread
From: Samuel T. Harris @ 2001-05-10 12:40 UTC (permalink / raw)


"Beard, Frank" wrote:
> 
> Marin,
> 
> I didn't see this one when I wrote my last response.  I agree with you.
> And the answer to your question:
> 
> > Is the Posix binding going to just come with my
> > compiler and I can go along fat, dumb and happy using it at will with no
> > thought as to where to find it and no concern for transportability of my
> > code?
> 
> is NO, at least not yet.  Even Pascal Obry's effort is not 100% complete.
> 
> And I haven't seen anything for the POSIX Ada Real-Time Extensions, which
> has the support for Thread IDs, priorities, etc).  The Real-Time extensions
> may be where the Message Queues and Shared Memory fell as well.  If my
> project, which used Message Queues and Shared Memory, had needed to be
> ported to Windows, it would have been a nightmare.
> 
> Frank
> 

These areas, as well as all the process stuff, requires
an intimate working relationship between the binding implementation
and the compiler itself. There are many ramifications to
the compiler's support for task when it must support POSIX.

I expect a complete POSIX binding can only come from the compiler vendor.
Ad hoc efforts, such a Pascal Obry's, are necessary at this stage
of the game but are not sufficient. I'd really like GNAT to
fully support the POSIX binding and not have to rely upon
some third-party, incomplete, add-on thing.

I do not mean to demean Pascal's effort. In fact, I applaud them.
I feel that if customers need POSIX, then they simply must insist
on POSIX as a requirement for compiler choice. Vendors who do not
support it directly and complete are simply dropped from consideration.

-- 
Samuel T. Harris, Principal Engineer
Raytheon, Aerospace Engineering Services
"If you can make it, We can fake it!"



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

* Re: howto make system calls (newbie question)
  2001-05-10 12:40 ` Samuel T. Harris
@ 2001-05-10 15:44   ` Stephen Leake
  0 siblings, 0 replies; 56+ messages in thread
From: Stephen Leake @ 2001-05-10 15:44 UTC (permalink / raw)


"Samuel T. Harris" <u61783@gsde.hou.us.ray.com> writes:

> I expect a complete POSIX binding can only come from the compiler vendor.
> Ad hoc efforts, such a Pascal Obry's, are necessary at this stage
> of the game but are not sufficient. I'd really like GNAT to
> fully support the POSIX binding and not have to rely upon
> some third-party, incomplete, add-on thing.

GNAT is a set of source code, not a company. The point being that
_you_ have the source to GNAT, so does Pascal, so does everybody else.
Any of us could modify the run time system of GNAT to fully support
Posix.

If we did a good job, ACT (the GNAT support company) might be willing
to incorporate our work into their supported product. Then we'd have a
widely available, supported Posix/Ada implementation.

I don't have a need for Posix in my work, so I won't be doing this :).

> I do not mean to demean Pascal's effort. In fact, I applaud them. I
> feel that if customers need POSIX, then they simply must insist on
> POSIX as a requirement for compiler choice. Vendors who do not
> support it directly and complete are simply dropped from
> consideration.

Or perhaps customers need to realize that new development costs money,
and negotiate with the vendors to pay for the development.

-- 
-- Stephe



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

* RE: howto make system calls (newbie question)
@ 2001-05-10 19:54 Beard, Frank
  2001-05-10 20:41 ` Pascal Obry
  0 siblings, 1 reply; 56+ messages in thread
From: Beard, Frank @ 2001-05-10 19:54 UTC (permalink / raw)
  To: 'comp.lang.ada@ada.eu.org'


-----Original Message-----
From: Pascal Obry [mailto:p.obry@wanadoo.fr]

>> is NO, at least not yet.  Even Pascal Obry's effort is not 100% complete.

> Note that it was not the goal anyway.

I wasn't trying to imply that was the goal.  I simply meant that, despite
the fact your binding is the most complete, not even it had everything.

> I have built up a binding just to have
> the most common features (working with the environment and launching
external
> program) and only the ones I needed for a project to achieve portability
> between UNIX and Windows. And this has proved to be successful, I use
Florist
> under Linux and my binding under Win32. I have large distributed
application
> (yes using GLADE) that I have ported from Windows to Linux (that's the
trend
> here) without changing a single line :) Only one feature was not working.
My
> project was send e-mail by launching an NT program... To solve this I have
> done an SMTP library that I do distribute too... see my homepage.
>
> In anycase, some POSIX features will be hard to do under Win32 or you'll
need
> to build a shared library.
>
> Pascal.

I didn't mean to undermine your POSIX binding, or be demeaning in any way.
Your binding is an excellent product, and I'm sure there are many grateful
recipients out there.  I know I am one of them, because I borrowed some of
the
pieces from yours to incorporated into mine.

My comment was meant as a response to "It's already in POSIX. Why bother
adding it to the Ada standard?".  It had no bearing on the quality or
purpose
of your binding.

Frank




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

* RE: howto make system calls (newbie question)
@ 2001-05-10 20:11 Beard, Frank
  2001-05-11 16:03 ` Samuel T. Harris
  0 siblings, 1 reply; 56+ messages in thread
From: Beard, Frank @ 2001-05-10 20:11 UTC (permalink / raw)
  To: 'comp.lang.ada@ada.eu.org'


-----Original Message-----
From: Samuel T. Harris [mailto:u61783@gsde.hou.us.ray.com]

> POSIX come with Apex and VADS.

When we were on HP-UX BLS and Apex, the POSIX Ada binding
that came with the Alsys Ada compiler didn't match the Apex
binding.

It's been several years now since I was on that environment,
so I may be going on faulty memory.  But it seems like the
Apex version had some different package names or were divided
up differently.
 
> One can get Florist with GNAT, but I'm not sure of the
> totality of support, especially when it comes to threads.

I still haven't looked at Florist, but does it match Pascal
Obry's binding, as well as the Apex binding?

Frank




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

* Re: howto make system calls (newbie question)
  2001-05-10 19:54 Beard, Frank
@ 2001-05-10 20:41 ` Pascal Obry
  0 siblings, 0 replies; 56+ messages in thread
From: Pascal Obry @ 2001-05-10 20:41 UTC (permalink / raw)



"Beard, Frank" <beardf@spawar.navy.mil> writes:

> I didn't mean to undermine your POSIX binding, or be demeaning in any way.

I understand that, my post was kind of a general comment about the
binding. Just to be sure there is no misunderstanding.

> Your binding is an excellent product, and I'm sure there are many grateful

Thanks :)

Pascal.

-- 

--|------------------------------------------------------
--| Pascal Obry                           Team-Ada Member
--| 45, rue Gabriel Peri - 78114 Magny Les Hameaux FRANCE
--|------------------------------------------------------
--|         http://perso.wanadoo.fr/pascal.obry
--|
--| "The best way to travel is by means of imagination"



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

* RE: howto make system calls (newbie question)
@ 2001-05-10 21:22 Beard, Frank
  0 siblings, 0 replies; 56+ messages in thread
From: Beard, Frank @ 2001-05-10 21:22 UTC (permalink / raw)
  To: 'comp.lang.ada@ada.eu.org'


-----Original Message-----
From: Samuel T. Harris [mailto:u61783@gsde.hou.us.ray.com]

> As to the legalities, IEEE makes money when folks buy
> their published standards. They may have a problem
> with incorporating their POSIX Ada binding into a
> ISO standard which is freely available.

I was talking about using it as a model for adding things
to the Ada standard, not just sucking the POSIX Ada
binding standard into it.




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

* Re: howto make system calls (newbie question)
  2001-05-10 20:11 howto make system calls (newbie question) Beard, Frank
@ 2001-05-11 16:03 ` Samuel T. Harris
  0 siblings, 0 replies; 56+ messages in thread
From: Samuel T. Harris @ 2001-05-11 16:03 UTC (permalink / raw)


"Beard, Frank" wrote:
> 
> -----Original Message-----
> From: Samuel T. Harris [mailto:u61783@gsde.hou.us.ray.com]
> 
> > POSIX come with Apex and VADS.
> 
> When we were on HP-UX BLS and Apex, the POSIX Ada binding
> that came with the Alsys Ada compiler didn't match the Apex
> binding.
> 
> It's been several years now since I was on that environment,
> so I may be going on faulty memory.  But it seems like the
> Apex version had some different package names or were divided
> up differently.

I can't speak to the Alsys binding, but the Apex binding
(with which I have considerable experience) is conformant
to IEEE Std 1003.5-1992, right down to the package names.

Just like Ada compilers have some implementation details,
the POSIX Ada binding also has some implementation lattitute.

> 
> > One can get Florist with GNAT, but I'm not sure of the
> > totality of support, especially when it comes to threads.
> 
> I still haven't looked at Florist, but does it match Pascal
> Obry's binding, as well as the Apex binding?

Haven't done much with Florist. The anxiety I have is that
it a POSIX binding doesn't come from the compiler vendor,
then how is one to have confidence that the multi-tasking
aspects of POSIX threads are compatible with Ada tasks
and how are Text_IO Form parameters going to access POSIX
access and file control fields (just to name two issues).

> 
> Frank

-- 
Samuel T. Harris, Principal Engineer
Raytheon, Aerospace Engineering Services
"If you can make it, We can fake it!"



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

* Re: howto make system calls (newbie question)
  2001-05-08 13:43     ` Marin David Condic
@ 2001-05-12  2:58       ` Randy Brukardt
  2001-05-12 13:07         ` Larry Kilgallen
  0 siblings, 1 reply; 56+ messages in thread
From: Randy Brukardt @ 2001-05-12  2:58 UTC (permalink / raw)


Marin David Condic wrote in message <9d8t6a$t8r$1@nh.pace.co.uk>...
>I like the Ada-fied sockets part in particular. It would be nice to get
>bindings to common things that used Ada-ish parameters. (Sockets made
to
>line up nicely with Ada.Streams? Hmmmmm???? A nice Object Oriented
approach
>to sockets rather than the customary C-ish approach?)

Already done. Take a look at Claw.Sockets (a subset is available in the
Claw Introductory Version, which is a free download from
www.rrsoftware.com).

            Randy.






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

* Re: howto make system calls (newbie question)
  2001-05-12  2:58       ` Randy Brukardt
@ 2001-05-12 13:07         ` Larry Kilgallen
  0 siblings, 0 replies; 56+ messages in thread
From: Larry Kilgallen @ 2001-05-12 13:07 UTC (permalink / raw)


In article <pE1L6.1995$A07.421101@homer.alpha.net>, "Randy Brukardt" <randy@rrsoftware.com> writes:
> Marin David Condic wrote in message <9d8t6a$t8r$1@nh.pace.co.uk>...
>>I like the Ada-fied sockets part in particular. It would be nice to get
>>bindings to common things that used Ada-ish parameters. (Sockets made
> to
>>line up nicely with Ada.Streams? Hmmmmm???? A nice Object Oriented
> approach
>>to sockets rather than the customary C-ish approach?)
> 
> Already done. Take a look at Claw.Sockets (a subset is available in the
> Claw Introductory Version, which is a free download from
> www.rrsoftware.com).

I _think_ (without studying it) I like the Claw licensing approach
(more traditional) better than xGPL, but I was under the impression
that Claw was only for Microsoft operating systems.

I thought this discussion was looking for general Ada interfaces,
which would make me say the unseen (by me) Claw approach would at
best be a "worked example" rather than an "already done".



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

* Re: howto make system calls (newbie question)
  2001-05-09 14:17     ` Ted Dennison
@ 2001-05-16 12:45       ` Marc A. Criley
  2001-05-16 19:50         ` Ted Dennison
  0 siblings, 1 reply; 56+ messages in thread
From: Marc A. Criley @ 2001-05-16 12:45 UTC (permalink / raw)


Ted Dennison wrote:
> 
> In article <3af9470c.18806277@news.nl.uu.net>, Noam Kloos says...
> >All ada systems have the package Text_IO in common.
> >So the only way a program can comunicate to other programs is
> >about reading and writing each others files.
> 
> That's a bit strong. For one thing, its quite possible to *portably* interface
> to external C code using "pragma Interface (C,...)" and the types in
> Interfaces.C.

The purpose of XML is to portably and language- and system-
independently provide a mechanism for exchanging information between
different programs and systems.

Marc A. Criley
Senior Staff Engineer
Quadrus Corporation
www.quadruscorp.com



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

* Re: howto make system calls (newbie question)
  2001-05-16 12:45       ` Marc A. Criley
@ 2001-05-16 19:50         ` Ted Dennison
  0 siblings, 0 replies; 56+ messages in thread
From: Ted Dennison @ 2001-05-16 19:50 UTC (permalink / raw)


In article <3B02692E.8DB72E17@earthlink.net>, Marc A. Criley says...
>
>The purpose of XML is to portably and language- and system-
>independently provide a mechanism for exchanging information between
>different programs and systems.

That's also the purpose of ASN.1.

---
T.E.D.    homepage   - http://www.telepath.com/dennison/Ted/TED.html
          home email - mailto:dennison@telepath.com



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

end of thread, other threads:[~2001-05-16 19:50 UTC | newest]

Thread overview: 56+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-05-10 20:11 howto make system calls (newbie question) Beard, Frank
2001-05-11 16:03 ` Samuel T. Harris
  -- strict thread matches above, loose matches on Subject: below --
2001-05-10 21:22 Beard, Frank
2001-05-10 19:54 Beard, Frank
2001-05-10 20:41 ` Pascal Obry
2001-05-09 22:28 Beard, Frank
2001-05-09 22:19 Beard, Frank
2001-05-10  6:18 ` Pascal Obry
2001-05-10 12:40 ` Samuel T. Harris
2001-05-10 15:44   ` Stephen Leake
2001-05-09 22:07 Beard, Frank
2001-05-10 12:34 ` Samuel T. Harris
2001-05-09 21:42 Mike Brenner
2001-05-07 17:04 Beard, Frank
2001-05-04 21:08 Beard, Frank
2001-05-04 22:45 ` Jeffrey Carter
2001-05-07 14:47 ` Marin David Condic
2001-05-09 13:41   ` Noam Kloos
2001-05-09 14:17     ` Ted Dennison
2001-05-16 12:45       ` Marc A. Criley
2001-05-16 19:50         ` Ted Dennison
2001-05-09 18:29 ` GianLuigi Piacentini
2001-05-09 19:18   ` David Starner
2001-05-04 20:56 Beard, Frank
2001-05-07 14:42 ` Marin David Condic
2001-05-07 16:41   ` Samuel T. Harris
2001-05-07 18:25     ` Marin David Condic
2001-05-08 20:30       ` Samuel T. Harris
2001-05-08 21:13         ` Marin David Condic
2001-05-08 20:23     ` Samuel T. Harris
2001-05-08  7:34   ` Tarjei T. Jensen
2001-05-08 12:16     ` Larry Kilgallen
2001-05-08 14:12       ` Tarjei T. Jensen
2001-05-08 16:48         ` Larry Kilgallen
2001-05-08 21:40           ` Charles Hixson
2001-05-08 22:53             ` Larry Kilgallen
2001-05-09 16:00               ` Charles Hixson
2001-05-09 17:14                 ` Larry Kilgallen
2001-05-09  8:25           ` Tarjei T. Jensen
2001-05-09 12:28             ` Larry Kilgallen
2001-05-09 16:13               ` Charles Hixson
2001-05-10  7:17               ` Tarjei T. Jensen
2001-05-08 13:43     ` Marin David Condic
2001-05-12  2:58       ` Randy Brukardt
2001-05-12 13:07         ` Larry Kilgallen
2001-05-04  7:51 Lars Lundgren
2001-05-04  8:16 ` L.H.Jeong
2001-05-04  8:47   ` Lars Lundgren
2001-05-04 12:12     ` Marc A. Criley
2001-05-04 15:49       ` Marin David Condic
2001-05-04 17:46         ` tmoran
2001-05-04 18:46           ` Marin David Condic
2001-05-05  7:01             ` tmoran
2001-05-04 16:35     ` Jeffrey Carter
2001-05-04 11:00 ` Noam Kloos
2001-05-04 12:01   ` Lars Lundgren

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