1 /* 2 * pcrypt - Parallel crypto engine. 3 * 4 * Copyright (C) 2009 secunet Security Networks AG 5 * Copyright (C) 2009 Steffen Klassert <steffen.klassert@secunet.com> 6 * 7 * This program is free software; you can redistribute it and/or modify it 8 * under the terms and conditions of the GNU General Public License, 9 * version 2, as published by the Free Software Foundation. 10 * 11 * This program is distributed in the hope it will be useful, but WITHOUT 12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 14 * more details. 15 * 16 * You should have received a copy of the GNU General Public License along with 17 * this program; if not, write to the Free Software Foundation, Inc., 18 * 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. 19 */ 20 21 #ifndef _CRYPTO_PCRYPT_H 22 #define _CRYPTO_PCRYPT_H 23 24 #include <linux/crypto.h> 25 #include <linux/kernel.h> 26 #include <linux/padata.h> 27 28 struct pcrypt_request { 29 struct padata_priv padata; 30 void *data; 31 void *__ctx[] CRYPTO_MINALIGN_ATTR; 32 }; 33 34 static inline void *pcrypt_request_ctx(struct pcrypt_request *req) 35 { 36 return req->__ctx; 37 } 38 39 static inline 40 struct padata_priv *pcrypt_request_padata(struct pcrypt_request *req) 41 { 42 return &req->padata; 43 } 44 45 static inline 46 struct pcrypt_request *pcrypt_padata_request(struct padata_priv *padata) 47 { 48 return container_of(padata, struct pcrypt_request, padata); 49 } 50 51 #endif 52