UmberHubManager/api/lib/BrainStem2/aError.h

114 lines
5.0 KiB
C

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/* */
/* file: aError.h */
/* */
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/* */
/* description: Common error codes. */
/* */
/* */
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/* */
/* Copyright (c) 2018 Acroname Inc. - All Rights Reserved */
/* */
/* This file is part of the BrainStem release. See the license.txt */
/* file included with this package or go to */
/* https://acroname.com/software/brainstem-development-kit */
/* for full license details. */
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
#ifndef _aError_H_
#define _aError_H_
/////////////////////////////////////////////////////////////////////
/// Unified list of Error codes for BrainStem module Interation.
/** \defgroup aErrors Error Interface
* \ref aErrors "aError.h" provides a unified list of error codes. These
* error codes apply accross all API's. Library functions will return one
* of these error codes when appropriate.
*/
/////////////////////////////////////////////////////////////////////
/// The #aErr enum lists the possible error codes for library calls.
/// BrainStem commands generally return a set of unified Error codes.
/// The API tries to be consistent and return these errors from every
/// interaction with the stem.
///
typedef enum {
aErrNone, ///< 0 - Success, no error.
aErrMemory, ///< 1 - Memory allocation.
aErrParam, ///< 2 - Invalid parameter.
aErrNotFound, ///< 3 - Not found.
aErrFileNameLength, ///< 4 - File name too long.
aErrBusy, ///< 5 - Resource busy.
aErrIO, ///< 6 - Input/Output error.
aErrMode, ///< 7 - Invalid Mode.
aErrWrite, ///< 8 - Write error.
aErrRead, ///< 9 - Read error.
aErrEOF, ///< 10 - End of file.
aErrNotReady, ///< 11 - Not ready, no bytes available.
aErrPermission, ///< 12 - Insufficient permissions.
aErrRange, ///< 13 - Value out of range.
aErrSize, ///< 14 - Invalid Size.
aErrOverrun, ///< 15 - Buffer/queue overrun.
aErrParse, ///< 16 - Parse error.
aErrConfiguration, ///< 17 - Configuration error.
aErrTimeout, ///< 18 - Timeout occurred.
aErrInitialization, ///< 19 - Initialization error.
aErrVersion, ///< 20 - Invalid version.
aErrUnimplemented, ///< 21 - Functionality unimplemented.
aErrDuplicate, ///< 22 - Duplicate request.
aErrCancel, ///< 23 - Cancelation occurred, or did not complete.
aErrPacket, ///< 24 - Packet byte invalid.
aErrConnection, ///< 25 - Connection error.
aErrIndexRange, ///< 26 - Index out of range.
aErrShortCommand, ///< 27 - BrainStem command to short.
aErrInvalidEntity, ///< 28 - Invalid entity error.
aErrInvalidOption, ///< 29 - Invalid option code.
aErrResource, ///< 30 - Resource unavailable.
aErrMedia, ///< 31 - Media error.
aErrAsyncReturn, ///< 32 - Asynchronous return.
aErrStreamStale, ///< 33 - Stream value is stale.
/* must be last in list */
aErrUnknown ///< 34 - Unknown error.
} aErr;
typedef aErr aError_t;
#ifndef __reflex
#ifdef __cplusplus
extern "C" {
#endif // __cplusplus
#ifdef _WIN32
#define aLIBEXPORT __declspec(dllexport)
#endif
// Defined with an ifndef here because arc does not understand #else.
#ifndef _WIN32 // Not Windows.
#define aLIBEXPORT __attribute__((visibility ("default")))
#endif
/////////////////////////////////////////////////////////////////////
/// Returns a printable error string.
aLIBEXPORT const char* aError_GetErrorText(aErr err);
/////////////////////////////////////////////////////////////////////
/// Returns a printable error description.
aLIBEXPORT const char* aError_GetErrorDescription(aErr err);
#ifdef __cplusplus
}
#endif // __cplusplus
#endif // !__reflex
#endif /* _aError_H_ */