/*
 * Copyright (c) 2005 Sendmail, Inc. and its suppliers.
 *	All rights reserved.
 *
 * By using this file, you agree to the terms and conditions set
 * forth in the LICENSE file which can be found at the top level of
 * the sendmail distribution.
 *
 *	$Id: strexp.h,v 1.2 2005/06/16 00:09:35 ca Exp $
 */

#ifndef SM_STREXP_H
#define SM_STREXP_H 1

#include "sm/generic.h"
#include "sm/types.h"
#include "sm/error.h"

sm_ret_T sm_str_expdig(const sm_str_P _src, sm_str_P _dst, uchar _meta, uint _argc, sm_str_P *_argv);

sm_ret_T sm_find_macro(const sm_str_P _src, uint _len, uint _mac_begin, uint _mac_end, uint *_pidx, uint _nmacros, sm_str_P *_macros);
sm_ret_T sm_str_expmac(const sm_str_P _src, sm_str_P _dst, uint _flags, uint _nmacros, sm_str_P *_macros, sm_str_P *_repl);

typedef sm_ret_T (*sm_str_expmac_cb_F)(const sm_str_P _src, uint _len, sm_str_P _dst, uint _mac_begin, uint _mac_end, void *_ctx);

sm_ret_T sm_str_expmac_cb(const sm_str_P _src, sm_str_P _dst, uint _flags, sm_str_expmac_cb_F _expmac, void *_ctx);

#endif /* SM_STREXP_H */


syntax highlighted by Code2HTML, v. 0.9.1