require '_h2ph_pre.ph';

no warnings 'redefine';

unless(defined(&__KRB5_H__)) {
    eval 'sub __KRB5_H__ () {1;}' unless defined(&__KRB5_H__);
    require 'time.ph';
    require 'kerberosV/krb5-types.ph';
    require 'kerberosV/asn1_err.ph';
    require 'kerberosV/krb5_err.ph';
    require 'kerberosV/heim_err.ph';
    require 'kerberosV/k524_err.ph';
    require 'kerberosV/krb5_asn1.ph';
    unless(defined(&KRB5KDC_ERR_KEY_EXP)) {
	eval 'sub KRB5KDC_ERR_KEY_EXP () { &KRB5KDC_ERR_KEY_EXPIRED;}' unless defined(&KRB5KDC_ERR_KEY_EXP);
    }
    unless(defined(&TRUE)) {
	eval 'sub TRUE () {1;}' unless defined(&TRUE);
	eval 'sub FALSE () {0;}' unless defined(&FALSE);
    }
    eval("sub ENCTYPE_NULL () { ETYPE_NULL; }") unless defined(&ENCTYPE_NULL);
    eval("sub ENCTYPE_DES_CBC_CRC () { ETYPE_DES_CBC_CRC; }") unless defined(&ENCTYPE_DES_CBC_CRC);
    eval("sub ENCTYPE_DES_CBC_MD4 () { ETYPE_DES_CBC_MD4; }") unless defined(&ENCTYPE_DES_CBC_MD4);
    eval("sub ENCTYPE_DES_CBC_MD5 () { ETYPE_DES_CBC_MD5; }") unless defined(&ENCTYPE_DES_CBC_MD5);
    eval("sub ENCTYPE_DES3_CBC_MD5 () { ETYPE_DES3_CBC_MD5; }") unless defined(&ENCTYPE_DES3_CBC_MD5);
    eval("sub ENCTYPE_OLD_DES3_CBC_SHA1 () { ETYPE_OLD_DES3_CBC_SHA1; }") unless defined(&ENCTYPE_OLD_DES3_CBC_SHA1);
    eval("sub ENCTYPE_SIGN_DSA_GENERATE () { ETYPE_SIGN_DSA_GENERATE; }") unless defined(&ENCTYPE_SIGN_DSA_GENERATE);
    eval("sub ENCTYPE_ENCRYPT_RSA_PRIV () { ETYPE_ENCRYPT_RSA_PRIV; }") unless defined(&ENCTYPE_ENCRYPT_RSA_PRIV);
    eval("sub ENCTYPE_ENCRYPT_RSA_PUB () { ETYPE_ENCRYPT_RSA_PUB; }") unless defined(&ENCTYPE_ENCRYPT_RSA_PUB);
    eval("sub ENCTYPE_DES3_CBC_SHA1 () { ETYPE_DES3_CBC_SHA1; }") unless defined(&ENCTYPE_DES3_CBC_SHA1);
    eval("sub ENCTYPE_AES128_CTS_HMAC_SHA1_96 () { ETYPE_AES128_CTS_HMAC_SHA1_96; }") unless defined(&ENCTYPE_AES128_CTS_HMAC_SHA1_96);
    eval("sub ENCTYPE_AES256_CTS_HMAC_SHA1_96 () { ETYPE_AES256_CTS_HMAC_SHA1_96; }") unless defined(&ENCTYPE_AES256_CTS_HMAC_SHA1_96);
    eval("sub ENCTYPE_ARCFOUR_HMAC () { ETYPE_ARCFOUR_HMAC_MD5; }") unless defined(&ENCTYPE_ARCFOUR_HMAC);
    eval("sub ENCTYPE_ARCFOUR_HMAC_MD5 () { ETYPE_ARCFOUR_HMAC_MD5; }") unless defined(&ENCTYPE_ARCFOUR_HMAC_MD5);
    eval("sub ENCTYPE_ARCFOUR_HMAC_MD5_56 () { ETYPE_ARCFOUR_HMAC_MD5_56; }") unless defined(&ENCTYPE_ARCFOUR_HMAC_MD5_56);
    eval("sub ENCTYPE_ENCTYPE_PK_CROSS () { ETYPE_ENCTYPE_PK_CROSS; }") unless defined(&ENCTYPE_ENCTYPE_PK_CROSS);
    eval("sub ENCTYPE_DES_CBC_NONE () { ETYPE_DES_CBC_NONE; }") unless defined(&ENCTYPE_DES_CBC_NONE);
    eval("sub ENCTYPE_DES3_CBC_NONE () { ETYPE_DES3_CBC_NONE; }") unless defined(&ENCTYPE_DES3_CBC_NONE);
    eval("sub ENCTYPE_DES_CFB64_NONE () { ETYPE_DES_CFB64_NONE; }") unless defined(&ENCTYPE_DES_CFB64_NONE);
    eval("sub ENCTYPE_DES_PCBC_NONE () { ETYPE_DES_PCBC_NONE; }") unless defined(&ENCTYPE_DES_PCBC_NONE);
    eval("sub KRB5_KU_PA_ENC_TIMESTAMP () { 1; }") unless defined(&KRB5_KU_PA_ENC_TIMESTAMP);
    eval("sub KRB5_KU_TICKET () { 2; }") unless defined(&KRB5_KU_TICKET);
    eval("sub KRB5_KU_AS_REP_ENC_PART () { 3; }") unless defined(&KRB5_KU_AS_REP_ENC_PART);
    eval("sub KRB5_KU_TGS_REQ_AUTH_DAT_SESSION () { 4; }") unless defined(&KRB5_KU_TGS_REQ_AUTH_DAT_SESSION);
    eval("sub KRB5_KU_TGS_REQ_AUTH_DAT_SUBKEY () { 5; }") unless defined(&KRB5_KU_TGS_REQ_AUTH_DAT_SUBKEY);
    eval("sub KRB5_KU_TGS_REQ_AUTH_CKSUM () { 6; }") unless defined(&KRB5_KU_TGS_REQ_AUTH_CKSUM);
    eval("sub KRB5_KU_TGS_REQ_AUTH () { 7; }") unless defined(&KRB5_KU_TGS_REQ_AUTH);
    eval("sub KRB5_KU_TGS_REP_ENC_PART_SESSION () { 8; }") unless defined(&KRB5_KU_TGS_REP_ENC_PART_SESSION);
    eval("sub KRB5_KU_TGS_REP_ENC_PART_SUB_KEY () { 9; }") unless defined(&KRB5_KU_TGS_REP_ENC_PART_SUB_KEY);
    eval("sub KRB5_KU_AP_REQ_AUTH_CKSUM () { 10; }") unless defined(&KRB5_KU_AP_REQ_AUTH_CKSUM);
    eval("sub KRB5_KU_AP_REQ_AUTH () { 11; }") unless defined(&KRB5_KU_AP_REQ_AUTH);
    eval("sub KRB5_KU_AP_REQ_ENC_PART () { 12; }") unless defined(&KRB5_KU_AP_REQ_ENC_PART);
    eval("sub KRB5_KU_KRB_PRIV () { 13; }") unless defined(&KRB5_KU_KRB_PRIV);
    eval("sub KRB5_KU_KRB_CRED () { 14; }") unless defined(&KRB5_KU_KRB_CRED);
    eval("sub KRB5_KU_KRB_SAFE_CKSUM () { 15; }") unless defined(&KRB5_KU_KRB_SAFE_CKSUM);
    eval("sub KRB5_KU_OTHER_ENCRYPTED () { 16; }") unless defined(&KRB5_KU_OTHER_ENCRYPTED);
    eval("sub KRB5_KU_OTHER_CKSUM () { 17; }") unless defined(&KRB5_KU_OTHER_CKSUM);
    eval("sub KRB5_KU_KRB_ERROR () { 18; }") unless defined(&KRB5_KU_KRB_ERROR);
    eval("sub KRB5_KU_AD_KDC_ISSUED () { 19; }") unless defined(&KRB5_KU_AD_KDC_ISSUED);
    eval("sub KRB5_KU_MANDATORY_TICKET_EXTENSION () { 20; }") unless defined(&KRB5_KU_MANDATORY_TICKET_EXTENSION);
    eval("sub KRB5_KU_AUTH_DATA_TICKET_EXTENSION () { 21; }") unless defined(&KRB5_KU_AUTH_DATA_TICKET_EXTENSION);
    eval("sub KRB5_KU_USAGE_SEAL () { 22; }") unless defined(&KRB5_KU_USAGE_SEAL);
    eval("sub KRB5_KU_USAGE_SIGN () { 23; }") unless defined(&KRB5_KU_USAGE_SIGN);
    eval("sub KRB5_KU_USAGE_SEQ () { 24; }") unless defined(&KRB5_KU_USAGE_SEQ);
    eval("sub KRB5_KU_USAGE_ACCEPTOR_SEAL () { 22; }") unless defined(&KRB5_KU_USAGE_ACCEPTOR_SEAL);
    eval("sub KRB5_KU_USAGE_ACCEPTOR_SIGN () { 23; }") unless defined(&KRB5_KU_USAGE_ACCEPTOR_SIGN);
    eval("sub KRB5_KU_USAGE_INITIATOR_SEAL () { 24; }") unless defined(&KRB5_KU_USAGE_INITIATOR_SEAL);
    eval("sub KRB5_KU_USAGE_INITIATOR_SIGN () { 25; }") unless defined(&KRB5_KU_USAGE_INITIATOR_SIGN);
    eval("sub KRB5_KU_PA_SERVER_REFERRAL_DATA () { 22; }") unless defined(&KRB5_KU_PA_SERVER_REFERRAL_DATA);
    eval("sub KRB5_KU_SAM_CHECKSUM () { 25; }") unless defined(&KRB5_KU_SAM_CHECKSUM);
    eval("sub KRB5_KU_SAM_ENC_TRACK_ID () { 26; }") unless defined(&KRB5_KU_SAM_ENC_TRACK_ID);
    eval("sub KRB5_KU_PA_SERVER_REFERRAL () { 26; }") unless defined(&KRB5_KU_PA_SERVER_REFERRAL);
    eval("sub KRB5_KU_SAM_ENC_NONCE_SAD () { 27; }") unless defined(&KRB5_KU_SAM_ENC_NONCE_SAD);
    eval("sub KRB5_PW_SALT () { KRB5_PADATA_PW_SALT; }") unless defined(&KRB5_PW_SALT);
    eval("sub KRB5_AFS3_SALT () { KRB5_PADATA_AFS3_SALT; }") unless defined(&KRB5_AFS3_SALT);
    eval("sub KRB5_ADDRESS_INET () { 2; }") unless defined(&KRB5_ADDRESS_INET);
    eval("sub KRB5_ADDRESS_INET6 () { 24; }") unless defined(&KRB5_ADDRESS_INET6);
    eval("sub KRB5_ADDRESS_ADDRPORT () { 256; }") unless defined(&KRB5_ADDRESS_ADDRPORT);
    eval("sub KRB5_ADDRESS_IPPORT () { 257; }") unless defined(&KRB5_ADDRESS_IPPORT);
    eval("sub AP_OPTS_USE_SESSION_KEY () { 1; }") unless defined(&AP_OPTS_USE_SESSION_KEY);
    eval("sub AP_OPTS_MUTUAL_REQUIRED () { 2; }") unless defined(&AP_OPTS_MUTUAL_REQUIRED);
    eval("sub AP_OPTS_USE_SUBKEY () { 4; }") unless defined(&AP_OPTS_USE_SUBKEY);
    eval("sub KEYTYPE_NULL () { 0; }") unless defined(&KEYTYPE_NULL);
    eval("sub KEYTYPE_DES () { 1; }") unless defined(&KEYTYPE_DES);
    eval("sub KEYTYPE_DES3 () { 7; }") unless defined(&KEYTYPE_DES3);
    eval("sub KEYTYPE_AES128 () { 17; }") unless defined(&KEYTYPE_AES128);
    eval("sub KEYTYPE_AES256 () { 18; }") unless defined(&KEYTYPE_AES256);
    eval("sub KEYTYPE_ARCFOUR () { 23; }") unless defined(&KEYTYPE_ARCFOUR);
    eval("sub KEYTYPE_ARCFOUR_56 () { 24; }") unless defined(&KEYTYPE_ARCFOUR_56);
    eval("sub KEYTYPE_RC2 () { -0x1005; }") unless defined(&KEYTYPE_RC2);
    eval("sub KEYTYPE_AES192 () { -0x1006; }") unless defined(&KEYTYPE_AES192);
    eval 'sub KRB5_DEFAULT_CCFILE_ROOT () {"/tmp/krb5cc_";}' unless defined(&KRB5_DEFAULT_CCFILE_ROOT);
    eval 'sub KRB5_DEFAULT_CCROOT () {"FILE:"  &KRB5_DEFAULT_CCFILE_ROOT;}' unless defined(&KRB5_DEFAULT_CCROOT);
    eval 'sub KRB5_ACCEPT_NULL_ADDRESSES {
        my($C) = @_;
	    eval q( &krb5_config_get_bool_default(($C),  &NULL,  &TRUE, \\"libdefaults\\", \\"accept_null_addresses\\",  &NULL));
    }' unless defined(&KRB5_ACCEPT_NULL_ADDRESSES);
    eval 'sub krb5_realm_length {
        my($r) = @_;
	    eval q( &strlen($r));
    }' unless defined(&krb5_realm_length);
    eval 'sub krb5_realm_data {
        my($r) = @_;
	    eval q(($r));
    }' unless defined(&krb5_realm_data);
    eval 'sub KDC_OPT_FORWARDABLE () {(1<< 1);}' unless defined(&KDC_OPT_FORWARDABLE);
    eval 'sub KDC_OPT_FORWARDED () {(1<< 2);}' unless defined(&KDC_OPT_FORWARDED);
    eval 'sub KDC_OPT_PROXIABLE () {(1<< 3);}' unless defined(&KDC_OPT_PROXIABLE);
    eval 'sub KDC_OPT_PROXY () {(1<< 4);}' unless defined(&KDC_OPT_PROXY);
    eval 'sub KDC_OPT_ALLOW_POSTDATE () {(1<< 5);}' unless defined(&KDC_OPT_ALLOW_POSTDATE);
    eval 'sub KDC_OPT_POSTDATED () {(1<< 6);}' unless defined(&KDC_OPT_POSTDATED);
    eval 'sub KDC_OPT_RENEWABLE () {(1<< 8);}' unless defined(&KDC_OPT_RENEWABLE);
    eval 'sub KDC_OPT_REQUEST_ANONYMOUS () {(1<< 14);}' unless defined(&KDC_OPT_REQUEST_ANONYMOUS);
    eval 'sub KDC_OPT_DISABLE_TRANSITED_CHECK () {(1<< 26);}' unless defined(&KDC_OPT_DISABLE_TRANSITED_CHECK);
    eval 'sub KDC_OPT_RENEWABLE_OK () {(1<< 27);}' unless defined(&KDC_OPT_RENEWABLE_OK);
    eval 'sub KDC_OPT_ENC_TKT_IN_SKEY () {(1<< 28);}' unless defined(&KDC_OPT_ENC_TKT_IN_SKEY);
    eval 'sub KDC_OPT_RENEW () {(1<< 30);}' unless defined(&KDC_OPT_RENEW);
    eval 'sub KDC_OPT_VALIDATE () {(1<< 31);}' unless defined(&KDC_OPT_VALIDATE);
    eval 'sub KRB5_VERIFY_AP_REQ_IGNORE_INVALID () {(1<< 0);}' unless defined(&KRB5_VERIFY_AP_REQ_IGNORE_INVALID);
    eval 'sub KRB5_GC_CACHED () {(1 << 0);}' unless defined(&KRB5_GC_CACHED);
    eval 'sub KRB5_GC_USER_USER () {(1 << 1);}' unless defined(&KRB5_GC_USER_USER);
    eval 'sub KRB5_GC_EXPIRED_OK () {(1 << 2);}' unless defined(&KRB5_GC_EXPIRED_OK);
    eval 'sub KRB5_TC_DONT_MATCH_REALM () {(1 << 31);}' unless defined(&KRB5_TC_DONT_MATCH_REALM);
    eval 'sub KRB5_TC_MATCH_KEYTYPE () {(1 << 30);}' unless defined(&KRB5_TC_MATCH_KEYTYPE);
    eval 'sub KRB5_TC_MATCH_KTYPE () { &KRB5_TC_MATCH_KEYTYPE;}' unless defined(&KRB5_TC_MATCH_KTYPE);
    eval 'sub KRB5_TC_MATCH_SRV_NAMEONLY () {(1<< 29);}' unless defined(&KRB5_TC_MATCH_SRV_NAMEONLY);
    eval 'sub KRB5_TC_MATCH_FLAGS_EXACT () {(1<< 28);}' unless defined(&KRB5_TC_MATCH_FLAGS_EXACT);
    eval 'sub KRB5_TC_MATCH_FLAGS () {(1<< 27);}' unless defined(&KRB5_TC_MATCH_FLAGS);
    eval 'sub KRB5_TC_MATCH_TIMES_EXACT () {(1<< 26);}' unless defined(&KRB5_TC_MATCH_TIMES_EXACT);
    eval 'sub KRB5_TC_MATCH_TIMES () {(1<< 25);}' unless defined(&KRB5_TC_MATCH_TIMES);
    eval 'sub KRB5_TC_MATCH_AUTHDATA () {(1<< 24);}' unless defined(&KRB5_TC_MATCH_AUTHDATA);
    eval 'sub KRB5_TC_MATCH_2ND_TKT () {(1<< 23);}' unless defined(&KRB5_TC_MATCH_2ND_TKT);
    eval 'sub KRB5_TC_MATCH_IS_SKEY () {(1<< 22);}' unless defined(&KRB5_TC_MATCH_IS_SKEY);
    eval("sub krb5_config_string () { 0; }") unless defined(&krb5_config_string);
    eval("sub krb5_config_list () { 1; }") unless defined(&krb5_config_list);
    eval("sub KRB5_PKINIT_WIN2K () { 1; }") unless defined(&KRB5_PKINIT_WIN2K);
    eval("sub KRB5_PKINIT_PACKET_CABLE () { 2; }") unless defined(&KRB5_PKINIT_PACKET_CABLE);
    eval 'sub KRB5_STORAGE_HOST_BYTEORDER () {0x1;}' unless defined(&KRB5_STORAGE_HOST_BYTEORDER);
    eval 'sub KRB5_STORAGE_PRINCIPAL_WRONG_NUM_COMPONENTS () {0x2;}' unless defined(&KRB5_STORAGE_PRINCIPAL_WRONG_NUM_COMPONENTS);
    eval 'sub KRB5_STORAGE_PRINCIPAL_NO_NAME_TYPE () {0x4;}' unless defined(&KRB5_STORAGE_PRINCIPAL_NO_NAME_TYPE);
    eval 'sub KRB5_STORAGE_KEYBLOCK_KEYTYPE_TWICE () {0x8;}' unless defined(&KRB5_STORAGE_KEYBLOCK_KEYTYPE_TWICE);
    eval 'sub KRB5_STORAGE_BYTEORDER_MASK () {0x60;}' unless defined(&KRB5_STORAGE_BYTEORDER_MASK);
    eval 'sub KRB5_STORAGE_BYTEORDER_BE () {0x;}' unless defined(&KRB5_STORAGE_BYTEORDER_BE);
    eval 'sub KRB5_STORAGE_BYTEORDER_LE () {0x20;}' unless defined(&KRB5_STORAGE_BYTEORDER_LE);
    eval 'sub KRB5_STORAGE_BYTEORDER_HOST () {0x40;}' unless defined(&KRB5_STORAGE_BYTEORDER_HOST);
    eval 'sub KRB5_STORAGE_CREDS_FLAGS_WRONG_BITORDER () {0x80;}' unless defined(&KRB5_STORAGE_CREDS_FLAGS_WRONG_BITORDER);
    eval 'sub KRB5_KT_PREFIX_MAX_LEN () {30;}' unless defined(&KRB5_KT_PREFIX_MAX_LEN);
    eval("sub KRB5_AUTH_CONTEXT_DO_TIME () { 1; }") unless defined(&KRB5_AUTH_CONTEXT_DO_TIME);
    eval("sub KRB5_AUTH_CONTEXT_RET_TIME () { 2; }") unless defined(&KRB5_AUTH_CONTEXT_RET_TIME);
    eval("sub KRB5_AUTH_CONTEXT_DO_SEQUENCE () { 4; }") unless defined(&KRB5_AUTH_CONTEXT_DO_SEQUENCE);
    eval("sub KRB5_AUTH_CONTEXT_RET_SEQUENCE () { 8; }") unless defined(&KRB5_AUTH_CONTEXT_RET_SEQUENCE);
    eval("sub KRB5_AUTH_CONTEXT_PERMIT_ALL () { 16; }") unless defined(&KRB5_AUTH_CONTEXT_PERMIT_ALL);
    eval("sub KRB5_AUTH_CONTEXT_USE_SUBKEY () { 32; }") unless defined(&KRB5_AUTH_CONTEXT_USE_SUBKEY);
    eval("sub KRB5_AUTH_CONTEXT_CLEAR_FORWARDED_CRED () { 64; }") unless defined(&KRB5_AUTH_CONTEXT_CLEAR_FORWARDED_CRED);
    eval("sub KRB5_AUTH_CONTEXT_GENERATE_LOCAL_ADDR () { 1; }") unless defined(&KRB5_AUTH_CONTEXT_GENERATE_LOCAL_ADDR);
    eval("sub KRB5_AUTH_CONTEXT_GENERATE_LOCAL_FULL_ADDR () { 3; }") unless defined(&KRB5_AUTH_CONTEXT_GENERATE_LOCAL_FULL_ADDR);
    eval("sub KRB5_AUTH_CONTEXT_GENERATE_REMOTE_ADDR () { 4; }") unless defined(&KRB5_AUTH_CONTEXT_GENERATE_REMOTE_ADDR);
    eval("sub KRB5_AUTH_CONTEXT_GENERATE_REMOTE_FULL_ADDR () { 12; }") unless defined(&KRB5_AUTH_CONTEXT_GENERATE_REMOTE_FULL_ADDR);
    eval 'sub KRB5_RECVAUTH_IGNORE_VERSION () {1;}' unless defined(&KRB5_RECVAUTH_IGNORE_VERSION);
    eval 'sub KRB5_SENDAUTH_VERSION () {"KRB5_SENDAUTH_V1.0";}' unless defined(&KRB5_SENDAUTH_VERSION);
    eval 'sub KRB5_TGS_NAME_SIZE () {(6);}' unless defined(&KRB5_TGS_NAME_SIZE);
    eval 'sub KRB5_TGS_NAME () {("krbtgt");}' unless defined(&KRB5_TGS_NAME);
    eval("sub KRB5_PROMPT_TYPE_PASSWORD () { 0x1; }") unless defined(&KRB5_PROMPT_TYPE_PASSWORD);
    eval("sub KRB5_PROMPT_TYPE_NEW_PASSWORD () { 0x2; }") unless defined(&KRB5_PROMPT_TYPE_NEW_PASSWORD);
    eval("sub KRB5_PROMPT_TYPE_NEW_PASSWORD_AGAIN () { 0x3; }") unless defined(&KRB5_PROMPT_TYPE_NEW_PASSWORD_AGAIN);
    eval("sub KRB5_PROMPT_TYPE_PREAUTH () { 0x4; }") unless defined(&KRB5_PROMPT_TYPE_PREAUTH);
    eval 'sub KRB5_GET_INIT_CREDS_OPT_TKT_LIFE () {0x1;}' unless defined(&KRB5_GET_INIT_CREDS_OPT_TKT_LIFE);
    eval 'sub KRB5_GET_INIT_CREDS_OPT_RENEW_LIFE () {0x2;}' unless defined(&KRB5_GET_INIT_CREDS_OPT_RENEW_LIFE);
    eval 'sub KRB5_GET_INIT_CREDS_OPT_FORWARDABLE () {0x4;}' unless defined(&KRB5_GET_INIT_CREDS_OPT_FORWARDABLE);
    eval 'sub KRB5_GET_INIT_CREDS_OPT_PROXIABLE () {0x8;}' unless defined(&KRB5_GET_INIT_CREDS_OPT_PROXIABLE);
    eval 'sub KRB5_GET_INIT_CREDS_OPT_ETYPE_LIST () {0x10;}' unless defined(&KRB5_GET_INIT_CREDS_OPT_ETYPE_LIST);
    eval 'sub KRB5_GET_INIT_CREDS_OPT_ADDRESS_LIST () {0x20;}' unless defined(&KRB5_GET_INIT_CREDS_OPT_ADDRESS_LIST);
    eval 'sub KRB5_GET_INIT_CREDS_OPT_PREAUTH_LIST () {0x40;}' unless defined(&KRB5_GET_INIT_CREDS_OPT_PREAUTH_LIST);
    eval 'sub KRB5_GET_INIT_CREDS_OPT_SALT () {0x80;}' unless defined(&KRB5_GET_INIT_CREDS_OPT_SALT);
    eval 'sub KRB5_GET_INIT_CREDS_OPT_ANONYMOUS () {0x100;}' unless defined(&KRB5_GET_INIT_CREDS_OPT_ANONYMOUS);
    eval 'sub KRB5_GET_INIT_CREDS_OPT_DISABLE_TRANSITED_CHECK () {0x200;}' unless defined(&KRB5_GET_INIT_CREDS_OPT_DISABLE_TRANSITED_CHECK);
    eval 'sub KRB5_VERIFY_INIT_CREDS_OPT_AP_REQ_NOFAIL () {0x1;}' unless defined(&KRB5_VERIFY_INIT_CREDS_OPT_AP_REQ_NOFAIL);
    eval 'sub KRB5_VERIFY_LREALMS () {1;}' unless defined(&KRB5_VERIFY_LREALMS);
    eval 'sub KRB5_VERIFY_NO_ADDRESSES () {2;}' unless defined(&KRB5_VERIFY_NO_ADDRESSES);
    eval 'sub KRB5_KPASSWD_VERS_CHANGEPW () {1;}' unless defined(&KRB5_KPASSWD_VERS_CHANGEPW);
    eval 'sub KRB5_KPASSWD_VERS_SETPW () {0xff80;}' unless defined(&KRB5_KPASSWD_VERS_SETPW);
    eval 'sub KRB5_KPASSWD_SUCCESS () {0;}' unless defined(&KRB5_KPASSWD_SUCCESS);
    eval 'sub KRB5_KPASSWD_MALFORMED () {1;}' unless defined(&KRB5_KPASSWD_MALFORMED);
    eval 'sub KRB5_KPASSWD_HARDERROR () {2;}' unless defined(&KRB5_KPASSWD_HARDERROR);
    eval 'sub KRB5_KPASSWD_AUTHERROR () {3;}' unless defined(&KRB5_KPASSWD_AUTHERROR);
    eval 'sub KRB5_KPASSWD_SOFTERROR () {4;}' unless defined(&KRB5_KPASSWD_SOFTERROR);
    eval 'sub KRB5_KPASSWD_ACCESSDENIED () {5;}' unless defined(&KRB5_KPASSWD_ACCESSDENIED);
    eval 'sub KRB5_KPASSWD_BAD_VERSION () {6;}' unless defined(&KRB5_KPASSWD_BAD_VERSION);
    eval 'sub KRB5_KPASSWD_INITIAL_FLAG_NEEDED () {7;}' unless defined(&KRB5_KPASSWD_INITIAL_FLAG_NEEDED);
    eval 'sub KPASSWD_PORT () {464;}' unless defined(&KPASSWD_PORT);
    eval 'sub KRB5_KRBHST_KDC () {1;}' unless defined(&KRB5_KRBHST_KDC);
    eval 'sub KRB5_KRBHST_ADMIN () {2;}' unless defined(&KRB5_KRBHST_ADMIN);
    eval 'sub KRB5_KRBHST_CHANGEPW () {3;}' unless defined(&KRB5_KRBHST_CHANGEPW);
    eval 'sub KRB5_KRBHST_KRB524 () {4;}' unless defined(&KRB5_KRBHST_KRB524);
    eval("sub KRB5_KRBHST_UDP () { 0; }") unless defined(&KRB5_KRBHST_UDP);
    eval("sub KRB5_KRBHST_TCP () { 1; }") unless defined(&KRB5_KRBHST_TCP);
    eval("sub KRB5_KRBHST_HTTP () { 2; }") unless defined(&KRB5_KRBHST_HTTP);
    eval("sub KRB5_KRBHST_FLAGS_MASTER () { 1; }") unless defined(&KRB5_KRBHST_FLAGS_MASTER);
    eval("sub KRB5_KRBHST_FLAGS_LARGE_MSG () { 2; }") unless defined(&KRB5_KRBHST_FLAGS_LARGE_MSG);
    require 'kerberosV/krb5-protos.ph';
}
1;
