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
30 lines
511 B
Modula-2
30 lines
511 B
Modula-2
import "objects/process.def"
|
|
|
|
object vma : kobject {
|
|
uid d6a12b63b3ed3937
|
|
|
|
method create [constructor] {
|
|
param size size
|
|
param flags uint32
|
|
}
|
|
|
|
method create_map [constructor] {
|
|
param size size
|
|
param address address
|
|
param flags uint32
|
|
}
|
|
|
|
method map {
|
|
param process object process
|
|
param address address
|
|
}
|
|
|
|
method unmap {
|
|
param process object process
|
|
}
|
|
|
|
method resize {
|
|
param size size [inout]
|
|
}
|
|
}
|