void libc_system_init(const char* tty_name) { #ifdef RT_USING_DFS int fd; #ifndef RT_USING_DFS_DEVFS #error Please enable devfs by defining RT_USING_DFS_DEVFS in rtconfig.h #endif /* init console device */ rt_console_init(tty_name); /* open console as stdin/stdout/stderr */ fd = open("/dev/console", O_RDONLY, 0); /* for stdin */ fd = open("/dev/console", O_WRONLY, 0); /* for stdout */ fd = open("/dev/console", O_WRONLY, 0); /* for stderr */ #endif /* set PATH and HOME */ putenv("PATH=/"); putenv("HOME=/"); #ifdef RT_USING_PTHREADS pthread_system_init(); #endif }
void rt_kprintf(const char* fmt, ...) { va_list args; char buffer[255]; if (OutputHandle == NULL) rt_console_init(); va_start(args,fmt); vsprintf(buffer,fmt,args); WriteConsoleA(OutputHandle, buffer, strlen(buffer), NULL, NULL); va_end(args); }
int libc_system_init(void) { #ifdef RT_USING_DFS int fd; struct rt_device *console_dev; #ifndef RT_USING_DFS_DEVFS #error Please enable devfs by defining RT_USING_DFS_DEVFS in rtconfig.h #endif console_dev = rt_console_get_device(); if (console_dev) { /* initialize console device */ rt_console_init(console_dev->parent.name); /* open console as stdin/stdout/stderr */ fd = open("/dev/console", O_RDONLY, 0); /* for stdin */ fd = open("/dev/console", O_WRONLY, 0); /* for stdout */ fd = open("/dev/console", O_WRONLY, 0); /* for stderr */ /* skip warning */ fd = fd; } #endif /* set PATH and HOME */ putenv("PATH=/bin"); putenv("HOME=/home"); #ifdef RT_USING_PTHREADS pthread_system_init(); #endif return 0; }