1*53ee8cc1Swenshuai.xi /* 2*53ee8cc1Swenshuai.xi * Sun RPC is a product of Sun Microsystems, Inc. and is provided for 3*53ee8cc1Swenshuai.xi * unrestricted use provided that this legend is included on all tape 4*53ee8cc1Swenshuai.xi * media and as a part of the software program in whole or part. Users 5*53ee8cc1Swenshuai.xi * may copy or modify Sun RPC without charge, but are not authorized 6*53ee8cc1Swenshuai.xi * to license or distribute it to anyone else except as part of a product or 7*53ee8cc1Swenshuai.xi * program developed by the user. 8*53ee8cc1Swenshuai.xi * 9*53ee8cc1Swenshuai.xi * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE 10*53ee8cc1Swenshuai.xi * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR 11*53ee8cc1Swenshuai.xi * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. 12*53ee8cc1Swenshuai.xi * 13*53ee8cc1Swenshuai.xi * Sun RPC is provided with no support and without any obligation on the 14*53ee8cc1Swenshuai.xi * part of Sun Microsystems, Inc. to assist in its use, correction, 15*53ee8cc1Swenshuai.xi * modification or enhancement. 16*53ee8cc1Swenshuai.xi * 17*53ee8cc1Swenshuai.xi * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE 18*53ee8cc1Swenshuai.xi * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC 19*53ee8cc1Swenshuai.xi * OR ANY PART THEREOF. 20*53ee8cc1Swenshuai.xi * 21*53ee8cc1Swenshuai.xi * In no event will Sun Microsystems, Inc. be liable for any lost revenue 22*53ee8cc1Swenshuai.xi * or profits or other special, indirect and consequential damages, even if 23*53ee8cc1Swenshuai.xi * Sun has been advised of the possibility of such damages. 24*53ee8cc1Swenshuai.xi * 25*53ee8cc1Swenshuai.xi * Sun Microsystems, Inc. 26*53ee8cc1Swenshuai.xi * 2550 Garcia Avenue 27*53ee8cc1Swenshuai.xi * Mountain View, California 94043 28*53ee8cc1Swenshuai.xi */ 29*53ee8cc1Swenshuai.xi /* 30*53ee8cc1Swenshuai.xi * Generic DES driver interface 31*53ee8cc1Swenshuai.xi * Keep this file hardware independent! 32*53ee8cc1Swenshuai.xi * Copyright (c) 1986 by Sun Microsystems, Inc. 33*53ee8cc1Swenshuai.xi */ 34*53ee8cc1Swenshuai.xi 35*53ee8cc1Swenshuai.xi #ifndef _DES_H 36*53ee8cc1Swenshuai.xi #define _DES_H 37*53ee8cc1Swenshuai.xi 38*53ee8cc1Swenshuai.xi #include <sys/types.h> 39*53ee8cc1Swenshuai.xi 40*53ee8cc1Swenshuai.xi #define DES_MAXLEN 65536 /* maximum # of bytes to encrypt */ 41*53ee8cc1Swenshuai.xi #define DES_QUICKLEN 16 /* maximum # of bytes to encrypt quickly */ 42*53ee8cc1Swenshuai.xi 43*53ee8cc1Swenshuai.xi enum desdir 44*53ee8cc1Swenshuai.xi { 45*53ee8cc1Swenshuai.xi ENCRYPT, DECRYPT 46*53ee8cc1Swenshuai.xi }; 47*53ee8cc1Swenshuai.xi enum desmode 48*53ee8cc1Swenshuai.xi { 49*53ee8cc1Swenshuai.xi CBC, ECB 50*53ee8cc1Swenshuai.xi }; 51*53ee8cc1Swenshuai.xi 52*53ee8cc1Swenshuai.xi /* 53*53ee8cc1Swenshuai.xi * parameters to ioctl call 54*53ee8cc1Swenshuai.xi */ 55*53ee8cc1Swenshuai.xi struct desparams 56*53ee8cc1Swenshuai.xi { 57*53ee8cc1Swenshuai.xi u_char des_key[8]; /* key (with low bit parity) */ 58*53ee8cc1Swenshuai.xi enum desdir des_dir; /* direction */ 59*53ee8cc1Swenshuai.xi enum desmode des_mode; /* mode */ 60*53ee8cc1Swenshuai.xi u_char des_ivec[8]; /* input vector */ 61*53ee8cc1Swenshuai.xi unsigned des_len; /* number of bytes to crypt */ 62*53ee8cc1Swenshuai.xi union 63*53ee8cc1Swenshuai.xi { 64*53ee8cc1Swenshuai.xi u_char UDES_data[DES_QUICKLEN]; 65*53ee8cc1Swenshuai.xi u_char *UDES_buf; 66*53ee8cc1Swenshuai.xi } 67*53ee8cc1Swenshuai.xi UDES; 68*53ee8cc1Swenshuai.xi #define des_data UDES.UDES_data /* direct data here if quick */ 69*53ee8cc1Swenshuai.xi #define des_buf UDES.UDES_buf /* otherwise, pointer to data */ 70*53ee8cc1Swenshuai.xi }; 71*53ee8cc1Swenshuai.xi 72*53ee8cc1Swenshuai.xi #endif 73