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.