/* ################################################################### ** This component module is generated by Processor Expert. Do not modify it. ** Filename : McuXFormat.h ** Project : FRDM-K64F_Generator ** Processor : MK64FN1M0VLL12 ** Component : XFormat ** Version : Component 01.026, Driver 01.00, CPU db: 3.00.000 ** Compiler : GNU C Compiler ** Date/Time : 2020-08-13, 18:42, # CodeGen: 675 ** Abstract : ** ** Settings : ** ** Contents : ** xvformat - unsigned McuXFormat_xvformat(void (*outchar)(void *,char), void *arg, const... ** xformat - unsigned McuXFormat_xformat(void (*outchar)(void *,char), void *arg, const... ** xsprintf - int McuXFormat_xsprintf(char *buf, const char *fmt, ...); ** xsnprintf - int McuXFormat_xsnprintf(char *buf, size_t max_len, const char *fmt, ...); ** Deinit - void McuXFormat_Deinit(void); ** Init - void McuXFormat_Init(void); ** ** * Copyright : (c) Copyright Mario Viara, 2014-2020, https://github.com/MarioViara/xprintfc ** * Adopted for Processor Expert: Erich Styger ** * xsnprintf() contributed by Engin Lee ** * Web: https://mcuoneclipse.com ** * SourceForge: https://sourceforge.net/projects/mcuoneclipse ** * Git: https://github.com/ErichStyger/McuOnEclipse_PEx ** * All rights reserved. ** * ** * Redistribution and use in source and binary forms, with or without modification, ** * are permitted provided that the following conditions are met: ** * ** * - Redistributions of source code must retain the above copyright notice, this list ** * of conditions and the following disclaimer. ** * ** * - Redistributions in binary form must reproduce the above copyright notice, this ** * list of conditions and the following disclaimer in the documentation and/or ** * other materials provided with the distribution. ** * ** * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ** * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED ** * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE ** * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ** * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES ** * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; ** * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ** * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS ** * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ** ###################################################################*/ /*! ** @file McuXFormat.h ** @version 01.00 ** @brief ** */ /*! ** @addtogroup McuXFormat_module McuXFormat module documentation ** @{ */ #ifndef __McuXFormat_H #define __McuXFormat_H /* MODULE McuXFormat. */ #include "McuLib.h" /* SDK and API used */ #include "McuXFormatconfig.h" /* configuration */ /* other includes needed */ #include /* open argument list support */ #include /* for size_t */ /* GCC have printf type attribute check. */ #ifdef __GNUC__ /* inform the GNU compiler about printf() style functions, so the compiler can check the arguments */ #define McuXFormat_PRINTF_ATTRIBUTE(a,b) __attribute__ ((__format__ (__printf__, a, b))) #else #define McuXFormat_PRINTF_ATTRIBUTE(a,b) #endif /* __GNUC__ */ /* low level functions */ int xsnprintf(char *buf, size_t max_len, const char *fmt, va_list args); int xsprintf(char *buf, const char *fmt, va_list args); unsigned McuXFormat_xformat(void (*outchar)(void *,char), void *arg, const char * fmt, ...) McuXFormat_PRINTF_ATTRIBUTE(3,4); /* ** =================================================================== ** Method : xformat (component XFormat) ** ** Description : ** Printf() like function using variable arguments ** Parameters : ** NAME - DESCRIPTION ** outchar - Function pointer to output one new ** character ** arg - Argument for the output function ** fmt - Format options for the list of parameters ** openArgList - Open argument list ** Returns : ** --- - Error code ** =================================================================== */ unsigned McuXFormat_xvformat(void (*outchar)(void *,char), void *arg, const char * fmt, va_list args); /* ** =================================================================== ** Method : xvformat (component XFormat) ** ** Description : ** Printf() like format function ** Parameters : ** NAME - DESCRIPTION ** outchar - Function pointer to the function ** to output one char. ** * arg - Argument for the output function. ** fmt - Format options for the list of parameters. ** args - List of parameters ** Returns : ** --- - Error code ** =================================================================== */ int McuXFormat_xsprintf(char *buf, const char *fmt, ...) McuXFormat_PRINTF_ATTRIBUTE(2,3); /* ** =================================================================== ** Method : xsprintf (component XFormat) ** ** Description : ** sprintf() like function ** Parameters : ** NAME - DESCRIPTION ** * buf - Pointer to buffer to be written ** * fmt - Pointer to formatting string ** argList - Open Argument List ** Returns : ** --- - number of characters written, negative for ** error case ** =================================================================== */ int McuXFormat_xsnprintf(char *buf, size_t max_len, const char *fmt, ...) McuXFormat_PRINTF_ATTRIBUTE(3,4); /* ** =================================================================== ** Method : xsnprintf (component XFormat) ** ** Description : ** snprintf() like function, returns the number of characters ** written, negative in case of error. ** Parameters : ** NAME - DESCRIPTION ** * buf - Pointer to buffer to be written ** max_len - size of output buffer (in size) ** * fmt - Pointer to formatting string ** argList - Open Argument List ** Returns : ** --- - number of characters written, negative for ** error case ** =================================================================== */ void McuXFormat_Init(void); /* ** =================================================================== ** Method : Init (component XFormat) ** ** Description : ** Driver initialization routine ** Parameters : None ** Returns : Nothing ** =================================================================== */ void McuXFormat_Deinit(void); /* ** =================================================================== ** Method : Deinit (component XFormat) ** ** Description : ** Driver de-initialization routine ** Parameters : None ** Returns : Nothing ** =================================================================== */ /* END McuXFormat. */ #endif /* ifndef __McuXFormat_H */ /*! ** @} */