17c478bd9Sstevel@tonic-gate /*
27c478bd9Sstevel@tonic-gate  * Copyright 2003 Sun Microsystems, Inc.  All rights reserved.
37c478bd9Sstevel@tonic-gate  * Use is subject to license terms.
47c478bd9Sstevel@tonic-gate  */
57c478bd9Sstevel@tonic-gate 
67c478bd9Sstevel@tonic-gate #ifndef ARCFOUR_H
77c478bd9Sstevel@tonic-gate #define ARCFOUR_H
87c478bd9Sstevel@tonic-gate 
97c478bd9Sstevel@tonic-gate #define CONFOUNDERLENGTH 8
107c478bd9Sstevel@tonic-gate 
117c478bd9Sstevel@tonic-gate extern void
127c478bd9Sstevel@tonic-gate krb5_arcfour_encrypt_length(const struct krb5_enc_provider *,
137c478bd9Sstevel@tonic-gate 			const struct krb5_hash_provider *,
147c478bd9Sstevel@tonic-gate 			size_t,
157c478bd9Sstevel@tonic-gate 			size_t *);
167c478bd9Sstevel@tonic-gate 
17*2d6eb4a5SToomas Soome extern
187c478bd9Sstevel@tonic-gate krb5_error_code krb5_arcfour_encrypt(krb5_context,
197c478bd9Sstevel@tonic-gate 			const struct krb5_enc_provider *,
207c478bd9Sstevel@tonic-gate 			const struct krb5_hash_provider *,
217c478bd9Sstevel@tonic-gate 			const krb5_keyblock *,
227c478bd9Sstevel@tonic-gate 			krb5_keyusage,
237c478bd9Sstevel@tonic-gate 			const krb5_data *,
247c478bd9Sstevel@tonic-gate      			const krb5_data *,
257c478bd9Sstevel@tonic-gate 			krb5_data *);
267c478bd9Sstevel@tonic-gate 
27*2d6eb4a5SToomas Soome extern
287c478bd9Sstevel@tonic-gate krb5_error_code krb5_arcfour_decrypt(krb5_context,
297c478bd9Sstevel@tonic-gate 			const struct krb5_enc_provider *,
307c478bd9Sstevel@tonic-gate 			const struct krb5_hash_provider *,
317c478bd9Sstevel@tonic-gate 			const krb5_keyblock *,
327c478bd9Sstevel@tonic-gate 			krb5_keyusage,
337c478bd9Sstevel@tonic-gate 			const krb5_data *,
347c478bd9Sstevel@tonic-gate 			const krb5_data *,
357c478bd9Sstevel@tonic-gate 			krb5_data *);
367c478bd9Sstevel@tonic-gate 
377c478bd9Sstevel@tonic-gate #ifndef _KERNEL
387c478bd9Sstevel@tonic-gate extern krb5_error_code krb5int_arcfour_string_to_key(
397c478bd9Sstevel@tonic-gate 	krb5_context,
407c478bd9Sstevel@tonic-gate      const struct krb5_enc_provider *,
417c478bd9Sstevel@tonic-gate      const krb5_data *,
427c478bd9Sstevel@tonic-gate      const krb5_data *,
437c478bd9Sstevel@tonic-gate      const krb5_data *,
447c478bd9Sstevel@tonic-gate      krb5_keyblock *);
457c478bd9Sstevel@tonic-gate #endif /* _KERNEL */
467c478bd9Sstevel@tonic-gate 
477c478bd9Sstevel@tonic-gate extern const struct krb5_enc_provider krb5int_enc_arcfour;
487c478bd9Sstevel@tonic-gate 
497c478bd9Sstevel@tonic-gate krb5_keyusage krb5int_arcfour_translate_usage(krb5_keyusage usage);
507c478bd9Sstevel@tonic-gate 
517c478bd9Sstevel@tonic-gate #endif /* ARCFOUR_H */
52