add libvncserver
[presencevnc] / libvnc / libvncserver / d3des.h
1 #ifndef D3DES_H
2 #define D3DES_H
3
4 /*
5  * This is D3DES (V5.09) by Richard Outerbridge with the double and
6  * triple-length support removed for use in VNC.
7  *
8  * These changes are:
9  *  Copyright (C) 1999 AT&T Laboratories Cambridge.  All Rights Reserved.
10  *
11  * This software is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14  */
15
16 /* d3des.h -
17  *
18  *      Headers and defines for d3des.c
19  *      Graven Imagery, 1992.
20  *
21  * Copyright (c) 1988,1989,1990,1991,1992 by Richard Outerbridge
22  *      (GEnie : OUTER; CIS : [71755,204])
23  */
24
25 #define EN0     0       /* MODE == encrypt */
26 #define DE1     1       /* MODE == decrypt */
27
28 extern void rfbDesKey(unsigned char *, int);
29 /*                    hexkey[8]     MODE
30  * Sets the internal key register according to the hexadecimal
31  * key contained in the 8 bytes of hexkey, according to the DES,
32  * for encryption or decryption according to MODE.
33  */
34
35 extern void rfbUseKey(unsigned long *);
36 /*                  cookedkey[32]
37  * Loads the internal key register with the data in cookedkey.
38  */
39
40 extern void rfbCPKey(unsigned long *);
41 /*                 cookedkey[32]
42  * Copies the contents of the internal key register into the storage
43  * located at &cookedkey[0].
44  */
45
46 extern void rfbDes(unsigned char *, unsigned char *);
47 /*                  from[8]           to[8]
48  * Encrypts/Decrypts (according to the key currently loaded in the
49  * internal key register) one block of eight bytes at address 'from'
50  * into the block at address 'to'.  They can be the same.
51  */
52
53 /* d3des.h V5.09 rwo 9208.04 15:06 Graven Imagery
54  ********************************************************************/
55
56 #endif