|
|
|
|
|
00001 /* ///////////////////////////////////////////////////////////////////////// 00002 * File: pantheios/backends/bec.WindowsConsole.h 00003 * 00004 * Purpose: Declaration of the Pantheios WindowsConsole Stock Back-end API. 00005 * 00006 * Created: 17th July 2006 00007 * Updated: 11th July 2008 00008 * 00009 * Author: Matthew Wilson 00010 * 00011 * Home: http://www.pantheios.org/ 00012 * 00013 * Copyright: Matthew Wilson, 2006-2008. 00014 * 00015 * Redistribution and use in source and binary forms, with or without 00016 * modification, are permitted provided that the following conditions are 00017 * met: 00018 * 00019 * - Redistributions of source code must retain the above copyright notice, 00020 * this list of conditions and the following disclaimer. 00021 * - Redistributions in binary form must reproduce the above copyright 00022 * notice, this list of conditions and the following disclaimer in the 00023 * documentation and/or other materials provided with the distribution. 00024 * - Neither the name(s) of Matthew Wilson and Synesis Software nor the 00025 * names of any contributors may be used to endorse or promote products 00026 * derived from this software without specific prior written permission. 00027 * 00028 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 00029 * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 00030 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 00031 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 00032 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 00033 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 00034 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 00035 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 00036 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 00037 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 00038 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 00039 * 00040 * ////////////////////////////////////////////////////////////////////// */ 00041 00042 00048 #ifndef PANTHEIOS_INCL_PANTHEIOS_BACKENDS_H_BEC_WINDOWSCONSOLE 00049 #define PANTHEIOS_INCL_PANTHEIOS_BACKENDS_H_BEC_WINDOWSCONSOLE 00050 00051 /* ///////////////////////////////////////////////////////////////////////// 00052 * Version information 00053 */ 00054 00055 #ifndef PANTHEIOS_DOCUMENTATION_SKIP_SECTION 00056 # define PANTHEIOS_VER_PANTHEIOS_BACKENDS_H_BEC_WINDOWSCONSOLE_MAJOR 4 00057 # define PANTHEIOS_VER_PANTHEIOS_BACKENDS_H_BEC_WINDOWSCONSOLE_MINOR 3 00058 # define PANTHEIOS_VER_PANTHEIOS_BACKENDS_H_BEC_WINDOWSCONSOLE_REVISION 2 00059 # define PANTHEIOS_VER_PANTHEIOS_BACKENDS_H_BEC_WINDOWSCONSOLE_EDIT 17 00060 #endif /* !PANTHEIOS_DOCUMENTATION_SKIP_SECTION */ 00061 00062 /* ///////////////////////////////////////////////////////////////////////// 00063 * Includes 00064 */ 00065 00066 #ifndef PANTHEIOS_INCL_PANTHEIOS_H_PANTHEIOS 00067 # include <pantheios/pantheios.h> 00068 #endif /* !PANTHEIOS_INCL_PANTHEIOS_H_PANTHEIOS */ 00069 #ifndef PANTHEIOS_INCL_PANTHEIOS_H_BACKEND 00070 # include <pantheios/backend.h> 00071 #endif /* !PANTHEIOS_INCL_PANTHEIOS_H_BACKEND */ 00072 00073 /* ///////////////////////////////////////////////////////////////////////// 00074 * Documentation 00075 */ 00076 00083 /* ///////////////////////////////////////////////////////////////////////// 00084 * Constants 00085 */ 00086 00098 #define PANTHEIOS_BE_WINDOWSCONSOLE_F_NO_COLOURS (0x00100000) 00099 00100 /* ///////////////////////////////////////////////////////////////////////// 00101 * Typedefs 00102 */ 00103 00108 struct pan_be_WindowsConsole_init_t 00109 { 00110 #if !defined(PANTHEIOS_DOCUMENTATION_SKIP_SECTION) && \ 00111 !defined(PANTHEIOS_NO_NAMESPACE) 00112 typedef pantheios::pan_uint16_t pan_uint16_t; 00113 typedef pantheios::pan_uint32_t pan_uint32_t; 00114 #endif /* !PANTHEIOS_DOCUMENTATION_SKIP_SECTION && !PANTHEIOS_NO_NAMESPACE */ 00115 00116 pan_uint32_t flags; 00117 pan_uint16_t colours[8]; 00119 #ifdef __cplusplus 00120 public: 00121 # ifndef PANTHEIOS_BE_INIT_NO_CPP_STRUCT_INIT 00122 pan_be_WindowsConsole_init_t(); 00123 # endif /* !PANTHEIOS_BE_INIT_NO_CPP_STRUCT_INIT */ 00124 #endif /* __cplusplus */ 00125 }; 00126 #ifndef __cplusplus 00127 typedef struct pan_be_WindowsConsole_init_t pan_be_WindowsConsole_init_t; 00128 #endif /* !__cplusplus */ 00129 00130 /* ///////////////////////////////////////////////////////////////////////// 00131 * Application-defined functions 00132 */ 00133 00162 PANTHEIOS_CALL(void) pantheios_be_WindowsConsole_getAppInit(int backEndId, pan_be_WindowsConsole_init_t* init) /* throw() */; 00163 00164 /* ///////////////////////////////////////////////////////////////////////// 00165 * API functions 00166 */ 00167 00180 PANTHEIOS_CALL(void) pantheios_be_WindowsConsole_getDefaultAppInit(pan_be_WindowsConsole_init_t* init) /* throw() */; 00181 00185 PANTHEIOS_CALL(int) pantheios_be_WindowsConsole_init( char const* processIdentity 00186 , int id 00187 , pan_be_WindowsConsole_init_t const* init 00188 , void* param 00189 , void** ptoken); 00190 00194 PANTHEIOS_CALL(void) pantheios_be_WindowsConsole_uninit(void* token); 00195 00199 PANTHEIOS_CALL(int) pantheios_be_WindowsConsole_logEntry( void* feToken 00200 , void* beToken 00201 , int severity 00202 , char const* entry 00203 , size_t cchEntry); 00204 00230 PANTHEIOS_CALL(int) pantheios_be_WindowsConsole_parseArgs( size_t numArgs 00231 #ifdef PANTHEIOS_NO_NAMESPACE 00232 , struct pan_slice_t* const args 00233 #else /* ? PANTHEIOS_NO_NAMESPACE */ 00234 , pantheios::pan_slice_t* const args 00235 #endif /* PANTHEIOS_NO_NAMESPACE */ 00236 , pan_be_WindowsConsole_init_t* init); 00237 00238 00239 /* ////////////////////////////////////////////////////////////////////// */ 00240 00241 #ifdef __cplusplus 00242 # ifndef PANTHEIOS_BE_INIT_NO_CPP_STRUCT_INIT 00243 inline pan_be_WindowsConsole_init_t::pan_be_WindowsConsole_init_t() 00244 { 00245 pantheios_be_WindowsConsole_getDefaultAppInit(this); 00246 } 00247 # endif /* !PANTHEIOS_BE_INIT_NO_CPP_STRUCT_INIT */ 00248 #endif /* __cplusplus */ 00249 00250 /* ////////////////////////////////////////////////////////////////////// */ 00251 00252 #endif /* PANTHEIOS_INCL_PANTHEIOS_BACKENDS_H_BEC_WINDOWSCONSOLE */ 00253 00254 /* ////////////////////////////////////////////////////////////////////// */
|
|
|
| pantheios Library documentation © Matthew Wilson, 2006-2008 |
|

