#if defined(__MACH__) && defined(__APPLE__)
#include <TargetConditionals.h>
#include <AvailabilityMacros.h>
#if TARGET_RT_MAC_CFM
#error "Use KfM 4.0 SDK headers for CFM compilation."
#endif
#if defined(DEPRECATED_IN_MAC_OS_X_VERSION_10_5) && !defined(KRB5_SUPRESS_DEPRECATED_WARNINGS)
#define KRB5INT_DES_DEPRECATED DEPRECATED_IN_MAC_OS_X_VERSION_10_5
#endif
#endif
#ifndef KRB5INT_DES_DEPRECATED
#define KRB5INT_DES_DEPRECATED
#endif
#ifdef __cplusplus
#ifndef KRBINT_BEGIN_DECLS
#define KRBINT_BEGIN_DECLS extern "C" {
#define KRBINT_END_DECLS }
#endif
#else
#define KRBINT_BEGIN_DECLS
#define KRBINT_END_DECLS
#endif
#ifndef KRB5INT_DES_TYPES_DEFINED
#define KRB5INT_DES_TYPES_DEFINED
#include <limits.h>
KRBINT_BEGIN_DECLS
#if TARGET_OS_MAC
# pragma pack(push,2)
#endif
#if UINT_MAX >= 0xFFFFFFFFUL
#define DES_INT32 int
#define DES_UINT32 unsigned int
#else
#define DES_INT32 long
#define DES_UINT32 unsigned long
#endif
typedef unsigned char des_cblock[8]
KRB5INT_DES_DEPRECATED;
typedef struct des_ks_struct { DES_INT32 _[2]; } des_key_schedule[16]
KRB5INT_DES_DEPRECATED;
#if TARGET_OS_MAC
# pragma pack(pop)
#endif
KRBINT_END_DECLS
#endif
#ifndef DES_DEFS
#ifndef KRB5INT_CRYPTO_DES_INT
#define DES_DEFS
#if defined(_WIN32)
#ifndef KRB4
#define KRB4 1
#endif
#include <win-mac.h>
#endif
#include <stdio.h>
KRBINT_BEGIN_DECLS
#if TARGET_OS_MAC
# pragma pack(push,2)
#endif
#ifndef KRB5_CALLCONV
#define KRB5_CALLCONV
#define KRB5_CALLCONV_C
#endif
#define DES_KEY_SZ (sizeof(des_cblock))
#define DES_ENCRYPT 1
#define DES_DECRYPT 0
#ifndef NCOMPAT
#define C_Block des_cblock
#define Key_schedule des_key_schedule
#define ENCRYPT DES_ENCRYPT
#define DECRYPT DES_DECRYPT
#define KEY_SZ DES_KEY_SZ
#define string_to_key des_string_to_key
#define read_pw_string des_read_pw_string
#define random_key des_random_key
#define pcbc_encrypt des_pcbc_encrypt
#define key_sched des_key_sched
#define cbc_encrypt des_cbc_encrypt
#define cbc_cksum des_cbc_cksum
#define C_Block_print des_cblock_print
#define quad_cksum des_quad_cksum
typedef struct des_ks_struct bit_64;
#endif
#define des_cblock_print(x) des_cblock_print_file(x, stdout)
int KRB5_CALLCONV des_key_sched (C_Block, Key_schedule)
KRB5INT_DES_DEPRECATED;
int KRB5_CALLCONV
des_pcbc_encrypt (C_Block *in, C_Block *out, long length,
const des_key_schedule schedule, C_Block *ivec,
int enc)
KRB5INT_DES_DEPRECATED;
unsigned long KRB5_CALLCONV
des_quad_cksum (const unsigned char *in, unsigned DES_INT32 *out,
long length, int out_count, C_Block *seed)
KRB5INT_DES_DEPRECATED;
unsigned long KRB5_CALLCONV
des_cbc_cksum(const des_cblock *, des_cblock *, unsigned long,
const des_key_schedule, const des_cblock *)
KRB5INT_DES_DEPRECATED;
int KRB5_CALLCONV des_string_to_key (const char *, C_Block)
KRB5INT_DES_DEPRECATED;
void afs_string_to_key(char *, char *, des_cblock)
KRB5INT_DES_DEPRECATED;
int KRB5_CALLCONV des_read_password(des_cblock *, char *, int)
KRB5INT_DES_DEPRECATED;
int KRB5_CALLCONV des_ecb_encrypt(des_cblock *, des_cblock *,
const des_key_schedule, int)
KRB5INT_DES_DEPRECATED;
int des_cbc_encrypt(des_cblock *, des_cblock *, unsigned long,
const des_key_schedule, const des_cblock *, int)
KRB5INT_DES_DEPRECATED;
void des_fixup_key_parity(des_cblock)
KRB5INT_DES_DEPRECATED;
int des_check_key_parity(des_cblock)
KRB5INT_DES_DEPRECATED;
int KRB5_CALLCONV des_new_random_key(des_cblock)
KRB5INT_DES_DEPRECATED;
void des_init_random_number_generator(des_cblock)
KRB5INT_DES_DEPRECATED;
int des_random_key(des_cblock *)
KRB5INT_DES_DEPRECATED;
int des_is_weak_key(des_cblock)
KRB5INT_DES_DEPRECATED;
void des_cblock_print_file(des_cblock *, FILE *fp)
KRB5INT_DES_DEPRECATED;
#if TARGET_OS_MAC
# pragma pack(pop)
#endif
KRBINT_END_DECLS
#endif
#endif