#define PERL_constant_NOTFOUND 1
#define PERL_constant_NOTDEF 2
#define PERL_constant_ISIV 3
#define PERL_constant_ISNO 4
#define PERL_constant_ISNV 5
#define PERL_constant_ISPV 6
#define PERL_constant_ISPVN 7
#define PERL_constant_ISSV 8
#define PERL_constant_ISUNDEF 9
#define PERL_constant_ISUV 10
#define PERL_constant_ISYES 11
#ifndef NVTYPE
typedef double NV; /* 5.6 and later define NVTYPE, and typedef NV to it. */
#endif
#ifndef aTHX_
#define aTHX_ /* 5.6 or later define this for threading support. */
#endif
#ifndef pTHX_
#define pTHX_ /* 5.6 or later define this for threading support. */
#endif
static int
constant_17 (pTHX_ const char *name, IV *iv_return) {
/* When generated this function returned values for the list of names given
here. However, subsequent manual editing may have added or removed some.
DMARC_POLICY_NONE DMARC_POLICY_PASS DMARC_RECORD_FO_0 DMARC_RECORD_FO_1
DMARC_RECORD_FO_D DMARC_RECORD_FO_S */
/* Offset 16 gives the best switch position. */
switch (name[16]) {
case '0':
if (memEQ(name, "DMARC_RECORD_FO_", 16)) {
/* 0 */
#ifdef DMARC_RECORD_FO_0
*iv_return = DMARC_RECORD_FO_0;
return PERL_constant_ISIV;
#else
return PERL_constant_NOTDEF;
#endif
}
break;
case '1':
if (memEQ(name, "DMARC_RECORD_FO_", 16)) {
/* 1 */
#ifdef DMARC_RECORD_FO_1
*iv_return = DMARC_RECORD_FO_1;
return PERL_constant_ISIV;
#else
return PERL_constant_NOTDEF;
#endif
}
break;
case 'D':
if (memEQ(name, "DMARC_RECORD_FO_", 16)) {
/* D */
#ifdef DMARC_RECORD_FO_D
*iv_return = DMARC_RECORD_FO_D;
return PERL_constant_ISIV;
#else
return PERL_constant_NOTDEF;
#endif
}
break;
case 'E':
if (memEQ(name, "DMARC_POLICY_NON", 16)) {
/* E */
#ifdef DMARC_POLICY_NONE
*iv_return = DMARC_POLICY_NONE;
return PERL_constant_ISIV;
#else
return PERL_constant_NOTDEF;
#endif
}
break;
case 'S':
if (memEQ(name, "DMARC_POLICY_PAS", 16)) {
/* S */
#ifdef DMARC_POLICY_PASS
*iv_return = DMARC_POLICY_PASS;
return PERL_constant_ISIV;
#else
return PERL_constant_NOTDEF;
#endif
}
if (memEQ(name, "DMARC_RECORD_FO_", 16)) {
/* S */
#ifdef DMARC_RECORD_FO_S
*iv_return = DMARC_RECORD_FO_S;
return PERL_constant_ISIV;
#else
return PERL_constant_NOTDEF;
#endif
}
break;
}
return PERL_constant_NOTFOUND;
}
static int
constant_19 (pTHX_ const char *name, IV *iv_return) {
/* When generated this function returned values for the list of names given
here. However, subsequent manual editing may have added or removed some.
DMARC_POLICY_ABSENT DMARC_POLICY_REJECT DMARC_RECORD_P_NONE */
/* Offset 15 gives the best switch position. */
switch (name[15]) {
case 'J':
if (memEQ(name, "DMARC_POLICY_REJECT", 19)) {
/* ^ */
#ifdef DMARC_POLICY_REJECT
*iv_return = DMARC_POLICY_REJECT;
return PERL_constant_ISIV;
#else
return PERL_constant_NOTDEF;
#endif
}
break;
case 'N':
if (memEQ(name, "DMARC_RECORD_P_NONE", 19)) {
/* ^ */
#ifdef DMARC_RECORD_P_NONE
*iv_return = DMARC_RECORD_P_NONE;
return PERL_constant_ISIV;
#else
return PERL_constant_NOTDEF;
#endif
}
break;
case 'S':
if (memEQ(name, "DMARC_POLICY_ABSENT", 19)) {
/* ^ */
#ifdef DMARC_POLICY_ABSENT
*iv_return = DMARC_POLICY_ABSENT;
return PERL_constant_ISIV;
#else
return PERL_constant_NOTDEF;
#endif
}
break;
}
return PERL_constant_NOTFOUND;
}
static int
constant_21 (pTHX_ const char *name, IV *iv_return) {
/* When generated this function returned values for the list of names given
here. However, subsequent manual editing may have added or removed some.
DMARC_RECORD_A_STRICT DMARC_RECORD_P_REJECT DMARC_RECORD_RF_IODEF
OPENDMARC_LIB_VERSION */
/* Offset 17 gives the best switch position. */
switch (name[17]) {
case 'J':
if (memEQ(name, "DMARC_RECORD_P_REJECT", 21)) {
/* ^ */
#ifdef DMARC_RECORD_P_REJECT
*iv_return = DMARC_RECORD_P_REJECT;
return PERL_constant_ISIV;
#else
return PERL_constant_NOTDEF;
#endif
}
break;
case 'O':
if (memEQ(name, "DMARC_RECORD_RF_IODEF", 21)) {
/* ^ */
#ifdef DMARC_RECORD_RF_IODEF
*iv_return = DMARC_RECORD_RF_IODEF;
return PERL_constant_ISIV;
#else
return PERL_constant_NOTDEF;
#endif
}
break;
case 'R':
if (memEQ(name, "DMARC_RECORD_A_STRICT", 21)) {
/* ^ */
#ifdef DMARC_RECORD_A_STRICT
*iv_return = DMARC_RECORD_A_STRICT;
return PERL_constant_ISIV;
#else
return PERL_constant_NOTDEF;
#endif
}
break;
case 'S':
if (memEQ(name, "OPENDMARC_LIB_VERSION", 21)) {
/* ^ */
#ifdef OPENDMARC_LIB_VERSION
*iv_return = OPENDMARC_LIB_VERSION;
return PERL_constant_ISIV;
#else
return PERL_constant_NOTDEF;
#endif
}
break;
}
return PERL_constant_NOTFOUND;
}
static int
constant_23 (pTHX_ const char *name, IV *iv_return) {
/* When generated this function returned values for the list of names given
here. However, subsequent manual editing may have added or removed some.
DMARC_PARSE_ERROR_EMPTY DMARC_POLICY_QUARANTINE DMARC_TLD_ERROR_UNKNOWN
OPENDMARC_TLD_TYPE_NONE */
/* Offset 8 gives the best switch position. */
switch (name[8]) {
case 'C':
if (memEQ(name, "OPENDMARC_TLD_TYPE_NONE", 23)) {
/* ^ */
#ifdef OPENDMARC_TLD_TYPE_NONE
*iv_return = OPENDMARC_TLD_TYPE_NONE;
return PERL_constant_ISIV;
#else
return PERL_constant_NOTDEF;
#endif
}
break;
case 'D':
if (memEQ(name, "DMARC_TLD_ERROR_UNKNOWN", 23)) {
/* ^ */
#ifdef DMARC_TLD_ERROR_UNKNOWN
*iv_return = DMARC_TLD_ERROR_UNKNOWN;
return PERL_constant_ISIV;
#else
return PERL_constant_NOTDEF;
#endif
}
break;
case 'L':
if (memEQ(name, "DMARC_POLICY_QUARANTINE", 23)) {
/* ^ */
#ifdef DMARC_POLICY_QUARANTINE
*iv_return = DMARC_POLICY_QUARANTINE;
return PERL_constant_ISIV;
#else
return PERL_constant_NOTDEF;
#endif
}
break;
case 'R':
if (memEQ(name, "DMARC_PARSE_ERROR_EMPTY", 23)) {
/* ^ */
#ifdef DMARC_PARSE_ERROR_EMPTY
*iv_return = DMARC_PARSE_ERROR_EMPTY;
return PERL_constant_ISIV;
#else
return PERL_constant_NOTDEF;
#endif
}
break;
}
return PERL_constant_NOTFOUND;
}
static int
constant_24 (pTHX_ const char *name, IV *iv_return) {
/* When generated this function returned values for the list of names given
here. However, subsequent manual editing may have added or removed some.
DMARC_DNS_ERROR_NXDOMAIN DMARC_FROM_DOMAIN_ABSENT OPENDMARC_MAX_NSADDRLIST
*/
/* Offset 6 gives the best switch position. */
switch (name[6]) {
case 'A':
if (memEQ(name, "OPENDMARC_MAX_NSADDRLIST", 24)) {
/* ^ */
#ifdef OPENDMARC_MAX_NSADDRLIST
*iv_return = OPENDMARC_MAX_NSADDRLIST;
return PERL_constant_ISIV;
#else
return PERL_constant_NOTDEF;
#endif
}
break;
case 'D':
if (memEQ(name, "DMARC_DNS_ERROR_NXDOMAIN", 24)) {
/* ^ */
#ifdef DMARC_DNS_ERROR_NXDOMAIN
*iv_return = DMARC_DNS_ERROR_NXDOMAIN;
return PERL_constant_ISIV;
#else
return PERL_constant_NOTDEF;
#endif
}
break;
case 'F':
if (memEQ(name, "DMARC_FROM_DOMAIN_ABSENT", 24)) {
/* ^ */
#ifdef DMARC_FROM_DOMAIN_ABSENT
*iv_return = DMARC_FROM_DOMAIN_ABSENT;
return PERL_constant_ISIV;
#else
return PERL_constant_NOTDEF;
#endif
}
break;
}
return PERL_constant_NOTFOUND;
}
static int
constant_25 (pTHX_ const char *name, IV *iv_return) {
/* When generated this function returned values for the list of names given
here. However, subsequent manual editing may have added or removed some.
DMARC_DNS_ERROR_NO_RECORD DMARC_POLICY_IP_TYPE_IPV4
DMARC_POLICY_IP_TYPE_IPV6 DMARC_RECORD_P_QUARANTINE */
/* Offset 24 gives the best switch position. */
switch (name[24]) {
case '4':
if (memEQ(name, "DMARC_POLICY_IP_TYPE_IPV", 24)) {
/* 4 */
#ifdef DMARC_POLICY_IP_TYPE_IPV4
*iv_return = DMARC_POLICY_IP_TYPE_IPV4;
return PERL_constant_ISIV;
#else
return PERL_constant_NOTDEF;
#endif
}
break;
case '6':
if (memEQ(name, "DMARC_POLICY_IP_TYPE_IPV", 24)) {
/* 6 */
#ifdef DMARC_POLICY_IP_TYPE_IPV6
*iv_return = DMARC_POLICY_IP_TYPE_IPV6;
return PERL_constant_ISIV;
#else
return PERL_constant_NOTDEF;
#endif
}
break;
case 'D':
if (memEQ(name, "DMARC_DNS_ERROR_NO_RECOR", 24)) {
/* D */
#ifdef DMARC_DNS_ERROR_NO_RECORD
*iv_return = DMARC_DNS_ERROR_NO_RECORD;
return PERL_constant_ISIV;
#else
return PERL_constant_NOTDEF;
#endif
}
break;
case 'E':
if (memEQ(name, "DMARC_RECORD_P_QUARANTIN", 24)) {
/* E */
#ifdef DMARC_RECORD_P_QUARANTINE
*iv_return = DMARC_RECORD_P_QUARANTINE;
return PERL_constant_ISIV;
#else
return PERL_constant_NOTDEF;
#endif
}
break;
}
return PERL_constant_NOTFOUND;
}
static int
constant_26 (pTHX_ const char *name, IV *iv_return) {
/* When generated this function returned values for the list of names given
here. However, subsequent manual editing may have added or removed some.
DMARC_PARSE_ERROR_NO_ALLOC DMARC_PARSE_ERROR_NULL_CTX
DMARC_RECORD_A_UNSPECIFIED DMARC_RECORD_P_UNSPECIFIED
OPENDMARC_TLD_TYPE_MOZILLA */
/* Offset 24 gives the best switch position. */
switch (name[24]) {
case 'E':
if (memEQ(name, "DMARC_RECORD_A_UNSPECIFIED", 26)) {
/* ^ */
#ifdef DMARC_RECORD_A_UNSPECIFIED
*iv_return = DMARC_RECORD_A_UNSPECIFIED;
return PERL_constant_ISIV;
#else
return PERL_constant_NOTDEF;
#endif
}
if (memEQ(name, "DMARC_RECORD_P_UNSPECIFIED", 26)) {
/* ^ */
#ifdef DMARC_RECORD_P_UNSPECIFIED
*iv_return = DMARC_RECORD_P_UNSPECIFIED;
return PERL_constant_ISIV;
#else
return PERL_constant_NOTDEF;
#endif
}
break;
case 'L':
if (memEQ(name, "OPENDMARC_TLD_TYPE_MOZILLA", 26)) {
/* ^ */
#ifdef OPENDMARC_TLD_TYPE_MOZILLA
*iv_return = OPENDMARC_TLD_TYPE_MOZILLA;
return PERL_constant_ISIV;
#else
return PERL_constant_NOTDEF;
#endif
}
break;
case 'O':
if (memEQ(name, "DMARC_PARSE_ERROR_NO_ALLOC", 26)) {
/* ^ */
#ifdef DMARC_PARSE_ERROR_NO_ALLOC
*iv_return = DMARC_PARSE_ERROR_NO_ALLOC;
return PERL_constant_ISIV;
#else
return PERL_constant_NOTDEF;
#endif
}
break;
case 'T':
if (memEQ(name, "DMARC_PARSE_ERROR_NULL_CTX", 26)) {
/* ^ */
#ifdef DMARC_PARSE_ERROR_NULL_CTX
*iv_return = DMARC_PARSE_ERROR_NULL_CTX;
return PERL_constant_ISIV;
#else
return PERL_constant_NOTDEF;
#endif
}
break;
}
return PERL_constant_NOTFOUND;
}
static int
constant_27 (pTHX_ const char *name, IV *iv_return) {
/* When generated this function returned values for the list of names given
here. However, subsequent manual editing may have added or removed some.
DMARC_PARSE_ERROR_BAD_VALUE DMARC_PARSE_ERROR_NO_DOMAIN
DMARC_RECORD_FO_UNSPECIFIED DMARC_RECORD_RF_UNSPECIFIED */
/* Offset 26 gives the best switch position. */
switch (name[26]) {
case 'D':
if (memEQ(name, "DMARC_RECORD_FO_UNSPECIFIE", 26)) {
/* D */
#ifdef DMARC_RECORD_FO_UNSPECIFIED
*iv_return = DMARC_RECORD_FO_UNSPECIFIED;
return PERL_constant_ISIV;
#else
return PERL_constant_NOTDEF;
#endif
}
if (memEQ(name, "DMARC_RECORD_RF_UNSPECIFIE", 26)) {
/* D */
#ifdef DMARC_RECORD_RF_UNSPECIFIED
*iv_return = DMARC_RECORD_RF_UNSPECIFIED;
return PERL_constant_ISIV;
#else
return PERL_constant_NOTDEF;
#endif
}
break;
case 'E':
if (memEQ(name, "DMARC_PARSE_ERROR_BAD_VALU", 26)) {
/* E */
#ifdef DMARC_PARSE_ERROR_BAD_VALUE
*iv_return = DMARC_PARSE_ERROR_BAD_VALUE;
return PERL_constant_ISIV;
#else
return PERL_constant_NOTDEF;
#endif
}
break;
case 'N':
if (memEQ(name, "DMARC_PARSE_ERROR_NO_DOMAI", 26)) {
/* N */
#ifdef DMARC_PARSE_ERROR_NO_DOMAIN
*iv_return = DMARC_PARSE_ERROR_NO_DOMAIN;
return PERL_constant_ISIV;
#else
return PERL_constant_NOTDEF;
#endif
}
break;
}
return PERL_constant_NOTFOUND;
}
static int
constant_29 (pTHX_ const char *name, IV *iv_return) {
/* When generated this function returned values for the list of names given
here. However, subsequent manual editing may have added or removed some.
DMARC_PARSE_ERROR_BAD_VERSION DMARC_POLICY_SPF_OUTCOME_FAIL
DMARC_POLICY_SPF_OUTCOME_NONE DMARC_POLICY_SPF_OUTCOME_PASS */
/* Offset 27 gives the best switch position. */
switch (name[27]) {
case 'I':
if (memEQ(name, "DMARC_POLICY_SPF_OUTCOME_FAIL", 29)) {
/* ^ */
#ifdef DMARC_POLICY_SPF_OUTCOME_FAIL
*iv_return = DMARC_POLICY_SPF_OUTCOME_FAIL;
return PERL_constant_ISIV;
#else
return PERL_constant_NOTDEF;
#endif
}
break;
case 'N':
if (memEQ(name, "DMARC_POLICY_SPF_OUTCOME_NONE", 29)) {
/* ^ */
#ifdef DMARC_POLICY_SPF_OUTCOME_NONE
*iv_return = DMARC_POLICY_SPF_OUTCOME_NONE;
return PERL_constant_ISIV;
#else
return PERL_constant_NOTDEF;
#endif
}
break;
case 'O':
if (memEQ(name, "DMARC_PARSE_ERROR_BAD_VERSION", 29)) {
/* ^ */
#ifdef DMARC_PARSE_ERROR_BAD_VERSION
*iv_return = DMARC_PARSE_ERROR_BAD_VERSION;
return PERL_constant_ISIV;
#else
return PERL_constant_NOTDEF;
#endif
}
break;
case 'S':
if (memEQ(name, "DMARC_POLICY_SPF_OUTCOME_PASS", 29)) {
/* ^ */
#ifdef DMARC_POLICY_SPF_OUTCOME_PASS
*iv_return = DMARC_POLICY_SPF_OUTCOME_PASS;
return PERL_constant_ISIV;
#else
return PERL_constant_NOTDEF;
#endif
}
break;
}
return PERL_constant_NOTFOUND;
}
static int
constant_30 (pTHX_ const char *name, IV *iv_return) {
/* When generated this function returned values for the list of names given
here. However, subsequent manual editing may have added or removed some.
DMARC_POLICY_DKIM_OUTCOME_FAIL DMARC_POLICY_DKIM_OUTCOME_NONE
DMARC_POLICY_DKIM_OUTCOME_PASS */
/* Offset 26 gives the best switch position. */
switch (name[26]) {
case 'F':
if (memEQ(name, "DMARC_POLICY_DKIM_OUTCOME_FAIL", 30)) {
/* ^ */
#ifdef DMARC_POLICY_DKIM_OUTCOME_FAIL
*iv_return = DMARC_POLICY_DKIM_OUTCOME_FAIL;
return PERL_constant_ISIV;
#else
return PERL_constant_NOTDEF;
#endif
}
break;
case 'N':
if (memEQ(name, "DMARC_POLICY_DKIM_OUTCOME_NONE", 30)) {
/* ^ */
#ifdef DMARC_POLICY_DKIM_OUTCOME_NONE
*iv_return = DMARC_POLICY_DKIM_OUTCOME_NONE;
return PERL_constant_ISIV;
#else
return PERL_constant_NOTDEF;
#endif
}
break;
case 'P':
if (memEQ(name, "DMARC_POLICY_DKIM_OUTCOME_PASS", 30)) {
/* ^ */
#ifdef DMARC_POLICY_DKIM_OUTCOME_PASS
*iv_return = DMARC_POLICY_DKIM_OUTCOME_PASS;
return PERL_constant_ISIV;
#else
return PERL_constant_NOTDEF;
#endif
}
break;
}
return PERL_constant_NOTFOUND;
}
static int
constant_31 (pTHX_ const char *name, IV *iv_return) {
/* When generated this function returned values for the list of names given
here. However, subsequent manual editing may have added or removed some.
DMARC_PARSE_ERROR_BAD_SPF_MACRO DMARC_PARSE_ERROR_NO_REQUIRED_P
DMARC_POLICY_SPF_ALIGNMENT_FAIL DMARC_POLICY_SPF_ALIGNMENT_PASS */
/* Offset 30 gives the best switch position. */
switch (name[30]) {
case 'L':
if (memEQ(name, "DMARC_POLICY_SPF_ALIGNMENT_FAI", 30)) {
/* L */
#ifdef DMARC_POLICY_SPF_ALIGNMENT_FAIL
*iv_return = DMARC_POLICY_SPF_ALIGNMENT_FAIL;
return PERL_constant_ISIV;
#else
return PERL_constant_NOTDEF;
#endif
}
break;
case 'O':
if (memEQ(name, "DMARC_PARSE_ERROR_BAD_SPF_MACR", 30)) {
/* O */
#ifdef DMARC_PARSE_ERROR_BAD_SPF_MACRO
*iv_return = DMARC_PARSE_ERROR_BAD_SPF_MACRO;
return PERL_constant_ISIV;
#else
return PERL_constant_NOTDEF;
#endif
}
break;
case 'P':
if (memEQ(name, "DMARC_PARSE_ERROR_NO_REQUIRED_", 30)) {
/* P */
#ifdef DMARC_PARSE_ERROR_NO_REQUIRED_P
*iv_return = DMARC_PARSE_ERROR_NO_REQUIRED_P;
return PERL_constant_ISIV;
#else
return PERL_constant_NOTDEF;
#endif
}
break;
case 'S':
if (memEQ(name, "DMARC_POLICY_SPF_ALIGNMENT_PAS", 30)) {
/* S */
#ifdef DMARC_POLICY_SPF_ALIGNMENT_PASS
*iv_return = DMARC_POLICY_SPF_ALIGNMENT_PASS;
return PERL_constant_ISIV;
#else
return PERL_constant_NOTDEF;
#endif
}
break;
}
return PERL_constant_NOTFOUND;
}
static int
constant_32 (pTHX_ const char *name, IV *iv_return) {
/* When generated this function returned values for the list of names given
here. However, subsequent manual editing may have added or removed some.
DMARC_PARSE_ERROR_BAD_DKIM_MACRO DMARC_POLICY_DKIM_ALIGNMENT_FAIL
DMARC_POLICY_DKIM_ALIGNMENT_PASS DMARC_POLICY_SPF_ORIGIN_MAILFROM
DMARC_POLICY_SPF_OUTCOME_TMPFAIL */
/* Offset 20 gives the best switch position. */
switch (name[20]) {
case 'C':
if (memEQ(name, "DMARC_POLICY_SPF_OUTCOME_TMPFAIL", 32)) {
/* ^ */
#ifdef DMARC_POLICY_SPF_OUTCOME_TMPFAIL
*iv_return = DMARC_POLICY_SPF_OUTCOME_TMPFAIL;
return PERL_constant_ISIV;
#else
return PERL_constant_NOTDEF;
#endif
}
break;
case 'D':
if (memEQ(name, "DMARC_PARSE_ERROR_BAD_DKIM_MACRO", 32)) {
/* ^ */
#ifdef DMARC_PARSE_ERROR_BAD_DKIM_MACRO
*iv_return = DMARC_PARSE_ERROR_BAD_DKIM_MACRO;
return PERL_constant_ISIV;
#else
return PERL_constant_NOTDEF;
#endif
}
break;
case 'G':
if (memEQ(name, "DMARC_POLICY_SPF_ORIGIN_MAILFROM", 32)) {
/* ^ */
#ifdef DMARC_POLICY_SPF_ORIGIN_MAILFROM
*iv_return = DMARC_POLICY_SPF_ORIGIN_MAILFROM;
return PERL_constant_ISIV;
#else
return PERL_constant_NOTDEF;
#endif
}
break;
case 'I':
if (memEQ(name, "DMARC_POLICY_DKIM_ALIGNMENT_FAIL", 32)) {
/* ^ */
#ifdef DMARC_POLICY_DKIM_ALIGNMENT_FAIL
*iv_return = DMARC_POLICY_DKIM_ALIGNMENT_FAIL;
return PERL_constant_ISIV;
#else
return PERL_constant_NOTDEF;
#endif
}
if (memEQ(name, "DMARC_POLICY_DKIM_ALIGNMENT_PASS", 32)) {
/* ^ */
#ifdef DMARC_POLICY_DKIM_ALIGNMENT_PASS
*iv_return = DMARC_POLICY_DKIM_ALIGNMENT_PASS;
return PERL_constant_ISIV;
#else
return PERL_constant_NOTDEF;
#endif
}
break;
}
return PERL_constant_NOTFOUND;
}
static int
constant (pTHX_ const char *name, STRLEN len, IV *iv_return) {
/* Initially switch on the length of the name. */
/* When generated this function returned values for the list of names given
in this section of perl code. Rather than manually editing these functions
to add or remove constants, which would result in this comment and section
of code becoming inaccurate, we recommend that you edit this section of
code, and use it to regenerate a new set of constant functions which you
then use to replace the originals.
Regenerate these constant functions by feeding this entire source file to
perl -x
#!/usr/bin/perl -w
use ExtUtils::Constant qw (constant_types C_constant XS_constant);
my $types = {map {($_, 1)} qw(IV)};
my @names = (qw(DMARC_DNS_ERROR_NO_RECORD DMARC_DNS_ERROR_NXDOMAIN
DMARC_DNS_ERROR_TMPERR DMARC_FROM_DOMAIN_ABSENT
DMARC_MAXHOSTNAMELEN DMARC_PARSE_ERROR_BAD_DKIM_MACRO
DMARC_PARSE_ERROR_BAD_SPF_MACRO DMARC_PARSE_ERROR_BAD_VALUE
DMARC_PARSE_ERROR_BAD_VERSION DMARC_PARSE_ERROR_EMPTY
DMARC_PARSE_ERROR_NO_ALLOC DMARC_PARSE_ERROR_NO_DOMAIN
DMARC_PARSE_ERROR_NO_REQUIRED_P DMARC_PARSE_ERROR_NULL_CTX
DMARC_PARSE_OKAY DMARC_POLICY_ABSENT
DMARC_POLICY_DKIM_ALIGNMENT_FAIL
DMARC_POLICY_DKIM_ALIGNMENT_PASS DMARC_POLICY_DKIM_OUTCOME_FAIL
DMARC_POLICY_DKIM_OUTCOME_NONE DMARC_POLICY_DKIM_OUTCOME_PASS
DMARC_POLICY_DKIM_OUTCOME_TMPFAIL DMARC_POLICY_IP_TYPE_IPV4
DMARC_POLICY_IP_TYPE_IPV6 DMARC_POLICY_NONE DMARC_POLICY_PASS
DMARC_POLICY_QUARANTINE DMARC_POLICY_REJECT
DMARC_POLICY_SPF_ALIGNMENT_FAIL DMARC_POLICY_SPF_ALIGNMENT_PASS
DMARC_POLICY_SPF_ORIGIN_HELO DMARC_POLICY_SPF_ORIGIN_MAILFROM
DMARC_POLICY_SPF_OUTCOME_FAIL DMARC_POLICY_SPF_OUTCOME_NONE
DMARC_POLICY_SPF_OUTCOME_PASS DMARC_POLICY_SPF_OUTCOME_TMPFAIL
DMARC_RECORD_A_RELAXED DMARC_RECORD_A_STRICT
DMARC_RECORD_A_UNSPECIFIED DMARC_RECORD_FO_0 DMARC_RECORD_FO_1
DMARC_RECORD_FO_D DMARC_RECORD_FO_S DMARC_RECORD_FO_UNSPECIFIED
DMARC_RECORD_P_NONE DMARC_RECORD_P_QUARANTINE
DMARC_RECORD_P_REJECT DMARC_RECORD_P_UNSPECIFIED
DMARC_RECORD_RF_AFRF DMARC_RECORD_RF_IODEF
DMARC_RECORD_RF_UNSPECIFIED DMARC_TLD_ERROR_UNKNOWN MAXNS
MAXPATHLEN OPENDMARC_LIB_VERSION OPENDMARC_MAX_NSADDRLIST
OPENDMARC_TLD_TYPE_MOZILLA OPENDMARC_TLD_TYPE_NONE));
print constant_types(), "\n"; # macro defs
foreach (C_constant ("Mail::DMARC::opendmarc", 'constant', 'IV', $types, undef, 3, @names) ) {
print $_, "\n"; # C constant subs
}
print "\n#### XS Section:\n";
print XS_constant ("Mail::DMARC::opendmarc", $types);
__END__
*/
switch (len) {
case 5:
if (memEQ(name, "MAXNS", 5)) {
#ifdef MAXNS
*iv_return = MAXNS;
return PERL_constant_ISIV;
#else
return PERL_constant_NOTDEF;
#endif
}
break;
case 10:
if (memEQ(name, "MAXPATHLEN", 10)) {
#ifdef MAXPATHLEN
*iv_return = MAXPATHLEN;
return PERL_constant_ISIV;
#else
return PERL_constant_NOTDEF;
#endif
}
break;
case 16:
if (memEQ(name, "DMARC_PARSE_OKAY", 16)) {
#ifdef DMARC_PARSE_OKAY
*iv_return = DMARC_PARSE_OKAY;
return PERL_constant_ISIV;
#else
return PERL_constant_NOTDEF;
#endif
}
break;
case 17:
return constant_17 (aTHX_ name, iv_return);
break;
case 19:
return constant_19 (aTHX_ name, iv_return);
break;
case 20:
/* Names all of length 20. */
/* DMARC_MAXHOSTNAMELEN DMARC_RECORD_RF_AFRF */
/* Offset 10 gives the best switch position. */
switch (name[10]) {
case 'O':
if (memEQ(name, "DMARC_MAXHOSTNAMELEN", 20)) {
/* ^ */
#ifdef DMARC_MAXHOSTNAMELEN
*iv_return = DMARC_MAXHOSTNAMELEN;
return PERL_constant_ISIV;
#else
return PERL_constant_NOTDEF;
#endif
}
break;
case 'R':
if (memEQ(name, "DMARC_RECORD_RF_AFRF", 20)) {
/* ^ */
#ifdef DMARC_RECORD_RF_AFRF
*iv_return = DMARC_RECORD_RF_AFRF;
return PERL_constant_ISIV;
#else
return PERL_constant_NOTDEF;
#endif
}
break;
}
break;
case 21:
return constant_21 (aTHX_ name, iv_return);
break;
case 22:
/* Names all of length 22. */
/* DMARC_DNS_ERROR_TMPERR DMARC_RECORD_A_RELAXED */
/* Offset 17 gives the best switch position. */
switch (name[17]) {
case 'L':
if (memEQ(name, "DMARC_RECORD_A_RELAXED", 22)) {
/* ^ */
#ifdef DMARC_RECORD_A_RELAXED
*iv_return = DMARC_RECORD_A_RELAXED;
return PERL_constant_ISIV;
#else
return PERL_constant_NOTDEF;
#endif
}
break;
case 'M':
if (memEQ(name, "DMARC_DNS_ERROR_TMPERR", 22)) {
/* ^ */
#ifdef DMARC_DNS_ERROR_TMPERR
*iv_return = DMARC_DNS_ERROR_TMPERR;
return PERL_constant_ISIV;
#else
return PERL_constant_NOTDEF;
#endif
}
break;
}
break;
case 23:
return constant_23 (aTHX_ name, iv_return);
break;
case 24:
return constant_24 (aTHX_ name, iv_return);
break;
case 25:
return constant_25 (aTHX_ name, iv_return);
break;
case 26:
return constant_26 (aTHX_ name, iv_return);
break;
case 27:
return constant_27 (aTHX_ name, iv_return);
break;
case 28:
if (memEQ(name, "DMARC_POLICY_SPF_ORIGIN_HELO", 28)) {
#ifdef DMARC_POLICY_SPF_ORIGIN_HELO
*iv_return = DMARC_POLICY_SPF_ORIGIN_HELO;
return PERL_constant_ISIV;
#else
return PERL_constant_NOTDEF;
#endif
}
break;
case 29:
return constant_29 (aTHX_ name, iv_return);
break;
case 30:
return constant_30 (aTHX_ name, iv_return);
break;
case 31:
return constant_31 (aTHX_ name, iv_return);
break;
case 32:
return constant_32 (aTHX_ name, iv_return);
break;
case 33:
if (memEQ(name, "DMARC_POLICY_DKIM_OUTCOME_TMPFAIL", 33)) {
#ifdef DMARC_POLICY_DKIM_OUTCOME_TMPFAIL
*iv_return = DMARC_POLICY_DKIM_OUTCOME_TMPFAIL;
return PERL_constant_ISIV;
#else
return PERL_constant_NOTDEF;
#endif
}
break;
}
return PERL_constant_NOTFOUND;
}