// Copyright 2016 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef SYSROOT_ZIRCON_ERRORS_H_
#define SYSROOT_ZIRCON_ERRORS_H_

// Zircon statuses are signed 32 bit integers. The space of values is
// divided as follows:
// - The zero value is for the OK status.
// - Negative values are defined by the system, in this file.
// - Positive values are reserved for protocol-specific error values,
//   and will never be defined by the system.

#define ZX_OK (0)

// ======= Internal failures =======
// ZX_ERR_INTERNAL: The system encountered an otherwise unspecified error
// while performing the operation.
#define ZX_ERR_INTERNAL (-1)

// ZX_ERR_NOT_SUPPORTED: The operation is not implemented, supported,
// or enabled.
#define ZX_ERR_NOT_SUPPORTED (-2)

// ZX_ERR_NO_RESOURCES: The system was not able to allocate some resource
// needed for the operation.
#define ZX_ERR_NO_RESOURCES (-3)

// ZX_ERR_NO_MEMORY: The system was not able to allocate memory needed
// for the operation.
#define ZX_ERR_NO_MEMORY (-4)

// -5 used to be ZX_ERR_CALL_FAILED.

// ZX_ERR_INTERNAL_INTR_RETRY: The system call was interrupted, but should be
// retried.  This should not be seen outside of the VDSO.
#define ZX_ERR_INTERNAL_INTR_RETRY (-6)

// ======= Parameter errors =======
// ZX_ERR_INVALID_ARGS: an argument is invalid, ex. null pointer
#define ZX_ERR_INVALID_ARGS (-10)

// ZX_ERR_BAD_HANDLE: A specified handle value does not refer to a handle.
#define ZX_ERR_BAD_HANDLE (-11)

// ZX_ERR_WRONG_TYPE: The subject of the operation is the wrong type to
// perform the operation.
// Example: Attempting a message_read on a thread handle.
#define ZX_ERR_WRONG_TYPE (-12)

// ZX_ERR_BAD_SYSCALL: The specified syscall number is invalid.
#define ZX_ERR_BAD_SYSCALL (-13)

// ZX_ERR_OUT_OF_RANGE: An argument is outside the valid range for this
// operation.
#define ZX_ERR_OUT_OF_RANGE (-14)

// ZX_ERR_BUFFER_TOO_SMALL: A caller provided buffer is too small for
// this operation.
#define ZX_ERR_BUFFER_TOO_SMALL (-15)

// ======= Precondition or state errors =======
// ZX_ERR_BAD_STATE: operation failed because the current state of the
// object does not allow it, or a precondition of the operation is
// not satisfied
#define ZX_ERR_BAD_STATE (-20)

// ZX_ERR_TIMED_OUT: The time limit for the operation elapsed before
// the operation completed.
#define ZX_ERR_TIMED_OUT (-21)

// ZX_ERR_SHOULD_WAIT: The operation cannot be performed currently but
// potentially could succeed if the caller waits for a prerequisite
// to be satisfied, for example waiting for a handle to be readable
// or writable.
// Example: Attempting to read from a channel that has no
// messages waiting but has an open remote will return ZX_ERR_SHOULD_WAIT.
// Attempting to read from a channel that has no messages waiting
// and has a closed remote end will return ZX_ERR_PEER_CLOSED.
#define ZX_ERR_SHOULD_WAIT (-22)

// ZX_ERR_CANCELED: The in-progress operation (e.g. a wait) has been
// canceled.
#define ZX_ERR_CANCELED (-23)

// ZX_ERR_PEER_CLOSED: The operation failed because the remote end of the
// subject of the operation was closed.
#define ZX_ERR_PEER_CLOSED (-24)

// ZX_ERR_NOT_FOUND: The requested entity is not found.
#define ZX_ERR_NOT_FOUND (-25)

// ZX_ERR_ALREADY_EXISTS: An object with the specified identifier
// already exists.
// Example: Attempting to create a file when a file already exists
// with that name.
#define ZX_ERR_ALREADY_EXISTS (-26)

// ZX_ERR_ALREADY_BOUND: The operation failed because the named entity
// is already owned or controlled by another entity. The operation
// could succeed later if the current owner releases the entity.
#define ZX_ERR_ALREADY_BOUND (-27)

// ZX_ERR_UNAVAILABLE: The subject of the operation is currently unable
// to perform the operation.
// Note: This is used when there's no direct way for the caller to
// observe when the subject will be able to perform the operation
// and should thus retry.
#define ZX_ERR_UNAVAILABLE (-28)

// ======= Permission check errors =======
// ZX_ERR_ACCESS_DENIED: The caller did not have permission to perform
// the specified operation.
#define ZX_ERR_ACCESS_DENIED (-30)

// ======= Input-output errors =======
// ZX_ERR_IO: Otherwise unspecified error occurred during I/O.
#define ZX_ERR_IO (-40)

// ZX_ERR_REFUSED: The entity the I/O operation is being performed on
// rejected the operation.
// Example: an I2C device NAK'ing a transaction or a disk controller
// rejecting an invalid command, or a stalled USB endpoint.
#define ZX_ERR_IO_REFUSED (-41)

// ZX_ERR_IO_DATA_INTEGRITY: The data in the operation failed an integrity
// check and is possibly corrupted.
// Example: CRC or Parity error.
#define ZX_ERR_IO_DATA_INTEGRITY (-42)

// ZX_ERR_IO_DATA_LOSS: The data in the operation is currently unavailable
// and may be permanently lost.
// Example: A disk block is irrecoverably damaged.
#define ZX_ERR_IO_DATA_LOSS (-43)

// ZX_ERR_IO_NOT_PRESENT: The device is no longer available (has been
// unplugged from the system, powered down, or the driver has been
// unloaded)
#define ZX_ERR_IO_NOT_PRESENT (-44)

// ZX_ERR_IO_OVERRUN: More data was received from the device than expected.
// Example: a USB "babble" error due to a device sending more data than
// the host queued to receive.
#define ZX_ERR_IO_OVERRUN (-45)

// ZX_ERR_IO_MISSED_DEADLINE: An operation did not complete within the required timeframe.
// Example: A USB isochronous transfer that failed to complete due to an overrun or underrun.
#define ZX_ERR_IO_MISSED_DEADLINE (-46)

// ZX_ERR_IO_INVALID: The data in the operation is invalid parameter or is out of range.
// Example: A USB transfer that failed to complete with TRB Error
#define ZX_ERR_IO_INVALID (-47)

// ======== Filesystem Errors ========
// ZX_ERR_BAD_PATH: Path name is too long.
#define ZX_ERR_BAD_PATH (-50)

// ZX_ERR_NOT_DIR: Object is not a directory or does not support
// directory operations.
// Example: Attempted to open a file as a directory or
// attempted to do directory operations on a file.
#define ZX_ERR_NOT_DIR (-51)

// ZX_ERR_NOT_FILE: Object is not a regular file.
#define ZX_ERR_NOT_FILE (-52)

// ZX_ERR_FILE_BIG: This operation would cause a file to exceed a
// filesystem-specific size limit
#define ZX_ERR_FILE_BIG (-53)

// ZX_ERR_NO_SPACE: Filesystem or device space is exhausted.
#define ZX_ERR_NO_SPACE (-54)

// ZX_ERR_NOT_EMPTY: Directory is not empty.
#define ZX_ERR_NOT_EMPTY (-55)

// ======== Flow Control ========
// These are not errors, as such, and will never be returned
// by a syscall or public API.  They exist to allow callbacks
// to request changes in operation.
//
// ZX_ERR_STOP: Do not call again.
// Example: A notification callback will be called on every
// event until it returns something other than ZX_OK.
// This status allows differentiation between "stop due to
// an error" and "stop because the work is done."
#define ZX_ERR_STOP (-60)

// ZX_ERR_NEXT: Advance to the next item.
// Example: A notification callback will use this response
// to indicate it did not "consume" an item passed to it,
// but by choice, not due to an error condition.
#define ZX_ERR_NEXT (-61)

// ZX_ERR_ASYNC: Ownership of the item has moved to an asynchronous worker.
//
// Unlike ZX_ERR_STOP, which implies that iteration on an object
// should stop, and ZX_ERR_NEXT, which implies that iteration
// should continue to the next item, ZX_ERR_ASYNC implies
// that an asynchronous worker is responsible for continuing iteration.
//
// Example: A notification callback will be called on every
// event, but one event needs to handle some work asynchronously
// before it can continue. ZX_ERR_ASYNC implies the worker is
// responsible for resuming iteration once its work has completed.
#define ZX_ERR_ASYNC (-62)

// ======== Network-related errors ========

// ZX_ERR_PROTOCOL_NOT_SUPPORTED: Specified protocol is not
// supported.
#define ZX_ERR_PROTOCOL_NOT_SUPPORTED (-70)

// ZX_ERR_ADDRESS_UNREACHABLE: Host is unreachable.
#define ZX_ERR_ADDRESS_UNREACHABLE (-71)

// ZX_ERR_ADDRESS_IN_USE: Address is being used by someone else.
#define ZX_ERR_ADDRESS_IN_USE (-72)

// ZX_ERR_NOT_CONNECTED: Socket is not connected.
#define ZX_ERR_NOT_CONNECTED (-73)

// ZX_ERR_CONNECTION_REFUSED: Remote peer rejected the connection.
#define ZX_ERR_CONNECTION_REFUSED (-74)

// ZX_ERR_CONNECTION_RESET: Connection was reset.
#define ZX_ERR_CONNECTION_RESET (-75)

// ZX_ERR_CONNECTION_ABORTED: Connection was aborted.
#define ZX_ERR_CONNECTION_ABORTED (-76)

#endif  // SYSROOT_ZIRCON_ERRORS_H_
