xref: /freebsd/contrib/sendmail/include/sm/sendmail.h (revision 5ca8e32633c4ffbbcd6762e5888b6a4ba0708c6c)
1 /*
2  * Copyright (c) 2006, 2020 Proofpoint, Inc. and its suppliers.
3  *	All rights reserved.
4  *
5  * By using this file, you agree to the terms and conditions set
6  * forth in the LICENSE file which can be found at the top level of
7  * the sendmail distribution.
8  */
9 
10 /*
11 **  SENDMAIL.H -- MTA-specific definitions for sendmail.
12 */
13 
14 #ifndef _SM_SENDMAIL_H
15 # define _SM_SENDMAIL_H 1
16 
17 #include <sm/rpool.h>
18 
19 /* "out of band" indicator */
20 #define METAQUOTE	((unsigned char)0377)	/* quotes the next octet */
21 #define SM_MM_QUOTE(ch) (((ch) & 0377) == METAQUOTE || (((ch) & 0340) == 0200))
22 
23 extern int	dequote_internal_chars __P((char *, char *, int));
24 #if SM_HEAP_CHECK > 2
25 extern char	*quote_internal_chars_tagged __P((char *, char *, int *, SM_RPOOL_T *, char *, int, int));
26 # define quote_internal_chars(ibp, obp, bsp, rpool) quote_internal_chars_tagged(ibp, obp, bsp, rpool, "quote_internal_chars:" __FILE__, __LINE__, SmHeapGroup)
27 #else
28 extern char	*quote_internal_chars __P((char *, char *, int *, SM_RPOOL_T *));
29 # define quote_internal_chars_tagged(ibp, obp, bsp, rpool, file, line, group) quote_internal_chars(ibp, obp, bsp, rpool)
30 #endif
31 extern char	*str2prt __P((char *));
32 
33 extern char	*makelower __P((char *));
34 #if USE_EAI
35 extern bool	sm_strcaseeq __P((const char *, const char *));
36 extern bool	sm_strncaseeq __P((const char *, const char *, size_t));
37 # define SM_STRCASEEQ(a, b)	sm_strcaseeq((a), (b))
38 # define SM_STRNCASEEQ(a, b, n)	sm_strncaseeq((a), (b), (n))
39 #else
40 # define SM_STRCASEEQ(a, b)	(sm_strcasecmp((a), (b)) == 0)
41 # define SM_STRNCASEEQ(a, b, n)	(sm_strncasecmp((a), (b), (n)) == 0)
42 #endif
43 
44 #endif /* ! _SM_SENDMAIL_H */
45