+** Mapping functions
+**
+** These allow arbitrary mappings in the config file. The idea
+** (albeit not the implementation) comes from IDA sendmail.
+*/
+
+
+/*
+** The class of a map -- essentially the functions to call
+*/
+
+# define MAPCLASS struct _mapclass
+
+MAPCLASS
+{
+ bool (*map_init)(); /* initialization function */
+ char *(*map_lookup)(); /* lookup function */
+};
+
+
+/*
+** An actual map.
+*/
+
+# define MAP struct _map
+
+MAP
+{
+ MAPCLASS *map_class; /* the class of this map */
+ int map_flags; /* flags, see below */
+ char *map_file; /* the (nominal) filename */
+};
+
+/* bit values for map_flags */
+# define MF_VALID 00001 /* this entry is valid */
+\f/*