How to determine available system calls on a Unix/Linux system

There are more than 1000 defined system calls in the Unix standard
specification, however, a majority of them are optional and the
availability of system calls are dependent on the OS implementation
itself.

The question I have is: How do you determine which system calls are
available on any Unix/Linux machine?

The same question goes for determening available C library functions
on any Unix/Linux machine?

Advertisements

(markus) wrote:
> The question I have is: How do you determine which system calls are
> available on any Unix/Linux machine?
>
> The same question goes for determening available C library functions
> on any Unix/Linux machine?

If the computer has a conforming C implementation, _all_ C library
functions must be available; otherwise it simply isn't a C
implementation.
As for determining what is present, that's OS-specific, hence off-topic
on comp.lang.c.

Advertisements

Richard Bos <> wrote:
> (markus) wrote:
> > The question I have is: How do you determine which system calls are
> > available on any Unix/Linux machine?

You don't. It's none of your business. It's the C library's business to
interface between you and the system calls.

But if you wanted to, you would read the kernel's syscall
implementation list in the source code.
> > The same question goes for determening available C library functions
> > on any Unix/Linux machine?
> If the computer has a conforming C implementation, _all_ C library
> functions must be available; otherwise it simply isn't a C
> implementation.

Well, whther the functions work or not also enters into it. However ...
> As for determining what is present, that's OS-specific, hence off-topic
> on comp.lang.c.

In the last 20 years, I have never seen anything that is on topic on
comp.lang.c, which is why I have avoided going there like the plague
during the last 20 years. If you want language lawyery, it's an
excellent place to hang out and pick nits.

It's sort of like Wittgenstein. Anything you asked him he told you was
some other disciplines kind of problem, not philosophy.

markus wrote:
>
> There are more than 1000 defined system calls in the Unix standard
> specification, however, a majority of them are optional and the
> availability of system calls are dependent on the OS implementation
> itself.
>
> The question I have is: How do you determine which system calls are
> available on any Unix/Linux machine?
>
> The same question goes for determening available C library functions
> on any Unix/Linux machine?

ALL the functions specified in the ISO C standard should be
available on any hosted machine. Anything else is system
dependant and off-topic on c.l.c.

Thus code that uses such non-standard calls should be in an
isolated system dependant module, and discussed only on system
specific newsgroups. Above all they should not be cross-posted to
groups where they are OT.

(markus) writes:
> Hi,
>
> There are more than 1000 defined system calls in the Unix standard
> specification, however, a majority of them are optional and the
> availability of system calls are dependent on the OS implementation
> itself.
>
> The question I have is: How do you determine which system calls are
> available on any Unix/Linux machine?
>
> The same question goes for determening available C library functions
> on any Unix/Linux machine?

That is what the "configure" script in most UNIX source code packages
does. If you tell us what you are trying to do, you might get a more
useful answer.

(markus) wrote:
# Hi,
#
# There are more than 1000 defined system calls in the Unix standard
# specification, however, a majority of them are optional and the
# availability of system calls are dependent on the OS implementation
# itself.
#
# The question I have is: How do you determine which system calls are
# available on any Unix/Linux machine?

Trial and error, unfortunately, is too often the case. On a proper system you should be
able to look at /usr/share/man/man2 and man3 or the section 2 and 3 portion of xman to
get a rough idea. However many systems anywhere are inadequately documented. You can also
try nm /usr/lib/libc.so or similar files.

(markus) wrote in message news:<>...
> Hi,
>
> There are more than 1000 defined system calls in the Unix standard
> specification, however, a majority of them are optional and the
> availability of system calls are dependent on the OS implementation
> itself.
>
> The question I have is: How do you determine which system calls are
> available on any Unix/Linux machine?
>
> The same question goes for determening available C library functions
> on any Unix/Linux machine?
>
> Best regards

you can try
apropos '(3)' for library functions
apropos '(2)' for system calls

This should give you a list, at least for those functions that have a
man page in the system I suppose...

P.T. Breuer wrote:
> In the last 20 years, I have never seen anything that is on topic on
> comp.lang.c, which is why I have avoided going there like the plague
> during the last 20 years. If you want language lawyery, it's an
> excellent place to hang out and pick nits.

Pure lies. We handle many questions and problems each day, as long as
they fit the topicality of the newsgroup.

Default User <> wrote:
> P.T. Breuer wrote:
>
> > In the last 20 years, I have never seen anything that is on topic on
> > comp.lang.c, which is why I have avoided going there like the plague
> > during the last 20 years. If you want language lawyery, it's an
> > excellent place to hang out and pick nits.
> Pure lies. We handle many questions and problems each day, as long as
> they fit the topicality of the newsgroup.

P.T. Breuer wrote:
> Default User <> wrote:
> > P.T. Breuer wrote:
> >
> > > In the last 20 years, I have never seen anything that is on topic
> > > on comp.lang.c, which is why I have avoided going there like the
> > > plague during the last 20 years. If you want language lawyery,
> > > it's an excellent place to hang out and pick nits.
>
> > Pure lies. We handle many questions and problems each day, as long
> > as they fit the topicality of the newsgroup.
>
> There you are!

Quite a non-sequitur. Do you deny that we (comp.lang.c) handle many
questions and problems each day? Do I need to post examples and make
you look foolish?

In comp.os.linux.misc Default User <> suggested:
> P.T. Breuer wrote:
>> Default User <> wrote:
>> > P.T. Breuer wrote:
>> >
>> > > In the last 20 years, I have never seen anything that is on topic
>> > > on comp.lang.c, which is why I have avoided going there like the
>> > > plague during the last 20 years. If you want language lawyery,
>> > > it's an excellent place to hang out and pick nits.
>>
>> > Pure lies. We handle many questions and problems each day, as long
>> > as they fit the topicality of the newsgroup.
>>
>> There you are!
> Quite a non-sequitur. Do you deny that we (comp.lang.c) handle many
> questions and problems each day? Do I need to post examples and make
> you look foolish?

Mh, looks like both have made their points and seem to have a
quite different opinion about clc. Nothing unusual, or anything
that would make it reasonable to begin insulting each other,
while wasting bandwidth. Probably the only thing a large thread
would change are this weeks stats of colm/cua and clc (if there
is such a thing).

Default User <> wrote:
> P.T. Breuer wrote:
> > Default User <> wrote:
> > > P.T. Breuer wrote:
> > >
> > > > In the last 20 years, I have never seen anything that is on topic
> > > > on comp.lang.c, which is why I have avoided going there like the
> > > > plague during the last 20 years. If you want language lawyery,
> > > > it's an excellent place to hang out and pick nits.
> >
> > > Pure lies. We handle many questions and problems each day, as long
> > > as they fit the topicality of the newsgroup.
> >
> > There you are!
> Quite a non-sequitur. Do you deny that we (comp.lang.c) handle many
> questions and problems each day? Do I need to post examples and make
> you look foolish?

!!!!

Yay! They haven't changed!

It's like stepping into a time warp, except I daresay a whole new load
of lusers questons about library functions are nowadays consigned to the
bin of null. Threading anyone? Reentrancy?

["Followup-To:" header set to comp.unix.admin.]
On Mon, 20 Sep 2004 11:53:52 GMT, P.T. Breuer
<3m.es> wrote:
>
> In the last 20 years, I have never seen anything that is on topic on
> comp.lang.c,
> which is why I have avoided going there like the plague
> during the last 20 years. If you want language lawyery, it's an
> excellent place to hang out and pick nits.
>
If you avoid going to comp.lang.c, you probably only see articles which
are crossposted to that group, and anything crossposted is almost
certain to be considered off-topic.

Bill Marcum <> wrote:
> On Mon, 20 Sep 2004 11:53:52 GMT, P.T. Breuer <3m.es> wrote:
> If you avoid going to comp.lang.c, you probably only see articles which
> are crossposted to that group, and anything crossposted is almost
> certain to be considered off-topic.

Hypothetically exactly so. Of course, to all intents and purposes, and
a close approximation that a microbe would say !whew! to, I NEVER see
articles posted to that group, crossposted or not.

P.T. Breuer wrote:
> May I go back to arguing on the kernel list now? I really would like
> to tell you all about my problems parsing gnu C extensions, but I
> have an urgent appointment with a paper clip.

On Mon, 20 Sep 2004 22:35:33 GMT, in comp.lang.c , 3m.es
(P.T. Breuer) wrote:
>Bill Marcum <> wrote:
>> On Mon, 20 Sep 2004 11:53:52 GMT, P.T. Breuer <3m.es> wrote:
>> If you avoid going to comp.lang.c, you probably only see articles which
>> are crossposted to that group, and anything crossposted is almost
>> certain to be considered off-topic.
>
>Hypothetically exactly so. Of course, to all intents and purposes, and
>a close approximation that a microbe would say !whew! to, I NEVER see
>articles posted to that group, crossposted or not.

It would seem, from the brief exchange I've observed, that you ought to
crawl back under your rock about now, to avoid having your mind polluted
further. Thanks for playing.
--
Mark McIntyre
CLC FAQ <http://www.eskimo.com/~scs/C-faq/top.html>
CLC readme: <http://www.ungerhu.com/jxh/clc.welcome.txt>

Mark McIntyre <> wrote:
> On Mon, 20 Sep 2004 22:35:33 GMT, in comp.lang.c , 3m.es
> (P.T. Breuer) wrote:
> >Bill Marcum <> wrote:
> >> On Mon, 20 Sep 2004 11:53:52 GMT, P.T. Breuer <3m.es> wrote:
> >> If you avoid going to comp.lang.c, you probably only see articles which
> >> are crossposted to that group, and anything crossposted is almost
> >> certain to be considered off-topic.
> >
> >Hypothetically exactly so. Of course, to all intents and purposes, and
> >a close approximation that a microbe would say !whew! to, I NEVER see
> >articles posted to that group, crossposted or not.
> It would seem, from the brief exchange I've observed, that you ought to
> crawl back under your rock about now, to avoid having your mind polluted
> further. Thanks for playing.

No hay problema - I'm glad to have had my prejudices confirmed! Stay in
the groove, please do!

In article <3m.es>,
P.T. Breuer <3m.es> wrote:
>Mark McIntyre <> wrote:
>> On Mon, 20 Sep 2004 22:35:33 GMT, in comp.lang.c , 3m.es
>> (P.T. Breuer) wrote:
>
>> >Bill Marcum <> wrote:
>> >> On Mon, 20 Sep 2004 11:53:52 GMT, P.T. Breuer <3m.es> wrote:
>> >> If you avoid going to comp.lang.c, you probably only see articles which
>> >> are crossposted to that group, and anything crossposted is almost
>> >> certain to be considered off-topic.
>> >
>> >Hypothetically exactly so. Of course, to all intents and purposes, and
>> >a close approximation that a microbe would say !whew! to, I NEVER see
>> >articles posted to that group, crossposted or not.
>
>> It would seem, from the brief exchange I've observed, that you ought to
>> crawl back under your rock about now, to avoid having your mind polluted
>> further. Thanks for playing.
>
>No hay problema - I'm glad to have had my prejudices confirmed! Stay in
>the groove, please do!
>
>Peter

You are absolutely right, of course. Now, I'm not saying that problems
don't get solved in this NG, from time to time, although I find it boring
when they do. I much prefer the incessant "OT - that's OT!" postings.

However, the thing is, I can't possibly imagine anything that you could
post to this group, that wouldn't fail at least one of the conditions
below:
1) OT (and we all know what this means by now)
2) Answer findable in some (available online) FAQ or document.
3) Has to do with algorithms. Note that algorithm questions are
generally held to be OT, but there is some leeway here. I think
we would all agree that "How do I do FFTs (in C)?" is OT, but how
about "How do I traverse a string (in C)?"

Note that #2 is a biggie. I'll bet 99.39% of all the advice given here is
available in FAQs and other documents. But it is often easier to just give
the advice, rather than do the technically correct thing - which is to
point the poster at the FAQ/document.

Share This Page

Welcome to The Coding Forums!

Welcome to the Coding Forums, the place to chat about anything related to programming and coding languages.

Please join our friendly community by clicking the button below - it only takes a few seconds and is totally free. You'll be able to ask questions about coding or chat with the community and help others.
Sign up now!