Linux system call reference

I'm messing around with Linux and asm. I can't find a good reference. I have only googled up some lists of system calls with hardly any explanation of what their arguments should be or what they return. man pages, on the other hand, have a ton of information, but don't tell what the constants are or what eax is supposed to be. I guess I could look into linux C headers, wherever and whatever they are (I only switched to linux a few days ago and have hardly done any programming), but that's a bit more cross referencing than I'd like to do.. Is there something I could use?
or what eax is supposed to be.


eax is just a work register. Like a 32-bit variable.

I would look for a really basic introduction to x86 guide before you look at anything platform specific.
I meant what its value is supposed to be. I feel somewhat comfortable with my knowledge of asm.
In theory at least, if a register isn't mentioned it's because it's not supposed to have any particular value and its value is maintained by the call.
The register is not mentioned because those manual pages are intended for people programming in C, while I want to do int in asm.
Oh, you mean system call as in defined by the OS, not as in BIOS call.

Just follow the calling convention.
We're failing to communicate..
I can find name of a sys call and its eax in http://www.informatik.htw-dresden.de/~beck/ASM/syscall_list.html
I can then look at man pages to see what that that function does and what it's arguments mean.
Now I only need to find what the value of O_RDONLY and etc. is. If you could tell me where I can find it, I'd be glad.
Though, surely, there should be a nice reference of all this somewhere, right?
Last edited on
No, but you can grep the value in tour compiler's "include" directory. On *nix that should be the /usr/include directory.

$ cd /usr/include
$ grep O_RDONLY *.h

Good luck!
Last edited on
Thanks a lot that worked. I guess I'll have to get used to using 3 references..
Topic archived. No new replies allowed.