include/pantheios/backends/bec.Win32syslog.h

Go to the documentation of this file.
00001 /* /////////////////////////////////////////////////////////////////////////
00002  * File:        pantheios/backends/bec.Win32syslog.h
00003  *
00004  * Purpose:     Declaration of the Pantheios Win32-SysLog Stock Back-end API.
00005  *
00006  * Created:     23rd September 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_WIN32SYSLOG_SRC
00048 #define PANTHEIOS_INCL_PANTHEIOS_BACKENDS_H_WIN32SYSLOG_SRC
00049 
00050 /* /////////////////////////////////////////////////////////////////////////
00051  * Includes
00052  */
00053 
00054 #include <pantheios/pantheios.h>
00055 #include <pantheios/backend.h>
00056 
00063 /* /////////////////////////////////////////////////////////////////////////
00064  * Constants
00065  */
00066 
00078 #define PANTHEIOS_BE_WIN32SYSLOG_F_USE_SYSTEM_TIME  (0x00000008)
00079 
00080 /* /////////////////////////////////////////////////////////////////////////
00081  * Typedefs
00082  */
00083 
00088 struct pan_be_Win32syslog_init_t
00089 {
00090 #if !defined(PANTHEIOS_DOCUMENTATION_SKIP_SECTION) && \
00091     !defined(PANTHEIOS_NO_NAMESPACE)
00092     typedef pantheios::pan_uint8_t  pan_uint8_t;
00093     typedef pantheios::pan_uint16_t pan_uint16_t;
00094     typedef pantheios::pan_uint32_t pan_uint32_t;
00095 #endif /* !PANTHEIOS_DOCUMENTATION_SKIP_SECTION && !PANTHEIOS_NO_NAMESPACE */
00096 
00097     pan_uint32_t    flags;      
00098     size_t          addrSize;   
00099     pan_uint8_t     bytes[6];   
00100     char const      *hostName;  
00101     pan_uint16_t    port;       
00102 };
00103 #if !defined(__cplusplus)
00104 typedef struct pan_be_Win32syslog_init_t    pan_be_Win32syslog_init_t;
00105 #endif /* !__cplusplus */
00106 
00107 
00108 /* /////////////////////////////////////////////////////////////////////////
00109  * Application-defined functions
00110  */
00111 
00121 PANTHEIOS_CALL(void) pantheios_be_Win32syslog_getAppInit(int backEndId, pan_be_Win32syslog_init_t *init) /* throw() */;
00122 
00123 /* /////////////////////////////////////////////////////////////////////////
00124  * API
00125  */
00126 
00139 PANTHEIOS_CALL(void) pantheios_be_Win32syslog_getDefaultAppInit(pan_be_Win32syslog_init_t *init) /* throw() */;
00140 
00144 PANTHEIOS_CALL(int) pantheios_be_Win32syslog_init(  char const                      *processIdentity
00145                                                 ,   int                             id
00146                                                 ,   pan_be_Win32syslog_init_t const *init
00147                                                 ,   void                            *reserved
00148                                                 ,   void                            **ptoken);
00149 
00153 PANTHEIOS_CALL(void) pantheios_be_Win32syslog_uninit(   void        *token);
00154 
00158 PANTHEIOS_CALL(int) pantheios_be_Win32syslog_logEntry(  void        *feToken
00159                                                     ,   void        *beToken
00160                                                     ,   int         severity
00161                                                     ,   char const  *entry
00162                                                     ,   size_t      cchEntry);
00163 
00164 /* ////////////////////////////////////////////////////////////////////// */
00165 
00166 #endif /* PANTHEIOS_INCL_PANTHEIOS_BACKENDS_H_WIN32SYSLOG_SRC */
00167 
00168 /* ////////////////////////////////////////////////////////////////////// */

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