emacs.d/clones/lisp/www.cliki.net/System programming.html
2022-10-07 15:47:14 +02:00

374 lines
No EOL
20 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>CLiki: system programming</title>
<link rel="alternate" type="application/atom+xml" title="ATOM feed of edits to current article"
href="https://www.cliki.net/site/feed/article.atom?title=system%20programming">
<link rel="stylesheet" href="static/css/style.css">
<link rel="stylesheet" href="static/css/colorize.css">
</head>
<body>
<span class="hidden">CLiki - system programming</span>
<div id="content"><div id="content-area"><div id="article-title">system programming</div><div id="article">Libraries having to do with system programming - memory management, <a href="timer.html" class="internal">timer</a>s, system calls, etc. Anything to do with <a href="Common&#32;Lisp&#32;implementation.html" class="internal">implementation</a> or OS specifics also belongs here.<p><ul>
<li>
<a href="ACL-COMPAT.html" class="internal">ACL-COMPAT</a> -
ACL-COMPAT is a free set of <a href="compatibility&#32;layers.html" class="category">compatibility layers</a> for parts of Franz's <a href="ACL.html" class="internal">ACL</a> <a href="system&#32;programming.html" class="category">system programming</a> API for several <a href="Common&#32;Lisp&#32;implementation.html" class="internal">Common Lisp implementation</a>s
</li>
<li>
<a href="Bordeaux-Threads.html" class="internal">Bordeaux-Threads</a> -
Bordeaux-Threads lets you write multi-<a href="thread.html" class="category">thread</a>ed applications in a portable way
</li>
<li>
<a href="bt-semaphore.html" class="internal">bt-semaphore</a> -
simple semaphores for bordeaux-threads
</li>
<li>
<a href="cl-async.html" class="internal">cl-async</a> -
Cl-async is a asynchronous I/O library wrapping the <a href="http://docs.libuv.org/en/v1.x/">libuv</a> C library
</li>
<li>
<a href="cl-daemonize.html" class="internal">cl-daemonize</a> -
cl-daemonize is a tool to daemonize a Lisp process without the need for screen/detachtty
</li>
<li>
<a href="cl-environment.html" class="internal">cl-environment</a> -
CL-ENVIRONMENT is a small library that tries to canonicalize access to some of the internals of different CL implementations
</li>
<li>
<a href="cl-event.html" class="internal">cl-event</a> -
cl-event is a Lisp <a href="https://libevent.org/">libevent</a> wrapper
</li>
<li>
<a href="cl-fad.html" class="internal">cl-fad</a> -
CL-FAD is a portable pathname library based on code from <a href="Peter&#32;Seibel.html" class="internal">Peter Seibel</a>'s book <a href="Practical&#32;Common&#32;Lisp.html" class="internal">Practical Common Lisp</a>, providing a way to work with files and directories
</li>
<li>
<a href="cl-fuse.html" class="internal">cl-fuse</a> -
CL-FUSE provides Common Lisp bindings for <a href="http://fuse.sourceforge.net/">FUSE</a> (file system in user space)
</li>
<li>
<a href="cl-inotify.html" class="internal">cl-inotify</a> -
cl-inotify is an interface to the Linux <a href="http://en.wikipedia.org/wiki/Inotify">inotify</a> facility for file change notifications
</li>
<li>
<a href="cl-libserialport.html" class="internal">cl-libserialport</a> -
cl-libserialport is a <a href="Common&#32;Lisp.html" class="internal">Common Lisp</a> CFFI interface to the sigrok libserialport library, a cross-platform, minimal, C library for interfacing with serial ports
</li>
<li>
<a href="cl-libusb.html" class="internal">cl-libusb</a> -
cl-libusb provides an interface to <a href="http://www.libusb.org/">libusb</a>, a library that provides access to USB devices across many different operating systems
</li>
<li>
<a href="CL-PACKAGE-LOCKS.html" class="internal">CL-PACKAGE-LOCKS</a> -
A unified way of dealing with package locks on those implementations that support them (or that's the eventual goal anyways)
</li>
<li>
<a href="cl-syslog.html" class="internal">cl-syslog</a> -
Common Lisp interface to local and remote Syslog facilities
</li>
<li>
<a href="cl-win32ole.html" class="internal">cl-win32ole</a> -
Common Lisp OLE like Ruby's <a href="https://docs.ruby-lang.org/en/2.7.0/WIN32OLE.html">win32ole</a>
</li>
<li>
<a href="closer-weak.html" class="internal">closer-weak</a> -
closer-weak provides <a href="http://clisp.org/impnotes/weak.html">CLisp-style weak objects</a> support for CMUCL and SBCL
</li>
<li>
<a href="CLTIO.html" class="internal">CLTIO</a> -
CLTIO is a <a href="UFFI.html" class="category">UFFI</a> binding to the <a href="Unix.html" class="category">Unix</a> termio library for raw serial/terminal I/O
</li>
<li>
<a href="clufs.html" class="internal">clufs</a> -
Common Lisp User Space File System
</li>
<li>
<a href="COM.INFORMATIMAGO.SUSV3.html" class="internal">COM.INFORMATIMAGO.SUSV3</a> -
SUSV3 is an interface to the <a href="http://en.wikipedia.org/wiki/Single_UNIX_Specification">Single Unix Specification</a> version 3 API
</li>
<li>
<a href="conium.html" class="internal">conium</a> -
Conium is a portability library for debugger- and compiler-related
</li>
<li>
<a href="Creating&#32;Executables.html" class="internal">Creating Executables</a> -
Most Common Lisp implementations support creating native-format executable files
</li>
<li>
<a href="cserial-port.html" class="internal">cserial-port</a> -
cserial-port is a <a href="Common&#32;Lisp.html" class="internal">Common Lisp</a> library for interacting with serial ports
</li>
<li>
<a href="Cyclosis.html" class="internal">Cyclosis</a> -
Cyclosis is a combined implementation of the functionality of the Common Lisp <a href="stream.html" class="category">stream</a> <a href="https://cliki.net/site/HyperSpec/Body/sec_the_streams_dictionary.html">dictionary</a> and that of the <a href="Gray&#32;streams.html" class="internal">Gray streams</a> proposal
</li>
<li>
<a href="do-backup.html" class="internal">do-backup</a> -
do-backup is a tool for performing backups on some regular basis on unix systems
</li>
<li>
<a href="executor.html" class="internal">executor</a> -
executor is a portability layer for external executable invocation
</li>
<li>
<a href="exit-hooks.html" class="internal">exit-hooks</a> -
exit-hooks is a portable layer for calling given function when Lisp exit
</li>
<li>
<a href="external-program.html" class="internal">external-program</a> -
external-program provides a largely-portable wrapper for running programs external to the Lisp process
</li>
<li>
<a href="garbage-pools.html" class="internal">garbage-pools</a> -
<a href="https://github.com/archimag/garbage-pools">GARBAGE-POOLS</a> is a Common Lisp re-implementation of the <a href="http://apr.apache.org/docs/apr/0.9/group__apr__pools.html">APR Pools</a> for resource management
</li>
<li>
<a href="green-threads.html" class="internal">green-threads</a> -
GREEN-THREADS is a portable library implementing green threads (lightweight, cooperatively multitasked, user threads) in Common Lisp
</li>
<li>
<a href="IOlib.html" class="internal">IOlib</a> -
I/O(mainly <a href="networking.html" class="category">networking</a>) library containing: a <a href="BSD&#32;sockets.html" class="category">BSD sockets</a> library, a DNS resolver and an I/O multiplexer that supports select(2), epoll(4) and kqueue(2)
</li>
<li>
<a href="lh-usb.html" class="internal">lh-usb</a> -
lh-usb is a set of bindings for the <a href="http://www.hep.by/gnu/kernel/usb/usbfs.html">Linux usbfs</a> interface for writing usb device drivers from user-space Lisp code
</li>
<li>
<a href="Lisp&#32;as&#32;a&#32;shell.html" class="internal">Lisp as a shell</a> -
See <a href="CLISP-Shell.html" class="internal">CLISP-Shell</a> locally or the
</li>
<li>
<a href="nibbles.html" class="internal">nibbles</a> -
Nibbles is a library for accessing octet-addressed blocks of data
</li>
<li>
<a href="Osicat.html" class="internal">Osicat</a> -
Operating system interface <a href="library.html" class="category">library</a> mainly for <a href="Unix.html" class="category">Unix</a>
</li>
<li>
<a href="reserve-channel.html" class="internal">reserve-channel</a> -
Simple routing daemons that checks reachability of packets to external host and switch routing to backup channels if needed
</li>
<li>
<a href="RESOURCE-UTILIZATION.html" class="internal">RESOURCE-UTILIZATION</a> -
RESOURCE-UTILIZATION gathers and displays resource utilization <a href="statistics.html" class="internal">statistics</a> from <a href="Linux.html" class="internal">Linux</a>'s /proc interface
</li>
<li>
<a href="s-sysdeps.html" class="internal">s-sysdeps</a> -
S-SYSDEPS is an abstraction layer over platform dependent functionality
</li>
<li>
<a href="sb-cpu-affinity.html" class="internal">sb-cpu-affinity</a> -
sb-cpu-affinity lets you set Linux scheduler CPU affinity masks from SBCL
</li>
<li>
<a href="SB-X86-PORTIO.html" class="internal">SB-X86-PORTIO</a> -
SB-X86-PORTIO is a module for doing raw port I/O on <a href="SBCL.html" class="category">SBCL</a>/x86/x86-64
</li>
<li>
<a href="shelisp.html" class="internal">shelisp</a> -
Shelisp provides mechanisms for composing and running <a href="Unix.html" class="category">Unix</a> <a href="shell.html" class="category">shell</a> (particularly bash) commands and constructs from Common Lisp
</li>
<li>
<a href="SHUT-IT-DOWN.html" class="internal">SHUT-IT-DOWN</a> -
Exit the Common Lisp implementation
</li>
<li>
<a href="stassats-inotify.html" class="internal">stassats-inotify</a> -
stassats-inotify is an interface to the Linux <a href="http://en.wikipedia.org/wiki/Inotify">inotify</a> facility for file change notifications
</li>
<li>
<a href="static-vectors.html" class="internal">static-vectors</a> -
Allocate <a href="https://www.cliki.net/site/HyperSpec/Body/typ_simple-array.html" class="hyperspec">SIMPLE-ARRAY</a>s in static memory
</li>
<li>
<a href="Terminfo.html" class="internal">Terminfo</a> -
A Common Lisp interface to the terminfo database by <a href="Paul&#32;Foley.html" class="internal">Paul Foley</a>
</li>
<li>
<a href="thread-pool.html" class="internal">thread-pool</a> -
thread-pool is library that allows asynchronous function execution from a static thread pool
</li>
<li>
<a href="tmpdir.html" class="internal">tmpdir</a> -
tmpdir is a simple Common Lisp library that provides a simple function and a simple macro to manipulate temporary directories (using <a href="cl-fad.html" class="internal">cl-fad</a>)
</li>
<li>
<a href="trivial-clipboard.html" class="internal">trivial-clipboard</a> -
<a href="trivial.html" class="category">trivial</a>-clipboard provides access to the system clipboard
</li>
<li>
<a href="trivial-features.html" class="internal">trivial-features</a> -
trivial-features ensures consistent <a href="https://www.cliki.net/site/HyperSpec/Body/var_stfeaturesst.html" class="hyperspec">*FEATURES*</a> across multiple Common
</li>
<li>
<a href="trivial-file-size.html" class="internal">trivial-file-size</a> -
This library exports a single function, file-size-in-octets
</li>
<li>
<a href="trivial-garbage.html" class="internal">trivial-garbage</a> -
<a href="https://common-lisp.net/project/trivial-garbage/">trivial-garbage</a> provides a portable API to <a href="https://common-lisp.net/project/trivial-garbage/#d0d0e0e0e0e2">finalizers</a>, <a href="https://common-lisp.net/project/trivial-garbage/#d0d0e0e0e0e1">weak hash-tables</a> and <a href="https://common-lisp.net/project/trivial-garbage/#d0d0e0e0e0e0">weak pointers</a>
</li>
<li>
<a href="trivial-gray-streams.html" class="internal">trivial-gray-streams</a> -
trivial-gray-streams provides an extremely thin compatibility layer for <a href="Gray&#32;streams.html" class="internal">Gray streams</a>
</li>
<li>
<a href="trivial-mmap.html" class="internal">trivial-mmap</a> -
Trivial-MMAP is a Common Lisp library that aims to provide an easy-to-use API for working with memory-mapped files
</li>
<li>
<a href="trivial-raw-io.html" class="internal">trivial-raw-io</a> -
<a href="trivial.html" class="category">trivial</a>-raw-io provides access to raw serial/terminal I/O (<a href="https://linux.die.net/man/3/termios">termios</a>) under <a href="Unix.html" class="category">Unix</a>
</li>
<li>
<a href="unix-options.html" class="internal">unix-options</a> -
unix-options is a library for processing <a href="Unix.html" class="category">Unix</a>-style command-line arguments
</li>
<li>
<a href="unix-opts.html" class="internal">unix-opts</a> -
This is a minimalistic parser of command line options
</li>
<li>
<a href="ZACL.html" class="internal">ZACL</a> -
ZACL is an <a href="ACL.html" class="internal">ACL</a>-like layer for running <a href="AllegroServe.html" class="internal">AllegroServe</a> on non-<a href="Allegro.html" class="internal">Allegro</a> Lisps
</li>
</ul><p>Tools for working with filesystem interfaces: (main topic: <a href="filesystem.html" class="internal">filesystem</a>)
<ul>
<li>
<a href="cl-fswatch.html" class="internal">cl-fswatch</a> -
Wrapper for <a href="https://github.com/emcrisostomo/fswatch">fswatch</a>, a cross-platform file change monitor
</li>
<li>
<a href="cl-fuse.html" class="internal">cl-fuse</a> -
CL-FUSE provides Common Lisp bindings for <a href="http://fuse.sourceforge.net/">FUSE</a> (file system in user space)
</li>
<li>
<a href="clufs.html" class="internal">clufs</a> -
Common Lisp User Space File System
</li>
<li>
<a href="query-fs.html" class="internal">query-fs</a> -
Query-FS is a FUSE-based filesystem that presents database queries as <a href="filesystem.html" class="category">filesystem</a> trees
</li>
</ul><p>Tools for dealing with assembler/machine code: (main topic: <a href="machine&#32;code.html" class="internal">machine code</a>)
<ul>
<li>
<a href="Apple&#32;II&#32;archaeology.html" class="internal">Apple II archaeology</a> -
Apple II archaeology is a collection of Lisp code useful for Apple II retrocomputing
</li>
<li>
<a href="armish.html" class="internal">armish</a> -
Armish is an arm assembler
</li>
<li>
<a href="Assem.html" class="internal">Assem</a> -
Assem is an ISA-level code layer for Common Lisp
</li>
<li>
<a href="BITMOP.html" class="internal">BITMOP</a> -
BITMOP is a DSL for definition and manipulation of register sets, registers, bitfields and bitfield values, all of which are first-class objects
</li>
<li>
<a href="cl-comfy-arm.html" class="internal">cl-comfy-arm</a> -
cl-comfy-arm is an implementation by <a href="JosephOswald.html" class="internal">JosephOswald</a> of <a href="Henry&#32;Baker.html" class="internal">Henry Baker</a>'s COMFY assembler for the ARM architecture
</li>
<li>
<a href="cl-elf.html" class="internal">cl-elf</a> -
cl-elf is a library for reading and writing the ELF executable <a href="file&#32;format.html" class="category">file format</a>
</li>
<li>
<a href="CL-IO-ELF.html" class="internal">CL-IO-ELF</a> -
CL-IO-ELF is a parser for ELF executable <a href="file&#32;format.html" class="category">file format</a>
</li>
<li>
<a href="cl-larval.html" class="internal">cl-larval</a> -
S-Exp syntax to write assembler for AVR microcontrollers
</li>
<li>
<a href="COMFY-6502.html" class="internal">COMFY-6502</a> -
COMFY-6502 is a port by <a href="JosephOswald.html" class="internal">JosephOswald</a> of <a href="Henry&#32;Baker.html" class="internal">Henry Baker</a>'s COMFY-6502 compiler to Common Lisp
</li>
<li>
<a href="LLVM.html" class="internal">LLVM</a> -
<a href="LLVM.html" class="internal">LLVM</a> stands for <a href="http://llvm.org/">Low Level Virtual Machine</a>
</li>
<li>
<a href="swap-bytes.html" class="internal">swap-bytes</a> -
swap-bytes is a library for efficient endianness conversion in <a href="SBCL.html" class="internal">SBCL</a> and <a href="CCL.html" class="internal">CCL</a>
</li>
<li>
<a href="SYMTABLE.html" class="internal">SYMTABLE</a> -
SYMTABLE is a simplistic symbol-table abstraction
</li>
</ul><p>Tools for working with embedded systems (Arduino, etc.): (main topic: <a href="embedded.html" class="internal">embedded</a>)
<ul>
<li>
<a href="Apple&#32;II&#32;archaeology.html" class="internal">Apple II archaeology</a> -
Apple II archaeology is a collection of Lisp code useful for Apple II retrocomputing
</li>
<li>
<a href="Arduino&#32;Lisp.html" class="internal">Arduino Lisp</a> -
Arduino Lisp is a compiler from a subset of Common Lisp to the subset of C++ used by the Arduino C++ compiler
</li>
<li>
<a href="arduino-experiments.html" class="internal">arduino-experiments</a> -
arduino-experiments is a library for interfacing to the Arduino <a href="embedded.html" class="category">embedded</a> computer via serial I/O from Lisp
</li>
<li>
<a href="cl-larval.html" class="internal">cl-larval</a> -
S-Exp syntax to write assembler for AVR microcontrollers
</li>
<li>
<a href="cluck.html" class="internal">cluck</a> -
<a href="http://git.kpe.io/?p=cluck.git;a=summary">Cluck</a> is a Common Lisp library written by <a href="Kevin&#32;Rosenberg.html" class="internal">Kevin Rosenberg</a> for assisting in configuring <a href="time.html" class="category">time</a>rs on microcontroller chips
</li>
<li>
<a href="common-db.html" class="internal">common-db</a> -
common-db is a programmable <a href="debugging.html" class="category">debugging</a> substrate, mostly geared to driving target devices by establishing control via on-chip debugging machinery through a JTAG (IEEE 1149.1) external port
</li>
<li>
<a href="uLisp.html" class="internal">uLisp</a> -
<a href="http://www.ulisp.com/">uLisp</a> is an <a href="embedded.html" class="category">embedded</a> <a href="Lisp.html" class="category">Lisp</a> for microcontrollers, supporting Arduino, Adafruit M0/M4, Micro:bit, ESP8266/32, and RISC-V boards
</li>
</ul></div></div>
<div id="footer" class="buttonbar"><ul><li><a href="system&#32;programming.html">Current version</a></li>
<li><a href="https://www.cliki.net/site/history?article=system%20programming">History</a></li>
<li><a href="https://www.cliki.net/site/backlinks?article=system%20programming">Backlinks</a></li><li><a href="https://www.cliki.net/site/edit-article?title=system%20programming&amp;from-revision=3808578053">Edit</a></li><li><a href="https://www.cliki.net/site/edit-article?create=t">Create</a></li></ul></div>
</div>
<div id="header-buttons" class="buttonbar">
<ul>
<li><a href="https://www.cliki.net/">Home</a></li>
<li><a href="https://www.cliki.net/site/recent-changes">Recent Changes</a></li>
<li><a href="CLiki.html">About</a></li>
<li><a href="Text&#32;Formatting.html">Text Formatting</a></li>
<li><a href="https://www.cliki.net/site/tools">Tools</a></li>
</ul>
<div id="search">
<form action="https://www.cliki.net/site/search">
<label for="search_query" class="hidden">Search CLiki</label>
<input type="text" name="query" id="search_query" value="" />
<input type="submit" value="search" />
</form>
</div>
</div>
<div id="pageheader">
<div id="header">
<span id="logo">CLiki</span>
<span id="slogan">the common lisp wiki</span>
<div id="login"><form method="post" action="https://www.cliki.net/site/login">
<label for="login_name" class="hidden">Account name</label>
<input type="text" name="name" id="login_name" class="login_input" />
<label for= "login_password" class="hidden">Password</label>
<input type="password" name="password" id="login_password" class="login_input" />
<input type="submit" name="login" value="login" id="login_submit" /><br />
<div id="register"><a href="https://www.cliki.net/site/register">register</a></div>
<input type="submit" name="reset-pw" value="reset password" id="reset_pw" />
</form>
</div>
</div>
</div>
</body></html>