include/pantheios/backends/bec.Win32Console.h

Go to the documentation of this file.
00001 /* /////////////////////////////////////////////////////////////////////////
00002  * File:        pantheios/backends/bec.Win32Console.h
00003  *
00004  * Purpose:     Declaration of the Pantheios Win32Console Stock Back-end API.
00005  *
00006  * Created:     17th July 2006
00007  * Updated:     1st September 2006
00008  *
00009  * Author:      Matthew Wilson
00010  *
00011  * Home:        http://www.pantheios.org/
00012  *
00013  * Copyright:   Matthew Wilson, 2005-2006.
00014  *
00015  * Redistribution and use in source and binary forms, with or without
00016  * modification, are permitted provided that the following conditions are met:
00017  *
00018  * - Redistributions of source code must retain the above copyright notice, this
00019  *   list of conditions and the following disclaimer.
00020  * - Redistributions in binary form must reproduce the above copyright notice,
00021  *   this list of conditions and the following disclaimer in the documentation
00022  *   and/or other materials provided with the distribution.
00023  * - Neither the names of Matthew Wilson and Synesis Software nor the names of
00024  *   any contributors may be used to endorse or promote products derived from
00025  *   this software without specific prior written permission.
00026  *
00027  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
00028  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00029  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
00030  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
00031  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
00032  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
00033  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
00034  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
00035  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
00036  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
00037  * POSSIBILITY OF SUCH DAMAGE.
00038  *
00039  * ////////////////////////////////////////////////////////////////////// */
00040 
00041 
00047 #ifndef PANTHEIOS_INCL_PANTHEIOS_BACKENDS_H_WIN32CONSOLE_SRC
00048 #define PANTHEIOS_INCL_PANTHEIOS_BACKENDS_H_WIN32CONSOLE_SRC
00049 
00050 /* /////////////////////////////////////////////////////////////////////////
00051  * Includes
00052  */
00053 
00054 #include <pantheios/pantheios.h>
00055 #include <pantheios/backend.h>
00056 
00063 /* /////////////////////////////////////////////////////////////////////////
00064  * Constants
00065  */
00066 
00102 #define PANTHEIOS_BE_WIN32CONSOLE_F_NO_PROCESS_ID   (0x00000001)
00103 #define PANTHEIOS_BE_WIN32CONSOLE_F_NO_TIME         (0x00000002)
00104 #define PANTHEIOS_BE_WIN32CONSOLE_F_NO_SEVERITY     (0x00000004)
00105 #define PANTHEIOS_BE_WIN32CONSOLE_F_USE_SYSTEM_TIME (0x00000008)
00106 
00107 #define PANTHEIOS_BE_WIN32CONSOLE_F_NO_COLOURS      (0x00010000)
00108 
00109 /* /////////////////////////////////////////////////////////////////////////
00110  * Typedefs
00111  */
00112 
00117 struct pan_be_Win32Console_init_t
00118 {
00119 #if !defined(PANTHEIOS_DOCUMENTATION_SKIP_SECTION) && \
00120     !defined(PANTHEIOS_NO_NAMESPACE)
00121     typedef pantheios::pan_uint16_t pan_uint16_t;
00122     typedef pantheios::pan_uint32_t pan_uint32_t;
00123 #endif /* !PANTHEIOS_DOCUMENTATION_SKIP_SECTION && !PANTHEIOS_NO_NAMESPACE */
00124 
00125     pan_uint32_t    flags;      
00126     pan_uint16_t    colours[8]; 
00127 };
00128 #ifndef __cplusplus
00129 typedef struct pan_be_Win32Console_init_t   pan_be_Win32Console_init_t;
00130 #endif /* !__cplusplus */
00131 
00132 /* /////////////////////////////////////////////////////////////////////////
00133  * Application-defined functions
00134  */
00135 
00164 PANTHEIOS_CALL(void) pantheios_be_Win32Console_getAppInit(int backEndId, pan_be_Win32Console_init_t *init) /* throw() */;
00165 
00166 /* /////////////////////////////////////////////////////////////////////////
00167  * API functions
00168  */
00169 
00182 PANTHEIOS_CALL(void) pantheios_be_Win32Console_getDefaultAppInit(pan_be_Win32Console_init_t *init) /* throw() */;
00183 
00187 PANTHEIOS_CALL(int) pantheios_be_Win32Console_init( char const                          *processIdentity
00188                                                 ,   int                                 id
00189                                                 ,   pan_be_Win32Console_init_t const    *init
00190                                                 ,   void                                *param
00191                                                 ,   void                                **ptoken);
00192 
00196 PANTHEIOS_CALL(void) pantheios_be_Win32Console_uninit(  void        *token);
00197 
00201 PANTHEIOS_CALL(int) pantheios_be_Win32Console_logEntry( void        *feToken
00202                                                     ,   void        *beToken
00203                                                     ,   int         severity
00204                                                     ,   char const  *entry
00205                                                     ,   size_t      cchEntry);
00206 
00207 /* ////////////////////////////////////////////////////////////////////// */
00208 
00209 #endif /* PANTHEIOS_INCL_PANTHEIOS_BACKENDS_H_WIN32CONSOLE_SRC */
00210 
00211 /* ////////////////////////////////////////////////////////////////////// */

pantheios Library documentation © Matthew Wilson, 2006 SourceForge.net Logo