/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* */ /* 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_ */