129088Smarkm/*-
229088Smarkm * Copyright (c) 1991, 1993
329088Smarkm *	The Regents of the University of California.  All rights reserved.
429088Smarkm *
529088Smarkm * Redistribution and use in source and binary forms, with or without
629088Smarkm * modification, are permitted provided that the following conditions
729088Smarkm * are met:
829088Smarkm * 1. Redistributions of source code must retain the above copyright
929088Smarkm *    notice, this list of conditions and the following disclaimer.
1029088Smarkm * 2. Redistributions in binary form must reproduce the above copyright
1129088Smarkm *    notice, this list of conditions and the following disclaimer in the
1229088Smarkm *    documentation and/or other materials provided with the distribution.
1329088Smarkm * 3. All advertising materials mentioning features or use of this software
1429088Smarkm *    must display the following acknowledgement:
1529088Smarkm *	This product includes software developed by the University of
1629088Smarkm *	California, Berkeley and its contributors.
1729088Smarkm * 4. Neither the name of the University nor the names of its contributors
1829088Smarkm *    may be used to endorse or promote products derived from this software
1929088Smarkm *    without specific prior written permission.
2029088Smarkm *
2129088Smarkm * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
2229088Smarkm * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
2329088Smarkm * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
2429088Smarkm * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
2529088Smarkm * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
2629088Smarkm * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
2729088Smarkm * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
2829088Smarkm * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
2929088Smarkm * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
3029088Smarkm * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
3129088Smarkm * SUCH DAMAGE.
3229088Smarkm *
3329088Smarkm *	@(#)enc-proto.h	8.1 (Berkeley) 6/4/93
3463248Speter * $FreeBSD$
3529088Smarkm */
3629088Smarkm
3729088Smarkm/*
3829088Smarkm * Copyright (C) 1990 by the Massachusetts Institute of Technology
3929088Smarkm *
4029088Smarkm * Export of this software from the United States of America is assumed
4129088Smarkm * to require a specific license from the United States Government.
4229088Smarkm * It is the responsibility of any person or organization contemplating
4329088Smarkm * export to obtain such a license before exporting.
4429088Smarkm *
4529088Smarkm * WITHIN THAT CONSTRAINT, permission to use, copy, modify, and
4629088Smarkm * distribute this software and its documentation for any purpose and
4729088Smarkm * without fee is hereby granted, provided that the above copyright
4829088Smarkm * notice appear in all copies and that both that copyright notice and
4929088Smarkm * this permission notice appear in supporting documentation, and that
5029088Smarkm * the name of M.I.T. not be used in advertising or publicity pertaining
5129088Smarkm * to distribution of the software without specific, written prior
5229088Smarkm * permission.  M.I.T. makes no representations about the suitability of
5329088Smarkm * this software for any purpose.  It is provided "as is" without express
5429088Smarkm * or implied warranty.
5529088Smarkm */
5629088Smarkm
5729088Smarkm#ifdef	ENCRYPTION
5887139Smarkmvoid encrypt_init(const char *, int);
5987139SmarkmEncryptions *findencryption(int);
6087139Smarkmvoid encrypt_send_supprt(void);
6187139Smarkmvoid encrypt_auto(int);
6287139Smarkmvoid decrypt_auto(int);
6387139Smarkmvoid encrypt_is(unsigned char *, int);
6487139Smarkmvoid encrypt_reply(unsigned char *, int);
6587139Smarkmvoid encrypt_start_input(int);
6687139Smarkmvoid encrypt_session_key(Session_Key *, int);
6787139Smarkmvoid encrypt_end_input(void);
6887139Smarkmvoid encrypt_start_output(int);
6987139Smarkmvoid encrypt_end_output(void);
7087139Smarkmvoid encrypt_send_request_start(void);
7187139Smarkmvoid encrypt_send_request_end(void);
7287139Smarkmvoid encrypt_send_end(void);
7387139Smarkmvoid encrypt_wait(void);
7487139Smarkmvoid encrypt_send_support(void);
7587139Smarkmvoid encrypt_send_keyid(int, const char *, int, int);
7687139Smarkmvoid encrypt_start(unsigned char *, int);
7787139Smarkmvoid encrypt_end(void);
7887139Smarkmvoid encrypt_support(unsigned char *, int);
7987139Smarkmvoid encrypt_request_start(unsigned char *, int);
8087139Smarkmvoid encrypt_request_end(void);
8187139Smarkmvoid encrypt_enc_keyid(unsigned char *, int);
8287139Smarkmvoid encrypt_dec_keyid(unsigned char *, int);
8387139Smarkmvoid encrypt_printsub(unsigned char *, int, unsigned char *, int);
8487139Smarkmvoid encrypt_gen_printsub(unsigned char *, int, unsigned char *, int);
8587139Smarkmvoid encrypt_display(void);
8629088Smarkm
8787139Smarkmvoid fb64_printsub(unsigned char *, int, unsigned char *, int, const char *);
8829088Smarkm
8987139Smarkmint EncryptEnable(char *, char *);
9087139Smarkmint EncryptDisable(char *, char *);
9187139Smarkmint EncryptStatus(void);
9287139Smarkmint EncryptDebug(int);
9387139Smarkmint EncryptVerbose(int);
9487139Smarkmint EncryptAutoEnc(int);
9587139Smarkmint EncryptAutoDec(int);
9629088Smarkm
9787139Smarkmvoid krbdes_encrypt(unsigned char *, int);
9887139Smarkmint krbdes_decrypt(int);
9987139Smarkmint krbdes_is(unsigned char *, int);
10087139Smarkmint krbdes_reply(unsigned char *, int);
10187139Smarkmvoid krbdes_init(int);
10287139Smarkmint krbdes_start(int, int);
10387139Smarkmvoid krbdes_session(Session_Key *, int);
10487139Smarkmvoid krbdes_printsub(unsigned char *, int, unsigned char *, int);
10529088Smarkm
10687139Smarkmvoid cfb64_encrypt(unsigned char *, int);
10787139Smarkmint cfb64_decrypt(int);
10887139Smarkmvoid cfb64_init(int);
10987139Smarkmint cfb64_start(int, int);
11087139Smarkmint cfb64_is(unsigned char *, int);
11187139Smarkmint cfb64_reply(unsigned char *, int);
11287139Smarkmvoid cfb64_session(Session_Key *, int);
11387139Smarkmint cfb64_keyid(int, unsigned char *, int *);
11487139Smarkmvoid cfb64_printsub(unsigned char *, int, unsigned char *, int);
11529088Smarkm
11687139Smarkmvoid ofb64_encrypt(unsigned char *, int);
11787139Smarkmint ofb64_decrypt(int);
11887139Smarkmvoid ofb64_init(int);
11987139Smarkmint ofb64_start(int, int);
12087139Smarkmint ofb64_is(unsigned char *, int);
12187139Smarkmint ofb64_reply(unsigned char *, int);
12287139Smarkmvoid ofb64_session(Session_Key *, int);
12387139Smarkmint ofb64_keyid(int, unsigned char *, int *);
12487139Smarkmvoid ofb64_printsub(unsigned char *, int, unsigned char *, int);
12587139Smarkm
12629088Smarkm#endif	/* ENCRYPTION */
127