HEX
Server: Apache/2
System: Linux ctr1224126.novalocal 4.9.241-37.el7.x86_64 #1 SMP Mon Nov 2 13:55:04 UTC 2020 x86_64
User: gokitchen (1017)
PHP: 8.0.30
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //usr/include/dovecot/sieve/sieve-ext-environment.h
#ifndef SIEVE_EXT_ENVIRONMENT_H
#define SIEVE_EXT_ENVIRONMENT_H

#include "sieve-common.h"

/*
 * Environment extension
 */

/* FIXME: this is not suitable for future plugin support */

extern const struct sieve_extension_def environment_extension;

static inline const struct sieve_extension *
sieve_ext_environment_get_extension
(struct sieve_instance *svinst)
{
	return sieve_extension_register
		(svinst, &environment_extension, FALSE);
}

static inline const struct sieve_extension *
sieve_ext_environment_require_extension
(struct sieve_instance *svinst)
{
	return sieve_extension_require
		(svinst, &environment_extension, TRUE);
}

bool sieve_ext_environment_is_active
	(const struct sieve_extension *env_ext,
		struct sieve_interpreter *interp);

/*
 * Environment item
 */

struct sieve_environment_item {
	const char *name;
	bool prefix;

	const char *value;
	const char *(*get_value)
		(const struct sieve_runtime_env *renv, const char *name);
};

void sieve_environment_item_register
	(const struct sieve_extension *env_ext, struct sieve_interpreter *interp,
		const struct sieve_environment_item *item);
const char *ext_environment_item_get_value
	(const struct sieve_extension *env_ext,
		const struct sieve_runtime_env *renv, const char *name);

#endif