The syscall numbers are defined in [src/trusted/service_runtime/include/bits/nacl_syscalls.h] (http://code.google.com/p/nativeclient/source/browse/trunk/src/native_client/src/trusted/service_runtime/include/bits/nacl_syscalls.h).

File descriptor operations: * close * read * write * lseek

Memory allocation: * sysbrk * mmap * munmap

  • getdents

  • exit

  • getpid

  • sched_yield

  • sysconf

Timers: * gettimeofday * clock * nanosleep

IMC socket calls: * imc_makeboundsock * imc_accept * imc_connect * imc_sendmsg * imc_recvmsg * imc_mem_obj_create: create shared memory segment * imc_socketpair

Synchronisation operations: * mutex_create * mutex_lock * mutex_trylock * mutex_unlock * cond_create * cond_wait * cond_signal * cond_broadcast * cond_timed_wait_abs * sem_create * sem_wait * sem_post * sem_get_value

Threading operations: * thread_create * thread_exit * tls_init * thread_nice

  • tls_get

  • srpc_get_fd: what is this for?

No-ops

  • null: for testing purposes only
  • ioctl: not implemented

Debug mode syscalls

  • open
  • stat
  • chmod

Sound/graphics interfaces for standalone mode; superseded by NPAPI plugin interfaces: * multimedia_init * multimedia_shutdown * video_init * video_shutdown * video_update * video_poll_event * audio_init * audio_shutdown * audio_stream

Omissions

  • dup
  • dup2