include/pantheios/backends/bec.Win32Debugger.h

Go to the documentation of this file.
00001 /* /////////////////////////////////////////////////////////////////////////
00002  * File:        pantheios/backends/bec.Win32Debugger.h
00003  *
00004  * Purpose:     Declaration of the Pantheios Win32Debugger Stock Back-end API.
00005  *
00006  * Created:     21st June 2005
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_WIN32DEBUGGER_SRC
00048 #define PANTHEIOS_INCL_PANTHEIOS_BACKENDS_H_WIN32DEBUGGER_SRC
00049 
00050 /* /////////////////////////////////////////////////////////////////////////
00051  * Includes
00052  */
00053 
00054 #include <pantheios/pantheios.h>
00055 #include <pantheios/backend.h>
00056 
00062 /* /////////////////////////////////////////////////////////////////////////
00063  * Constants
00064  */
00065 
00095 #define PANTHEIOS_BE_WIN32DEBUGGER_F_NO_PROCESS_ID      (0x00000001)
00096 #define PANTHEIOS_BE_WIN32DEBUGGER_F_NO_TIME            (0x00000002)
00097 #define PANTHEIOS_BE_WIN32DEBUGGER_F_NO_SEVERITY        (0x00000004)
00098 #define PANTHEIOS_BE_WIN32DEBUGGER_F_USE_SYSTEM_TIME    (0x00000008)
00099 
00100 /* /////////////////////////////////////////////////////////////////////////
00101  * Typedefs
00102  */
00103 
00109 struct pan_be_Win32Debugger_init_t
00110 {
00111 #if !defined(PANTHEIOS_DOCUMENTATION_SKIP_SECTION) && \
00112     !defined(PANTHEIOS_NO_NAMESPACE)
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 };
00118 #ifndef __cplusplus
00119 typedef struct pan_be_Win32Debugger_init_t   pan_be_Win32Debugger_init_t;
00120 #endif /* !__cplusplus */
00121 
00122 /* /////////////////////////////////////////////////////////////////////////
00123  * Application-defined functions
00124  */
00125 
00132 PANTHEIOS_CALL(void) pantheios_be_Win32Debugger_getAppInit(int backEndId, pan_be_Win32Debugger_init_t *init) /* throw() */;
00133 
00134 /* /////////////////////////////////////////////////////////////////////////
00135  * API
00136  */
00137 
00143 PANTHEIOS_CALL(void) pantheios_be_Win32Debugger_getDefaultAppInit(pan_be_Win32Debugger_init_t *init) /* throw() */;
00144 
00148 PANTHEIOS_CALL(int) pantheios_be_Win32Debugger_init(char const                          *processIdentity
00149                                                 ,   int                                 id
00150                                                 ,   pan_be_Win32Debugger_init_t const   *init
00151                                                 ,   void                                *reserved
00152                                                 ,   void                                **ptoken);
00153 
00157 PANTHEIOS_CALL(void) pantheios_be_Win32Debugger_uninit( void        *token);
00158 
00162 PANTHEIOS_CALL(int) pantheios_be_Win32Debugger_logEntry(void        *feToken
00163                                                     ,   void        *beToken
00164                                                     ,   int         severity
00165                                                     ,   char const  *entry
00166                                                     ,   size_t      cchEntry);
00167 
00168 /* ////////////////////////////////////////////////////////////////////// */
00169 
00170 #endif /* PANTHEIOS_INCL_PANTHEIOS_BACKENDS_H_WIN32DEBUGGER_SRC */
00171 
00172 /* ////////////////////////////////////////////////////////////////////// */

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