ReactOS
0.4.16-dev-340-g0540c21
des.h
Go to the documentation of this file.
1
/* @(#)des.h 2.2 88/08/10 4.0 RPCSRC; from 2.7 88/02/08 SMI */
2
/* $FreeBSD: src/include/rpc/des.h,v 1.4 2002/03/23 17:24:55 imp Exp $ */
3
/*
4
* Copyright (c) 2009, Sun Microsystems, Inc.
5
* All rights reserved.
6
*
7
* Redistribution and use in source and binary forms, with or without
8
* modification, are permitted provided that the following conditions are met:
9
* - Redistributions of source code must retain the above copyright notice,
10
* this list of conditions and the following disclaimer.
11
* - Redistributions in binary form must reproduce the above copyright notice,
12
* this list of conditions and the following disclaimer in the documentation
13
* and/or other materials provided with the distribution.
14
* - Neither the name of Sun Microsystems, Inc. nor the names of its
15
* contributors may be used to endorse or promote products derived
16
* from this software without specific prior written permission.
17
*
18
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
22
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28
* POSSIBILITY OF SUCH DAMAGE.
29
*/
30
/*
31
* Generic DES driver interface
32
* Keep this file hardware independent!
33
* Copyright (c) 1986 by Sun Microsystems, Inc.
34
*/
35
36
#define DES_MAXLEN 65536
/* maximum # of bytes to encrypt */
37
#define DES_QUICKLEN 16
/* maximum # of bytes to encrypt quickly */
38
39
enum
desdir
{
ENCRYPT
,
DECRYPT
};
40
enum
desmode
{
CBC
,
ECB
};
41
42
/*
43
* parameters to ioctl call
44
*/
45
struct
desparams
{
46
u_char
des_key
[8];
/* key (with low bit parity) */
47
enum
desdir
des_dir
;
/* direction */
48
enum
desmode
des_mode
;
/* mode */
49
u_char
des_ivec
[8];
/* input vector */
50
unsigned
des_len
;
/* number of bytes to crypt */
51
union
{
52
u_char
UDES_data
[
DES_QUICKLEN
];
53
u_char
*
UDES_buf
;
54
}
UDES
;
55
# define des_data UDES.UDES_data
/* direct data here if quick */
56
# define des_buf UDES.UDES_buf
/* otherwise, pointer to data */
57
};
58
59
#ifdef notdef
60
61
/*
62
* These ioctls are only implemented in SunOS. Maybe someday
63
* if somebody writes a driver for DES hardware that works
64
* with FreeBSD, we can being that back.
65
*/
66
67
/*
68
* Encrypt an arbitrary sized buffer
69
*/
70
#define DESIOCBLOCK _IOWR('d', 6, struct desparams)
71
72
/*
73
* Encrypt of small amount of data, quickly
74
*/
75
#define DESIOCQUICK _IOWR('d', 7, struct desparams)
76
77
#endif
78
79
/*
80
* Software DES.
81
*/
82
extern
int
_des_crypt
(
char
*,
int
,
struct
desparams
* );
DES_QUICKLEN
#define DES_QUICKLEN
Definition:
des.h:37
_des_crypt
int _des_crypt(char *, int, struct desparams *)
desdir
desdir
Definition:
des.h:39
DECRYPT
@ DECRYPT
Definition:
des.h:39
ENCRYPT
@ ENCRYPT
Definition:
des.h:39
desmode
desmode
Definition:
des.h:40
CBC
@ CBC
Definition:
des.h:40
ECB
@ ECB
Definition:
des.h:40
u_char
UCHAR u_char
Definition:
types.h:80
desparams
Definition:
des.h:45
desparams::UDES_data
u_char UDES_data[DES_QUICKLEN]
Definition:
des.h:52
desparams::des_len
unsigned des_len
Definition:
des.h:50
desparams::des_ivec
u_char des_ivec[8]
Definition:
des.h:49
desparams::des_mode
enum desmode des_mode
Definition:
des.h:48
desparams::UDES_buf
u_char * UDES_buf
Definition:
des.h:53
desparams::UDES
union desparams::@193 UDES
desparams::des_dir
enum desdir des_dir
Definition:
des.h:47
tag_des_key
Definition:
tomcrypt.h:124
dll
3rdparty
libtirpc
tirpc
rpc
des.h
Generated on Sat Dec 14 2024 06:12:26 for ReactOS by
1.9.6