+
+/*
+ * Parse an email address into it's components.
+ *
+ * Used in conjunction with getname() to parse a complete email header.
+ *
+ * Arguments include:
+ *
+ * str - Email address being parsed.
+ * dfhost - A default host to append to the email address if
+ * one is not included. If NULL, use nmh's idea of
+ * localhost().
+ * dftype - If dfhost is given, use dftype as the email address type
+ * if no host is in the email address.
+ * wanthost - One of AD_HOST or AD_NHST. If AD_HOST, look up the
+ * "official name" of the host. Well, that's what the
+ * documentation says, at least ... support for that
+ * functionality was removed when hostable support was
+ * removed and the address parser was converted by default
+ * to always being in DUMB mode. So nowadays this only
+ * affects where error messages are put if there is no
+ * host part (set it to AD_HOST if you want error messages
+ * to appear on standard error).
+ * eresult - Any error string returned by the address parser. String
+ * must contain sufficient room for the error message.
+ * (BUFSIZ is used in general by the code). Can be NULL.
+ *
+ * A pointer to an allocated struct mailname corresponding to the email
+ * address is returned.
+ */
+struct mailname *getm(char *str, char *dfhost, int dftype,
+ int wanthost, char *eresult);