/* SPDX-License-Identifier: GPL-2.0+ */ /* * Copyright (c) 2020, Heinrich Schuchardt * * Header file for logging tests */ #ifndef __SYSLOG_TEST_H #define __SYSLOG_TEST_H /** * struct sb_log_env - private data for sandbox ethernet driver * * This structure is used for the private data of the sandbox ethernet * driver. * * @expected: string expected to be written by the syslog driver * @uts: unit test state */ struct sb_log_env { const char *expected; struct unit_test_state *uts; }; /** * sb_log_tx_handler() - transmit callback function * * This callback function is invoked when a network package is sent using the * sandbox Ethernet driver. The private data of the driver holds a sb_log_env * structure with the unit test state and the expected UDP payload. * * The following checks are executed: * * * the Ethernet packet indicates a IP broadcast message * * the IP header is for a local UDP broadcast message to port 514 * * the UDP payload matches the expected string * * After testing the pointer to the expected string is set to NULL to signal * that the callback function has been called. * * @dev: sandbox ethernet device * @packet: Ethernet packet * @len: length of Ethernet packet * Return: 0 = success */ int sb_log_tx_handler(struct udevice *dev, void *packet, unsigned int len); /** * syslog_test_setup() - Enable syslog logging ready for tests * * @uts: Test state * Return: 0 if OK, -ENOENT if the syslog log driver is not found */ int syslog_test_setup(struct unit_test_state *uts); /** * syslog_test_finish() - Disable syslog logging after tests * * @uts: Test state * Return: 0 if OK, -ENOENT if the syslog log driver is not found */ int syslog_test_finish(struct unit_test_state *uts); #endif