LTP GCOV extension - code coverage report
Current view: directory - and-httpd/src - vlg.h
Test: And-httpd coverage
Date: 2006-09-11 Instrumented lines: 18
Code covered: 0.0 % Executed lines: 0

       1                 : #ifndef VLG_H
       2                 : #define VLG_H 1
       3                 : 
       4                 : #include <vstr.h>
       5                 : 
       6                 : #include "compiler.h"
       7                 : 
       8                 : #include <stdarg.h>
       9                 : #include <errno.h>
      10                 : 
      11                 : #include "date.h"
      12                 : 
      13                 : #define VLG_DATE_FMT_SYSLOG_TRAD 0
      14                 : #define VLG_DATE_FMT_SYSLOG_YR   1
      15                 : 
      16                 : #define VLG__TM_SYSLOG_SZ 128
      17                 : 
      18                 : typedef struct Vlg
      19                 : {
      20                 :  struct Vstr_base *out_vstr;
      21                 :  struct Vstr_base *sig_out_vstr;
      22                 :  const char *prog_name;
      23                 : 
      24                 :  int syslog_fd;
      25                 : 
      26                 :  Date_store *dt;
      27                 :  Date_store *sig_dt;
      28                 : 
      29                 :  time_t (*tm_get)(void);
      30                 :  
      31                 :  unsigned int syslog_facility;
      32                 : 
      33                 :  size_t log_max_sz;
      34                 :  
      35                 :  unsigned int syslog_stream : 1;
      36                 :  unsigned int log_pid : 1;
      37                 :  unsigned int out_dbg : 2;
      38                 :  unsigned int daemon_mode : 1;
      39                 :  unsigned int log_prefix_console : 1;
      40                 :  unsigned int date_fmt_type : 2; /* 8 */
      41                 :  unsigned int log_syslog_native : 1;
      42                 : } Vlg;
      43                 : 
      44                 : extern void vlg_init(void);
      45                 : extern void vlg_exit(void);
      46                 : 
      47                 : extern Vlg *vlg_make(void);
      48                 : extern void vlg_free(Vlg *);
      49                 : 
      50                 : extern void vlg_daemon(Vlg *, const char *);
      51                 : extern void vlg_debug(Vlg *);
      52                 : extern void vlg_undbg(Vlg *);
      53                 : 
      54                 : extern int vlg_pid_set(Vlg *, int);
      55                 : extern int vlg_prefix_set(Vlg *, int);
      56                 : extern int vlg_size_set(Vlg *, size_t);
      57                 : extern int vlg_syslog_facility_set(Vlg *, int);
      58                 : extern int vlg_syslog_native_set(Vlg *, int);
      59                 : extern int vlg_time_set(Vlg *vlg, time_t (*func)(void));
      60                 : 
      61                 : extern void vlg_pid_file(Vlg *, const char *);
      62                 : 
      63                 : extern int  vlg_sc_fmt_add_all(Vstr_conf *);
      64                 : extern void vlg_sc_bind_mount(const char *);
      65                 : 
      66                 : extern void vlg_vabort(Vlg *, const char *fmt, va_list )
      67                 :    COMPILE_ATTR_FMT(2, 0);
      68                 : extern void vlg_verr(Vlg *, int, const char *fmt, va_list )
      69                 :    COMPILE_ATTR_FMT(3, 0);
      70                 : extern void vlg_vwarn(Vlg *, const char *fmt, va_list )
      71                 :    COMPILE_ATTR_FMT(2, 0);
      72                 : extern void vlg_vinfo(Vlg *, const char *fmt, va_list )
      73                 :    COMPILE_ATTR_FMT(2, 0);
      74                 : extern void vlg_vdbg1(Vlg *, const char *fmt, va_list )
      75                 :    COMPILE_ATTR_FMT(2, 0);
      76                 : extern void vlg_vdbg2(Vlg *, const char *fmt, va_list )
      77                 :    COMPILE_ATTR_FMT(2, 0);
      78                 : extern void vlg_vdbg3(Vlg *, const char *fmt, va_list )
      79                 :    COMPILE_ATTR_FMT(2, 0);
      80                 : 
      81                 : extern void vlg_abort(Vlg *, const char *fmt, ... )
      82                 :       COMPILE_ATTR_FMT(2, 3);
      83                 : extern void vlg_err(Vlg *, int, const char *fmt, ... )
      84                 :       COMPILE_ATTR_FMT(3, 4);
      85                 : extern void vlg_warn(Vlg *, const char *fmt, ... )
      86                 :       COMPILE_ATTR_FMT(2, 3);
      87                 : extern void vlg_info(Vlg *, const char *fmt, ... )
      88                 :       COMPILE_ATTR_FMT(2, 3);
      89                 : extern void vlg_dbg1(Vlg *, const char *fmt, ... )
      90                 :       COMPILE_ATTR_FMT(2, 3);
      91                 : extern void vlg_dbg2(Vlg *, const char *fmt, ... )
      92                 :       COMPILE_ATTR_FMT(2, 3);
      93                 : extern void vlg_dbg3(Vlg *, const char *fmt, ... )
      94                 :       COMPILE_ATTR_FMT(2, 3);
      95                 : 
      96                 : extern void vlg_sig_abort(Vlg *, const char *fmt, ... )
      97                 :       COMPILE_ATTR_FMT(2, 3);
      98                 : extern void vlg_sig_err(Vlg *, int, const char *fmt, ... )
      99                 :       COMPILE_ATTR_FMT(3, 4);
     100                 : extern void vlg_sig_warn(Vlg *, const char *fmt, ... )
     101                 :       COMPILE_ATTR_FMT(2, 3);
     102                 : extern void vlg_sig_info(Vlg *, const char *fmt, ... )
     103                 :       COMPILE_ATTR_FMT(2, 3);
     104                 : extern void vlg_sig_dbg1(Vlg *, const char *fmt, ... )
     105                 :       COMPILE_ATTR_FMT(2, 3);
     106                 : extern void vlg_sig_dbg2(Vlg *, const char *fmt, ... )
     107                 :       COMPILE_ATTR_FMT(2, 3);
     108                 : extern void vlg_sig_dbg3(Vlg *, const char *fmt, ... )
     109                 :       COMPILE_ATTR_FMT(2, 3);
     110                 : 
     111                 : #ifndef VLG_COMPILE_INLINE
     112                 : # if ! COMPILE_DEBUG
     113                 : #  define VLG_COMPILE_INLINE 1
     114                 : # else
     115                 : #  define VLG_COMPILE_INLINE 0
     116                 : # endif
     117                 : #endif
     118                 : 
     119                 : #if defined(VSTR_AUTOCONF_HAVE_INLINE) && VLG_COMPILE_INLINE
     120                 : extern inline void vlg_dbg1(Vlg *vlg, const char *fmt, ... )
     121               0 : {
     122                 :   va_list ap;
     123                 :   
     124               0 :   if (vlg->out_dbg < 1)
     125               0 :     return;
     126                 : 
     127               0 :   va_start(ap, fmt);
     128               0 :   vlg_vdbg1(vlg, fmt, ap);
     129               0 :   va_end(ap);
     130                 : }
     131                 : extern inline void vlg_dbg2(Vlg *vlg, const char *fmt, ... )
     132               0 : {
     133                 :   va_list ap;
     134                 :   
     135               0 :   if (vlg->out_dbg < 2)
     136               0 :     return;
     137                 : 
     138               0 :   va_start(ap, fmt);
     139               0 :   vlg_vdbg2(vlg, fmt, ap);
     140               0 :   va_end(ap);
     141                 : }
     142                 : extern inline void vlg_dbg3(Vlg *vlg, const char *fmt, ... )
     143               0 : {
     144                 :   va_list ap;
     145                 :   
     146               0 :   if (vlg->out_dbg < 3)
     147               0 :     return;
     148                 : 
     149               0 :   va_start(ap, fmt);
     150               0 :   vlg_vdbg3(vlg, fmt, ap);
     151               0 :   va_end(ap);
     152                 : }
     153                 : #endif
     154                 : 
     155                 : 
     156                 : #define VLG_WARN_GOTO(label, fmt) do {                \
     157                 :       vlg_warn fmt ;                                  \
     158                 :       goto label ;                                    \
     159                 :     } while (0)
     160                 : #define VLG_WARN_RET(val, fmt) do {                   \
     161                 :       vlg_warn fmt ;                                  \
     162                 :       return val ;                                    \
     163                 :     } while (0)
     164                 : #define VLG_WARN_RET_VOID(fmt) do {                   \
     165                 :       vlg_warn fmt ;                                  \
     166                 :       return;                                         \
     167                 :     } while (0)
     168                 : 
     169                 : #define VLG_WARNNOMEM_GOTO(label, fmt) do {           \
     170                 :       errno = ENOMEM;                                 \
     171                 :       vlg_warn fmt ;                                  \
     172                 :       goto label ;                                    \
     173                 :     } while (0)
     174                 : #define VLG_WARNNOMEM_RET(val, fmt) do {              \
     175                 :       errno = ENOMEM;                                 \
     176                 :       vlg_warn fmt ;                                  \
     177                 :       return val ;                                    \
     178                 :     } while (0)
     179                 : 
     180                 : #define VLG_ERRNOMEM(fmt) do {                        \
     181                 :       errno = ENOMEM;                                 \
     182                 :       vlg_err fmt ;                                   \
     183                 :     } while (0)
     184                 : 
     185                 : #endif

Generated by: LTP GCOV extension version 1.4