1/* $NetBSD$ */ 2 3#ifndef _MAIL_QUEUE_H_INCLUDED_ 4#define _MAIL_QUEUE_H_INCLUDED_ 5 6/*++ 7/* NAME 8/* mail_queue 3h 9/* SUMMARY 10/* mail queue access 11/* SYNOPSIS 12/* #include <mail_queue.h> 13/* DESCRIPTION 14/* .nf 15 16 /* 17 * System library. 18 */ 19#include <sys/time.h> 20 21 /* 22 * Utility library. 23 */ 24#include <vstring.h> 25#include <vstream.h> 26 27 /* 28 * Mail queue names. 29 */ 30#define MAIL_QUEUE_MAILDROP "maildrop" 31#define MAIL_QUEUE_HOLD "hold" 32#define MAIL_QUEUE_INCOMING "incoming" 33#define MAIL_QUEUE_ACTIVE "active" 34#define MAIL_QUEUE_DEFERRED "deferred" 35#define MAIL_QUEUE_TRACE "trace" 36#define MAIL_QUEUE_DEFER "defer" 37#define MAIL_QUEUE_BOUNCE "bounce" 38#define MAIL_QUEUE_CORRUPT "corrupt" 39#define MAIL_QUEUE_FLUSH "flush" 40#define MAIL_QUEUE_SAVED "saved" 41 42 /* 43 * Queue file modes. 44 * 45 * 4.4BSD-like systems don't allow (sticky AND executable) together, so we use 46 * group read permission bits instead. These are more portable, but they 47 * also are more likely to be turned on by accident. It would not be the end 48 * of the world. 49 */ 50#define MAIL_QUEUE_STAT_READY (S_IRUSR | S_IWUSR | S_IXUSR) 51#define MAIL_QUEUE_STAT_CORRUPT (S_IRUSR) 52#ifndef MAIL_QUEUE_STAT_UNTHROTTLE 53#define MAIL_QUEUE_STAT_UNTHROTTLE (S_IRGRP) 54#endif 55 56extern struct VSTREAM *mail_queue_enter(const char *, mode_t, struct timeval *); 57extern struct VSTREAM *mail_queue_open(const char *, const char *, int, mode_t); 58extern int mail_queue_rename(const char *, const char *, const char *); 59extern int mail_queue_remove(const char *, const char *); 60extern const char *mail_queue_dir(VSTRING *, const char *, const char *); 61extern const char *mail_queue_path(VSTRING *, const char *, const char *); 62extern int mail_queue_mkdirs(const char *); 63extern int mail_queue_name_ok(const char *); 64extern int mail_queue_id_ok(const char *); 65 66/* LICENSE 67/* .ad 68/* .fi 69/* The Secure Mailer license must be distributed with this software. 70/* AUTHOR(S) 71/* Wietse Venema 72/* IBM T.J. Watson Research 73/* P.O. Box 704 74/* Yorktown Heights, NY 10598, USA 75/*--*/ 76 77#endif 78