Template:Syscall

From WikiPrizm
Jump to: navigation, search

Usage notes

This template takes a number of arguments. The following should be included for all routines:

  • Name
  • Index (the number of the call)
  • Function signature
  • Header containing the prototype (in libfxcg)

The remaining arguments will be used to form the contents of sections of the same name, which will not be shown if not provided:

  • Synopsis
  • Parameters
  • Returns
  • Comments
  • Example

By using this template, the page will automatically be added to Category:Syscalls. If you don't want that for whatever reason, pass the parameter nocat with any text (eg nocat=true). See the source code of this page for an example.

You'll usually just want to transclude this template. For example:

{{syscall
| name = FakeSyscall
| index = 0x0000
| signature = void FakeSyscall(void)
| header = syscall_example.h
| comments = This syscall does '''nothing'''.
}}

Will render as follows:


Synopsis

Header: syscall_example.h
Syscall index: 0x0000
Function signature: void FakeSyscall(void)

Comments

This syscall does nothing.

Further information on template usage can be found in the MediaWiki User Guide.

Finding information

If you're documenting syscalls that are already in libfxcg but don't know the index, you can find it by looking at the source. Each call is in its own file. For example, the definition for Bdisp_PutDisp_DD is in libfxcg/syscalls/Bdisp_PutDisp_DD.S, which looks like this:

#include <asm.h>

SYSCALL(_Bdisp_PutDisp_DD, 0x025F)

We can see that the index of this one is 0x025F, then.

If you are trying to find the header that provides a function that's already documented, just search the libfxcg include directory, such as with grep:

grep -R libfxcg/include function