The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/opencrypto/crypto_if.m

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 #-
    2 # Copyright (c) 2002, Sam Leffler
    3 # All rights reserved.
    4 #
    5 # Redistribution and use in source and binary forms, with or without
    6 # modification, are permitted provided that the following conditions
    7 # are met:
    8 # 1. Redistributions of source code must retain the above copyright
    9 #    notice, this list of conditions and the following disclaimer.
   10 # 2. Redistributions in binary form must reproduce the above copyright
   11 #    notice, this list of conditions and the following disclaimer in the
   12 #    documentation and/or other materials provided with the distribution.
   13 # 3. All advertising materials mentioning features or use of this software
   14 #    must display the following acknowledgement:
   15 #    This product includes software developed by Boris Popov.
   16 # 4. Neither the name of the author nor the names of any co-contributors
   17 #    may be used to endorse or promote products derived from this software
   18 #    without specific prior written permission.
   19 #
   20 # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
   21 # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   22 # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   23 # ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
   24 # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   25 # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   26 # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   27 # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   28 # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   29 # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   30 # SUCH DAMAGE.
   31 #
   32 # $FreeBSD: releng/6.4/sys/opencrypto/crypto_if.m 139825 2005-01-07 02:29:27Z imp $
   33 #
   34 
   35 #include <crypto/cryptodev.h>
   36 
   37 INTERFACE crypto;
   38 
   39 METHOD int32_t get_driverid {
   40         u_int32_t       flags;
   41 };
   42 
   43 # XXX define typedefs to work around inadequate parser
   44 HEADER {
   45         typedef int crypto_newsession_cb(void*, u_int32_t*, struct cryptoini*);
   46         typedef int crypto_freesession_cb(void*, u_int64_t*);
   47         typedef int crypto_process_cb(void*, struct cryptop*);
   48         typedef int crypto_kprocess_cb(void*, struct cryptkop*);
   49 };
   50 
   51 METHOD int register {
   52         u_int32_t       driverid;
   53         int             alg;
   54         u_int16_t       maxoplen;
   55         u_int32_t       flags;
   56         crypto_newsession_cb* newses;
   57         crypto_freesession_cb* freeses;
   58         crypto_process_cb* process;
   59         void            *arg;
   60 };
   61 
   62 METHOD int kregister {
   63         u_int32_t       driverid;
   64         int             kalg;
   65         u_int32_t       flags;
   66         crypto_kprocess_cb* kprocess;
   67         void            *arg;
   68 };
   69 
   70 METHOD int unregister {
   71         u_int32_t       driverid;
   72         int             alg;
   73 };
   74 
   75 METHOD int unregister_all {
   76         u_int32_t       driverid;
   77 };
   78 
   79 METHOD int newsession {
   80         u_int64_t       *sid;
   81         struct cryptoini *cri;
   82         int             hard;
   83 };
   84 
   85 METHOD int freesession {
   86         u_int64_t       sid;
   87 };
   88 
   89 METHOD int dispatch {
   90         struct cryptop  *crp;
   91 };
   92 
   93 METHOD int kdispatch {
   94         struct cryptkop *krp;
   95 };
   96 
   97 METHOD int crypto_unblock {
   98         u_int32_t       driverid;
   99         int             what;
  100 };
  101 
  102 METHOD int invoke {
  103         struct cryptop  *crp;
  104 };
  105 
  106 METHOD int kinvoke {
  107         struct cryptkop *krp;
  108 };
  109 
  110 METHOD struct cryptop * getreq {
  111         int     num;
  112 };
  113 
  114 METHOD void freereq {
  115         struct cryptop  *crp;
  116 };
  117 
  118 METHOD void done {
  119         struct cryptop  *crp;
  120 };
  121 
  122 METHOD void kdone {
  123         struct cryptkop *krp;
  124 };
  125 
  126 METHOD int getfeat {
  127         int             *featp;
  128 };

Cache object: bc79a838fed8d3442311ac71c091a392


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.