diff options
-rw-r--r-- | src/sys/include/os/filedesc.h | 24 | ||||
-rw-r--r-- | src/sys/os/os_filedes.c | 22 |
2 files changed, 28 insertions, 18 deletions
diff --git a/src/sys/include/os/filedesc.h b/src/sys/include/os/filedesc.h index b773de9..95400ed 100644 --- a/src/sys/include/os/filedesc.h +++ b/src/sys/include/os/filedesc.h @@ -52,6 +52,18 @@ struct filedesc { }; /* + * Allocate a file descriptor from a specific process's + * file descriptor table + * + * @procp: Process to allocate fd from + * @fd_res: Result pointer is written here + * + * Returns zero on success, otherwise a less than + * zero value upon failure + */ +int fd_alloc(struct proc *procp, struct filedesc **fd_res); + +/* * Duplicate a file descriptor * * @procp: Process to duplicate from @@ -63,6 +75,18 @@ struct filedesc { struct filedesc *fd_dup(struct proc *procp, int fd); /* + * Look up a file descriptor that belongs to a specific + * process by using its fd number + * + * @procp: Process to look up + * @fd: File descriptor number + * + * Returns the file descriptor pointer on success, + * otherwise a less than zero value on failure + */ +struct filedesc *fd_get(struct proc *procp, int fd); + +/* * Initialize a process file descriptor table * and set up standard streams * diff --git a/src/sys/os/os_filedes.c b/src/sys/os/os_filedes.c index 36748a6..3eaee0d 100644 --- a/src/sys/os/os_filedes.c +++ b/src/sys/os/os_filedes.c @@ -44,16 +44,9 @@ #define STDOUT_FILENO 1 /* - * Allocate a file descriptor from a specific process's - * file descriptor table - * - * @procp: Process to allocate fd from - * @fd_res: Result pointer is written here - * - * Returns zero on success, otherwise a less than - * zero value upon failure + * Allocate a file descriptor */ -static int +int fd_alloc(struct proc *procp, struct filedesc **fd_res) { struct filedesc *fd; @@ -91,16 +84,9 @@ fd_alloc(struct proc *procp, struct filedesc **fd_res) } /* - * Look up a file descriptor that belongs to a specific - * process by using its fd number - * - * @procp: Process to look up - * @fd: File descriptor number - * - * Returns the file descriptor pointer on success, - * otherwise a less than zero value on failure + * Get a file descriptor */ -static struct filedesc * +struct filedesc * fd_get(struct proc *procp, int fd) { struct filedesc *fdp; |