HEX
Server: Apache/2
System: Linux nexus-01 4.18.0-553.120.1.el8_10.x86_64 #1 SMP Mon Apr 20 18:04:27 EDT 2026 x86_64
User: aglcoke (1118)
PHP: 8.2.31
Disabled: mail,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/urn.h
#ifndef URN_H
#define URN_H

struct urn {
	const char *assigned_name;
	const char *nid;
	const char *nss;

	const char *enc_r_component;
	const char *enc_q_component;
	const char *enc_f_component;
};

/*
 * URN parsing
 */

enum urn_parse_flags {
	/* Scheme part 'urn:' is already parsed externally. */
	URN_PARSE_SCHEME_EXTERNAL       = 0x01,
};

int urn_parse(const char *urn, enum urn_parse_flags flags, pool_t pool,
	      struct urn **urn_r, const char **error_r);
int urn_validate(const char *urn, enum urn_parse_flags flags,
		 const char **error_r);

/*
 * URN construction
 */

const char *urn_create(const struct urn *urn);

/*
 * URN equality
 */

int urn_normalize(const char *urn_in, enum urn_parse_flags flags,
		  const char **urn_out, const char **error_r);
int urn_equals(const char *urn1, const char *urn2, enum urn_parse_flags flags,
	       const char **error_r);

#endif