1/*
2 * Copyright (c) 2006 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 *	$Id: map.h,v 8.4 2013-11-22 20:51:56 ca Exp $
10 */
11
12#ifndef _MAP_H
13# define _MAP_H 1
14
15extern char	*arith_map_lookup __P((MAP *, char *, char **, int *));
16
17extern char	*arpa_map_lookup __P((MAP *, char *, char **, int *));
18
19extern char	*bestmx_map_lookup __P((MAP *, char *, char **, int *));
20
21extern char	*bogus_map_lookup __P((MAP *, char *, char **, int *));
22
23#if NEWDB
24extern bool	bt_map_open __P((MAP *, int));
25
26extern char	*db_map_lookup __P((MAP *, char *, char **, int *));
27extern void	db_map_store __P((MAP *, char *, char *));
28extern void	db_map_close __P((MAP *));
29#endif /* NEWDB */
30
31extern bool	dequote_init __P((MAP *, char *));
32extern char	*dequote_map __P((MAP *, char *, char **, int *));
33
34extern bool	dns_map_open __P((MAP *, int));
35extern bool	dns_map_parseargs __P((MAP *, char *));
36extern char	*dns_map_lookup __P((MAP *, char *, char **, int *));
37
38extern bool	dprintf_map_parseargs __P((MAP *, char *));
39extern char	*dprintf_map_lookup __P((MAP *, char *, char **, int *));
40
41#if NEWDB
42extern bool	hash_map_open __P((MAP *, int));
43#endif
44
45extern bool	host_map_init __P((MAP *, char *));
46extern char	*host_map_lookup __P((MAP *, char *, char **, int *));
47
48extern char	*impl_map_lookup __P((MAP *, char *, char **, int *));
49extern void	impl_map_store __P((MAP *, char *, char *));
50extern bool	impl_map_open __P((MAP *, int));
51extern void	impl_map_close __P((MAP *));
52
53extern char	*macro_map_lookup __P((MAP *, char *, char **, int *));
54
55extern bool	map_parseargs __P((MAP *, char *));
56
57#if NDBM
58extern char	*ndbm_map_lookup __P((MAP *, char *, char **, int *));
59extern void	ndbm_map_store __P((MAP *, char *, char *));
60extern void	ndbm_map_close __P((MAP *));
61#endif /* NDBM */
62
63extern bool	nis_map_open __P((MAP *, int));
64extern char	*nis_map_lookup __P((MAP *, char *, char **, int *));
65
66extern bool	null_map_open __P((MAP *, int));
67extern void	null_map_close __P((MAP *));
68extern char	*null_map_lookup __P((MAP *, char *, char **, int *));
69extern void	null_map_store __P((MAP *, char *, char *));
70
71extern char	*prog_map_lookup __P((MAP *, char *, char **, int *));
72
73extern bool	regex_map_init __P((MAP *, char *));
74extern char	*regex_map_lookup __P((MAP *, char *, char **, int *));
75
76extern char	*seq_map_lookup __P((MAP *, char *, char **, int *));
77extern void	seq_map_store __P((MAP *, char *, char *));
78extern bool	seq_map_parse __P((MAP *, char *));
79
80#if _FFR_SETDEBUG_MAP
81extern char	*setdebug_map_lookup __P((MAP *, char *, char **, int *));
82#endif
83#if _FFR_SETOPT_MAP
84extern char	*setopt_map_lookup __P((MAP *, char *, char **, int *));
85#endif
86
87#if SOCKETMAP
88extern bool	socket_map_open __P((MAP *, int));
89extern void	socket_map_close __P((MAP *));
90extern char	*socket_map_lookup __P((MAP *, char *, char **, int *));
91#endif
92
93extern char	*stab_map_lookup __P((MAP *, char *, char **, int *));
94extern void	stab_map_store __P((MAP *, char *, char *));
95extern bool	stab_map_open __P((MAP *, int));
96
97extern bool	switch_map_open __P((MAP *, int));
98
99extern bool	syslog_map_parseargs __P((MAP *, char *));
100extern char	*syslog_map_lookup __P((MAP *, char *, char **, int *));
101
102extern bool	text_map_open __P((MAP *, int));
103extern char	*text_map_lookup __P((MAP *, char *, char **, int *));
104
105extern char	*udb_map_lookup __P((MAP *, char *, char **, int *));
106
107extern bool	user_map_open __P((MAP *, int));
108extern char	*user_map_lookup __P((MAP *, char *, char **, int *));
109
110#if CDB
111extern bool	cdb_map_open  __P((MAP *, int));
112extern char	*cdb_map_lookup __P((MAP *, char *, char **, int *));
113extern void	cdb_map_store __P((MAP *, char *, char *));
114extern void	cdb_map_close	__P((MAP *));
115#endif /* CDB */
116
117#endif /* ! _MAP_H */
118