package caps

  1. Overview
  2. Docs

Module TCB.UnixSource

Sourcetype error = Unix.error =
  1. | E2BIG
    (*

    Argument list too long

    *)
  2. | EACCES
    (*

    Permission denied

    *)
  3. | EAGAIN
    (*

    Resource temporarily unavailable; try again

    *)
  4. | EBADF
    (*

    Bad file descriptor

    *)
  5. | EBUSY
    (*

    Resource unavailable

    *)
  6. | ECHILD
    (*

    No child process

    *)
  7. | EDEADLK
    (*

    Resource deadlock would occur

    *)
  8. | EDOM
    (*

    Domain error for math functions, etc.

    *)
  9. | EEXIST
    (*

    File exists

    *)
  10. | EFAULT
    (*

    Bad address

    *)
  11. | EFBIG
    (*

    File too large

    *)
  12. | EINTR
    (*

    Function interrupted by signal

    *)
  13. | EINVAL
    (*

    Invalid argument

    *)
  14. | EIO
    (*

    Hardware I/O error

    *)
  15. | EISDIR
    (*

    Is a directory

    *)
  16. | EMFILE
    (*

    Too many open files by the process

    *)
  17. | ENAMETOOLONG
    (*

    Filename too long

    *)
  18. | ENFILE
    (*

    Too many open files in the system

    *)
  19. | ENODEV
    (*

    No such device

    *)
  20. | ENOENT
    (*

    No such file or directory

    *)
  21. | ENOEXEC
    (*

    Not an executable file

    *)
  22. | ENOLCK
    (*

    No locks available

    *)
  23. | ENOMEM
    (*

    Not enough memory

    *)
  24. | ENOSPC
    (*

    No space left on device

    *)
  25. | ENOSYS
    (*

    Function not supported

    *)
  26. | ENOTDIR
    (*

    Not a directory

    *)
  27. | ENOTEMPTY
    (*

    Directory not empty

    *)
  28. | ENOTTY
    (*

    Inappropriate I/O control operation

    *)
  29. | ENXIO
    (*

    No such device or address

    *)
  30. | EPERM
    (*

    Operation not permitted

    *)
  31. | EPIPE
    (*

    Broken pipe

    *)
  32. | ERANGE
    (*

    Result too large

    *)
  33. | EROFS
    (*

    Read-only file system

    *)
  34. | ESPIPE
    (*

    Invalid seek e.g. on a pipe

    *)
  35. | ESRCH
    (*

    No such process

    *)
  36. | EXDEV
    (*

    Invalid link

    *)
  37. | EWOULDBLOCK
    (*

    Operation would block

    *)
  38. | EINPROGRESS
    (*

    Operation now in progress

    *)
  39. | EALREADY
    (*

    Operation already in progress

    *)
  40. | ENOTSOCK
    (*

    Socket operation on non-socket

    *)
  41. | EDESTADDRREQ
    (*

    Destination address required

    *)
  42. | EMSGSIZE
    (*

    Message too long

    *)
  43. | EPROTOTYPE
    (*

    Protocol wrong type for socket

    *)
  44. | ENOPROTOOPT
    (*

    Protocol not available

    *)
  45. | EPROTONOSUPPORT
    (*

    Protocol not supported

    *)
  46. | ESOCKTNOSUPPORT
    (*

    Socket type not supported

    *)
  47. | EOPNOTSUPP
    (*

    Operation not supported on socket

    *)
  48. | EPFNOSUPPORT
    (*

    Protocol family not supported

    *)
  49. | EAFNOSUPPORT
    (*

    Address family not supported by protocol family

    *)
  50. | EADDRINUSE
    (*

    Address already in use

    *)
  51. | EADDRNOTAVAIL
    (*

    Can't assign requested address

    *)
  52. | ENETDOWN
    (*

    Network is down

    *)
  53. | ENETUNREACH
    (*

    Network is unreachable

    *)
  54. | ENETRESET
    (*

    Network dropped connection on reset

    *)
  55. | ECONNABORTED
    (*

    Software caused connection abort

    *)
  56. | ECONNRESET
    (*

    Connection reset by peer

    *)
  57. | ENOBUFS
    (*

    No buffer space available

    *)
  58. | EISCONN
    (*

    Socket is already connected

    *)
  59. | ENOTCONN
    (*

    Socket is not connected

    *)
  60. | ESHUTDOWN
    (*

    Can't send after socket shutdown

    *)
  61. | ETOOMANYREFS
    (*

    Too many references: can't splice

    *)
  62. | ETIMEDOUT
    (*

    Connection timed out

    *)
  63. | ECONNREFUSED
    (*

    Connection refused

    *)
  64. | EHOSTDOWN
    (*

    Host is down

    *)
  65. | EHOSTUNREACH
    (*

    No route to host

    *)
  66. | ELOOP
    (*

    Too many levels of symbolic links

    *)
  67. | EOVERFLOW
    (*

    File size or position not representable

    *)
  68. | EUNKNOWNERR of int
    (*

    Unknown error

    *)
Sourceval error_message : Unix.error -> string
Sourcetype process_status = Unix.process_status =
  1. | WEXITED of int
  2. | WSIGNALED of int
  3. | WSTOPPED of int
Sourcetype wait_flag = Unix.wait_flag =
  1. | WNOHANG
  2. | WUNTRACED
Sourcetype file_descr = Unix.file_descr
Sourceval stdin : unit
Sourceval stdout : unit
Sourceval stderr : unit
Sourceval descr_of_out_channel : out_channel -> Unix.file_descr
Sourceval descr_of_in_channel : in_channel -> Unix.file_descr
Sourceval dup : ?cloexec:??? -> Unix.file_descr -> Unix.file_descr
Sourceval dup2 : ?cloexec:??? -> Unix.file_descr -> Unix.file_descr -> unit
Sourcetype dir_handle = Unix.dir_handle
Sourceval closedir : Unix.dir_handle -> unit
Sourceval readdir : Unix.dir_handle -> string
Sourcetype open_flag = Unix.open_flag =
  1. | O_RDONLY
    (*

    Open for reading

    *)
  2. | O_WRONLY
    (*

    Open for writing

    *)
  3. | O_RDWR
    (*

    Open for reading and writing

    *)
  4. | O_NONBLOCK
    (*

    Open in non-blocking mode

    *)
  5. | O_APPEND
    (*

    Open for append

    *)
  6. | O_CREAT
    (*

    Create if nonexistent

    *)
  7. | O_TRUNC
    (*

    Truncate to 0 length if existing

    *)
  8. | O_EXCL
    (*

    Fail if existing

    *)
  9. | O_NOCTTY
    (*

    Don't make this dev a controlling tty

    *)
  10. | O_DSYNC
  11. | O_SYNC
  12. | O_RSYNC
  13. | O_SHARE_DELETE
  14. | O_CLOEXEC
  15. | O_KEEPEXEC
Sourcetype file_perm = Unix.file_perm
Sourcetype seek_command = Unix.seek_command
Sourcetype file_kind = Unix.file_kind =
  1. | S_REG
    (*

    Regular file

    *)
  2. | S_DIR
    (*

    Directory

    *)
  3. | S_CHR
    (*

    Character device

    *)
  4. | S_BLK
    (*

    Block device

    *)
  5. | S_LNK
    (*

    Symbolic link

    *)
  6. | S_FIFO
    (*

    Named pipe

    *)
  7. | S_SOCK
    (*

    Socket

    *)
Sourcetype stats = Unix.stats = {
  1. st_dev : int;
    (*

    Device number

    *)
  2. st_ino : int;
    (*

    Inode number

    *)
  3. st_kind : file_kind;
    (*

    Kind of the file

    *)
  4. st_perm : file_perm;
    (*

    Access rights

    *)
  5. st_uid : int;
    (*

    User id of the owner

    *)
  6. st_gid : int;
    (*

    Group ID of the file's group

    *)
  7. st_rdev : int;
    (*

    Device ID (if special file)

    *)
  8. st_size : int;
    (*

    Size in bytes

    *)
  9. st_atime : float;
    (*

    Last access time

    *)
  10. st_mtime : float;
    (*

    Last modification time

    *)
  11. st_ctime : float;
    (*

    Last status change time

    *)
}
Sourceval close_process_in : in_channel -> Unix.process_status
Sourceval close_process_out : out_channel -> Unix.process_status
Sourceval read : Unix.file_descr -> bytes -> int -> int -> int
Sourceval write : Unix.file_descr -> bytes -> int -> int -> int
Sourceval close : Unix.file_descr -> unit
Sourcetype access_permission = Unix.access_permission
Sourcetype lock_command = Unix.lock_command
Sourcetype sigprocmask_command = Unix.sigprocmask_command
Sourcetype process_times = Unix.process_times
Sourcetype tm = Unix.tm = {
  1. tm_sec : int;
    (*

    Seconds 0..60

    *)
  2. tm_min : int;
    (*

    Minutes 0..59

    *)
  3. tm_hour : int;
    (*

    Hours 0..23

    *)
  4. tm_mday : int;
    (*

    Day of month 1..31

    *)
  5. tm_mon : int;
    (*

    Month of year 0..11

    *)
  6. tm_year : int;
    (*

    Year - 1900

    *)
  7. tm_wday : int;
    (*

    Day of week (Sunday is 0)

    *)
  8. tm_yday : int;
    (*

    Day of year 0..365

    *)
  9. tm_isdst : bool;
    (*

    Daylight time savings in effect

    *)
}
Sourceval mktime : Unix.tm -> float * Unix.tm
Sourceval gmtime : float -> Unix.tm
Sourceval localtime : float -> Unix.tm
Sourcetype interval_timer = Unix.interval_timer
Sourcetype interval_timer_status = Unix.interval_timer_status
Sourcetype passwd_entry = Unix.passwd_entry
Sourcetype group_entry = Unix.group_entry
Sourcetype inet_addr = Unix.inet_addr
Sourcetype socket_domain = Unix.socket_domain
Sourcetype socket_type = Unix.socket_type
Sourcetype sockaddr = Unix.sockaddr
Sourcetype shutdown_command = Unix.shutdown_command
Sourcetype msg_flag = Unix.msg_flag
Sourcetype socket_bool_option = Unix.socket_bool_option
Sourcetype socket_int_option = Unix.socket_int_option
Sourcetype socket_optint_option = Unix.socket_optint_option
Sourcetype socket_float_option = Unix.socket_float_option
Sourcetype host_entry = Unix.host_entry
Sourcetype protocol_entry = Unix.protocol_entry
Sourcetype service_entry = Unix.service_entry
Sourcetype addr_info = Unix.addr_info
Sourcetype getaddrinfo_option = Unix.getaddrinfo_option
Sourcetype name_info = Unix.name_info
Sourcetype getnameinfo_option = Unix.getnameinfo_option
Sourcetype terminal_io = Unix.terminal_io
Sourcetype setattr_when = Unix.setattr_when
Sourcetype flush_queue = Unix.flush_queue
Sourcetype flow_action = Unix.flow_action