[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [mini-os master] introduce get_file_from_fd()
commit 0e19f674ab48dfce8be5a43d2fca78293a2e3ad8 Author: Juergen Gross <jgross@xxxxxxxx> AuthorDate: Sun Jan 16 07:45:23 2022 +0100 Commit: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> CommitDate: Mon Jan 17 10:51:21 2022 +0000 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..9a03875 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 >= 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) -- generated by git-patchbot for /home/xen/git/mini-os.git#master
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |