Hello everyone,

I have started to document kernel 2.6 systemcalls and thought that maybe someone might want to participate in this divine task.¦nbsp; :)

The documentation will be in HTML format. Layout has been shamelessly stolen from MS Platform SDK documentation, which I find very comfortable to use for API referencing.

For the moment I have finished general layout and the javascript (yeeek) side of things. Menu and indexing works perfectly. All is left is to actually document the systemcalls. Which I am planning to begin sometime this weekend.

Currently there is literally no syscalls reference available (except the ancient and unfinished one for kernel v2.2 by some Dutch dude), so this project when and if it done will be defiantly very useful to many. However as it's rather a time consuming task to document every available syscall by a single person, it would be great if other people join too, so we could finish this thing in no time. If anyone interested, drop me a line and I'll send you a template for work (when it's ready).

What knowledge is required:
* Familiarity with kernel 2.6 source code structure and ability to read C code and understand what it does (this is needed for mapping out syscalls parameters /return codes and for detailed description of the function, since man provides only crippled descriptions.)
* And of course linux distro running 2.6.x kernel with any assembler to test example snippets.

That's it.

Save Linux assembly enthusiasts from hours and hours of /src grep'ing. TAKE PART NOW!
Posted on 2006-07-31 10:39:37 by arafel
So far only a few system calls are done (sys_access, sys_acct, sys_add_key, sys_adjtimex, sys_afs_syscall, sys_alarm).

I decided to progress in alphabetical order, since it would be easier this way to sort the system calls per relevant groups. And it also will give clearer view of the current progress status.

Updates will be published on a variable rate basis. That is, at the moment I accumulate enough new stuff it will be out.

Attachment is a preliminary draft. It should be displayed properly only on Mozilla based browsers (tested on Firefox). On IE some elements are displaced. Although that's a not big issue and anyone running Linux emulated on Windows still will be able to use it.

Apparently this board doesn't allow files ending with bz2 to be attached, so remove the ".txt" extension.
Posted on 2006-08-01 10:08:54 by arafel
Hmm, 7z is unable to open the tar part, possibly corrupted.
Posted on 2006-08-01 11:51:09 by Eóin
With 7zip you will need to extract the tar file from bz2 archive, then extract the files from the tar archive.
For some reason 7zip doesn't automatically extract bziped tars.

Anyway, here is a zip'ed version.

edit: removed old and no more relevant version.
Posted on 2006-08-01 12:19:08 by arafel
Yep I realised that, anway the zip worked. I like you're layout alot, good work.
Posted on 2006-08-01 15:30:21 by Eóin
Thanks  ;)
Posted on 2006-08-01 17:20:03 by arafel
The project now has its own space at sourceforge. Any upcoming versions will be available directly from there.

For the moment about 25 (out of 317) syscalls have been documented.

Biggest holdback is mapping out possible error return values for a particular syscalls.
Some syscalls may return almost a full range of errno values on error, which makes it very difficult to properly document them.
This is not a big issue however, since one can simply look into errno.h/errno-base.h to get the explanation and combine that with information about the system call under question to see what went wrong.

Also, made the htmls more IE friendly. There are still some glitches though, like the dotted tables exceeding screen width.
Arghhh.. it has been hell to make it work on both IE and Mozillas...
(now I understand drhowarddrfine whom always complains about IE  :))
Posted on 2006-08-03 11:20:57 by arafel
So far ~70 syscalls have been documented.
Other than that, created a couple of FASM include files containing symbols and structure definitions relevant to this reference.
And also decided not to cover system calls compatibility with other OSes (bsd family)
Posted on 2006-08-09 14:45:51 by arafel
great, thanks.

also note this:http://www.lxhp.in-berlin.de/lhpsyscal.html

best link on this topic i found up to date... also there are some things wrong in manpages
Posted on 2006-09-13 02:40:19 by vid
You're welcome. We aim to please  ;)

Yes, yes, I am aware of the sometimes inconsistent manpages. I try to verify, as thoroughly as possible, all the info taken from the manpages against the actual kernel's source code and misc. documentation from the net prior to placing it in the lscr.
Posted on 2006-09-13 06:29:02 by arafel
After a lot of thinking I have decided to take this project into a completely, well,.. maybe not completely, but nevertheless different direction.
LSCR from now on will incorporate more than just a reference and a few examples. Namely, there will be set of miscellaneous helper utilities, much more extended set of include files and sample applications covering not only the system calls usage but a more broad range of programming aspects.

Currently documentation of the first 127 system calls has been reviewed and tested. A bunch of new samples has been added: IPC, sockets, kernel modules, gui (one xlib and one xaw example). And I finally settled with the package layout, so there won't be any major changes in the directory structure anymore.

As for development cycle, highest priority for now stands on:

- completing review of the remaining 200+ system calls.
- finishing include files (especially xlib).
- and continuing to add new examples and utilities.

and plans for a near future:

- create include files for GTK+ and Qt.
- make 64bit version. (most likely will go into separate package. not sure yet.)
- create some kind of automated solution for porting FASM examples/includes onto other assemblers (GAS, maybe NASM).
- ...
Posted on 2006-10-13 12:40:44 by arafel
du orkar inte ens svara
du orkar bara ta i ett windows system
Posted on 2006-10-21 12:58:12 by zer0page
project = QUIT.
MY PARROT IS MAKING MORE noise than you.
bye all. (that was not my intention but thats the fact)
Posted on 2006-10-21 13:03:34 by zer0page
Somebody had a bit too much to drink?
Posted on 2006-10-21 15:12:22 by f0dder

First of all, it would be nice if you could write in English, since not everyone here understand Swedish.
Second, when you do write in English at least use some logic. Your second post doesn't makes any more sense to me than the first one.
Posted on 2006-10-22 10:03:27 by arafel
My sincere apologies about those posts, Arafel.
I did not mean any of them.
I were just mad about something else, and _extremely_ drunk.

I were ashamed seeing I wrote that. :(

Posted on 2006-10-28 17:32:36 by zer0page
Don't worry too much zer0page, I'm sure at least some of us have done similiarly silly things. I personally try to stay away from forums when I'm drunk, since the world doesn't tend to understand my twisted sense of drunken humour ;)
Posted on 2006-10-29 13:00:36 by f0dder
No worry mate. We all got those awkward moments sometimes.  ;)
Posted on 2006-10-30 06:29:51 by arafel