summaryrefslogtreecommitdiff
path: root/kernel/old/include/ulib.h
diff options
context:
space:
mode:
authorFreya Murphy <freya@freyacat.org>2025-04-17 13:44:55 -0400
committerFreya Murphy <freya@freyacat.org>2025-04-17 14:10:42 -0400
commitf8529d09bf1555c2dda61f5841b7ad4f42ce9715 (patch)
tree16e0cdede45741e945e663f72697665074b2b077 /kernel/old/include/ulib.h
parentfmt (diff)
downloadcomus-f8529d09bf1555c2dda61f5841b7ad4f42ce9715.tar.gz
comus-f8529d09bf1555c2dda61f5841b7ad4f42ce9715.tar.bz2
comus-f8529d09bf1555c2dda61f5841b7ad4f42ce9715.zip
elf sym loading
Diffstat (limited to 'kernel/old/include/ulib.h')
-rw-r--r--kernel/old/include/ulib.h315
1 files changed, 0 insertions, 315 deletions
diff --git a/kernel/old/include/ulib.h b/kernel/old/include/ulib.h
deleted file mode 100644
index d254d6a..0000000
--- a/kernel/old/include/ulib.h
+++ /dev/null
@@ -1,315 +0,0 @@
-/**
-** @file ulib.h
-**
-** @author CSCI-452 class of 20245
-**
-** @brief Declarations for user-level library functions
-**
-** This module implements a simple collection of support functions
-** similar to the standard C library.
-*/
-
-#ifndef ULIB_H_
-#define ULIB_H_
-
-#include <common.h>
-
-/*
-** General (C and/or assembly) definitions
-*/
-
-#ifndef ASM_SRC
-
-/*
-** Start of C-only definitions
-*/
-
-/*
-** Types
-*/
-
-/*
-** Globals
-*/
-
-/*
-** Prototypes
-*/
-
-/*
-*************************************************
-** SYSTEM CALLS *********************************
-*************************************************
-*/
-
-/**
-** exit - terminate the calling process
-**
-** usage: exit(status);
-**
-** @param status Termination status of this process
-**
-** Does not return.
-*/
-void exit( int32_t status );
-
-/**
-** waitpid - wait for a child process to terminate
-**
-** usage: pid = waitpid(pid,&status);
-**
-** @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.
-*/
-int waitpid( uint_t pid, int32_t *status );
-
-/**
-** fork - create a duplicate of the calling process
-**
-** usage: pid = fork();
-**
-** @return parent - the pid of the new child, or an error code
-** child - 0
-*/
-int fork( void );
-
-/**
-** exec - replace the memory image of the calling process
-**
-** usage: exec( what, args )
-**
-** @param what 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.
-*/
-void exec( uint_t what, char **args );
-
-/**
-** read - read into a buffer from a stream
-**
-** usage: n = read(channel,buf,length)
-**
-** @param chan I/O stream to read from
-** @param buf Buffer to read into
-** @param length Maximum capacity of the buffer
-**
-** @return The count of bytes transferred, or an error code
-*/
-int read( uint_t chan, void *buffer, uint_t length );
-
-/**
-** write - write from a buffer to a stream
-**
-** usage: n = write(channel,buf,length)
-**
-** @param chan I/O stream to write to
-** @param buf Buffer to write from
-** @param length Maximum capacity of the buffer
-**
-** @return The count of bytes transferred, or an error code
-*/
-int write( uint_t chan, const void *buffer, uint_t length );
-
-/**
-** getpid - get the PID of the calling process
-**
-** usage: pid = getpid()
-**
-** @return the PID of this process
-*/
-uint_t getpid( void );
-
-/**
-** getppid - get the PID of the calling process' parent
-**
-** usage: pid = getppid()
-**
-** @return the PID of this process' parent
-*/
-uint_t getppid( void );
-
-/**
-** gettime - get the current system time
-**
-** usage: pid = gettime()
-**
-** @return the system time
-*/
-uint32_t gettime( void );
-
-/**
-** getprio - get the scheduling priority of the calling process
-**
-** usage: prio = getprio()
-**
-** @return the process' priority
-*/
-int getprio( void );
-
-/**
-** setprio - set the scheduling priority of the calling process
-**
-** usage: oldprio = setprio(newprio)
-**
-** @param new the desired new priority
-**
-** @return the old priority value
-*/
-int setprio( int new );
-
-/**
-** kill - terminate a process with extreme prejudice
-**
-** usage: n = kill( pid )
-**
-** @param pid the intended victim
-**
-** @return 0 on success, else an error code
-*/
-int32_t kill( uint_t pid );
-
-/**
-** sleep - put the current process to sleep for some length of time
-**
-** usage: sleep(n);
-**
-** @param ms Desired sleep time (in ms), or 0 to yield the CPU
-**
-** @return the time the process spent sleeping (in ms)
-*/
-int sleep( uint32_t ms );
-
-/**
-** bogus - a nonexistent system call, to test our syscall ISR
-**
-** usage: bogus()
-**
-** Does not return.
-*/
-void bogus( void );
-
-/*
-*************************************************
-** CONVENIENT "SHORTHAND" VERSIONS OF SYSCALLS **
-*************************************************
-**
-** These are library functions that perform specific common
-** variants of system calls. This helps reduce the total number
-** of system calls, keeping our baseline OS as lean and mean
-** as we can make it. :-)
-*/
-
-/**
-** wait - wait for any child to exit
-**
-** usage: pid = wait(&status)
-**
-** Calls waitpid(0,status)
-**
-** @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
-*/
-int wait( int32_t *status );
-
-/**
-** spawn - create a new process running a different program
-**
-** usage: n = spawn(what,args)
-**
-** Creates a new process and then execs 'what'
-**
-** @param what 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
-*/
-int spawn( uint_t what, char **args );
-
-/**
-** cwritech(ch) - write a single character to the console
-**
-** @param ch The character to write
-**
-** @return The return value from calling write()
-*/
-int cwritech( char ch );
-
-/**
-** cwrites(str) - write a NUL-terminated string to the console
-**
-** @param str The string to write
-**
-*/
-int cwrites( const char *str );
-
-/**
-** cwrite(buf,leng) - write a sized buffer to the console
-**
-** @param buf The buffer to write
-** @param leng The number of bytes to write
-**
-** @return The return value from calling write()
-*/
-int cwrite( const char *buf, uint32_t leng );
-
-/**
-** swritech(ch) - write a single character to the SIO
-**
-** @param ch The character to write
-**
-** @return The return value from calling write()
-*/
-int swritech( char ch );
-
-/**
-** swrites(str) - write a NUL-terminated string to the SIO
-**
-** @param str The string to write
-**
-** @return The return value from calling write()
-*/
-int swrites( const char *str );
-
-/**
-** swrite(buf,leng) - write a sized buffer to the SIO
-**
-** @param buf The buffer to write
-** @param leng The number of bytes to write
-**
-** @return The return value from calling write()
-*/
-int swrite( const char *buf, uint32_t leng );
-
-/*
-*************************************************
-** MISCELLANEOUS USEFUL SUPPORT FUNCTIONS *******
-*************************************************
-*/
-
-/**
-** fake_exit()
-**
-** dummy "startup" function
-**
-** calls exit(%eax) - serves as the "return to" code for
-** main() functions, in case they don't call exit() themselves
-*/
-void fake_exit( void );
-
-#endif /* !ASM_SRC */
-
-#endif