1*10465441SEvalZero /* 2*10465441SEvalZero * Copyright (c) 2006-2018, RT-Thread Development Team 3*10465441SEvalZero * 4*10465441SEvalZero * SPDX-License-Identifier: Apache-2.0 5*10465441SEvalZero * 6*10465441SEvalZero * Change Logs: 7*10465441SEvalZero * Date Author Notes 8*10465441SEvalZero * 2017-12-31 Bernard the first version 9*10465441SEvalZero */ 10*10465441SEvalZero 11*10465441SEvalZero #ifndef CLOCK_TIME_H__ 12*10465441SEvalZero #define CLOCK_TIME_H__ 13*10465441SEvalZero 14*10465441SEvalZero /* posix clock and timer */ 15*10465441SEvalZero #define MILLISECOND_PER_SECOND 1000UL 16*10465441SEvalZero #define MICROSECOND_PER_SECOND 1000000UL 17*10465441SEvalZero #define NANOSECOND_PER_SECOND 1000000000UL 18*10465441SEvalZero 19*10465441SEvalZero #define MILLISECOND_PER_TICK (MILLISECOND_PER_SECOND / RT_TICK_PER_SECOND) 20*10465441SEvalZero #define MICROSECOND_PER_TICK (MICROSECOND_PER_SECOND / RT_TICK_PER_SECOND) 21*10465441SEvalZero #define NANOSECOND_PER_TICK (NANOSECOND_PER_SECOND / RT_TICK_PER_SECOND) 22*10465441SEvalZero 23*10465441SEvalZero #ifndef CLOCK_REALTIME 24*10465441SEvalZero #define CLOCK_REALTIME 1 25*10465441SEvalZero #endif 26*10465441SEvalZero 27*10465441SEvalZero #define CLOCK_CPUTIME_ID 2 28*10465441SEvalZero 29*10465441SEvalZero #ifndef CLOCK_PROCESS_CPUTIME_ID 30*10465441SEvalZero #define CLOCK_PROCESS_CPUTIME_ID CLOCK_CPUTIME_ID 31*10465441SEvalZero #endif 32*10465441SEvalZero #ifndef CLOCK_THREAD_CPUTIME_ID 33*10465441SEvalZero #define CLOCK_THREAD_CPUTIME_ID CLOCK_CPUTIME_ID 34*10465441SEvalZero #endif 35*10465441SEvalZero 36*10465441SEvalZero #ifndef CLOCK_MONOTONIC 37*10465441SEvalZero #define CLOCK_MONOTONIC 4 38*10465441SEvalZero #endif 39*10465441SEvalZero 40*10465441SEvalZero int clock_getres (clockid_t clockid, struct timespec *res); 41*10465441SEvalZero int clock_gettime (clockid_t clockid, struct timespec *tp); 42*10465441SEvalZero int clock_settime (clockid_t clockid, const struct timespec *tp); 43*10465441SEvalZero 44*10465441SEvalZero #endif 45