---
name: "nwerrors"
section: "3ncp"
platform: "linux"
package: "libncp-dev"
version: "2.2.6-9"
release: "Debian 7 (Wheezy)"
platforms: ["linux"]
url: "https://new.carta.tech/nwerrors"
---

# nwerrors(3ncp)

list of error codes returned by libncp calls

## NAME

nwerrors - list of error codes returned by libncp calls

## SYNOPSIS

**#include \<nwcalls.h\>**

**NWE\_\***

**#include \<nwnet.h\>**

**ERR\_\***

## DESCRIPTION

This is list of codes returned by functions in **libncp**. Error codes are split into several groups:

**OK**

When *zero* is returned, call was processed without problems.

**libc errors**

These values are same as *errno* values and they are listed in [*errno*(3)](/errno/3.md). Return value is **libc error** if it is in range  *1-511*.

**RPC errors (obsolete)**

These error codes are returned only by *NWSM\** group of functions. They are in range *512-524*.

**libncp specific errors**

These error codes are in range *0x8700-0x87FF* and are used for reporting non-standard problems in **libncp**.

**requester errors**

These error codes are in range *0x8800-0x88FF* and are used for reporting standard problems in **libncp**.

**server errors**

These error codes in range *0x8900-0x89FF* are error codes returned by server when calling **NCP** functions.

**NDS errors**

Error codes in range *-1000 ... -256* are returned by NDS server system (*-600 ... -799*), by local NDS system (*-300 ... -399*) and by other subsystems (*other*).

**reserved errors**

Range *-255 ... -1* is reserved. If some function returns this value, it is bug (this is probably forgotten **libc** return value (*-1*) or negative *errno* value)). Other ranges, not mentioned in this document, are reserved for future expansion.

## LIBNCP SPECIFIC ERRORS

- *0x8701* **NCPLIB\_INVALID\_MODE**

  \~/.nwclient file has not mode 0600 or 0400 *or*\
   \~/.nwclient file is readable or writeable by group or world

## REQUESTER ERRORS

- *0x880E* **NWE\_BUFFER\_OVERFLOW**

  Requested information is larger than supplied buffer.

- *0x880F* **NWE\_SERVER\_NO\_CONN**

  You have no connection to server (at this time, if ~/.nwclient is empty, this error is returned).

- *0x8816* **NWE\_INVALID\_NCP\_PACKET\_LENGTH**

  Reply returned by server fails in some consistency check (reply is shorter than expected).

- *0x8834* **NWE\_USER\_NO\_NAME**

  User name not specified (returned by ncp\_find\_conn\_spec if user name was not found).

- *0x8836* **NWE\_PARAM\_INVALID**

  Invalid parameter (*NULL*, out of range...) was passed into some  function.

- *0x8847* **NWE\_SERVER\_NOT\_FOUND**

  Specified server was not found (see also *0x89FC*:**NWE\_SERVER\_UNKNOWN**). This error is returned, if ANY server was not found on the network (no response from SAP resolver).

- *0x8861* **NWE\_SIGNATURE\_LEVEL\_CONFLICT**

  Requested signature level is not compatible with server setting.

- *0x8870* **NWE\_INVALID\_LEVEL**

  Unknown information type was requested from **NWCCGetConnInfo**.

- *0x88FF* **NWE\_REQUESTER\_FAILURE**

  Unspecified **libncp** error, **ncp** unavailable and so on.

## SERVER ERRORS

- *0x89D3* **NWE\_Q\_NO\_RIGHTS**

  You have not rights to specified (print) queue.

- *0x89DF* **NWE\_PASSWORD\_EXPIRED**

  Your password has expired, this login was \`grace' login.

- *0x89E9* **NWE\_BIND\_MEMBER\_ALREADY\_EXISTS**

  Object is already in set.

- *0x89FB* **NWE\_NCP\_NOT\_SUPPORTED**

  Attempted function is not available on this version of NetWare.

- *0x89FC* **NWE\_SERVER\_UNKNOWN**

  Server was not found.

- *0x89FD* **NWE\_CONN\_NUM\_INVALID**

  Operation attempted on invalid connection (**NWClearConnection**(3ncp), **NWGetConnInfo**(3ncp), ...) or your own connection timed out (**nds4linux**).

- *0x89FF* **NWE\_SERVER\_FAILURE**

  Unspecified server error (bad parameters passed, LinWare/Mars/Windows on other end of wire, bad password, ...).

## NDS/UNICODE ERRORS

- *-301* **ERR\_NOT\_ENOUGH\_MEMORY**

  Not enough memory (see also [**errno**(3)](/errno/3.md):*ENOMEM*).

- *-302* **ERR\_BAD\_KEY**

  Invalid key value DCK\_\* passed to **NWDSGetContext** or **NWDSSetContext**.

- *-303* **ERR\_BAD\_CONTEXT**

  Invalid **NWDSContextHandle** was passed to some of **NWDS\*** functions.

- *-304* **ERR\_BUFFER\_FULL**

  Information is larger than passed buffer.

- *-307* **ERR\_BUFFER\_EMPTY**

  Requested information does not exist in buffer. It can be programmer's error or unexpected reply from server.

- *-308* **ERR\_BAD\_VERB**

  Operation attempted with buffer prepared for something else or buffer cannot contain requested information.

- *-309* **ERR\_EXPECTED\_IDENTIFIER**

  Object name fails on some check (multiple dots, two equals or plus signs, backslash at the end of name...)

- *-311* **ERR\_ATTR\_TYPE\_EXPECTED**

  If object has multiple naming attributes, you must specify all with or without types, you must not mix it.

- *-312* **ERR\_ATTR\_TYPE\_NOT\_EXPECTED**

  If object has multiple naming attributes, you must specify all without or with types, you must not mix it.

- *-314* **ERR\_INVALID\_OBJECT\_NAME**

  Something is wrong with object name (odd length returned by server, string returned from server is not zero terminated, object name is absolute, but has dot(s) at the end (*.object.tree.*)).

- *-315* **ERR\_EXPECTED\_RDN\_DELIMITER**

  Something is wrong with object name (multiple equal signs without intervening dot or plus sign).

- *-316* **ERR\_TOO\_MANY\_TOKENS**

  Something is wrong with object name (there is more dots at the end of object  name than levels in current context name).

- *-317* **ERR\_INCONSISTENT\_MULTIAVA**

  You are trying to apply default naming rule on typeless name with multiple naming attributes.

- *-318* **ERR\_COUNTRY\_NAME\_TOO\_LONG**

  Country name must not exceed two characters.

- *-319* **ERR\_SYSTEM\_ERROR**

  Something went wrong.

- *-322* **ERR\_INVALID\_HANDLE**

  Application passed invalid iteration handle to one of NWDS\* functions. It is bug in application.

- *-323* **ERR\_BUFFER\_ZERO\_LENGTH**

  Application passed empty request buffer to one of NWDS\* functions. It is bug in application.

- *-328* **ERR\_CONTEXT\_CREATION**

  An error occured in **NWDSCreateContext**. You should use  **NWDSCreateContextHandle**, which has better error reporting.

- *-330* **ERR\_INVALID\_SERVER\_RESPONSE**

  Unexpected reply was returned from server.

- *-331* **ERR\_NULL\_POINTER**

  NULL pointer was passed to some function. Only (some) output parameters can be NULL.

- *-333* **ERR\_NO\_CONNECTION**

  You have not any connection for this context handle. At this moment (2.2.0.17), call NWDSAddConnection(NWDSContextHandle, NWCONN\_HANDLE).

- *-335* **ERR\_DUPLICATE\_TYPE**

  If object has multiple naming attributes, they must not have same name.

- *-337* **ERR\_NOT\_LOGGED\_IN**

  You are trying to authenticate connection before you logged in. You must first do **NWDSLogin** before call to **NWDSAuthenticate**.

- *-338* **ERR\_INVALID\_PASSWORD\_CHARS**

  Invalid characters in password.

- *-340* **ERR\_TRANSPORT**

  Transport not supported / referral addresses does not include any supported protocol.

- *-341* **ERR\_NO\_SUCH\_SYNTAX**

  Invalid Syntax ID was passed to NWDSGet/NWDSPut/NWDSCompute function.

- *-342* **ERR\_INVALID\_DS\_NAME**

  Multiple dots or some other problem (currently only in **RemoveAllTypes**).

- *-348* **ERR\_UNICODE\_FILE\_NOT\_FOUND**

  Tables required for local\<-\>unicode translation were not found (system defaults to *ISO\_8859-1*).

- *-353* **ERR\_DN\_TOO\_LONG**

  Object name is too long.

- *-354* **ERR\_RENAME\_NOT\_ALLOWED**

  **NWDSMoveObject** cannot be used to rename object. Use either **NWDSModifyRDN** or **NWDSModifyDN** function calls.

- *-601* **ERR\_NO\_SUCH\_ENTRY**

  Specified object does not exist.

- *-603* **ERR\_NO\_SUCH\_ATTRIBUTE**

  None of requested attributes exists.

- *-641* **ERR\_INVALID\_REQUEST**

  Server did not understand your request. Either your program did not fill up request buffer properly or server DS is too old.

- *-656* **ERR\_CRUCIAL\_REPLICA**

  Replica cannot be removed (or type cannot be changed) because of it is last master  replica of an partition.

- *-659* **ERR\_TIME\_NOT\_SYNCHRONIZED**

  Server time is not synchronized with rest of tree.

- *-669* **ERR\_FAILED\_AUTHENTICATION**

  Invalid password or authentication time window exceeded.

- *-683* **ERR\_INVALID\_API\_VERSION**

  Server does not support this API version - it is too old. One of examples is **NWDSAddObject** if server does not support fragmented **DSV\_ENTRY\_ADD**, but you asked for it. Another example is **NWDSListPartitionsExtInfo**.

- *-700* **ERR\_OBSOLETE\_API**

  Server does not support this API version - this API call is no longer supported. One of examples is **NWDSRemovePartition** if server runs NDS8.

## BUGS

This manual page is incomplete and some error descriptions are confusing.

## SEE ALSO

[**NWCallsInit**(3ncp)](/NWCallsInit/3ncp.md), **NWCallsTerm**(3ncp)
