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