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