Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: xively-jumpstart-demo
xi_err.c
00001 // Copyright (c) 2003-2013, LogMeIn, Inc. All rights reserved. 00002 // This is part of Xively C library, it is under the BSD 3-Clause license. 00003 00004 /** 00005 * \file xi_err.c 00006 * \author Olgierd Humenczuk 00007 * \brief Error handling (POSIX-like) [see xi_err.h] 00008 */ 00009 00010 #include "xi_err.h" 00011 #include "xi_macros.h" 00012 00013 static xi_err_t xi_err = XI_NO_ERR; 00014 00015 const char* xi_err_string[ XI_ERR_COUNT ] = 00016 { 00017 "XI_NO_ERR" 00018 , "XI_OUT_OF_MEMORY" // XI_OUT_OF_MEMORY 00019 , "XI_HTTP_STATUS_PARSE_ERROR" // XI_HTTP_STATUS_PARSE_ERROR 00020 , "XI_HTTP_HEADER_PARSE_ERROR" // XI_HTTP_HEADER_PARSE_ERROR 00021 , "XI_HTTP_PARSE_ERROR" // XI_HTTP_PARSE_ERROR 00022 , "XI_HTTP_ENCODE_CREATE_DATASTREAM" // XI_HTTP_ENCODE_CREATE_DATASTREAM 00023 , "XI_HTTP_ENCODE_UPDATE_DATASTREAM" // XI_HTTP_ENCODE_UPDATE_DATASTREAM 00024 , "XI_HTTP_ENCODE_GET_DATASTREAM" // XI_HTTP_ENCODE_GET_DATASTREAM 00025 , "XI_HTTP_ENCODE_DELETE_DATASTREAM" // XI_HTTP_ENCODE_DELETE_DATASTREAM 00026 , "XI_HTTP_ENCODE_DELETE_DATAPOINT" // XI_HTTP_ENCODE_DELETE_DATAPOINT 00027 , "XI_HTTP_ENCODE_DELETE_RANGE_DATAPOINT" // XI_HTTP_ENCODE_DELETE_RANGE_DATAPOINT 00028 , "XI_HTTP_ENCODE_UPDATE_FEED" // XI_HTTP_ENCODE_UPDATE_FEED 00029 , "XI_HTTP_CONSTRUCT_REQUEST_BUFFER_OVERRUN" // XI_HTTP_CONSTRUCT_REQUEST_BUFFER_OVERRUN 00030 , "XI_HTTP_CONSTRUCT_CONTENT_BUFFER_OVERRUN" // XI_HTTP_CONSTRUCT_CONTENT_BUFFER_OVERRUN 00031 , "XI_CSV_ENCODE_DATAPOINT_BUFFER_OVERRUN" // XI_CSV_ENCODE_DATAPOINT_BUFFER_OVERRUN 00032 , "XI_CSV_ENCODE_DATASTREAM_BUFFER_OVERRUN" // XI_CSV_ENCODE_DATASTREAM_BUFFER_OVERRUN 00033 , "XI_CSV_DECODE_FEED_PARSER_ERROR" // XI_CSV_DECODE_FEED_PARSER_ERROR 00034 , "XI_CSV_DECODE_DATAPOINT_PARSER_ERROR" // XI_CSV_DECODE_DATAPOINT_PARSER_ERROR 00035 , "XI_CSV_TIME_CONVERTION_ERROR" // XI_CSV_TIME_CONVERTION_ERROR 00036 , "XI_SOCKET_INITIALIZATION_ERROR" // XI_SOCKET_INITIALIZATION_ERROR 00037 , "XI_SOCKET_GETHOSTBYNAME_ERROR" // XI_SOCKET_GETHOSTBYNAME_ERROR 00038 , "XI_SOCKET_CONNECTION_ERROR" // XI_SOCKET_CONNECTION_ERROR 00039 , "XI_SOCKET_SHUTDOWN_ERROR" // XI_SOCKET_SHUTDOWN_ERROR 00040 , "XI_SOCKET_WRITE_ERROR" // XI_SOCKET_WRITE_ERROR 00041 , "XI_SOCKET_READ_ERROR" // XI_SOCKET_READ_ERROR 00042 , "XI_SOCKET_CLOSE_ERROR" // XI_SOCKET_CLOSE_ERROR 00043 , "XI_DATAPOINT_VALUE_BUFFER_OVERFLOW" // XI_DATAPOINT_VALUE_BUFFER_OVERFLOW 00044 }; 00045 00046 xi_err_t xi_get_last_error() 00047 { 00048 xi_err_t ret = xi_err; 00049 xi_set_err( XI_NO_ERR ); 00050 return ret; 00051 } 00052 00053 void xi_set_err( xi_err_t e ) 00054 { 00055 xi_err = e; 00056 } 00057 00058 const char* xi_get_error_string( xi_err_t e ) 00059 { 00060 return xi_err_string[ XI_CLAMP( ( short ) e, 0, XI_ERR_COUNT - 1 ) ]; 00061 }
Generated on Wed Jul 13 2022 17:00:32 by
1.7.2