423,818 Members | 2,250 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 423,818 IT Pros & Developers. It's quick & easy.

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

P: n/a
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
Nov 14 '05 #1
Share this Question
Share on Google+
22 Replies


P: n/a
ds****@hotmail.com (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.

Richard
Nov 14 '05 #2

P: n/a
Richard Bos <rl*@hoekstra-uitgeverij.nl> wrote:
ds****@hotmail.com (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.

Peter
Nov 14 '05 #3

P: n/a
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.

--
Chuck F (cb********@yahoo.com) (cb********@worldnet.att.net)
Available for consulting/temporary embedded and systems.
<http://cbfalconer.home.att.net> USE worldnet address!
Nov 14 '05 #4

P: n/a
ds****@hotmail.com (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.
Nov 14 '05 #5

P: n/a
ds****@hotmail.com (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.

--
SM Ryan http://www.rawbw.com/~wyrmwif/
Mention something out of a Charleton Heston movie, and suddenly
everybody's a theology scholar.
Nov 14 '05 #6

P: n/a
ds****@hotmail.com (markus) wrote in message news:<bc**************************@posting.google. com>...
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...
Nov 14 '05 #7

P: n/a
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.

Brian Rodenborn
Nov 14 '05 #8

P: n/a
Default User <fi********@boeing.com.invalid> 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!

Peter
Nov 14 '05 #9

P: n/a
P.T. Breuer wrote:
Default User <fi********@boeing.com.invalid> 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?


Brian Rodenborn
Nov 14 '05 #10

P: n/a
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
NotDashEscaped: You need GnuPG to verify this message

In comp.os.linux.misc Default User <fi********@boeing.com.invalid> suggested:
P.T. Breuer wrote:
Default User <fi********@boeing.com.invalid> 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).;)

Thx for reading

--
Michael Heiming (GPG-Key ID: 0xEDD27B94)
mail: echo zv*****@urvzvat.qr | perl -pe 'y/a-z/n-za-m/'
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)

iD8DBQFBTzB+AkPEju3Se5QRAnp4AKCMpv33rr3JD6yK0l2jGD s0FHV1qACgsxTE
8P+pDbYLOjC+WlXKNZELMU0=
=QbXo
-----END PGP SIGNATURE-----
Nov 14 '05 #11

P: n/a
Default User <fi********@boeing.com.invalid> wrote:
P.T. Breuer wrote:
Default User <fi********@boeing.com.invalid> 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?

Yo ho ho.

Peter
Nov 14 '05 #12

P: n/a
P.T. Breuer wrote:

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?

You continue to dodge the question. Obviously, you've realized that
your lies are exposed.


Brian Rodenborn
Nov 14 '05 #13

P: n/a
["Followup-To:" header set to comp.unix.admin.]
On Mon, 20 Sep 2004 11:53:52 GMT, P.T. Breuer
<pt*@oboe.it.uc3m.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.

--
System Events
=-=-=-=-=-=-=
Sep 16 03:31:11 don kernel: lp0 on fire

Nov 14 '05 #14

P: n/a
Default User <fi********@boeing.com.invalid> wrote:
P.T. Breuer wrote:
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?

You continue to dodge the question. Obviously, you've realized that
your lies are exposed.


Ooooh, yes! It's just as I recalled!

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.

Peter
Nov 14 '05 #15

P: n/a
Bill Marcum <bm*****@iglou.com.urgent> wrote:
On Mon, 20 Sep 2004 11:53:52 GMT, P.T. Breuer <pt*@oboe.it.uc3m.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.

Peter
Nov 14 '05 #16

P: n/a
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.

Be my guest.

Nov 14 '05 #17

P: n/a
On Mon, 20 Sep 2004 22:35:33 GMT, in comp.lang.c , pt*@oboe.it.uc3m.es
(P.T. Breuer) wrote:
Bill Marcum <bm*****@iglou.com.urgent> wrote:
On Mon, 20 Sep 2004 11:53:52 GMT, P.T. Breuer <pt*@oboe.it.uc3m.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>
----== Posted via Newsfeed.Com - Unlimited-Uncensored-Secure Usenet News==----
http://www.newsfeed.com The #1 Newsgroup Service in the World! >100,000 Newsgroups
---= 19 East/West-Coast Specialized Servers - Total Privacy via Encryption =---
Nov 14 '05 #18

P: n/a
Mark McIntyre <ma**********@spamcop.net> wrote:
On Mon, 20 Sep 2004 22:35:33 GMT, in comp.lang.c , pt*@oboe.it.uc3m.es
(P.T. Breuer) wrote:
Bill Marcum <bm*****@iglou.com.urgent> wrote:
On Mon, 20 Sep 2004 11:53:52 GMT, P.T. Breuer <pt*@oboe.it.uc3m.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
Nov 14 '05 #19

P: n/a
In article <v7************@triangulo.it.uc3m.es>,
P.T. Breuer <pt*@oboe.it.uc3m.es> wrote:
Mark McIntyre <ma**********@spamcop.net> wrote:
On Mon, 20 Sep 2004 22:35:33 GMT, in comp.lang.c , pt*@oboe.it.uc3m.es
(P.T. Breuer) wrote:

>Bill Marcum <bm*****@iglou.com.urgent> wrote:
>> On Mon, 20 Sep 2004 11:53:52 GMT, P.T. Breuer <pt*@oboe.it.uc3m.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.

Nov 14 '05 #20

P: n/a
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?
A good place to start looking is under /usr/include for C files
that give their numbers. I just looked at
/usr/include/sys/syscalls.h on an AIX box I happened to be logged on
to and the map of numbers to names was given there.
The same question goes for determening available C library functions
on any Unix/Linux machine?


Too dependent on the system for me to give a good answer. Start
with the man pages, and library binaries under /usr/lib.
Nov 14 '05 #21

P: n/a
On 22 Sep 2004 10:47:56 -0700
df******@yahoo.com (Doug Freyburger) wrote:
markus wrote:


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


Too dependent on the system for me to give a good answer. Start
with the man pages, and library binaries under /usr/lib.


No it isn't. If it is a conforming hosted C implementation, which I
think you will find the majority of C implementations on Linux & Unix
tend to be (obviously those predating the C standard and some since then
don't) then it supports ALL of the standard C library.

So to determine whether they are all available just check the
documentation to confirm it claims to be a conforming implementation and
if it isn't update to something that is.
--
Flash Gordon
Sometimes I think shooting would be far too good for some people.
Although my email address says spam, it is real and I read it.
Nov 14 '05 #22

P: n/a
["Followup-To:" header set to comp.os.linux.misc.]
On Wed, 22 Sep 2004 22:24:54 +0100, Flash Gordon staggered into the
Black Sun and said:
On 22 Sep 2004 10:47:56 -0700
df******@yahoo.com (Doug Freyburger) wrote:
markus wrote:
> The same question goes for determening available C library
> functions on any Unix/Linux machine?

Too dependent on the system for me to give a good answer. Start with
the man pages, and library binaries under /usr/lib.

No it isn't. If it is a conforming hosted C implementation, which I
think you will find the majority of C implementations on Linux & Unix
tend to be (obviously those predating the C standard and some since
then don't) then it supports ALL of the standard C library.


The OP's question was a bit vague, but I think he meant, "How can I find
out which library functions with C bindings are available on any
Unix-like OS?", not "How can I find out which standard C library
functions are available?". The stuff in glibc/libc/whatever your
standard C library is called is a relatively small subset of the useful
C functions that are available. But Flash is right; the standard C
library should behave very similarly across different Unix-like OSes.

So, look in /usr/share/man/man3 and /usr/X11R6/man/man3 for starters.
Add other directories depending on your MANPATH. That won't tell you
everything, of course; on a Linux system, GTK+ and Qt functions don't
have man pages. Even some X11 functions don't have man pages--none of
the XTest functions seem to have them, for example. Oh well.

--
Matt G|There is no Darkness in Eternity/But only Light too dim for us to see
Brainbench MVP for Linux Admin / mail: TRAP + SPAN don't belong
http://www.brainbench.com / Hire me!
-----------------------------/ http://crow202.dyndns.org/~mhgraham/resume
Nov 14 '05 #23

This discussion thread is closed

Replies have been disabled for this discussion.