Home | History | Annotate | Line # | Download | only in global
      1 /*	$NetBSD: ehlo_mask.h,v 1.4 2026/05/09 18:49:16 christos Exp $	*/
      2 
      3 #ifndef _EHLO_MASK_H_INCLUDED_
      4 #define _EHLO_MASK_H_INCLUDED_
      5 
      6 /*++
      7 /* NAME
      8 /*	name_mask 3h
      9 /* SUMMARY
     10 /*	map names to bit mask
     11 /* SYNOPSIS
     12 /*	#include <name_mask.h>
     13 /* DESCRIPTION
     14 /* .nf
     15 
     16  /*
     17   * Bit flags.
     18   */
     19 #define EHLO_MASK_8BITMIME	(1<<0)	/* start of first byte */
     20 #define EHLO_MASK_PIPELINING	(1<<1)
     21 #define EHLO_MASK_SIZE		(1<<2)
     22 #define EHLO_MASK_VRFY		(1<<3)
     23 #define EHLO_MASK_ETRN		(1<<4)
     24 #define EHLO_MASK_AUTH		(1<<5)
     25 #define EHLO_MASK_VERP		(1<<6)
     26 #define EHLO_MASK_STARTTLS	(1<<7)
     27 
     28 #define EHLO_MASK_XCLIENT	(1<<8)	/* start of second byte */
     29 #define EHLO_MASK_XFORWARD	(1<<9)
     30 #define EHLO_MASK_ENHANCEDSTATUSCODES	(1<<10)
     31 #define EHLO_MASK_DSN		(1<<11)
     32 #define EHLO_MASK_SMTPUTF8	(1<<12)
     33 #define EHLO_MASK_CHUNKING	(1<<13)
     34 #define EHLO_MASK_REQTLS	(1<<14)
     35 #define EHLO_MASK_SILENT	(1<<15)	/* in-band signaling */
     36 
     37  /*
     38   * ESMTP verbs.
     39   */
     40 #define EHLO_VERB_8BITMIME 	"8BITMIME"
     41 #define EHLO_VERB_PIPELINING 	"PIPELINING"
     42 #define EHLO_VERB_SIZE 		"SIZE"
     43 #define EHLO_VERB_VRFY 		"VRFY"
     44 #define EHLO_VERB_ETRN 		"ETRN"
     45 #define EHLO_VERB_AUTH 		"AUTH"
     46 #define EHLO_VERB_VERP 		"VERP"
     47 #define EHLO_VERB_STARTTLS 	"STARTTLS"
     48 #define EHLO_VERB_XCLIENT 	"XCLIENT"
     49 #define EHLO_VERB_XFORWARD 	"XFORWARD"
     50 #define EHLO_VERB_ENHANCEDSTATUSCODES 	"ENHANCEDSTATUSCODES"
     51 #define EHLO_VERB_DSN 		"DSN"
     52 #define EHLO_VERB_SMTPUTF8 	"SMTPUTF8"
     53 #define EHLO_VERB_CHUNKING 	"CHUNKING"
     54 #define EHLO_VERB_REQTLS 	"REQUIRETLS"
     55 #define EHLO_VERB_SILENT 	"SILENT-DISCARD"	/* in-band signaling */
     56 
     57  /*
     58   * Functions.
     59   */
     60 extern int ehlo_mask(const char *);
     61 extern const char *str_ehlo_mask(int);
     62 
     63 /* LICENSE
     64 /* .ad
     65 /* .fi
     66 /*	The Secure Mailer license must be distributed with this software.
     67 /* AUTHOR(S)
     68 /*	Wietse Venema
     69 /*	IBM T.J. Watson Research
     70 /*	P.O. Box 704
     71 /*	Yorktown Heights, NY 10598, USA
     72 /*
     73 /*	Wietse Venema
     74 /*	Google, Inc.
     75 /*	111 8th Avenue
     76 /*	New York, NY 10011, USA
     77 /*--*/
     78 
     79 #endif
     80