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 * 2015-01-28 Bernard first version 9*10465441SEvalZero */ 10*10465441SEvalZero 11*10465441SEvalZero #include <rtthread.h> 12*10465441SEvalZero #ifdef RT_USING_DFS 13*10465441SEvalZero #include <dfs_posix.h> 14*10465441SEvalZero #endif 15*10465441SEvalZero #include <yfuns.h> 16*10465441SEvalZero #include "libc.h" 17*10465441SEvalZero 18*10465441SEvalZero #pragma module_name = "?__read" __read(int handle,unsigned char * buf,size_t len)19*10465441SEvalZerosize_t __read(int handle, unsigned char *buf, size_t len) 20*10465441SEvalZero { 21*10465441SEvalZero #ifdef RT_USING_DFS 22*10465441SEvalZero int size; 23*10465441SEvalZero #endif 24*10465441SEvalZero 25*10465441SEvalZero if (handle == _LLIO_STDIN) 26*10465441SEvalZero { 27*10465441SEvalZero #ifdef RT_USING_POSIX 28*10465441SEvalZero return libc_stdio_read(buf, len); 29*10465441SEvalZero #else 30*10465441SEvalZero return _LLIO_ERROR; 31*10465441SEvalZero #endif 32*10465441SEvalZero } 33*10465441SEvalZero 34*10465441SEvalZero if ((handle == _LLIO_STDOUT) || (handle == _LLIO_STDERR)) 35*10465441SEvalZero return _LLIO_ERROR; 36*10465441SEvalZero 37*10465441SEvalZero #ifndef RT_USING_DFS 38*10465441SEvalZero return _LLIO_ERROR; 39*10465441SEvalZero #else 40*10465441SEvalZero size = read(handle, buf, len); 41*10465441SEvalZero return size; 42*10465441SEvalZero #endif 43*10465441SEvalZero } 44