In order to facilitate the access to the private data, after the crypto operation, two new macros have been implemented:
- rte_crypto_op_ctod_offset(c,t,o), which returns a pointer to "o" bytes after the start of the crypto operation - rte_crypto_op_ctophys_offset(c, o), which returns the physical address of the data "o" bytes after the start of the crypto operation Signed-off-by: Pablo de Lara <pablo.de.lara.gua...@intel.com> --- lib/librte_cryptodev/rte_cryptodev.h | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/lib/librte_cryptodev/rte_cryptodev.h b/lib/librte_cryptodev/rte_cryptodev.h index 88aeb87..bd09176 100644 --- a/lib/librte_cryptodev/rte_cryptodev.h +++ b/lib/librte_cryptodev/rte_cryptodev.h @@ -118,6 +118,35 @@ extern const char **rte_cyptodev_names; #define CDEV_PMD_TRACE(...) (void)0 #endif + + +/** + * A macro that points to an offset into the crypto operation structure. + * + * The returned pointer is cast to type t. + * + * @param c + * The crypto operation. + * @param o + * The offset into the crypto operation. + * @param t + * The type to cast the result into. + */ +#define rte_crypto_op_ctod_offset(c, t, o) \ + ((t)((char *)(c) + (o))) + +/** + * A macro that returns the physical address that points + * to an offset of the start of the crypto operation + * + * @param c + * The crypto operation. + * @param o + * The offset into the data to calculate address from. + */ +#define rte_crypto_op_ctophys_offset(c, o) \ + (phys_addr_t)((c)->phys_addr + (o)) + /** * Crypto parameters range description */ -- 2.7.4