summaryrefslogtreecommitdiff
path: root/testsuites/validation/tc-clock-get-tod.h
diff options
context:
space:
mode:
Diffstat (limited to 'testsuites/validation/tc-clock-get-tod.h')
-rw-r--r--testsuites/validation/tc-clock-get-tod.h72
1 files changed, 72 insertions, 0 deletions
diff --git a/testsuites/validation/tc-clock-get-tod.h b/testsuites/validation/tc-clock-get-tod.h
new file mode 100644
index 0000000000..c62e03b76a
--- /dev/null
+++ b/testsuites/validation/tc-clock-get-tod.h
@@ -0,0 +1,72 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
+/**
+ * @file
+ *
+ * @ingroup RTEMSTestCaseRtemsClockReqGetTod
+ *
+ * @brief Helper file to export a local function for use in other tests.
+ *
+ */
+
+/*
+ * Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef _TC_CLOCK_GET_TOD_H
+#define _TC_CLOCK_GET_TOD_H
+
+#include <rtems.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * @brief Calls rtems_clock_get_tod() for the first time.
+ *
+ * The validation test tc-clock-get-tod.c must check the behavior of
+ * rtems_clock_get_tod() before rtems_clock_set() is called for the
+ * first time. This function calls rtems_clock_get_tod() if it has
+ * not been called earlier and records the returned values for later use.
+ *
+ * The idea is that any code using rtems_clock_set() in the test suite
+ * simply invokes get_tod_before_set_tod( NULL ) before it first calls
+ * rtems_clock_set().
+ *
+ * @param[out] time_of_day The time of day returned by the very first call
+ * to rtems_clock_get_tod(). If NULL, the parameter is ignored. Otherwise,
+ * the parameter references a buffer into which the values of the very
+ * first call will be stored. If rtems_clock_get_tod() did not write into
+ * the provided buffer, all values will be 1.
+ *
+ * @return The status returned by the very first call to rtems_clock_get_tod().
+ */
+rtems_status_code get_tod_before_set_tod( rtems_time_of_day *time_of_day );
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _TC_CLOCK_GET_TOD_H */