Files
jsix/definitions/objects/process.def
Justin C. Miller 186724e751 [project] Generate syscalls from new interface DSL
This change adds a new interface DSL for specifying objects (with
methods) and interfaces (that expose objects, and optionally have their
own methods).

Significant changes:

- Add the new scripts/definitions Python module to parse the DSL
- Add the new definitions directory containing DSL definition files
- Use cog to generate syscall-related code in kernel and libj6
- Unify ordering of pointer + length pairs in interfaces
2021-08-30 01:05:32 -07:00

28 lines
848 B
Modula-2

import "objects/kobject.def"
# Processes are a collection of handles and a virtual memory
# space inside which threads are run.
object process : kobject {
uid 0c69ee0b7502ba31
# Create a new empty process
method create [constructor]
# Stop all threads and exit the given process
method kill [destructor]
# Stop all threads and exit the current process
method exit [static] {
param result int32 # The result to retrun to the parent process
}
# Start the given process running. Note that the entrypoint
# address must be specified in the address space of the new
# process.
method start {
param entrypoint address # The address of the main thread entrypoint
param handles object kobject [list] # A list of parent handles to send to the child process
}
}