Module system

Index

Module

expect

The expect module provides error checking functions for other libraries.

filesystem

The filesystem module implements common operations for working with the filesystem, including wrappers for syscalls.

framebuffer

The framebuffer library provides functions to make "window" and "framebuffer" objects. These objects imitate a Terminal object (as returned by system.terminal.openterm) or GFXTerminal object (as returned by system.terminal.opengfx) that may or may not draw to a parent object. Windows and framebuffers may be used as parents to other windows and framebuffers, in addition to the root terminal object.

graphics

The graphics module provides functions to draw primitive geometry on a locked terminal object. It supports both text and graphics mode terminals. The state of text terminals is preserved, so using these functions doesn't change the cursor position or colors.

hardware

The hardware module implements functions for operating on peripherals and other hardware devices.

ipc

The IPC module provides functions for sending messages to other processes.

keys

The keys module assigns names to the keycode constants that Phoenix sends in key events, and adds a few functions to make using them easier. This module uses the same names as the CraftOS keys API, so porting programs should be trivial.

log

The log module exposes functions for interacting with the logging subsystem. The default system log is available under the root log table. Other logs created through log.create can be accessed by indexing the log table with the name of the log, e.g. log.mylog.info("hello"). Both the main and subtables may also be called directly, e.g. log("test") or log.mylog("hello").

network

The network module implements functions for making and hosting connections with local and Internet-connected computers, as well as managing the network stack configuration.

pretty

Provides a "pretty printer", for rendering data structures in an aesthetically pleasing manner.

process

The process module allows querying various properties about the current process, as well as creating, modifying, and searching other processes.

serialization

The serialization module provides functions for serializing and deserializing objects in multiple formats, as well as some miscellaneous encoding types.

sync

The sync library exposes interfaces for various synchronization structures.

terminal

The terminal module defines functions to allow interacting with the terminal and screen, as well as handling user input.

util

The util module contains various functions that don't have any specific system function, or help improve the usability of the general system.