Previous Contents Next
Chapter 20 The unix library: Unix system calls

The unix library makes many Unix system calls and system-related library functions available to Objective Caml programs. This chapter describes briefly the functions provided. Refer to sections 2 and 3 of the Unix manual for more details on the behavior of these functions.

Not all functions are provided by all Unix variants. If some functions are not available, they will raise Invalid_arg when called.

Programs that use the unix library must be linked as follows:
        ocamlc other options unix.cma other files
        ocamlopt other options unix.cmxa other files
For interactive use of the unix library, do:
        ocamlmktop -o mytop unix.cma
        ./mytop
or (if dynamic linking of C libraries is supported on your platform), start ocaml and type #load "unix.cma";;.

  MacOS:
A fairly complete emulation of the Unix system calls is provided in the MacOS version of Objective Caml. The end of this chapter gives more information on the functions that are not supported under MacOS.
  Windows:
A fairly complete emulation of the Unix system calls is provided in the Windows version of Objective Caml. The end of this chapter gives more information on the functions that are not supported under Windows.


  MacOS:
Under MacOS, the Unix library is only available in the toplevel application, not in MPW tools. Below is a list of the functions that are not implemented, or only partially implemented, under MacOS. Functions not mentioned are fully implemented and behave as described previously in this chapter.
Functions Comment
chown, fchown not implemented
chroot not implemented
environment, putenv not implemented
execv, execve, execvp, execvpe not implemented
fork not implemented, use threads
getegid, geteuid, getgid, getuid always return 1
getgrnam, getgrgid not implemented