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/10/15 bernard the first version 9*10465441SEvalZero */ 10*10465441SEvalZero #ifndef __RTT_LIBC_H__ 11*10465441SEvalZero #define __RTT_LIBC_H__ 12*10465441SEvalZero 13*10465441SEvalZero #include <stdio.h> 14*10465441SEvalZero #include <stdint.h> 15*10465441SEvalZero #include <string.h> 16*10465441SEvalZero #include <sys/time.h> 17*10465441SEvalZero 18*10465441SEvalZero #ifndef _EXFUN 19*10465441SEvalZero #define _EXFUN(name, proto) name proto 20*10465441SEvalZero #endif 21*10465441SEvalZero 22*10465441SEvalZero #define MILLISECOND_PER_SECOND 1000UL 23*10465441SEvalZero #define MICROSECOND_PER_SECOND 1000000UL 24*10465441SEvalZero #define NANOSECOND_PER_SECOND 1000000000UL 25*10465441SEvalZero 26*10465441SEvalZero #define MILLISECOND_PER_TICK (MILLISECOND_PER_SECOND / RT_TICK_PER_SECOND) 27*10465441SEvalZero #define MICROSECOND_PER_TICK (MICROSECOND_PER_SECOND / RT_TICK_PER_SECOND) 28*10465441SEvalZero #define NANOSECOND_PER_TICK (NANOSECOND_PER_SECOND / RT_TICK_PER_SECOND) 29*10465441SEvalZero 30*10465441SEvalZero int libc_system_init(void); 31*10465441SEvalZero int libc_stdio_set_console(const char* device_name, int mode); 32*10465441SEvalZero int libc_stdio_get_console(void); 33*10465441SEvalZero 34*10465441SEvalZero /* some time related function */ 35*10465441SEvalZero int libc_set_time(const struct timespec *time); 36*10465441SEvalZero int libc_get_time(struct timespec *time); 37*10465441SEvalZero int libc_time_to_tick(const struct timespec *time); 38*10465441SEvalZero 39*10465441SEvalZero #endif 40