/*-
*
- * Copyright(c) 2015 Intel Corporation. All rights reserved.
+ * Copyright(c) 2015-2016 Intel Corporation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
#include <rte_mbuf.h>
#include <rte_mempool.h>
#include <rte_log.h>
+#include <rte_common.h>
#include "rte_crypto.h"
#include "rte_cryptodev.h"
-struct rte_cryptodev_stats;
-struct rte_cryptodev_info;
-struct rte_cryptodev_qp_conf;
-
-enum rte_cryptodev_event_type;
#ifdef RTE_LIBRTE_CRYPTODEV_DEBUG
#define RTE_PMD_DEBUG_TRACE(...) \
rte_pmd_debug_trace(__func__, __VA_ARGS__)
#else
-#define RTE_PMD_DEBUG_TRACE(fmt, args...)
+#define RTE_PMD_DEBUG_TRACE(...)
#endif
struct rte_cryptodev_session {
+ RTE_STD_C11
struct {
uint8_t dev_id;
enum rte_cryptodev_type type;
struct rte_mempool *mp;
} __rte_aligned(8);
- char _private[];
+ __extension__ char _private[0];
};
struct rte_cryptodev_driver;
-struct rte_cryptodev;
/**
* Initialisation function of a crypto driver invoked for each matching
* - On success returns a pointer to a rte_mempool
* - On failure returns a NULL pointer
*/
-typedef int (*cryptodev_create_session_pool_t)(
+typedef int (*cryptodev_sym_create_session_pool_t)(
struct rte_cryptodev *dev, unsigned nb_objs,
unsigned obj_cache_size, int socket_id);
* - On success returns the size of the session structure for device
* - On failure returns 0
*/
-typedef unsigned (*cryptodev_get_session_private_size_t)(
+typedef unsigned (*cryptodev_sym_get_session_private_size_t)(
struct rte_cryptodev *dev);
/**
* - Returns private session structure on success.
* - Returns NULL on failure.
*/
-typedef void (*cryptodev_initialize_session_t)(struct rte_mempool *mempool,
+typedef void (*cryptodev_sym_initialize_session_t)(struct rte_mempool *mempool,
void *session_private);
/**
* - Returns private session structure on success.
* - Returns NULL on failure.
*/
-typedef void * (*cryptodev_configure_session_t)(struct rte_cryptodev *dev,
- struct rte_crypto_xform *xform, void *session_private);
+typedef void * (*cryptodev_sym_configure_session_t)(struct rte_cryptodev *dev,
+ struct rte_crypto_sym_xform *xform, void *session_private);
/**
* Free Crypto session.
* @param session Cryptodev session structure to free
*/
-typedef void (*cryptodev_free_session_t)(struct rte_cryptodev *dev,
+typedef void (*cryptodev_sym_free_session_t)(struct rte_cryptodev *dev,
void *session_private);
cryptodev_info_get_t dev_infos_get; /**< Get device info. */
cryptodev_stats_get_t stats_get;
- /**< Get generic device statistics. */
+ /**< Get device statistics. */
cryptodev_stats_reset_t stats_reset;
- /**< Reset generic device statistics. */
+ /**< Reset device statistics. */
cryptodev_queue_pair_setup_t queue_pair_setup;
/**< Set up a device queue pair. */
cryptodev_queue_pair_count_t queue_pair_count;
/**< Get count of the queue pairs. */
- cryptodev_get_session_private_size_t session_get_size;
+ cryptodev_sym_get_session_private_size_t session_get_size;
/**< Return private session. */
- cryptodev_initialize_session_t session_initialize;
+ cryptodev_sym_initialize_session_t session_initialize;
/**< Initialization function for private session data */
- cryptodev_configure_session_t session_configure;
+ cryptodev_sym_configure_session_t session_configure;
/**< Configure a Crypto session. */
- cryptodev_free_session_t session_clear;
+ cryptodev_sym_free_session_t session_clear;
/**< Clear a Crypto sessions private data. */
};
* to that slot for the driver to use.
*
* @param name Unique identifier name for each device
- * @param type Device type of this Crypto device
* @param socket_id Socket to allocate resources on.
* @return
* - Slot in the rte_dev_devices array for a new device;
*/
struct rte_cryptodev *
-rte_cryptodev_pmd_allocate(const char *name, enum pmd_type type, int socket_id);
+rte_cryptodev_pmd_allocate(const char *name, int socket_id);
/**
* Creates a new virtual crypto device and returns the pointer
* device, by invoking the rte_eal_pci_register() function to
* register the *pci_drv* structure embedded in the *crypto_drv*
* structure, after having stored the address of the
- * rte_cryptodev_init() function in the *devinit* field of the
+ * rte_cryptodev_init() function in the *probe* field of the
* *pci_drv* structure.
*
* During the PCI probing phase, the rte_cryptodev_init()