The Funky-API includes most POSIX-function calls.
The are wrapped in a Funky-style API.
Funky supports non-blocking I/O to allow for asynchronous programming without the need of concurrency.
Input-Output |
std::BLOCK_DEVICE | a file type referring to a block device |
std::CHARACTER_DEVICE | a file type referring to a character device |
std::DIRECTORY | a file type referring to a directory |
std::E2BIG | argument list too long |
std::EACCES | permission denied |
std::EADDRINUSE | address already in use |
std::EADDRNOTAVAIL | cannot assign requested address |
std::EADV | advertise error |
std::EAFNOSUPPORT | address family not supported by protocol |
std::EAGAIN | try again |
std::EALREADY | operation already in progress |
std::EBADE | bad exchange |
std::EBADF | bad file descriptor |
std::EBADFD | file descriptor in bad state |
std::EBADMSG | not a data message |
std::EBADR | bad address |
std::EBADRQC | invalid request descriptor |
std::EBADSLT | invalid slot |
std::EBFONT | bad font file format |
std::EBUSY | device or resource busy |
std::ECANCELED | operation canceled |
std::ECHILD | no child processes |
std::ECHRNG | channel number out of range |
std::ECOMM | communication error on send |
std::ECONNABORTED | software caused connection abort |
std::ECONNREFUSED | connection refused |
std::ECONNRESET | connection reset by peer |
std::EDEADLK | deadlock condition |
std::EDESTADDRREQ | destination address required |
std::EDOM | domain error |
std::EDOTDOT | rfc931 nfs v2 error |
std::EDQUOT | quota exceeded |
std::EEXIST | file exists |
std::EFAULT | bad address |
std::EFBIG | file too large |
std::EHOSTDOWN | host is down |
std::EHOSTUNREACH | no route to host |
std::EIDRM | identifier removed |
std::EILSEQ | illegal byte sequence |
std::EINPROGRESS | operation now in progress |
std::EINTR | interrupted system call |
std::EINVAL | invalid argument |
std::EIO | input/output error |
std::EISCONN | socket is already connected |
std::EISDIR | is a directory |
std::EISNAM | is a named type file |
std::EKEYEXPIRED | key expired |
std::EKEYREJECTED | key rejected |
std::EKEYREVOKED | key revoked |
std::EL2HLT | level 2 halted |
std::EL2NSYNC | level 2 not synchronized |
std::EL3HLT | level 3 halted |
std::EL3RST | level 3 reset |
std::ELIBACC | can not access a needed shared library |
std::ELIBBAD | accessing a corrupted shared library |
std::ELIBEXEC | cannot exec a shared library directly |
std::ELIBMAX | attempted using too many links |
std::ELIBSCN | .lib section in a.out corrupted |
std::ELNRNG | link number out of range |
std::ELOOP | too many symbolic links encountered |
std::EMEDIUMTYPE | incorrect medium type |
std::EMFILE | too many open files |
std::EMLINK | too many links |
std::EMSGSIZE | message too long |
std::EMULTIHOP | multihop attempted |
std::ENAMETOOLONG | file name too long |
std::ENAVAIL | no XENIX semaphores available |
std::ENETDOWN | network is down |
std::ENETRESET | network dropped connection because of reset |
std::ENETUNREACH | network is unreachable |
std::ENFILE | file table overflow |
std::ENOANO | no anode |
std::ENOBUFS | no buffer space available |
std::ENOCSI | no CSI structure available |
std::ENODATA | no data available |
std::ENODEV | no such device |
std::ENOENT | no such file or directory |
std::ENOERR | no error |
std::ENOEXEC | exec format error |
std::ENOKEY | key not available |
std::ENOLCK | no record locks available |
std::ENOLINK | link has been severed |
std::ENOMEDIUM | no medium found |
std::ENOMEM | out of memory |
std::ENOMSG | no message of desired type |
std::ENONET | machine is not on the network |
std::ENOPKG | package not installed |
std::ENOPROTOOPT | protocol not available |
std::ENOSPC | no space left on device |
std::ENOSR | out of streams resources |
std::ENOSTR | device not a stream |
std::ENOSYS | function not implemented |
std::ENOTBLK | blocking operation not supported |
std::ENOTCONN | socket is not connected |
std::ENOTDIR | not a directory |
std::ENOTEMPTY | directory not empty |
std::ENOTNAM | not a XENIX named type file |
std::ENOTRECOVERABLE | state not recoverable |
std::ENOTSOCK | operation not supported on socket |
std::ENOTTY | not a typewriter |
std::ENOTUNIQ | file system does not support byte swapped files |
std::ENXIO | no such device or address |
std::EOPNOTSUPP | operation not supported |
std::EOVERFLOW | value too large for defined data type |
std::EOWNERDEAD | owner died |
std::EPERM | operation not permitted |
std::EPFNOSUPPORT | protocol family not supported |
std::EPIPE | broken pipe |
std::EPROTO | protocol error |
std::EPROTONOSUPPORT | protocol not supported |
std::EPROTOTYPE | protocol error |
std::ERANGE | result too large |
std::EREMCHG | remote address changed |
std::EREMOTE | address not available |
std::EREMOTEIO | remote I/O error |
std::ERESTART | restart point is not valid |
std::EROFS | read-only file system |
std::ESHUTDOWN | socket shutdown |
std::ESOCKTNOSUPPORT | socket type not supported |
std::ESPIPE | illegal seek |
std::ESRCH | no such process |
std::ESRMNT | srmount error |
std::ESTALE | stale NFS file handle |
std::ESTRPIPE | stream pipe error |
std::ETIME | timer expired |
std::ETIMEDOUT | connection timed out |
std::ETOOMANYREFS | too many references: cannot splice |
std::ETXTBSY | text file busy |
std::EUCLEAN | struct member not updated |
std::EUNATCH | protocol driver not attached |
std::EUSERS | too many users |
std::EXDEV | cross-device link not permitted |
std::EXFULL | exchange full |
std::NAMED_PIPE | a file type referring to a named pipe |
std::REGULAR_FILE | a file type referring to a regular file |
std::SHUT_RD | shutdown read side |
std::SHUT_RDWR | shutdown read and write side |
std::SHUT_WR | shutdown write side |
std::SOCKET | a file type referring to a socket |
std::STDERR_FILENO | the file descriptor for standard error output |
std::STDIN_FILENO | the file descriptor for standard input |
std::STDOUT_FILENO | the file descriptor for standard output |
std::SYMBOLIC_LINK | a file type referring to a symbolic link |
std::UNKNOWN_FILE_TYPE | a file type referring to an unknown file type |
std::access_time_nanoseconds_of | the nanoseconds part of the access time of a file |
std::access_time_seconds_of | the whole seconds part of the access time of a file |
std::block_count_of | the number of blocks allocated for the file |
std::block_size_of | the size of a block |
std::chdir | changes the current working directory |
std::chmod | changes the mode of the specified file |
std::chown | changes the owner and group of the specified file |
std::chroot | changes the root directory |
std::close | closes the specified file without returning success status |
std::closedir | closes the specified directory stream |
std::device_id | constructs a device ID from an unsigned long value |
std::device_of | the device number |
std::error_number | constructs an error number from an integer value |
std::exec | replaces the current process with the given command |
std::file_descriptor | constructs a file_descriptor from an integer value |
std::file_type | constructs a file_type from an integer value |
std::fstat | retrieves status information about the file described by the specified file descriptor |
std::fsync | flushes all buffers associated with the file descriptor |
std::getcwd | returns the current working directory |
std::getegid | returns the effective group ID |
std::getenv | returns the value of the specified environment variable |
std::geteuid | returns the effective user id |
std::getgid | returns the real group ID |
std::gethostname | returns the hostname of the local computer |
std::getlogin | returns the login name of the current user |
std::getpid | returns the process ID |
std::getppid | returns the parent process ID |
std::getpwuid | returns the password entry for the specified user ID |
std::getsid | returns the process ID of the session leader of the process group |
std::getuid | returns the real user ID |
std::group_id | constructs a group ID from an integer value |
std::group_id_of | the group id |
std::home_directory_of | the home directory |
std::inode_number | constructs an inode number from an integer value |
std::inode_number_of | the inode number |
std::link_count_of | the number of hard links |
std::mkdir | creates a directory |
std::mkfifo | creates a FIFO |
std::mode_of | the file mode |
std::modification_time_nanoseconds_of | the nanoseconds part of the modification time of a file |
std::modification_time_seconds_of | the whole seconds part of the modification time of a file |
std::name_of | a filename |
std::open | opens a file |
std::open_tcp_socket | opens a TCP socket |
std::open_unix_socket | opens a UNIX domain socket |
std::opendir | opens a directory stream |
std::password_of | the password |
std::process_id | constructs a process id from an integer value |
std::readdir | reads a directory entry |
std::realpath | resolves the specified pathname |
std::rename | renames or moves the specified file |
std::root_device_of | the root device |
std::sethostname | sets the hostname of the local computer |
std::shell_of | the login shell |
std::shutdown | shutdown the receiver and/or sender of the specified socket |
std::shutdown_type | constructs a shutdown type from an integer value |
std::size_of | the size of the file |
std::stat | retrieves status information about the specified file |
std::status_change_time_nanoseconds_of | the nanoseconds part of the status change time of a file |
std::status_change_time_seconds_of | the whole seconds part of the status change time of a file |
std::strerror | returns a textual representation of an error number |
std::type_of | the type of the file |
std::umask | set a new file creation mask |
std::unlink | remove the specified file |
std::user_id | constructs a user id from an integer value |
std::user_id_of | the user id |
std::user_information_of | the user information |
std::username_of | the username |
std::usleep | sleep for the specified number of microseconds |
std::wait | waits for a child process to terminate |
std::wait2 | waits for a child process to terminate |
std_types::device_id | a POSIX device ID |
std_types::device_id/std::equal | compares two device IDs for equality |
std_types::device_id/std::hash | returns an integer hash value for a device ID |
std_types::device_id/std::to_integer | returns an integer value representing the device ID |
std_types::directory | a POSIX directory |
std_types::directory/std::equal | compares two directories for equality |
std_types::directory/std::hash | returns an integer hash value for a directory |
std_types::dirent | a directory entry |
std_types::error_number | a POSIX error number |
std_types::error_number/std::equal | compares two error numbers for equality |
std_types::error_number/std::hash | returns an integer hash value for an error number |
std_types::error_number/std::to_integer | returns an integer value representing the error number |
std_types::file_descriptor | a POSIX file descriptor |
std_types::file_descriptor/std::equal | compares two file descriptors for equality |
std_types::file_descriptor/std::hash | returns an integer hash value for a file descriptor |
std_types::file_descriptor/std::read | reads from a file |
std_types::file_descriptor/std::to_integer | returns an integer value representing the file descriptor |
std_types::file_descriptor/std::write | try to write the specified number of octets |
std_types::file_type | a POSIX file type |
std_types::file_type/std::equal | compares two file types for equality |
std_types::file_type/std::hash | returns an integer hash value for a file type |
std_types::file_type/std::to_integer | returns an integer value representing the file_type |
std_types::group_id | a POSIX group ID |
std_types::group_id/std::equal | compares two group IDs for equality |
std_types::group_id/std::hash | returns an integer hash value for a group ID |
std_types::group_id/std::to_integer | returns an integer value representing the group ID |
std_types::inode_number | a POSIX inode number |
std_types::inode_number/std::equal | compares two inode numbers for equality |
std_types::inode_number/std::hash | returns an integer hash value for an inode number |
std_types::inode_number/std::to_integer | returns an integer value representing the inode number |
std_types::passwd | a password entry |
std_types::process_id | a POSIX process ID |
std_types::process_id/std::equal | compares two process ids for equality |
std_types::process_id/std::hash | returns an integer hash value for a process id |
std_types::process_id/std::to_integer | returns an integer value representing the process id |
std_types::shutdown_type | a POSIX shutdown type |
std_types::shutdown_type/std::equal | compares two shutdown types for equality |
std_types::shutdown_type/std::hash | returns an integer hash value for a shutdown type |
std_types::shutdown_type/std::to_integer | returns an integer value representing the shutdown type |
std_types::stat | file status information |
std_types::user_id | a POSIX user id |
std_types::user_id/std::equal | compares two user ids for equality |
std_types::user_id/std::hash | returns an integer hash value for a user id |
std_types::user_id/std::to_integer | returns an integer value representing the user id |