Domain/OS Types
In Domain, the files in the networked filesystem aren't merely files, but
objects. This filesystem was the first commercial object-store.
Each object is an instance of a type. A set of operations that
implement a certain behaviour is a trait; types may support one or
more traits.
There are a handful of system traits, divided between those that are
built-in to the system and those that are separately loaded. Unfortunately,
Apollo never released information on how to write traits, so there are few
user-written ones floating around.
I'm working on writing a "how to write a trait" page.
Built-in traits
- io
- Standard file-like input-output operations.
- io_oc
- Standard file-like open and create.
- io_xoc
- Extended open and create, for object with internal structure.
- ios_dir
- Directory operations.
- sio
- Serial port operations.
- prot
- Object protection operations, regarding owner, groups, permissions, etc.
- attr
- Object attributes, like size, timestamps, etc.
- geo
- Geometry?
- gpr
- Graphics primitives?
- gsr
- More graphics something?
- ipmac
- ?
- socket
- A generalization of BSD sockets.
- ws
- ?
- vstreams
- System V STREAMS.
- wm
- Window manager?
Additional traits
- xdl
- Something to do with X-windows displays
- xpager
- External (user-space) pager daemon (à la Mach?)