pcrypt.h 821 B

123456789101112131415161718192021222324252627282930313233343536373839
  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. #ifndef _CRYPTO_PCRYPT_H
  9. #define _CRYPTO_PCRYPT_H
  10. #include <linux/container_of.h>
  11. #include <linux/crypto.h>
  12. #include <linux/padata.h>
  13. struct pcrypt_request {
  14. struct padata_priv padata;
  15. void *data;
  16. void *__ctx[] CRYPTO_MINALIGN_ATTR;
  17. };
  18. static inline void *pcrypt_request_ctx(struct pcrypt_request *req)
  19. {
  20. return req->__ctx;
  21. }
  22. static inline
  23. struct padata_priv *pcrypt_request_padata(struct pcrypt_request *req)
  24. {
  25. return &req->padata;
  26. }
  27. static inline
  28. struct pcrypt_request *pcrypt_padata_request(struct padata_priv *padata)
  29. {
  30. return container_of(padata, struct pcrypt_request, padata);
  31. }
  32. #endif