18#include <FreeNOS/System.h>
44 if (handler && *handler)
45 return (*handler)(arg1, arg2, arg3, arg4, arg5);
Log & operator<<(Log &log, API::Operation op)
Operator to print a Operation to a Log.
Result
Enumeration of generic kernel API result codes.
Operation
Various actions which may be performed inside an APIHandler.
Result invoke(Number number, ulong arg1, ulong arg2, ulong arg3, ulong arg4, ulong arg5)
Execute a generic API function.
Result Handler(ulong, ulong, ulong, ulong, ulong)
Function which handles an kernel API (system call) request.
Vector< Handler * > m_apis
API handlers.
void append(const char *str)
Append to buffered output.
virtual void fill(T value)
Fill the Sequence with the given value.
virtual const T * get(Size position) const
Returns the item at the given position.
virtual int insert(const T &item)
Adds the given item to the Vector, if possible.
API::Result VMShareHandler(const ProcessID procID, const API::Operation op, ProcessShares::MemoryShare *share)
Kernel handler prototype.
API::Result SystemInfoHandler(SystemInformation *info)
Kernel prototype.
API::Result VMCopyHandler(const ProcessID procID, const API::Operation how, const Address ours, const Address theirs, const Size sz)
Kernel handler prototype.
API::Result ProcessCtlHandler(const ProcessID procID, const ProcessOperation action, const Address addr, const Address output)
Kernel handler prototype.
API::Result VMCtlHandler(const ProcessID procID, const MemoryOperation op, Memory::Range *range)
Kernel handler prototype.
API::Result PrivExecHandler(const PrivOperation op, const Address param)
Prototype for kernel handler.
unsigned long ulong
Unsigned long number.
#define DEBUG(msg)
Output a debug message to standard output.