blob: b083c9a193d92a9e66d7f8a5c2aefbbb2382a2d2 [file] [log] [blame]
/*
* Copyright (c) 2023 Legrand North America, LLC.
*
* SPDX-License-Identifier: Apache-2.0
*/
#ifndef ZEPHYR_TESTS_SUBSYS_TESTSUITE_FFF_FAKE_CONTEXTS_INCLUDE_ZEPHYR_CALLED_API_H_
#define ZEPHYR_TESTS_SUBSYS_TESTSUITE_FFF_FAKE_CONTEXTS_INCLUDE_ZEPHYR_CALLED_API_H_
#include <errno.h>
#ifdef __cplusplus
extern "C" {
#endif
/* A container struct for hidden instance data */
struct called_API_info;
/**
* @brief Provide an instance handle to a session of the called_API.
*
* This API is defined for the code_under_test() example to call.
* It represents a routine which provides call-unique data to the caller
* as well as providing a return value. This requires the _custom_fake
* implementation to serve the data from a custom_fake context struture,
* where each call needs to return a unique, configured value.
*
* @param instance_out Session instance handle for caller to use.
*
* @return zero(0) upon success, with *instance_out updated.
* @return -EINVAL if invalid parameter(s)
* @return -E2BIG if more calls were made than expected.
*/
int called_API_open(const struct called_API_info **instance_out);
/**
* @brief Return an instance handle to a session of the called_API.
*
* This API is defined for the code_under_test() example to call.
* It represents a routine which requires specific data from the caller
* as well as providing a return value. This is defined to
* have the code_under_test call multiple functions to illustrate
* a way to verify a specific calling sequence was made
*
* @param instance Session instance handle provided by called_API_open
*
* @return zero(0) upon success, with instance invalidated.
* @return -EINVAL if invalid parameter(s)
* @return -E2BIG if more calls were made than expected.
*/
int called_API_close(const struct called_API_info *instance);
#ifdef __cplusplus
}
#endif
#endif /* ZEPHYR_TESTS_SUBSYS_TESTSUITE_FFF_FAKE_CONTEXTS_INCLUDE_ZEPHYR_CALLED_API_H_ */