Spdk/include/spdk/env_dpdk.h

59 lines
1.4 KiB
C
Raw Normal View History

/* SPDX-License-Identifier: BSD-3-Clause
* Copyright (c) Intel Corporation.
* All rights reserved.
*/
/** \file
* Encapsulated DPDK specific dependencies
*/
#include "spdk/stdinc.h"
#ifndef SPDK_ENV_DPDK_H
#define SPDK_ENV_DPDK_H
#ifdef __cplusplus
extern "C" {
#endif
/**
* Initialize the environment library after DPDK env is already initialized.
* If DPDK's rte_eal_init is already called, this function must be called
* instead of spdk_env_init, prior to using any other functions in SPDK
* env library.
*
* \param legacy_mem Indicates whether DPDK was initialized with --legacy-mem
* eal parameter.
* \return 0 on success, or negative errno on failure.
*/
int spdk_env_dpdk_post_init(bool legacy_mem);
/**
* Release any resources of the environment library that were allocated with
* spdk_env_dpdk_post_init(). After this call, no DPDK function calls may
* be made. It is expected that common usage of this function is to call it
* just before terminating the process.
*/
void spdk_env_dpdk_post_fini(void);
/**
* Check if DPDK was initialized external to the SPDK env_dpdk library.
*
* \return true if DPDK was initialized external to the SPDK env_dpdk library.
* \return false otherwise
*/
bool spdk_env_dpdk_external_init(void);
/**
* Dump the env allocated memory to the given file.
*
* \param file The file object to write to.
*/
void spdk_env_dpdk_dump_mem_stats(FILE *file);
#ifdef __cplusplus
}
#endif
#endif