00001
00006 #include "sceptre.h"
00007 #include "device.h"
00008
00009
00019 int _close_r (struct _reent *p_reent, int fd)
00020 {
00021 int result;
00022 int idx;
00023
00024
00025 if ((idx=device_find(p_reent,DEVICE_TYPE(fd)))==-1) return -1;
00026
00027
00028 if (device_table_list[idx].p_item->close)
00029 {
00030 result = device_table_list[idx].p_item->close(p_reent,fd);
00031 }
00032 else
00033 {
00034 p_reent->_errno = EBADF;
00035 return -1;
00036 }
00037
00038 return result;
00039 }
00040