nwerrors(3) 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). 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):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.