xref: /aosp_15_r20/external/pigweed/pw_chrono/system_clock_facade_test_c.c (revision 61c4878ac05f98d0ceed94b57d316916de578985)
1 // Copyright 2020 The Pigweed Authors
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License"); you may not
4 // use this file except in compliance with the License. You may obtain a copy of
5 // the License at
6 //
7 //     https://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11 // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12 // License for the specific language governing permissions and limitations under
13 // the License.
14 
15 // These tests call the pw_chrono module system_clock API from C. The return
16 // values are checked in the main C++ tests.
17 
18 #include "pw_chrono/system_clock.h"
19 
pw_chrono_SystemClock_CallNow(void)20 pw_chrono_SystemClock_TimePoint pw_chrono_SystemClock_CallNow(void) {
21   return pw_chrono_SystemClock_Now();
22 }
23 
pw_chrono_SystemClock_CallTimeElapsed(pw_chrono_SystemClock_TimePoint last_time,pw_chrono_SystemClock_TimePoint current_time)24 pw_chrono_SystemClock_Duration pw_chrono_SystemClock_CallTimeElapsed(
25     pw_chrono_SystemClock_TimePoint last_time,
26     pw_chrono_SystemClock_TimePoint current_time) {
27   return pw_chrono_SystemClock_TimeElapsed(last_time, current_time);
28 }
29 
pw_chrono_SystemClock_CallDurationToNsFloor(pw_chrono_SystemClock_Duration ticks)30 pw_chrono_SystemClock_Nanoseconds pw_chrono_SystemClock_CallDurationToNsFloor(
31     pw_chrono_SystemClock_Duration ticks) {
32   return pw_chrono_SystemClock_DurationToNsFloor(ticks);
33 }
34 
pw_chrono_SystemClock_Macros_100ms(void)35 pw_chrono_SystemClock_Duration pw_chrono_SystemClock_Macros_100ms(void) {
36   return PW_SYSTEM_CLOCK_MS(100);
37 }
38 
pw_chrono_SystemClock_Macros_10s(void)39 pw_chrono_SystemClock_Duration pw_chrono_SystemClock_Macros_10s(void) {
40   return PW_SYSTEM_CLOCK_S(10);
41 }
42 
pw_chrono_SystemClock_Macros_1min(void)43 pw_chrono_SystemClock_Duration pw_chrono_SystemClock_Macros_1min(void) {
44   return PW_SYSTEM_CLOCK_MIN(1);
45 }
46 
pw_chrono_SystemClock_Macros_2h(void)47 pw_chrono_SystemClock_Duration pw_chrono_SystemClock_Macros_2h(void) {
48   return PW_SYSTEM_CLOCK_H(2);
49 }
50 
pw_chrono_SystemClock_Macros_100msCeil(void)51 pw_chrono_SystemClock_Duration pw_chrono_SystemClock_Macros_100msCeil(void) {
52   return PW_SYSTEM_CLOCK_MS_CEIL(100);
53 }
54 
pw_chrono_SystemClock_Macros_10sCeil(void)55 pw_chrono_SystemClock_Duration pw_chrono_SystemClock_Macros_10sCeil(void) {
56   return PW_SYSTEM_CLOCK_S_CEIL(10);
57 }
58 
pw_chrono_SystemClock_Macros_1minCeil(void)59 pw_chrono_SystemClock_Duration pw_chrono_SystemClock_Macros_1minCeil(void) {
60   return PW_SYSTEM_CLOCK_MIN_CEIL(1);
61 }
62 
pw_chrono_SystemClock_Macros_2hCeil(void)63 pw_chrono_SystemClock_Duration pw_chrono_SystemClock_Macros_2hCeil(void) {
64   return PW_SYSTEM_CLOCK_H_CEIL(2);
65 }
66 
pw_chrono_SystemClock_Macros_100msFloor(void)67 pw_chrono_SystemClock_Duration pw_chrono_SystemClock_Macros_100msFloor(void) {
68   return PW_SYSTEM_CLOCK_MS_FLOOR(100);
69 }
70 
pw_chrono_SystemClock_Macros_10sFloor(void)71 pw_chrono_SystemClock_Duration pw_chrono_SystemClock_Macros_10sFloor(void) {
72   return PW_SYSTEM_CLOCK_S_FLOOR(10);
73 }
74 
pw_chrono_SystemClock_Macros_1minFloor(void)75 pw_chrono_SystemClock_Duration pw_chrono_SystemClock_Macros_1minFloor(void) {
76   return PW_SYSTEM_CLOCK_MIN_FLOOR(1);
77 }
78 
pw_chrono_SystemClock_Macros_2hFloor(void)79 pw_chrono_SystemClock_Duration pw_chrono_SystemClock_Macros_2hFloor(void) {
80   return PW_SYSTEM_CLOCK_H_FLOOR(2);
81 }
82