|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH v2 15/18] mini-os: introduce get_file_from_fd()
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@xxxxxxxx>
Reviewed-by: Samuel Thibault <samuel.thibault@xxxxxxxxxxxx>
---
include/lib.h | 1 +
lib/sys.c | 8 ++++++++
2 files changed, 9 insertions(+)
diff --git a/include/lib.h b/include/lib.h
index 91364ba..7a0546b 100644
--- a/include/lib.h
+++ b/include/lib.h
@@ -198,6 +198,7 @@ struct file {
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;
diff --git a/lib/sys.c b/lib/sys.c
index 6f2b026..0e6fe5d 100644
--- a/lib/sys.c
+++ b/lib/sys.c
@@ -98,6 +98,14 @@ struct file files[NOFILE] = {
{ .type = FTYPE_CONSOLE }, /* stderr */
};
+struct file *get_file_from_fd(int fd)
+{
+ if ( fd < 0 || fd >= NOFILE )
+ return NULL;
+
+ return (files[fd].type == FTYPE_NONE) ? NULL : files + fd;
+}
+
DECLARE_WAIT_QUEUE_HEAD(event_queue);
int alloc_fd(enum fd_type type)
--
2.26.2
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |