]> git.ipfire.org Git - thirdparty/openssl.git/blame - include/openssl/cast.h
Update source files for deprecation at 3.0
[thirdparty/openssl.git] / include / openssl / cast.h
CommitLineData
21dcbebc
RS
1/*
2 * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved.
58964a49 3 *
48f4ad77 4 * Licensed under the Apache License 2.0 (the "License"). You may not use
21dcbebc
RS
5 * this file except in compliance with the License. You can obtain a copy
6 * in the file LICENSE in the source distribution or at
7 * https://www.openssl.org/source/license.html
58964a49
RE
8 */
9
ae4186b0
DMSP
10#ifndef OPENSSL_CAST_H
11# define OPENSSL_CAST_H
d86167ec
DMSP
12# pragma once
13
14# include <openssl/macros.h>
936c2b9e 15# ifndef OPENSSL_NO_DEPRECATED_3_0
d86167ec
DMSP
16# define HEADER_CAST_H
17# endif
58964a49 18
0f113f3e 19# include <openssl/opensslconf.h>
0c7d61ee 20
3c27208f
RS
21# ifndef OPENSSL_NO_CAST
22# ifdef __cplusplus
23extern "C" {
0f113f3e 24# endif
f5d7a031 25
0f113f3e
MC
26# define CAST_ENCRYPT 1
27# define CAST_DECRYPT 0
58964a49 28
0f113f3e 29# define CAST_LONG unsigned int
58964a49 30
0f113f3e
MC
31# define CAST_BLOCK 8
32# define CAST_KEY_LENGTH 16
58964a49 33
0f113f3e
MC
34typedef struct cast_key_st {
35 CAST_LONG data[32];
36 int short_key; /* Use reduced rounds for short key */
37} CAST_KEY;
58964a49 38
1921eaad 39void CAST_set_key(CAST_KEY *key, int len, const unsigned char *data);
0f113f3e
MC
40void CAST_ecb_encrypt(const unsigned char *in, unsigned char *out,
41 const CAST_KEY *key, int enc);
7427379e
BM
42void CAST_encrypt(CAST_LONG *data, const CAST_KEY *key);
43void CAST_decrypt(CAST_LONG *data, const CAST_KEY *key);
0f113f3e
MC
44void CAST_cbc_encrypt(const unsigned char *in, unsigned char *out,
45 long length, const CAST_KEY *ks, unsigned char *iv,
46 int enc);
90ba7e21 47void CAST_cfb64_encrypt(const unsigned char *in, unsigned char *out,
0f113f3e
MC
48 long length, const CAST_KEY *schedule,
49 unsigned char *ivec, int *num, int enc);
50void CAST_ofb64_encrypt(const unsigned char *in, unsigned char *out,
51 long length, const CAST_KEY *schedule,
52 unsigned char *ivec, int *num);
58964a49 53
3c27208f 54# ifdef __cplusplus
58964a49 55}
3c27208f
RS
56# endif
57# endif
58964a49
RE
58
59#endif