/****************************************************************************
 ****************************************************************************
 ***
 ***   This header was automatically generated from a Linux kernel header
 ***   of the same name, to make information necessary for userspace to
 ***   call into the kernel available to libc.  It contains only constants,
 ***   structures, and macros generated from the original header, and thus,
 ***   contains no copyrightable information.
 ***
 ***   To edit the content of this header, modify the corresponding
 ***   source file (e.g. under external/kernel-headers/original/) then
 ***   run bionic/libc/kernel/tools/update_all.py
 ***
 ***   Any manual change here will be lost the next time this script will
 ***   be run. You've been warned!
 ***
 ****************************************************************************
 ****************************************************************************/
#ifndef __UAPI_VBOX_ERR_H__
#define __UAPI_VBOX_ERR_H__
#define VINF_SUCCESS 0
#define VERR_GENERAL_FAILURE (- 1)
#define VERR_INVALID_PARAMETER (- 2)
#define VERR_INVALID_MAGIC (- 3)
#define VERR_INVALID_HANDLE (- 4)
#define VERR_LOCK_FAILED (- 5)
#define VERR_INVALID_POINTER (- 6)
#define VERR_IDT_FAILED (- 7)
#define VERR_NO_MEMORY (- 8)
#define VERR_ALREADY_LOADED (- 9)
#define VERR_PERMISSION_DENIED (- 10)
#define VERR_VERSION_MISMATCH (- 11)
#define VERR_NOT_IMPLEMENTED (- 12)
#define VERR_INVALID_FLAGS (- 13)
#define VERR_NOT_EQUAL (- 18)
#define VERR_NOT_SYMLINK (- 19)
#define VERR_NO_TMP_MEMORY (- 20)
#define VERR_INVALID_FMODE (- 21)
#define VERR_WRONG_ORDER (- 22)
#define VERR_NO_TLS_FOR_SELF (- 23)
#define VERR_FAILED_TO_SET_SELF_TLS (- 24)
#define VERR_NO_CONT_MEMORY (- 26)
#define VERR_NO_PAGE_MEMORY (- 27)
#define VERR_THREAD_IS_DEAD (- 29)
#define VERR_THREAD_NOT_WAITABLE (- 30)
#define VERR_PAGE_TABLE_NOT_PRESENT (- 31)
#define VERR_INVALID_CONTEXT (- 32)
#define VERR_TIMER_BUSY (- 33)
#define VERR_ADDRESS_CONFLICT (- 34)
#define VERR_UNRESOLVED_ERROR (- 35)
#define VERR_INVALID_FUNCTION (- 36)
#define VERR_NOT_SUPPORTED (- 37)
#define VERR_ACCESS_DENIED (- 38)
#define VERR_INTERRUPTED (- 39)
#define VERR_TIMEOUT (- 40)
#define VERR_BUFFER_OVERFLOW (- 41)
#define VERR_TOO_MUCH_DATA (- 42)
#define VERR_MAX_THRDS_REACHED (- 43)
#define VERR_MAX_PROCS_REACHED (- 44)
#define VERR_SIGNAL_REFUSED (- 45)
#define VERR_SIGNAL_PENDING (- 46)
#define VERR_SIGNAL_INVALID (- 47)
#define VERR_STATE_CHANGED (- 48)
#define VERR_INVALID_UUID_FORMAT (- 49)
#define VERR_PROCESS_NOT_FOUND (- 50)
#define VERR_PROCESS_RUNNING (- 51)
#define VERR_TRY_AGAIN (- 52)
#define VERR_PARSE_ERROR (- 53)
#define VERR_OUT_OF_RANGE (- 54)
#define VERR_NUMBER_TOO_BIG (- 55)
#define VERR_NO_DIGITS (- 56)
#define VERR_NEGATIVE_UNSIGNED (- 57)
#define VERR_NO_TRANSLATION (- 58)
#define VERR_NOT_FOUND (- 78)
#define VERR_INVALID_STATE (- 79)
#define VERR_OUT_OF_RESOURCES (- 80)
#define VERR_FILE_NOT_FOUND (- 102)
#define VERR_PATH_NOT_FOUND (- 103)
#define VERR_INVALID_NAME (- 104)
#define VERR_ALREADY_EXISTS (- 105)
#define VERR_TOO_MANY_OPEN_FILES (- 106)
#define VERR_SEEK (- 107)
#define VERR_NEGATIVE_SEEK (- 108)
#define VERR_SEEK_ON_DEVICE (- 109)
#define VERR_EOF (- 110)
#define VERR_READ_ERROR (- 111)
#define VERR_WRITE_ERROR (- 112)
#define VERR_WRITE_PROTECT (- 113)
#define VERR_SHARING_VIOLATION (- 114)
#define VERR_FILE_LOCK_FAILED (- 115)
#define VERR_FILE_LOCK_VIOLATION (- 116)
#define VERR_CANT_CREATE (- 117)
#define VERR_CANT_DELETE_DIRECTORY (- 118)
#define VERR_NOT_SAME_DEVICE (- 119)
#define VERR_FILENAME_TOO_LONG (- 120)
#define VERR_MEDIA_NOT_PRESENT (- 121)
#define VERR_MEDIA_NOT_RECOGNIZED (- 122)
#define VERR_FILE_NOT_LOCKED (- 123)
#define VERR_FILE_LOCK_LOST (- 124)
#define VERR_DIR_NOT_EMPTY (- 125)
#define VERR_NOT_A_DIRECTORY (- 126)
#define VERR_IS_A_DIRECTORY (- 127)
#define VERR_FILE_TOO_BIG (- 128)
#define VERR_NET_IO_ERROR (- 400)
#define VERR_NET_OUT_OF_RESOURCES (- 401)
#define VERR_NET_HOST_NOT_FOUND (- 402)
#define VERR_NET_PATH_NOT_FOUND (- 403)
#define VERR_NET_PRINT_ERROR (- 404)
#define VERR_NET_NO_NETWORK (- 405)
#define VERR_NET_NOT_UNIQUE_NAME (- 406)
#define VERR_NET_IN_PROGRESS (- 436)
#define VERR_NET_ALREADY_IN_PROGRESS (- 437)
#define VERR_NET_NOT_SOCKET (- 438)
#define VERR_NET_DEST_ADDRESS_REQUIRED (- 439)
#define VERR_NET_MSG_SIZE (- 440)
#define VERR_NET_PROTOCOL_TYPE (- 441)
#define VERR_NET_PROTOCOL_NOT_AVAILABLE (- 442)
#define VERR_NET_PROTOCOL_NOT_SUPPORTED (- 443)
#define VERR_NET_SOCKET_TYPE_NOT_SUPPORTED (- 444)
#define VERR_NET_OPERATION_NOT_SUPPORTED (- 445)
#define VERR_NET_PROTOCOL_FAMILY_NOT_SUPPORTED (- 446)
#define VERR_NET_ADDRESS_FAMILY_NOT_SUPPORTED (- 447)
#define VERR_NET_ADDRESS_IN_USE (- 448)
#define VERR_NET_ADDRESS_NOT_AVAILABLE (- 449)
#define VERR_NET_DOWN (- 450)
#define VERR_NET_UNREACHABLE (- 451)
#define VERR_NET_CONNECTION_RESET (- 452)
#define VERR_NET_CONNECTION_ABORTED (- 453)
#define VERR_NET_CONNECTION_RESET_BY_PEER (- 454)
#define VERR_NET_NO_BUFFER_SPACE (- 455)
#define VERR_NET_ALREADY_CONNECTED (- 456)
#define VERR_NET_NOT_CONNECTED (- 457)
#define VERR_NET_SHUTDOWN (- 458)
#define VERR_NET_TOO_MANY_REFERENCES (- 459)
#define VERR_NET_CONNECTION_TIMED_OUT (- 460)
#define VERR_NET_CONNECTION_REFUSED (- 461)
#define VERR_NET_HOST_DOWN (- 464)
#define VERR_NET_HOST_UNREACHABLE (- 465)
#define VERR_NET_PROTOCOL_ERROR (- 466)
#define VERR_NET_INCOMPLETE_TX_PACKET (- 467)
#define VERR_RESOURCE_BUSY (- 138)
#define VERR_DISK_FULL (- 152)
#define VERR_TOO_MANY_SYMLINKS (- 156)
#define VERR_NO_MORE_FILES (- 201)
#define VERR_INTERNAL_ERROR (- 225)
#define VERR_INTERNAL_ERROR_2 (- 226)
#define VERR_INTERNAL_ERROR_3 (- 227)
#define VERR_INTERNAL_ERROR_4 (- 228)
#define VERR_DEV_IO_ERROR (- 250)
#define VERR_IO_BAD_LENGTH (- 255)
#define VERR_BROKEN_PIPE (- 301)
#define VERR_NO_DATA (- 304)
#define VERR_SEM_DESTROYED (- 363)
#define VERR_DEADLOCK (- 365)
#define VERR_BAD_EXE_FORMAT (- 608)
#define VINF_HGCM_ASYNC_EXECUTE (2903)
#endif
