1 /* $NetBSD: mail_addr_form.c,v 1.2 2020/03/18 19:05:16 christos Exp $ */
2
3 /*++
4 /* NAME
5 /* mail_addr_form 3
6 /* SUMMARY
7 /* mail address formats
8 /* SYNOPSIS
9 /* #include <mail_addr_form.h>
10 /*
11 /* int mail_addr_form_from_string(const char *addr_form_name)
12 /*
13 /* const char *mail_addr_form_to_string(int addr_form)
14 /* DESCRIPTION
15 /* mail_addr_form_from_string() converts a symbolic mail address
16 /* form name ("internal", "external", "internal-first") into the
17 /* corresponding internal code. The result is -1 if an unrecognized
18 /* name was specified.
19 /*
20 /* mail_addr_form_to_string() converts from internal code
21 /* to the corresponding symbolic name. The result is null if
22 /* an unrecognized code was specified.
23 /* LICENSE
24 /* .ad
25 /* .fi
26 /* The Secure Mailer license must be distributed with this software.
27 /* AUTHOR(S)
28 /* Wietse Venema
29 /* Google, Inc.
30 /* 111 8th Avenue
31 /* New York, NY 10011, USA
32 /*--*/
33
34 /*
35 * System library.
36 */
37 #include <sys_defs.h>
38
39 /*
40 * Utility library.
41 */
42 #include <name_code.h>
43
44 /*
45 * Global library.
46 */
47 #include <mail_addr_form.h>
48
49 static const NAME_CODE addr_form_table[] = {
50 "external", MA_FORM_EXTERNAL,
51 "internal", MA_FORM_INTERNAL,
52 "external-first", MA_FORM_EXTERNAL_FIRST,
53 "internal-first", MA_FORM_INTERNAL_FIRST,
54 0, -1,
55 };
56
57 /* mail_addr_form_from_string - symbolic mail address to internal form */
58
mail_addr_form_from_string(const char * addr_form_name)59 int mail_addr_form_from_string(const char *addr_form_name)
60 {
61 return (name_code(addr_form_table, NAME_CODE_FLAG_NONE, addr_form_name));
62 }
63
mail_addr_form_to_string(int addr_form)64 const char *mail_addr_form_to_string(int addr_form)
65 {
66 return (str_name_code(addr_form_table, addr_form));
67 }
68