int ret;  if ((ret = fd_lock(fd, FD_READ)) == OK) { ret = fd_table[fd]->ops->read(fd_table[fd]->fd, fd_table[fd]->flags, buf, nbytes); fd_unlock(fd, FD_READ); } return(ret);
return(read_timedwait(fd, buf, nbytes, NULL));
ssize_t read(int fd, void *buf, size_t nbytes){	int ret;	if ((ret = fd_lock(fd, FD_READ)) == OK) {     	ret = fd_table[fd]->ops->read(fd_table[fd]->fd,		  fd_table[fd]->flags, buf, nbytes); 		fd_unlock(fd, FD_READ);	} 	return(ret);}