Exporting the files[] array especially for components outside the
mini-os source tree is limiting the ability to change any file handling
in mini-os.
Introduce a new function get_file_from_fd() to return the struct file
pointer (or NULL) for a given file descriptor.
Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
extern struct file files[];
+struct file *get_file_from_fd(int fd);
int alloc_fd(enum fd_type type);
void close_all_files(void);
extern struct thread *main_thread;
{ .type = FTYPE_CONSOLE }, /* stderr */
};
+struct file *get_file_from_fd(int fd)
+{
+ if ( fd < 0 || fd >= ARRAY_SIZE(files) )
+ return NULL;
+
+ return (files[fd].type == FTYPE_NONE) ? NULL : files + fd;
+}
+
DECLARE_WAIT_QUEUE_HEAD(event_queue);
int alloc_fd(enum fd_type type)