mirror of
https://github.com/justinian/jsix.git
synced 2025-12-10 00:14: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:
33
definitions/objects/mailbox.def
Normal file
33
definitions/objects/mailbox.def
Normal file
@@ -0,0 +1,33 @@
|
||||
# Mailboxes are objects that enable asynchronous IPC via event notification.
|
||||
# This is a second line of documentation
|
||||
|
||||
object mailbox {
|
||||
uid 99934ad04ece1e07
|
||||
|
||||
# Create an unbound mailbox
|
||||
method create [constructor]
|
||||
|
||||
method close [destructor]
|
||||
|
||||
method bind {
|
||||
param index uint
|
||||
param source object kobject
|
||||
param event uint
|
||||
}
|
||||
|
||||
method unbind {
|
||||
param index uint
|
||||
}
|
||||
|
||||
method notify {
|
||||
param index uint
|
||||
}
|
||||
|
||||
method wait {
|
||||
param bitmap uint64 [out]
|
||||
}
|
||||
|
||||
method ack {
|
||||
param bitmap uint64
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user