1 /* SPDX-License-Identifier: GPL-2.0-only */ 2 /* 3 * pcrypt - Parallel crypto engine. 4 * 5 * Copyright (C) 2009 secunet Security Networks AG 6 * Copyright (C) 2009 Steffen Klassert <steffen.klassert@secunet.com> 7 */ 8 9 #ifndef _CRYPTO_PCRYPT_H 10 #define _CRYPTO_PCRYPT_H 11 12 #include <linux/container_of.h> 13 #include <linux/crypto.h> 14 #include <linux/padata.h> 15 16 struct pcrypt_request { 17 struct padata_priv padata; 18 void *data; 19 void *__ctx[] CRYPTO_MINALIGN_ATTR; 20 }; 21 22 static inline void *pcrypt_request_ctx(struct pcrypt_request *req) 23 { 24 return req->__ctx; 25 } 26 27 static inline 28 struct padata_priv *pcrypt_request_padata(struct pcrypt_request *req) 29 { 30 return &req->padata; 31 } 32 33 static inline 34 struct pcrypt_request *pcrypt_padata_request(struct padata_priv *padata) 35 { 36 return container_of(padata, struct pcrypt_request, padata); 37 } 38 39 #endif 40