summaryrefslogtreecommitdiff
path: root/include/unistd.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/unistd.h')
-rw-r--r--include/unistd.h182
1 files changed, 0 insertions, 182 deletions
diff --git a/include/unistd.h b/include/unistd.h
deleted file mode 100644
index f9838f1..0000000
--- a/include/unistd.h
+++ /dev/null
@@ -1,182 +0,0 @@
-/**
- * @file unistd.h
- * @author Freya Murphy <freya@freyacat.org>
- * @author Warren R. Carithers
- *
- * Universial system definitions for userspace.
- */
-
-#ifndef _UNISTD_H
-#define _UNISTD_H
-
-#include <stdint.h>
-#include <stddef.h>
-
-/* System Call Definitions */
-
-typedef uint_t pid_t;
-
-/**
- * Terminates the calling process and does not return.
- * @param status - the status code to exit with
- */
-__attribute__((noreturn)) extern void exit(int32_t status);
-
-/**
- * Sleeps current process until a child process terminates
- *
- * @param pid - pid of the desired child, or 0 for any child
- * @param status - Pointer to int32_t into which the child's status is placed,
- * or NULL
- *
- * @return The pid of the terminated child, or an error code
- *
- * If there are no children in the system, returns an error code (*status
- * is unchanged).
- *
- * If there are one or more children in the system and at least one has
- * terminated but hasn't yet been cleaned up, cleans up that process and
- * returns its information; otherwise, blocks until a child terminates.
- */
-extern int waitpid(pid_t pid, int32_t *status);
-
-/**
- * Create a duplicate of the calling process
- *
- * @return parent - the pid of the new child, or an error code
- * child - 0
- */
-extern int fork(void);
-
-/**
- * Replace the memory image of the calling process
- *
- * @param prog - program table index of the program to exec
- * @param args - the command-line argument vector
- *
- * Does not return if it succeeds; if it returns, something has
- * gone wrong.
- */
-extern void exec(uint_t prog, char **args);
-
-/**
- * Open a stream with a given filename
- *
- * @param filename - the name of the file to open
- * @return the file descriptior of the open file or a negative error code.
- * TODO: fmurphy implement
- */
-extern int open(char *filename);
-
-/**
- * Closes a stream with the given file descriptior
- * @param fd - the file descriptior of the open stream
- * TODO: fmurphy implement
- */
-extern void close(int fd);
-
-/**
- * Read into a buffer from a stream
- *
- * @param fd - file stream to read from
- * @param buf - buffer to read into
- * @param nbytes - maximum capacity of the buffer
- *
- * @return - The count of bytes transferred, or an error code
- * TODO: fmurphy FD
- */
-extern int read(int fd, void *buffer, size_t nbytes);
-
-/**
- * Write from a buffer to a stream
- *
- * @param fd - file stream to write to
- * @param buf - buffer to write from
- * @param nbytes - maximum capacity of the buffer
- *
- * @return - The count of bytes transferred, or an error code
- * TODO: fmurphy FD
- */
-extern int write(int fd, const void *buffer, size_t nbytes);
-
-/**
- * Gets the pid of the calling process
- *
- * @return the pid of this process
- */
-extern pid_t getpid(void);
-
-/**
- * Gets the parent pid of the current process
- *
- * @return the parent pid of the current process, or 0 if init
- */
-extern pid_t getppid(void);
-
-/**
- * Gets the current system time
- *
- * @return the system time
- * TODO: CHANGE TIME TO 64bits!!
- */
-extern ulong_t gettime(void);
-
-/**
- * Gets the scheduling priority of the calling process
- *
- * @return the process' priority
- */
-extern uint_t getprio(void);
-
-/**
- * Sets the scheduling priority of the calling process
- *
- * @param new - the desired new priority
- *
- * @return the old priority value
- */
-extern uint_t setprio(uint_t new);
-
-/**
- * Terminates a process
- *
- * @param pid - the pid of the process to kill
- *
- * @return 0 on success, else an error code
- */
-extern int32_t kill(pid_t pid);
-
-/**
- * Put the current process to sleep for some length of time
- *
- * @param ms - desired sleep time (in ms), or 0 to yield the CPU
- *
- * @return the time the process spent sleeping (in ms)
- */
-extern int sleep(uint32_t ms);
-
-/**
- * Wait for any child to exit
- *
- * @param status - Pointer to int32_t into which the child's status is placed,
- * or NULL
- *
- * @return The pid of the terminated child, or an error code
- *
- * Analogous to waitpid(0,status)
- */
-extern int wait(int32_t *status);
-
-/**
- * Spawn a new process running a different program
- *
- * @param prog - program table index of the program to spawn
- * @param args - the command-line argument vector for the process
- *
- * @return The pid of the child, or an error code
- *
- * Analogous to calling fork and exec
- */
-extern int spawn(uint_t prog, char **args);
-
-#endif /* unistd.h */