Files
jsix/definitions/objects/kobject.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

26 lines
892 B
Modula-2

# The base type of all kernel-exposed objects
object kobject [virtual] {
uid 667f61fb2cd57bb4
# Get the internal kernel object id of an object
method koid {
param koid uint64 [out]
}
# Block the current thread waiting for an object to assert
# one of a set of signals
method wait {
param mask uint64 # Bitmap of which signals to wait for
param signals uint64 [out] # Returns the state of the signals
}
# Block the current thread waiting for an one of multiple
# objects to assert one of a set of signals
method wait_many [static] {
param handles object kobject [list] # The objects to wait on
param mask uint64 # Bitmap of which signals to wait for
param handle object kobject [out] # Returns the object that signalled
param signals uint64 [out] # Returns the state of the signals
}
}