mirror of
https://github.com/justinian/jsix.git
synced 2025-12-09 16:04:32 -08:00
[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
This commit is contained in:
27
definitions/syscalls.def
Normal file
27
definitions/syscalls.def
Normal file
@@ -0,0 +1,27 @@
|
||||
import "objects/system.def"
|
||||
import "objects/kobject.def"
|
||||
import "objects/process.def"
|
||||
import "objects/thread.def"
|
||||
import "objects/channel.def"
|
||||
import "objects/endpoint.def"
|
||||
import "objects/vma.def"
|
||||
|
||||
interface syscalls [syscall] {
|
||||
uid 01d9b6a948961097
|
||||
|
||||
expose object system
|
||||
expose object kobject
|
||||
expose object process
|
||||
expose object thread
|
||||
expose object channel
|
||||
expose object endpoint
|
||||
expose object vma
|
||||
|
||||
# Simple no-op syscall for testing
|
||||
function noop
|
||||
|
||||
# Write a message to the kernel log
|
||||
function log {
|
||||
param message string
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user