head 1.6;
access;
symbols
L2_0_9_13:1.6
FSL_1_7_0:1.6
L2_0_9_12:1.6
LMTP2NNTP_1_4_1:1.6
LMTP2NNTP_1_4_0:1.6
FSL_1_6_1:1.6
L2_0_9_11:1.6
FSL_1_6_0:1.5
FSL_1_6b2:1.5
L2_0_9_10:1.5
FSL_1_6b1:1.5
L2_0_9_9:1.5
LMTP2NNTP_1_3_0:1.4
LMTP2NNTP_1_3b2:1.4
LMTP2NNTP_1_3b1:1.4
LMTP2NNTP_1_3a3:1.4
FSL_1_5_0:1.4
LMTP2NNTP_1_3a2:1.4
FSL_1_5a3:1.4
LMTP2NNTP_1_3a1:1.4
FSL_1_5a2:1.4
L2_0_9_8:1.4
FSL_1_5a1:1.4
L2_0_9_7:1.4
L2_0_9_6:1.4
FSL_1_4_0:1.4
FSL_1_4b1:1.4
L2_0_9_5:1.4
FSL_1_4a1:1.4
FSL_1_3_0:1.4
FSL_1_3b1:1.4
L2_0_9_4:1.4
FSL_1_2_1:1.4
L2_0_9_3:1.4
FSL_1_2_0:1.4
L2_0_9_2:1.4
FSL_1_1_0:1.4
FSL_1_1b1:1.4
WORKOFF:1.4.0.2
WORKOFF_BP:1.4
FSL_1_0_8:1.4
LMTP2NNTP_1_2_0:1.4
LMTP2NNTP_1_2b4:1.4
LMTP2NNTP_1_2b3:1.4
LMTP2NNTP_1_2b2:1.4
LMTP2NNTP_1_2b1:1.4
LMTP2NNTP_1_2a8:1.4
LMTP2NNTP_1_2a7:1.4
FSL_1_0_7:1.4
FSL_1_0_6:1.3
FSL_1_0_5:1.3
FSL_1_0_4:1.3
L2_0_9_1:1.3
FSL_1_0_3:1.3
LMTP2NNTP_1_2a6:1.3
FSL_1_0_2:1.3
FSL_1_0_1:1.3
FSL_1_0_0:1.3
FSL_0_9_0:1.3
L2_0_9_0:1.3
FSL_0_1_12:1.2
FSL_0_1_11:1.2
FSL_0_1_10:1.2
FSL_0_1_9:1.2
FSL_0_1_8:1.2
FSL_0_1_7:1.2
FSL_0_1_6:1.2
FSL_0_1_5:1.2
FSL_0_1_1:1.2
LMTP2NNTP_1_2a5:1.2
LMTP2NNTP_1_2a4:1.2
LMTP2NNTP_1_2a3:1.2
LMTP2NNTP_1_2a1:1.1;
locks; strict;
comment @ * @;
1.6
date 2005.10.03.08.08.11; author rse; state Exp;
branches;
next 1.5;
1.5
date 2005.01.24.15.03.18; author rse; state Exp;
branches;
next 1.4;
1.4
date 2003.01.06.11.41.52; author rse; state Exp;
branches;
next 1.3;
1.3
date 2002.07.30.19.08.25; author rse; state Exp;
branches;
next 1.2;
1.2
date 2002.01.02.17.07.38; author rse; state Exp;
branches;
next 1.1;
1.1
date 2001.11.04.13.45.03; author rse; state Exp;
branches;
next ;
desc
@@
1.6
log
@Adjust copyright messages for new year 2005.
@
text
@/*
** OSSP l2 - Flexible Logging
** Copyright (c) 2001-2005 Cable & Wireless
** Copyright (c) 2001-2005 The OSSP Project
** Copyright (c) 2001-2005 Ralf S. Engelschall
**
** This file is part of OSSP l2, a flexible logging library which
** can be found at http://www.ossp.org/pkg/lib/l2/.
**
** Permission to use, copy, modify, and distribute this software for
** any purpose with or without fee is hereby granted, provided that
** the above copyright notice and this permission notice appear in all
** copies.
**
** THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
** WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
** MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
** IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
** CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
** USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
** ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
** OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
** OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
** SUCH DAMAGE.
**
** l2_ut_format.h: printf(3)-style formatting API
*/
#ifndef __L2_UT_FORMAT_H__
#define __L2_UT_FORMAT_H__
struct l2_util_format_st {
/* the output buffer */
char *curpos; /* start of output buffer (first pos) */
char *endpos; /* end of output buffer (last pos) */
/* callback for flushing the output buffer */
int (*flush)(
struct l2_util_format_st *spec /* this l2_util_format_t specification */
);
/* callback for formatting unknown %-constructs */
void (*format)(
struct l2_util_format_st *spec, /* this l2_util_format_t specification */
char *prefix_char, /* output arg: prefix character */
char *pad_char, /* output arg: padding character */
char **s_buf, /* output arg: string buffer */
size_t *s_len, /* output arg: string len */
char *num_buf, /* input arg: temporary buffer */
int num_buf_size, /* input arg: temporary buffer len */
char *extinfo, /* input arg: extension information */
char fmt_char, /* input arg: current formatting character */
va_list *ap /* in/out arg: variable argument pointer */
);
/* arbitrary passed-through application data */
union {
int i;
long l;
double d;
void *vp;
} data[6];
};
typedef struct l2_util_format_st l2_util_format_t;
int l2_util_format (l2_util_format_t *vbuff, const char *fmt, va_list ap);
int l2_util_vsprintf (char *s, size_t n, const char *fmt, va_list ap);
char *l2_util_vasprintf (const char *fmt, va_list ap);
int l2_util_sprintf (char *s, size_t n, const char *fmt, ...);
char *l2_util_asprintf (const char *fmt, ...);
#endif /* __L2_UT_FORMAT_H__ */
@
1.5
log
@Adjust copyright messages for new year 2005.
@
text
@d3 3
a5 3
** Copyright (c) 2001-2004 Cable & Wireless
** Copyright (c) 2001-2004 The OSSP Project
** Copyright (c) 2001-2004 Ralf S. Engelschall
@
1.4
log
@- remove trailing whitespaces
- adjust copyright messages
- consistently use "OSSP l2"
- consistently talk about "Flexible Logging"
- use standard OSSP ASCII-art
@
text
@d3 3
a5 3
** Copyright (c) 2001-2003 Cable & Wireless Deutschland GmbH
** Copyright (c) 2001-2003 The OSSP Project (http://www.ossp.org/)
** Copyright (c) 2001-2003 Ralf S. Engelschall
@
1.3
log
@polish for release
@
text
@d2 4
a5 2
** OSSP l2 - Logging Library
** Copyright (c) 2001-2002 Cable & Wireless Deutschland GmbH
d7 1
a7 1
** This file is part of OSSP L2, a flexible logging library which
d54 1
a54 1
char fmt_char, /* input arg: current formatting character */
d59 6
a64 6
union {
int i;
long l;
double d;
void *vp;
} data[6];
@
1.2
log
@bump copyright year
@
text
@d2 1
a2 1
** L2 - OSSP Logging Library
d6 1
a6 1
** can be found at http://www.ossp.org/pkg/l2/.
@
1.1
log
@Cleanup formatting stuff by making stand-alone.
@
text
@d3 1
a3 1
** Copyright (c) 2001 Cable & Wireless Deutschland GmbH
@