|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH 15/15] mini-os: introduce get_file_from_fd()
Juergen Gross, le jeu. 06 janv. 2022 12:57:41 +0100, a ecrit:
> 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
>
--
Samuel
The nice thing about Windows is - It does not just crash, it displays a
dialog box and lets you press 'OK' first.
(Arno Schaefer's .sig)
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |