# Alphabetical error summary

All Natural Access functions return SUCCESS (0) or an error code indicating that the function failed and a reason for the failure.

The SWIERR_ and CTAERR_DRIVER_ERROR errors returned by some PPX functions can be returned from calls made by the PPX service to swiSendPattern, swiDisableOutput, or swiMakeConnection. If these errors occur, validate that the bus streams and timeslots defined within the ppx.cfg file are accurate in the bus definitions and within the switch definition for INPUTS and OUTPUTS.

The PPX service error and event codes are defined in the ppxdef.h include file. The Natural Access error codes and the SWI service error codes are defined in the ctaerr.h and swidef.h include files.

The following table lists the PPX service errors in alphabetical order. All errors are 32-bit.

Error name | Hexadecimal | Decimal | Description
--- | --- | --- | ---
PPXERR_CFG_FAILED | 0x170004 | 1507334 | PPX configuration file has an error.
PPXERR_COMM_FAILURE | 0x17000A | 1507335 | Cannot communicate with PPX server.
PPXERR_CONN_OWNERSHIP | 0x17000E | 1507336 | Attempt was made to disconnect a connection where the listener point is not owned by the calling application or the connection was nailed up.
PPXERR_CONNECTION_ALREADY_EXISTS | 0x170002 | 1507337 | Specified connection already exists.
PPXERR_DISABLED | 0x17000F | 1507338 | Specified switch has been disabled.
PPXERR_DRIVER_OPEN_FAILED | 0x17000C | 1507339 | Driver open failed, or the driver DLL or device was not found. Validate that the DeviceName and DeviceNumber fields are accurate in the ppx.cfg switch definitions.
PPXERR_INVALID_COMMAND | 0x170000 | 1507340 | Invalid command in a Begin/Submit block.
PPXERR_INVALID_COUNT | 0x170009 | 1507341 | Number of listeners in array of listeners does not match the count specified.
PPXERR_INVALID_SWITCH | 0x17000B | 1507342 | Switch number specified is inaccessible from the specified bus, stream, and timeslot.
PPXERR_LISTENER_BUSY | 0x170001 | 1507343 | Listener is already connected to a connection block or the listener is already configured as an input.
PPXERR_NO_CFG_FILE | 0x170010 | 1507344 | Cannot locate configuration file.
PPXERR_NO_PATH | 0x170005 | 1507345 | Cannot find a connection path between the two endpoints.
PPXERR_NOT_CONNECTED | 0x17000D | 1507346 | Listener is not receiving input from the talker.
PPXERR_NOT_LISTENER | 0x170007 | 1507347 | Listener is not capable of receiving output from the connection.
PPXERR_NOT_TALKER | 0x170008 | 1507348 | Talker is not capable of driving output to the connection.
PPXERR_UNKNOWN_SWITCHTYPE | 0x170003 | 1507349 | Switch type is invalid. Check the PPX configuration file.