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 #include <rtthread.h> 11*10465441SEvalZero #include <stdio.h> 12*10465441SEvalZero #include <stdlib.h> 13*10465441SEvalZero #include <fcntl.h> 14*10465441SEvalZero #include <sys/time.h> 15*10465441SEvalZero 16*10465441SEvalZero #include "libc.h" 17*10465441SEvalZero 18*10465441SEvalZero #ifdef RT_USING_PTHREADS 19*10465441SEvalZero #include <pthread.h> 20*10465441SEvalZero #endif 21*10465441SEvalZero 22*10465441SEvalZero int _EXFUN(putenv,(char *__string)); 23*10465441SEvalZero libc_system_init(void)24*10465441SEvalZeroint libc_system_init(void) 25*10465441SEvalZero { 26*10465441SEvalZero #if defined(RT_USING_DFS) & defined(RT_USING_DFS_DEVFS) & defined(RT_USING_CONSOLE) 27*10465441SEvalZero rt_device_t dev_console; 28*10465441SEvalZero 29*10465441SEvalZero dev_console = rt_console_get_device(); 30*10465441SEvalZero if (dev_console) 31*10465441SEvalZero { 32*10465441SEvalZero #if defined(RT_USING_POSIX) 33*10465441SEvalZero libc_stdio_set_console(dev_console->parent.name, O_RDWR); 34*10465441SEvalZero #else 35*10465441SEvalZero libc_stdio_set_console(dev_console->parent.name, O_WRONLY); 36*10465441SEvalZero #endif 37*10465441SEvalZero } 38*10465441SEvalZero 39*10465441SEvalZero /* set PATH and HOME */ 40*10465441SEvalZero putenv("PATH=/bin"); 41*10465441SEvalZero putenv("HOME=/home"); 42*10465441SEvalZero #endif 43*10465441SEvalZero 44*10465441SEvalZero #if defined RT_USING_PTHREADS && !defined RT_USING_COMPONENTS_INIT 45*10465441SEvalZero pthread_system_init(); 46*10465441SEvalZero #endif 47*10465441SEvalZero 48*10465441SEvalZero return 0; 49*10465441SEvalZero } 50*10465441SEvalZero INIT_COMPONENT_EXPORT(libc_system_init); 51