mirror of
https://github.com/justinian/jsix.git
synced 2025-12-10 08:24:32 -08:00
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
34 lines
585 B
Modula-2
34 lines
585 B
Modula-2
# 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
|
|
}
|
|
}
|