You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

74 lines
2.4 KiB

/* /////////////////////////////////////////////////////////////////////////
* File: examples/c/example.c.extended_severity/example.c.extended_severity.c
*
* Purpose: C example program for Pantheios. Demonstrates:
*
* - how the Pantheios libraries must be explicitly
* initialised in a C program; this is not the case in
* C++ programs
* - use of extended severity information, via
* PANTHEIOS_MAKE_EXTENDED_SEVERITY()
*
* Created: 21st May 2009
* Updated: 22nd March 2010
*
* www: http://www.pantheios.org/
*
* License: This source code is placed into the public domain 2006
* by Synesis Software Pty Ltd. There are no restrictions
* whatsoever to your use of the software.
*
* This software is provided "as is", and any warranties,
* express or implied, of any kind and for any purpose, are
* disclaimed.
*
* ////////////////////////////////////////////////////////////////////// */
/* Pantheios Header Files */
#include <pantheios/pantheios.h>
/* Standard C Header Files */
#include <stdlib.h>
/* /////////////////////////////////////////////////////////////////////////
* Compiler compatibility
*/
#ifdef STLSOFT_COMPILER_IS_BORLAND
# pragma warn -8008
# pragma warn -8066
#endif
/* ////////////////////////////////////////////////////////////////////// */
/* Define the stock front-end process identity, so that it links when using
* fe.N, fe.simple, etc. */
const PAN_CHAR_T PANTHEIOS_FE_PROCESS_IDENTITY[] = PANTHEIOS_LITERAL_STRING("example.c.extended_severity");
/* ////////////////////////////////////////////////////////////////////// */
int main()
{
int i = pantheios_init();
if(i >= 0)
{
/* 1. Using the Pantheios API macro PANTHEIOS_MAKE_EXTENDED_SEVERITY() */
pantheios_logprintf(PANTHEIOS_MAKE_EXTENDED_SEVERITY(PANTHEIOS_SEV_NOTICE, 10), PANTHEIOS_LITERAL_STRING("hello"));
/* 2 (a). In your code, you'd define your own, most succinct, symbol, e.g. ACME_XSEV(sev, xi28) */
#define ACME_XSEV(sev, xi28) PANTHEIOS_MAKE_EXTENDED_SEVERITY(PANTHEIOS_SEV_ ## sev, xi28)
/* 2 (b). and use it as follows */
pantheios_logprintf(ACME_XSEV(NOTICE, 10), PANTHEIOS_LITERAL_STRING("hello"));
pantheios_uninit();
}
return EXIT_SUCCESS;
}
/* ///////////////////////////// end of file //////////////////////////// */