[BACK]Return to cryptosoft.h CVS log [TXT][DIR] Up to [local] / sys / crypto

Annotation of sys/crypto/cryptosoft.h, Revision 1.1.1.1

1.1       nbrk        1: /*     $OpenBSD: cryptosoft.h,v 1.10 2002/04/22 23:10:09 deraadt Exp $ */
                      2:
                      3: /*
                      4:  * The author of this code is Angelos D. Keromytis (angelos@cis.upenn.edu)
                      5:  *
                      6:  * This code was written by Angelos D. Keromytis in Athens, Greece, in
                      7:  * February 2000. Network Security Technologies Inc. (NSTI) kindly
                      8:  * supported the development of this code.
                      9:  *
                     10:  * Copyright (c) 2000 Angelos D. Keromytis
                     11:  *
                     12:  * Permission to use, copy, and modify this software with or without fee
                     13:  * is hereby granted, provided that this entire notice is included in
                     14:  * all source code copies of any software which is or includes a copy or
                     15:  * modification of this software.
                     16:  *
                     17:  * THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR
                     18:  * IMPLIED WARRANTY. IN PARTICULAR, NONE OF THE AUTHORS MAKES ANY
                     19:  * REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE
                     20:  * MERCHANTABILITY OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR
                     21:  * PURPOSE.
                     22:  */
                     23:
                     24: #ifndef _CRYPTO_CRYPTOSOFT_H_
                     25: #define _CRYPTO_CRYPTOSOFT_H_
                     26:
                     27: /* Software session entry */
                     28: struct swcr_data {
                     29:        int             sw_alg;         /* Algorithm */
                     30:        union {
                     31:                struct {
                     32:                        u_int8_t         *SW_ictx;
                     33:                        u_int8_t         *SW_octx;
                     34:                        u_int32_t        SW_klen;
                     35:                        struct auth_hash *SW_axf;
                     36:                } SWCR_AUTH;
                     37:                struct {
                     38:                        u_int8_t         *SW_kschedule;
                     39:                        struct enc_xform *SW_exf;
                     40:                } SWCR_ENC;
                     41:                struct {
                     42:                        u_int32_t        SW_size;
                     43:                        struct comp_algo *SW_cxf;
                     44:                } SWCR_COMP;
                     45:        } SWCR_UN;
                     46:
                     47: #define sw_ictx                SWCR_UN.SWCR_AUTH.SW_ictx
                     48: #define sw_octx                SWCR_UN.SWCR_AUTH.SW_octx
                     49: #define sw_klen                SWCR_UN.SWCR_AUTH.SW_klen
                     50: #define sw_axf         SWCR_UN.SWCR_AUTH.SW_axf
                     51: #define sw_kschedule   SWCR_UN.SWCR_ENC.SW_kschedule
                     52: #define sw_exf         SWCR_UN.SWCR_ENC.SW_exf
                     53: #define sw_size                SWCR_UN.SWCR_COMP.SW_size
                     54: #define sw_cxf         SWCR_UN.SWCR_COMP.SW_cxf
                     55:
                     56:        struct swcr_data *sw_next;
                     57: };
                     58:
                     59: #ifdef _KERNEL
                     60: extern u_int8_t hmac_ipad_buffer[64];
                     61: extern u_int8_t hmac_opad_buffer[64];
                     62:
                     63: int    swcr_encdec(struct cryptodesc *, struct swcr_data *, caddr_t, int);
                     64: int    swcr_authcompute(struct cryptop *, struct cryptodesc *, struct swcr_data *,
                     65:        caddr_t, int);
                     66: int    swcr_compdec(struct cryptodesc *, struct swcr_data *, caddr_t, int);
                     67: int    swcr_process(struct cryptop *);
                     68: int    swcr_newsession(u_int32_t *, struct cryptoini *);
                     69: int    swcr_freesession(u_int64_t);
                     70: void   swcr_init(void);
                     71: #endif /* _KERNEL */
                     72:
                     73: #endif /* _CRYPTO_CRYPTO_H_ */

CVSweb