114 lines
5.0 KiB
C
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_ */
|