File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / mpd / src / encrypt.h
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Mon Jul 22 08:44:29 2013 UTC (10 years, 10 months ago) by misho
Branches: mpd, MAIN
CVS tags: v5_9p16, v5_9, v5_8p7, v5_8p1_cross, v5_8p1, v5_8, v5_7p0, v5_7, v5_6, HEAD
5.7


/*
 * encrypt.h
 *
 * Written by Archie Cobbs <archie@freebsd.org>
 * Copyright (c) 1998-1999 Whistle Communications, Inc. All rights reserved.
 * See ``COPYRIGHT.whistle''
 */

#ifndef _ENCRYPT_H_
#define	_ENCRYPT_H_

/*
 * DEFINITIONS
 */

/* Descriptor for one type of encryption */

  struct ecpstate;

  struct enctype
  {
    const char	*name;
    u_char	type;
    int		(*Init)(Bund b, int dir);
    void	(*Configure)(Bund b);
    void	(*UnConfigure)(Bund b);
    int		(*SubtractBloat)(Bund b, int size);
    void	(*Cleanup)(Bund b, int dir);
    u_char	*(*BuildConfigReq)(Bund b, u_char *cp);
    void	(*DecodeConfig)(Fsm fp, FsmOption opt, int mode);
    Mbuf	(*SendResetReq)(Bund b);
    Mbuf	(*RecvResetReq)(Bund b, int id, Mbuf bp);
    void	(*RecvResetAck)(Bund b, int id, Mbuf bp);
    int         (*Stat)(Context ctx, int dir);
    Mbuf	(*Encrypt)(Bund b, Mbuf plain);
    Mbuf	(*Decrypt)(Bund b, Mbuf cypher);
  };
  typedef const struct enctype	*EncType;

#endif


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>