> ## Documentation Index
> Fetch the complete documentation index at: https://dragonwingdocs-staging.qualcomm.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Object Error Codes

> A value of zero (Object_OK) indicates that the invocation has succeeded.

## Macros

### `Object_isOK`

```c theme={null}
#define Object_isOK ((err) == 0)
```

### `Object_isERROR`

```c theme={null}
#define Object_isERROR ((err) != 0)
```

### `Object_OK`

Indicates that the invocation has succeeded.

```c theme={null}
#define Object_OK 0
```

### `Object_ERROR`

Non-specific, and can be used whenever the error condition does not need to be distinguished from others in the interface.

```c theme={null}
#define Object_ERROR 1
```

### `Object_ERROR_INVALID`

Indicates that the request was not understood by the object.

```c theme={null}
#define Object_ERROR_INVALID 2
```

### `Object_ERROR_SIZE_IN`

Indicates that an input buffer was too large to be marshaled.

```c theme={null}
#define Object_ERROR_SIZE_IN 3
```

### `Object_ERROR_SIZE_OUT`

Indicates that an output buffer was too large to be marshaled.

```c theme={null}
#define Object_ERROR_SIZE_OUT 4
```

### `Object_ERROR_MEM`

Indicates a failure of memory allocation.

```c theme={null}
#define Object_ERROR_MEM 5
```

### `Object_ERROR_USERBASE`

Beginning of the user-defined range.

```c theme={null}
#define Object_ERROR_USERBASE 10
```

### `Object_ERROR_DEFUNCT`

Indicates that the object reference will no longer work.

```c theme={null}
#define Object_ERROR_DEFUNCT -90
```

### `Object_ERROR_ABORT`

Indicates that the caller should return to the point at which it was invoked from a remote domain.

```c theme={null}
#define Object_ERROR_ABORT -91
```

### `Object_ERROR_BADOBJ`

Indicates that the caller provided a mal-formed object structure as a target object or an input parameter.

```c theme={null}
#define Object_ERROR_BADOBJ -92
```

### `Object_ERROR_NOSLOTS`

Indicates that an object could not be returned because the calling domain has reached the maximum number of remote object references on this transport.

```c theme={null}
#define Object_ERROR_NOSLOTS -93
```

### `Object_ERROR_MAXARGS`

Indicates that the args array length exceeds the maximum supported by the object or by some transport between the caller and the object.

```c theme={null}
#define Object_ERROR_MAXARGS -94
```

### `Object_ERROR_MAXDATA`

Indicates the the complete payload (input buffers and/or output buffers) exceed.

```c theme={null}
#define Object_ERROR_MAXDATA -95
```

### `Object_ERROR_UNAVAIL`

Indicates that the destination process cannot fulfill the request at the current time, but that retrying the operation in the future might result in success.

```c theme={null}
#define Object_ERROR_UNAVAIL -96
```

### `Object_ERROR_KMEM`

Indicates a failure of memory allocation outside of the caller's domain and outside of the destination domain.

```c theme={null}
#define Object_ERROR_KMEM -97
```

### `Object_ERROR_REMOTE`

Indicates that a local operation has been requested when the target object is remote.

```c theme={null}
#define Object_ERROR_REMOTE -98
```

### `Object_ERROR_BUSY`

Indicates that the target domain or process is busy and cannot currently accept an invocation.

```c theme={null}
#define Object_ERROR_BUSY -99
```

### `Object_ERROR_AUTH`

Cannot authenticate message.

```c theme={null}
#define Object_ERROR_AUTH -100
```

### `Object_ERROR_REPLAY`

Message has been replayed.

```c theme={null}
#define Object_ERROR_REPLAY -101
```

### `Object_ERROR_MAXREPLAY`

Replay counter cannot be incremented.

```c theme={null}
#define Object_ERROR_MAXREPLAY -102
```

### `Object_ERROR_TIMEOUT`

Call Back Object invocation timed out.

```c theme={null}
#define Object_ERROR_TIMEOUT -103
```
