Index: ossp-pkg/l2/l2_ch_var.c RCS File: /v/ossp/cvs/ossp-pkg/l2/Attic/l2_ch_var.c,v co -q -kk -p'1.1' '/v/ossp/cvs/ossp-pkg/l2/Attic/l2_ch_var.c,v' | diff -u - /dev/null -L'ossp-pkg/l2/l2_ch_var.c' 2>/dev/null --- ossp-pkg/l2/l2_ch_var.c +++ /dev/null 2024-04-29 02:22:11.000000000 +0200 @@ -1,120 +0,0 @@ -/* -** L2 - OSSP Logging Library -** Copyright (c) 2001-2002 The OSSP Project (http://www.ossp.org/) -** Copyright (c) 2001-2002 Cable & Wireless Deutschland (http://www.cw.com/de/) -** -** This file is part of OSSP L2, a flexible logging library which -** can be found at http://www.ossp.org/pkg/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_ch_var.c: OSSP var channel implementation -*/ - -#include "l2.h" -/*#include "l2_var.h"*/ - -/* declare private channel configuration */ -typedef struct { - char *vardef; -} l2_ch_var_t; - -/* create channel */ -static l2_result_t hook_create(l2_context_t *ctx, l2_channel_t *ch) -{ - l2_ch_var_t *cfg; - - /* allocate private channel configuration */ - if ((cfg = (l2_ch_var_t *)malloc(sizeof(l2_ch_var_t))) == NULL) - return L2_ERR_MEM; - - /* initialize configuration with reasonable defaults */ - cfg->vardef = NULL; - - /* link private channel configuration into channel context */ - ctx->vp = cfg; - - return L2_OK; -} - -/* configure channel */ -static l2_result_t hook_configure(l2_context_t *ctx, l2_channel_t *ch, const char *fmt, va_list ap) -{ - l2_ch_var_t *cfg; - l2_param_t pa[1]; - l2_result_t rv; - l2_env_t *env; - - /* parameter checks */ - if ((cfg = (l2_ch_var_t *)ctx->vp) == NULL) - return L2_ERR_ARG; - - /* feed and call generic parameter parsing engine */ - L2_PARAM_SET(pa[0], variable, STR, &cfg->vardef); - L2_PARAM_END(pa[1]); - l2_channel_env(ch, &env); - rv = l2_util_setparams(env, pa, fmt, ap); - - return rv; -} - -/* write to channel */ -static l2_result_t hook_write(l2_context_t *ctx, l2_channel_t *ch, - l2_level_t level, const char *buf, size_t buf_size) -{ - l2_ch_var_t *cfg; - - /* parameter checks */ - if ((cfg = (l2_ch_var_t *)ctx->vp) == NULL) - return L2_ERR_ARG; - if (cfg->vardef == NULL) - return L2_ERR_ARG; - - /* expand variables */ -/* FIXME */ - - return L2_OK; -} - -/* destroy channel */ -static l2_result_t hook_destroy(l2_context_t *ctx, l2_channel_t *ch) -{ - l2_ch_var_t *cfg = (l2_ch_var_t *)ctx->vp; - - /* destroy channel configuration */ - if (cfg->vardef != NULL) - free(cfg->vardef); - free(cfg); - - return L2_OK; -} - -/* exported channel handler structure */ -l2_handler_t l2_handler_var = { - "var", - L2_CHANNEL_FILTER, - hook_create, - hook_configure, - NULL, - hook_write, - NULL, - NULL, - hook_destroy -}; -