Welche Unit brauche ich?

Task-orientierter Wegweiser durch die Standardbibliothek. Ausgangspunkt ist immer die konkrete Aufgabe — nicht der Namespace. Jede Zeile verweist auf die präziseste Unit; Links direkt zur Detailseite.

Alle Units alphabetisch · Erste Schritte


Netzwerk & Kommunikation

Ich will … Unit
TCP-Verbindung aufbauen (Client) std.net.socket
TCP-Server bauen (wenige Verbindungen) std.net.socket
TCP-Server bauen (1 000+ gleichzeitige Verbindungen) std.net.epoll + std.net.socket
HTTP-Request (GET/POST) absetzen std.net.http
HTTPS-Request absetzen std.net.https
REST-API aufrufen (Base-URL, Auth, JSON) std.net.rest (RestClientInit + RestGet / RestJsonPost)
Bearer-Token für REST-Session setzen std.net.rest (RestClientSetBearerToken)
API-Key-Header für REST-Session setzen std.net.rest (RestClientSetApiKey)
Query-Parameter percent-kodiert anhängen std.net.rest (RestQueryAppend)
HTTP-Statuscode-Klasse prüfen (2xx / 4xx / 5xx) std.net.rest (RestIsSuccess / RestIsClientError / RestIsServerError)
TLS-Verbindung manuell aufbauen std.net.tls
Domain-Name auflösen (DNS) std.net.dns
E-Mail versenden (SMTP) std.net.smtp
E-Mails abrufen (IMAP) std.net.imap
SSH-Befehl remote ausführen std.net.ssh
IoT-Gerät via MQTT anbinden std.net.mqtt
Zeit per NTP synchronisieren std.net.ntp
IP-Adresse per DHCP beziehen (vollständiger Lease) std.net.dhcp (DhcpLease)
MAC-Adresse für eine IP auflösen (ARP-Cache lesen) std.net.arp (ArpResolve) — kein root, kein Raw-Socket
ARP-Request-Frame bauen (Layer-2-Broadcast) std.net.arp (ArpBuildRequest) — Senden erfordert Raw-Socket
ARP-Reply-Frame bauen (MAC mitteilen) std.net.arp (ArpBuildReply)
Empfangenen ARP-Frame parsen std.net.arp (ArpParse) — prüft EtherType 0x0806, hlen=6, plen=4
DHCPDISCOVER-Paket bauen und manuell senden std.net.dhcp (DhcpBuildDiscover)
DHCPREQUEST nach OFFER senden std.net.dhcp (DhcpRequest) — liest offeredIP und serverIP aus Result-Struct
DHCP-Server-Antwort (OFFER/ACK) parsen std.net.dhcp (DhcpParseReply) — setzt DHCP_RESULT_OK=1 bei OFFER oder ACK
WHOIS-Abfrage für Domain oder IP std.net.whois
LDAP / Active Directory abfragen std.net.ldap
Netzwerk-Gerät per SNMP auslesen std.net.snmp
VoIP / SIP-Signaling std.net.sip
UDP-Socket direkt verwenden std.net.socket
Ereignis-fd für Thread-Wakeup std.net.epoll (EventFdCreate)
Android-Netzwerk-Syscalls std.net.internal.syscalls_android

Datenbanken

Ich will … Unit
MySQL oder MariaDB abfragen std.db.mysql
PostgreSQL abfragen (ohne libpq) std.db.postgres
Embedded-DB / Single-File / Mobile std.db.sqlite
In-Memory-Datenbank (SQLite) std.db.sqlite (SQLiteOpen(„:memory:“))
Sessions oder Caching speichern std.db.redis
Pub/Sub zwischen Prozessen std.db.redis
Redis ohne std.string-Abhängigkeit std.db.redis_simple
JSON-Dokumente speichern std.net.mongo
PostgreSQL Connection Pooling std.db.postgres (PGPoolCreate)
Bulk-Import (tausende Rows schnell) std.db.postgres (COPY) · std.db.sqlite (Transaktion)

PDF erstellen

Ich will … Unit
Einfaches PDF mit Text und Linien std.pdf.builder + std.pdf.graphics
Schriftart auswählen (Helvetica, Times …) std.pdf.fonts
Umlaute / Unicode-Text einbetten std.pdf.ttfont (TrueType + Subsetting)
Rasterbilder einfügen (JPEG/PNG) std.pdf.image
Farbverlauf (linear oder radial) std.pdf.shading
PANTONE / Sonderfarbe verwenden std.pdf.spot
Grafik-Block mehrfach wiederverwenden std.pdf.xobject
Interaktives Formular erstellen std.pdf.forms
Formular-Felder einfrieren (flatten) std.pdf.forms (PdfFlattenForms)
Lesezeichen (Outline/Bookmarks) std.pdf.outline
Hyperlinks und Annotationen std.pdf.annot
Dokument-Metadaten (Titel, Autor) std.pdf.meta
XMP-Metadaten einbetten std.pdf.xmp
PDF/A (Langzeitarchivierung) std.pdf.pdfa + std.pdf.xmp
ZUGFeRD / Factur-X Rechnung std.pdf.pdfa (A-3b) + std.pdf.attach
Layer (ein-/ausblendbare Ebenen) std.pdf.layer
Seitenübergänge (Präsentation) std.pdf.transition
Vorhandenes PDF öffnen / analysieren std.pdf.reader

Dateisystem & I/O

Ich will … Unit
Datei öffnen, lesen, schreiben, schließen std.fs
Datei-Metadaten lesen (fstat, Größe) std.fs_ext
Scatter/Gather-I/O (readv/writev) std.fs_ext
Positional-I/O (pread/pwrite) std.fs_ext
Datei direkt zu Socket senden (sendfile) std.fs_ext
Verzeichnisinhalt auflisten (DirList) std.fs (DirList / DirEntryName / DirEntryTypeAt)
Verzeichnis rekursiv traversieren std.fs (DirWalk)
Dateien nach Wildcard suchen (*.log) std.fs (FileGlob)
Einmalige Temp-Datei anlegen std.fs (TmpFile())
Erweitertes Attribut (xattr) lesen/schreiben std.xattr
Freien Speicher eines Dateisystems abfragen std.xattr (StatFsFreeBytes)
Speicherplatz für Datei vorab reservieren std.xattr (FileAllocate)
Asynchrones I/O (viele gleichzeitige Ops) std.io_uring
Dateisystem-Änderungen überwachen std.inotify
Pipe zwischen Prozessen std.pipe
Dateideskriptor duplizieren (dup/dup2) std.pipe
Anonyme In-Memory-Datei (memfd) std.mmap_ext
Shared Memory (mmap + ftruncate) std.mmap_ext
Mapping wachsen lassen (mremap) std.mmap_ext
Seiten im RAM fixieren (mlock) std.mmap_ext
IPC Message Queues (POSIX mq) std.mqueue

Archiv & Kompression

Ich will … Unit
ZIP-Archiv lesen (stored + deflated) std.zip (ZipOpen, ZipRead)
ZIP-Archiv erstellen std.zip (ZipWriterNew, ZipWriterAdd, ZipWriterSave)
Einzelne Datei in ZIP suchen std.zip (ZipFind)
TAR-Archiv lesen (POSIX ustar) std.tar (TarOpen, TarRead)
TAR-Archiv erstellen std.tar (TarWriterNew, TarWriterAdd, TarWriterSave)
.tar.gz erzeugen std.tar + std.zlib (TarWriterSave → GzipCompress)
RAR5-Archiv lesen (nur stored) std.rar (RarOpen, RarRead)
RAR-Archiv erstellen nicht möglich — RARLAB-Lizenz nötig; stattdessen std.zip verwenden
ISO 9660-Image lesen (CD/DVD-Inhalt extrahieren) std.iso (IsoOpen, IsoRead)
ISO 9660-Image erstellen std.iso (IsoWriterNew, IsoWriterAdd, IsoWriterSave)
ISO 9660 vollständiger Guide ISO Guide
Rohe DEFLATE-Kompression / -Dekompression std.zlib
Brotli-Stream dekomprimieren (HTTP Content-Encoding: br) std.brotli (BrotliDecompress)
Brotli-Stream komprimieren (Store-Modus, gültig aber unkomprimiert) std.brotli (BrotliCompress)
Zstd-Stream (.zst, Kafka, Docker-Layer) dekomprimieren std.zstd (ZstdDecompress)
Zstd-Stream komprimieren (Store-Modus, gültig aber unkomprimiert) std.zstd (ZstdCompress)

Strings & Datenformate

Ich will … Unit
Strings suchen, ersetzen, trimmen std.string
String mit Platzhaltern formatieren (%s/%d/%x) std.string (StrFormat)
Regex-Matching und -Suche std.regex
JSON lesen oder schreiben std.json
XML parsen oder erzeugen std.xml
YAML-Konfiguration laden std.yaml
INI-Konfigurationsdatei einlesen std.ini
URL parsen (Schema, Host, Query) std.url
URL aus Teilen zusammenbauen std.url (URLBuild)
Query-Parameter lesen oder setzen std.url (URLQueryGet / URLQuerySet)
Relativen URL gegen Basis auflösen std.url (URLResolve)
Percent-Encoding / -Decoding (RFC 3986) std.url (URLPercentEncode / URLPercentDecode)
Base64 kodieren/dekodieren std.base64
HTML escapen / Tags entfernen std.html
Binär serialisieren (VarInt, Pack) std.pack
Struct-Feld auf exaktes Byte-Offset legen (Protokoll-Header) @at(N)
Mehrbyte-Feld als Big-Endian / Network Byte Order markieren @big_endian
Daten komprimieren (zlib/DEFLATE) std.zlib
Hex/Binär/Oktal-Konvertierung std.conv

Kryptografie & Sicherheit

Kryptographie-Guide: Vergleich aller Units, Empfehlungen, Entscheidungsguide

Ich will … Unit
Daten mit AES-128/256 verschlüsseln std.crypto.aes
MD5-Hash (Checksum / Protokoll) std.crypto.md5
SHA-1-Hash (Git-Objekte, MySQL-Auth) std.crypto.sha1
SHA-256-Hash (FIPS 180-4, one-shot) std.crypto.sha256
HMAC-SHA256 (Nachrichten-Authentifizierung) std.crypto.hmac
ECDSA-Signatur erzeugen / prüfen (secp256k1) std.crypto.ecc
Kryptografisch sichere Zufallsbytes std.crypto.rand (RandBytesExact)
Sicheren Zufalls-int64 erzeugen std.crypto.rand (RandInt64 — 0 bei Fehler; für sicherheitskritischen Code RandBytesExact bevorzugen)
Passwort sicher hashen (bcrypt/Argon2) std.hash
TLS/HTTPS-Verbindung aufbauen std.net.tls
Binary-Integrität zur Laufzeit prüfen std.meta_safe
UUID zufällig oder zeitbasiert erzeugen std.uuid
Symmetrisch authentifiziert verschlüsseln (Latin-Square, 128-Bit Quantensicherheit) std.crypto.pqc.dadqdadqFOEnc / dadqFODec (FO-Modus empfohlen)
DADQ-Schlüssel für PKE kapseln (Hybrid) std.crypto.pqc.dadq + std.crypto.pqc.mlkem: ML-KEM kapselt den 32-Byte master_seed
Post-Quantum-Schlüsselaustausch (ersetzt ECDH) std.crypto.pqc.pqcPQCKeyGen(PQC_ALG_MLKEM_768)
Post-Quantum-Schlüsselaustausch + klassisch (Signal/Apple-Schema) std.crypto.pqc.pqcPQCKeyGen(PQC_ALG_HYBRID_768)
Post-Quantum-Signatur (ersetzt ECDSA) std.crypto.pqc.pqcPQCKeyGen(PQC_ALG_MLDSA_65)
Post-Quantum-Signatur (nur SHA-256-Annahmen, kleiner PK) std.crypto.pqc.pqcPQCKeyGen(PQC_ALG_SLHDSA_128S)
PGP-ASCII-Armor (.asc) dekodieren std.pgp.armor (PgpArmorDecode)
PGP-ASCII-Armor erzeugen std.pgp.armor (PgpArmorEncode)
Armor-Typ erkennen (Public Key / Signature …) std.pgp.armor (PgpArmorType)
PGP-Pakete aus Binärdaten iterieren std.pgp.packet (PgpPacketFirst / PgpPacketNext)
Key-ID eines öffentlichen Schlüssels lesen std.pgp.key (PgpKeyId) — letzten 8 Bytes des Fingerprints
Fingerprint eines v4-Schlüssels berechnen std.pgp.key (PgpKeyFingerprint) — 20-Byte SHA-1
Algorithmus eines PGP-Schlüssels prüfen std.pgp.key (PgpKeyAlgo) — gibt PGP_ALG_* zurück
CRC-24 nach RFC 4880 berechnen std.pgp.core (PgpCrc24)

Prozesse, Threads & IPC

Ich will … Unit
Neuen Prozess starten (fork/exec) std.process
Shell-Befehl ausführen + Ausgabe lesen std.process (Shell)
POSIX-Threads anlegen std.thread
Mutex / Bedingungsvariablen std.thread
Signale abfangen (SIGTERM, SIGUSR1 …) std.signals
Signal als fd lesen (signalfd) std.signals
CPU-Affinität setzen (CPU-Pinning) std.sched
Nice-Wert / Prozess-Priorität ändern std.sched
UID/GID lesen, Root prüfen std.process_ext
Session / Prozessgruppe wechseln std.process_ext
Systeminformationen (/proc) auslesen std.systeminfo
IPC über POSIX Message Queues std.mqueue
IPC über Pipes std.pipe
SysV Shared Memory (shmget/shmat) std.ipc_sysv (ShmCreate / ShmAttach)
SysV Semaphore (P/V-Operationen) std.ipc_sysv (SemCreate / SemWait / SemPost)
SysV Message Queue std.ipc_sysv (MsgQueueCreate / MsgSend / MsgRecv)
Signal race-frei an Prozess senden (pidfd) std.ns (PidFdOpen / PidFdSendSignal)

System & Kernel

Ich will … Unit
Asynchrones I/O (io_uring, Kernel 5.1+) std.io_uring
SysV IPC (Shared Memory, Semaphore, Queues) std.ipc_sysv
eBPF-Programm laden und Maps verwalten std.bpf (braucht CAP_BPF oder CAP_SYS_ADMIN)
Prozess per ptrace debuggen / tracen std.debug (PtraceAttach / PtraceGetRegs)
Hardware-Performance-Counter auslesen std.debug (PerfEventOpen / PerfCount)
Linux-Namespaces wechseln / trennen std.ns (NamespaceUnshare / NamespaceJoin)
Process-Capabilities lesen / abgeben std.security_ext (CapGet / CapDrop)
PR_SET_NO_NEW_PRIVS setzen (irreversibel) std.security_ext (ProcessSetNoNewPrivs)
Prozessname setzen (prctl PR_SET_NAME) std.security_ext (ProcessSetName)
Dateisystem mounten / unmounten std.sysadmin (Mount / Umount)
Root-Verzeichnis wechseln (chroot) std.sysadmin (Chroot)
Hostnamen setzen std.sysadmin (SetHostname)
System-Reboot / Poweroff auslösen std.sysadmin (Reboot)

Ausgabe & Benutzeroberflächen

Ich will … Unit
Text und Zahlen ausgeben std.io
Terminal mit ANSI-Farben und Cursor std.crt
Einzelne Zeichen non-blocking lesen std.crt_raw
Vollständige TUI (Fenster, Dialoge, Menüs) LyxVision
LyxVision vollständiger Guide LyxVision-Guide
Desktop-GUI-Fenster mit Qt5 std.qt5_app
OpenGL in Qt5-Fenster std.qt5_gl
Strukturiertes Logging (5 Level) std.log
JSON-Logzeile mit Key-Value (log_info_kv) std.log (log_info_kv)
SVG-Grafik programmatisch erzeugen std.svg
SVG vollständiger Guide SVG-Guide

Mathematik & Algorithmen

Ich will … Unit
sin, cos, sqrt, pow, floor, round … std.math
Arcustangens (atan / atan2) std.math (AtanF64 / Atan2F64)
Arcussinus / Arcuskosinus std.math (AsinF64 / AcosF64)
Binärer Logarithmus (log₂) std.math (Log2F64)
Geometrische 2D-Vektoren (Vec2) std.vector
Array sortieren std.sort
Statistik (Mittelwert, Median, StdDev) std.stats
GPS-Distanz / Haversine std.geo
Farben (RGBA, HSL, Blend) std.color
Lineare Regression, KNN, K-Means std.ml
Wort-Embeddings (FastText) std.fasttext

CPU & SIMD

Ich will … Unit
CPU-Fähigkeiten erkennen (SSE2, SSE4.1, AVX2) std.cpu.features (CpuHasSSE2, CpuHasAVX2)
Besten SIMD-Pfad zur Laufzeit wählen std.cpu.dispatch (CpuDispatchLevel)
16-Byte-ausgerichtetes f32-Array anlegen std.cpu.dispatch (SimdAlloc)
Elementweise f32-Addition auf Arrays std.cpu.dispatch (SimdAdd)
Elementweise f32-Multiplikation auf Arrays std.cpu.dispatch (SimdMul)
Einzelnes Element eines SIMD-Arrays lesen std.cpu.dispatch (SimdGet)
SIMD-Array-Länge abfragen std.cpu.dispatch (SimdLen)
GPU-Berechnungen (CUDA/Vulkan/OpenCL) std.gpu.*noch nicht implementiert (geplant WP-GPU-07–09)

Validierung

Ich will … Unit
IBAN validieren std.validate.iban
Kreditkartennummer prüfen (Luhn) std.validate.luhn
EAN-8/13-Barcode prüfen std.validate.ean
ISBN-10/13 prüfen std.validate.isbn
EU-Umsatzsteuer-ID prüfen std.validate.vat
VIN / Fahrzeugidentifikationsnummer std.validate.vin
ISIN (Wertpapierkennung) std.validate.isin
Deutsche Steuer-ID / RVNR std.validate.de_personal
Alle Validierungen → Übersicht std.validate
Validierung vollständiger Guide Validierungs-Guide

Bildverarbeitung

Ich will … Unit
Bild aus Datei laden (Format automatisch erkennen) std.image.image (ImageDecode)
Bild aus Speicher-Puffer laden (HTTP, ZIP) std.image.image (ImageDecodeFromMem)
Nur JPEG laden (minimale Abhängigkeiten) std.image.core + std.image.jpeg (JpegDecode)
Nur PNG laden std.image.core + std.image.png (PngDecode)
Format per Magic-Bytes prüfen std.image.core (GrfDetectFormat)
Bildgröße (Breite/Höhe) lesen std.image.image (ImageGetWidth, ImageGetHeight)
Pixel an (x,y) lesen std.image.image (ImagePixelAt) — gibt 0xRRGGBBAA
Pixel setzen / Bild programmatisch erzeugen std.image.core (GrfImageAlloc, GrfImageSetPixel)
Alle Pixel mit einer Farbe füllen std.image.core (GrfImageClear)
MJPEG-Frame aus AVI-Datei extrahieren std.video.avi (AviExtractMjpegFrame) + std.image.core
RGBA→BGRA konvertieren (für Vega-Compositor) Manuell per peek8/poke8 (Workflow 7 im Image-Guide)
Bild in PDF einbetten std.pdf.image
Vollständiger Guide Bildverarbeitung-Guide

Audio & Hardware

Ich will … Unit
WAV-Datei laden oder schreiben std.audio
WAV-Datei abspielen (einfach) std.audio.playback
PCM direkt per ALSA ausgeben std.audio.alsa
MP3 dekodieren std.audio.mpg123
Bluetooth vollständiger Guide Bluetooth-Guide
Bluetooth BLE-Gerät als GATT-Client std.hardware.bluetooth_gattc
Eigenen BLE-Service anbieten (GATT-Server) std.hardware.bluetooth_gatts (GattServerRegister)
Classic Bluetooth (RFCOMM, seriell) std.hardware.bluetooth_rfcomm (RFCommConnect / RFCommSend)
Bluetooth-Gerät discovern, pairen, verbinden (BlueZ) std.hardware.bluetooth_dbus (BlueZStartDiscovery / BlueZConnectDevice)
BLE-Geräte in der Umgebung scannen std.hardware.bluetooth_ext (BleScannerStart / BleScannerReadNext)
BLE-Advertising (als Peripheral senden) std.hardware.bluetooth_ext (BleAdvertisementRegister)
GATT-Characteristics typsicher verwenden std.hardware.bluetooth_ai (MakeReadableChar / MakeNotifiableChar)
USB vollständiger Guide USB-Guide
USB-Gerät nach VID/PID finden und öffnen std.hardware.usb_discovery (UsbFindDevice)
USB Descriptor-Baum lesen (Config/Interface/Endpoint) std.hardware.usb_parse (UsbAllocDevice / UsbParseConfiguration)
USB Device Descriptor lesen (VID/PID, Class) std.hardware.usb_control (UsbGetDeviceDescriptor)
Interface für exklusiven Zugriff beanspruchen std.hardware.usb_control (UsbClaimInterface)
Bulk-Daten an USB-Gerät senden std.hardware.usb_bulk (UsbBulkWrite)
Bulk-Daten von USB-Gerät empfangen std.hardware.usb_bulk (UsbBulkRead)
Interrupt-Transfer asynchron lesen (HID, Gamepad) std.hardware.usb_interrupt (UsbSubmitInterruptRead / UsbWaitForUrb)
Kontinuierlichen HID-Stream mit URB-Pool lesen std.hardware.usb_urb_pool (UsbUrbPoolInit / UsbUrbPoolPoll)
Audio/Video per Isochronous Transfer streamen std.hardware.usb_iso (UsbSubmitIsoRead / UsbReapIsoUrb)
Endpoint-Richtung typsicher absichern std.hardware.usb_endpoint_types (UsbMakeBulkOut / UsbMakeBulkIn)
Endpoint-Adresse einmalig binden und per Key nutzen std.hardware.usb_endpoint_bind (UsbDefOutEndpoint / UsbEpWrite)
Interface-Claim idempotent verwalten std.hardware.usb_ifc_mgr (UsbIfcAcquire / UsbIfcRelease)
Übersicht aller USB-Units std.hardware.usb
GPIO vollständiger Guide GPIO-Guide
GPIO-Pin als Ausgang schalten (LED, Relais) std.hardware.gpio_mmio (GpioWritePin) oder std.hardware.gpio_pin (GpioOutputPinWrite)
GPIO-Pin als Eingang lesen (Taster, Sensor) std.hardware.gpio_pin (GpioInputPinRead)
LED dimmen / Software-PWM erzeugen std.hardware.gpio_ext (GpioSoftPWM)
Auf Flanke warten (Tasterklick, Interrupt) std.hardware.gpio_ext (GpioWaitForEdge)
Pull-Up / Pull-Down konfigurieren std.hardware.gpio_mmio (GpioSetPullMode)
Pin auf Alt-Funktion setzen (SPI, I2C, UART) std.hardware.gpio_ext (GpioSetAltMode)
Mehrere Pins atomar setzen (ioctl) std.hardware.gpio_ioctl (GpioSetLineValues mit mask-Bitmap)
GPIO-Chip-Info abfragen (Lines, Name) std.hardware.gpio_ioctl (GpioGetChipInfo)
Präzise Mikrosekunden-Wartezeit std.hardware.gpio_util (GpioDelayMicroseconds)
BCM2711 Register-Offsets nachschlagen std.hardware.rpi4 (nur Konstanten)
Übersicht aller GPIO-Units std.hardware.gpio

Android

Ich will … Unit
JNI-Typen (JNIEnv, jobject …) std.android.jni
Logcat-Ausgabe std.android.log
OpenGL ES 2.0 std.android.gles2
APK zusammenbauen std.android.apk_builder
Sensoren (Beschleunigung, Gyroskop) std.android.sensor
Netzwerk-Syscalls auf Android std.net.internal.syscalls_android
Android vollständiger Guide Android-Guide
Übersicht aller Android-Units std.android

Cloud — AWS & DigitalOcean

Ich will … Unit
S3-Datei hochladen / herunterladen std.cloud.s3
Große Datei (> 100 MB) nach S3 hochladen std.cloud.s3 (S3PutObjectMultipart)
S3-Objekte paginiert auflisten std.cloud.s3 (S3ListAll / S3ListObjectsNext)
S3-Teilbereich herunterladen (Range) std.cloud.s3 (S3GetObjectRange)
S3-Presigned GET-URL (Download-Link) std.cloud.s3 (S3PresignGet)
S3-Presigned PUT-URL (Client-Upload ohne Credentials) std.cloud.s3 (S3PresignPut)
Cloudflare R2 via S3-API std.cloud.s3 (S3ConnectR2)
MinIO (Self-Hosted S3) std.cloud.s3 (S3ConnectMinio)
EC2-Instanz starten / stoppen std.cloud.ec2
DynamoDB-Item lesen / schreiben std.cloud.dynamodb
Lambda-Funktion aufrufen std.cloud.lambda (LambdaInvoke)
SQS-Nachricht senden / empfangen std.cloud.sqs
SNS-Topic-Nachricht / SMS versenden std.cloud.sns
CloudWatch-Metriken schreiben std.cloud.cloudwatch (CWPutMetricData)
AWS-Secret auslesen std.cloud.secrets (SecretsGetString)
SSM-Parameter lesen std.cloud.secrets (SSMGetParameterValue)
IAM-Rolle annehmen (STS AssumeRole) std.cloud.iam (STSAssumeRole)
AWS-Credentials aus Umgebung / Datei laden std.cloud.aws.core (AWSCredentialsDefault)
DigitalOcean Droplet erstellen std.cloud.do.droplets (DropletCreateSimple)
DO Block-Storage Volume anhängen std.cloud.do.volumes (VolumeAttach)
DO Spaces (S3-kompatibler Speicher) nutzen std.cloud.do.spaces
DO Managed Database anlegen std.cloud.do.databases (DatabaseCreate)
DO Kubernetes-Cluster anlegen / Kubeconfig std.cloud.do.kubernetes (K8sClusterCreate, K8sKubeconfig)
DO App Platform deployen std.cloud.do.apps (AppCreateFromSpec)
DO Serverless Function aufrufen std.cloud.do.functions (FunctionInvoke)
DO DNS-Record anlegen / aktualisieren std.cloud.do.networking (DomainRecordCreate)
DO Load Balancer erstellen std.cloud.do.networking (LBCreate)
DO Container Registry nutzen std.cloud.do.registry
DO-Credentials aus Umgebung laden std.cloud.do.credentials (DOCredentialsFromEnv)
Cloud-Übersicht (AWS + DO) std.cloud
S3 vollständiger Guide (Upload, Multipart, Presigned, Listing) S3-Guide
Cloud vollständiger Guide Cloud-Guide
Cloudflare DNS-Record setzen std.cloud.cf.dns (DNSRecordUpsert)
Cloudflare Worker deployen std.cloud.cf.workers (WorkerDeploy)
Cloudflare KV-Store lesen / schreiben std.cloud.cf.kv (KVGet / KVPutWithTTL)
R2-Objekt hochladen (Cloudflare) std.cloud.cf.r2 (R2Upload)
D1-SQLite-Datenbank abfragen (Cloudflare) std.cloud.cf.d1 (D1Query)
Zone-Cache leeren (Cloudflare) std.cloud.cf.cache (CachePurgeAll)
IP-Adresse sperren / WAF-Regel (Cloudflare) std.cloud.cf.waf (FirewallBlockIP)
Cloudflare Pages deployen std.cloud.cf.pages (PagesDeployDir)
Tunnel ohne offenen Port (Cloudflare) std.cloud.cf.tunnel (TunnelCreate)
Cloudflare-Credentials laden std.cloud.cf.credentials (CFCredentialsFromEnv)
Cloudflare-Übersicht (alle CF-Units) std.cloud.cf

Cloud — Google Cloud Platform (GCP)

Ich will … Unit
GCS-Datei hochladen std.cloud.gcp.storage (GCSUpload)
GCS-Datei herunterladen std.cloud.gcp.storage (GCSDownload)
GCS-Bucket anlegen std.cloud.gcp.storage (GCSBucketCreate)
GCS-Objekte auflisten std.cloud.gcp.storage (GCSList)
GCE-VM anlegen / starten / stoppen std.cloud.gcp.compute (GCEInstanceCreate / GCEInstanceStart)
Auf asynchrone GCE-Operation warten std.cloud.gcp.compute (GCEOperationWait)
Firestore-Dokument schreiben / lesen std.cloud.gcp.firestore (FSCreate / FSGet)
Firestore-Collection auflisten std.cloud.gcp.firestore (FSList)
Pub/Sub-Nachricht publishen std.cloud.gcp.pubsub (PubSubPublish)
Pub/Sub-Nachrichten abrufen und bestätigen std.cloud.gcp.pubsub (PubSubPull / PubSubAck)
Cloud Function deployen std.cloud.gcp.functions (GCFDeploy)
Cloud Function aufrufen std.cloud.gcp.functions (GCFInvoke)
Cloud Run Services auflisten std.cloud.gcp.functions (GCRServiceList)
Log-Eintrag in Cloud Logging schreiben std.cloud.gcp.logging (LogWrite / LogWriteJSON)
Custom Metric in Cloud Monitoring schreiben std.cloud.gcp.logging (MonWriteMetric)
GCP-Secret auslesen std.cloud.gcp.secrets (SecretGet)
GCP-Secret anlegen std.cloud.gcp.secrets (SecretCreate)
IAM Service Account anlegen std.cloud.gcp.secrets (IAMCreateServiceAccount)
GCP-Credentials aus Service-Account-JSON laden std.cloud.gcp.credentials (GCPCredentialsFromFile)
GCP Application Default Credentials laden std.cloud.gcp.credentials (GCPCredentialsDefault)
GCP-Übersicht (alle GCP-Units) std.cloud.gcp

Blockchain

Ich will … Unit
Eine neue Transaktion erstellen und signieren std.blockchain (BLNewTransaction, BLSignTransaction)
Eine Transaktion verifizieren std.blockchain (BLVerifyTransaction)
Eine Coinbase-Transaktion erstellen (Mining-Belohnung) std.blockchain (BLNewCoinbaseTx)
Einen neuen Block erstellen std.blockchain (BLNewBlock, BLCalculateHash, BLMeetsTarget)
Einen Block minen (PoW) std.blockchain (BLMinePendingTransactions)
TX zum Mempool hinzufügen std.blockchain (BLAddTransaction)
Kontostand einer Adresse abfragen std.blockchain (BLBlockchainGetBalance)
Ledger-Zustand direkt lesen std.blockchain (BLGetBalance, BLGetNonce)
Gesamte Kette auf Gültigkeit prüfen std.blockchain (BLIsValidChain)
Merkle-Root berechnen std.blockchain (BLMerkleRoot)
Big-Endian-Serialisierung für Blockchain-Daten std.blockchain (BLSerializeInt32, BLSerializeInt64)
P2P-Knoten starten und Peers verbinden std.blockchain.p2p (BLP2PNodeNew, BLP2PNodeStart, BLP2PConnectPeer)
Transaktion an alle Peers broadcasten std.blockchain.p2p (BLP2PBroadcastTx)
Block an alle Peers broadcasten std.blockchain.p2p (BLP2PBroadcastBlock)
Eingehende P2P-Nachricht verarbeiten std.blockchain.p2p (BLP2PHandleIncoming)
Neue Peer-Verbindung akzeptieren std.blockchain.p2p (BLP2PPoll)
Blockchain-Übersicht (alle Units) std.blockchain
Blockchain-Guide (Workflows, P2P, Speicherverwaltung) Blockchain-Guide

KassenSichV / TSE

Ich will … Unit
Kassenbon TSE-signieren (einfach, einstufig) kassensichv.manager (TseProcessBeleg)
Tischbewirtung / mehrstufigen Vorgang signieren kassensichv.manager (TseOpenBelegTseCloseBeleg)
QR-Code-String nach BSI TR-03153 erzeugen automatisch durch TseProcessBeleg / TseCloseBeleg in SigErgebnis.qrCode
BelegDaten-Typ und Prozesstyp-Konstanten kassensichv.types
TSE-Anbindung ohne Hardware testen (CI/CD) kassensichv.mock (TseMockNew, Fehlersimulation)
Cloud-TSE anschließen (Fiskaly, Deutsche Fiskal) kassensichv.rest (TseRestNew, JSON-Config)
USB-TSE anschließen (Swissbit, Epson) kassensichv.file (TseFileNew, base_path)
DSFinV-K-Export für Finanzamt-Prüfung kassensichv.manager (TseExportAuditData)
TSE-Fehler behandeln, offene Transaktionen erkennen kassensichv.exceptions
KassenSichV-Übersicht (alle Units) kassensichv
KassenSichV-Guide (Workflows, Checkliste, Entscheidungsguide) KassenSichV-Guide

EDI / EDIFACT

Ich will … Unit
EDIFACT-Nachricht parsen (UNA/UNB, Segmente, Elemente) std.edi.core (EdiSegmentNext, EdiElementSplit)
Quittung / Fehlermeldung senden (CONTRL, APERAK) std.edi.messages (EdiContrlOk / EdiContrlErr / EdiAperakWrite)
Allgemeine Textnachricht per EDI senden (GENRAL) std.edi.messages (EdiGenralWrite) — BODY muss nach Lesen freigegeben werden
Partner-Registry für AS2/SFTP verwalten std.edi.partner (EdiPartnerWrite / EdiPartnerFind)
Prüfen ob Partner Nachrichtentyp unterstützt std.edi.partner (EdiPartnerSupports)
Preisanfrage (RFQ) senden und Angebot lesen std.edi.rfq (EdiReqoteWrite / EdiQuotesRead)
Bestellung erstellen (ORDERS) std.edi.orders (EdiOrdersWrite)
Auftragsbestätigung lesen (ORDRSP) std.edi.orders (EdiOrdrspRead) — abgelehnte Positionen via STATUS=7
Bestelländerung senden (ORDCHG) std.edi.orders (EdiOrdchgWrite)
Bestellsumme validieren (Rundungstoleranzdiff ≤ 1 Cent) std.edi.orders (EdiOrdersValidate)
Rechnung erstellen (INVOIC) std.edi.invoice (EdiInvoicWrite) — Summen werden automatisch aus Positionen berechnet
Rechnung validieren (Netto-/Bruttodifferenz) std.edi.invoice (EdiInvoicValidate)
Rechnungsdisput melden (COMDIS) std.edi.invoice (EdiComdisWrite)
Saldenabstimmung (COACSU) std.edi.invoice (EdiCoacsuWrite)
Preiskatalog senden (PRICAT) std.edi.catalog (EdiPricatWrite)
GTIN (EAN) per GS1 Mod-10 prüfen std.edi.catalog (EdiGtinCheck) — Längen 8/12/13/14
GLN (Firmen-Standortnummer) prüfen std.edi.catalog (EdiGlnCheck) — 13-stellig Mod-10
Lieferschein mit SSCC-Hierarchie senden (DESADV) std.edi.shipping (EdiDesadvWrite) — Palette→Karton→Artikel
Wareneingangsmeldung senden (RECADV) std.edi.shipping (EdiRecadvWrite)
SSCC-18-Prüfziffer validieren oder generieren std.edi.shipping (EdiSsccCheck / EdiSsccGenerate)
Zahlungsavis senden (REMADV) std.edi.payment (EdiRemadvWrite)
Lastschriftmandat senden (DIRDEB) std.edi.payment (EdiDirdebWrite) — Mandatsreferenz Pflicht
Akkreditiv (DOCAPP) erstellen std.edi.payment (EdiDocappWrite)
IBAN validieren (MOD-97) std.edi.payment (EdiIbanCheck)
BIC validieren (8 oder 11 Zeichen) std.edi.payment (EdiBicCheck)
Sammel-Zahlungsauftrag (PAYMUL) mit Summenprüfung std.edi.payment (EdiPaymulWrite + EdiPaymulValidate)
Lagerbestandsmeldung senden (INVRPT) std.edi.inventory (EdiInvrptWrite)
Wöchentlichen Absatzbericht senden (SLSRPT) std.edi.inventory (EdiSlsrptWrite)
Absatzprognose mit Konfidenz senden (SLSFCT) std.edi.inventory (EdiSlsfctWrite) — CONFIDENCE 0–100
Rollierenden Lieferabruf senden (DELFOR) std.edi.delfor (EdiDelforWrite) — bis 52 Wochen, Fest-/Planbedarfe
JIT-Abruf minutengenau senden (DELJIT) std.edi.delfor (EdiDeljitWrite) — Format CCYYMMDDHHMM
Kumulative Abrufmenge prüfen std.edi.delfor (EdiDelforCheckCumu)
Zollanmeldung senden (CUSDEC) std.edi.customs (EdiCusdecWrite)
Zollantwort lesen (CUSRSP) std.edi.customs (EdiCusrspRead) — Statuscodes 1=akzeptiert, 4=freigegeben
Stauplan für Container-Schiff senden (BAPLIE) std.edi.seafreight (EdiBaplieWrite)
VGM-Gewicht (SOLAS-Pflicht) senden (VERMAS) std.edi.seafreight (EdiVermasWrite)
Container Gate-In/-Out melden (CODECO) std.edi.seafreight (EdiCodecoWrite)
ISO-6346-Container-ID validieren std.edi.seafreight (EdiContainerCheck)
Transportauftrag mit mehreren Legs (IFTMIN) std.edi.transport (EdiIftminWrite) — ein Leg pro Transportmodus
Sendungsstatus abfragen / senden (IFTSTA) std.edi.transport (EdiIftstaWrite / EdiIftstaRead)
Gefahrgutmeldung erstellen (IFTDGN) std.edi.transport (EdiIftdgnWrite)
UN-Gefahrgut-Nummer validieren std.edi.transport (EdiUnNumberCheck) — genau 4 Stellen
EDI-Übersicht (alle 14 Units) std.edi
EDI vollständiger Guide (Konzepte, Workflows, Fehlerbehandlung) EDI/EDIFACT-Guide

HL7 v2 / Gesundheitswesen

Ich will … Unit
MLLP-Frame aus TCP-Puffer extrahieren std.hl7.core (MllpFrameRead)
HL7-Nachricht in MLLP-Frame einpacken std.hl7.core (MllpFrameWrite)
MSH-Header parsen (Sender/Empfänger/Typ/ID) std.hl7.core (Hl7MshParse)
ACKAA / ACKAE / ACKAR erzeugen std.hl7.core (Hl7AckWrite) — Sender/Empfänger werden aus MSH getauscht
Doppelte Nachrichten erkennen (Duplikat-ID) std.hl7.core (Hl7DupCheck) — FNV1a-Ring, 16 Partner × 64 Einträge
HL7-Version prüfen (2.3.1 – 2.7) std.hl7.core (Hl7VersionCheck)
Testnachricht erkennen (MSH-11 = T) std.hl7.core (Hl7IsTestMsg) — Testnachrichten nicht in Produktions-DB schreiben
UTF-8-Nachricht erkennen (MSH-18 UNICODE) std.hl7.core (Hl7IsUtf8) — Standard ist ISO-8859-1
Patientenaufnahme/-entlassung/-verlegung verarbeiten (ADTA01/A02/A03) std.hl7.adt (Hl7AdtParse)
Patienten-ID aus PID-3 (inkl. Wiederholungen) lesen std.hl7.adt (Hl7PidParse) — bis 3 IDs via PID-3 Repeats
Stationszuweisung auslesen (Punkt/Zimmer/Bett) std.hl7.adt (Hl7Pv1Parse) → HL7_PV1_LPOINT, HL7_PV1_LROOM, HL7_PV1_LBED
Patientenzusammenführung erkennen und verarbeiten (A34–A45) std.hl7.adt (Hl7AdtIsMerge / HL7_ADT_ISMERGE) → MRG enthält alte ID
Nächste Angehörige auslesen (NK1) std.hl7.adt (Hl7Nk1Parse)
ADT-Nachricht erzeugen (z. B. Update A08) std.hl7.adt (Hl7AdtWrite) — schreibt MSH+PID+PV1+[MRG]
Allgemeinen Laborauftrag verarbeiten (ORMO01) std.hl7.orders (Hl7OrmParse)
Spezifischen Laborauftrag verarbeiten (OMLO21) std.hl7.orders (Hl7OmlParse)
STAT-Auftrag erkennen (Sofortpriorität) std.hl7.ordersHL7_ORD_ISSTAT wird automatisch gesetzt wenn OBR-5='S'
Auftragsquittung senden (ORRO02 / ORLO22) std.hl7.orders (Hl7OrrWrite) — Typ hängt von MSGTYPE (ORM vs. OML) ab
Medikamentengabe dokumentieren (RASO17) std.hl7.orders (Hl7RasParse) → Hl7RxAdmin-Struct (Wirkstoff, Dosis, Einheit, Route)
Auftrag erzeugen und versenden std.hl7.orders (Hl7OrmWrite / Hl7OmlWrite)
Laborbefund verarbeiten (ORUR01) std.hl7.results (Hl7OruParse)
Probenorientierten Befund verarbeiten (OULR22) std.hl7.results (Hl7OulParse)
Einzelne OBX-Beobachtung parsen (Messwert, Einheit, Referenzbereich) std.hl7.results (Hl7ObxParse)
Panikwert erkennen (HH / LL / AA / CC) std.hl7.resultsHL7_OBX_ISCRIT automatisch gesetzt
Korrigierten Befund erkennen (OBX-11 = C oder W) std.hl7.resultsHL7_OBX_ISCORR automatisch gesetzt
NTE-Kommentar zum Befund lesen std.hl7.results (Hl7NteParse)
Befundnachricht erzeugen (ORUR01) std.hl7.results (Hl7OruWrite) — schreibt MSH+OBR+OBX
HL7-Übersicht (alle 4 Units) std.hl7

Tipps zur Unit-Auswahl

  • Immer die spezifischste Unit wählen: std.net.https statt std.net.tls + std.net.http manuell kombinieren — es sei denn, man braucht Kontrolle über den TLS-Handshake.
  • Für PDF/A: Die Reihenfolge ist wichtig: PdfSetConformancePdfGenerateXMPPdfSave.
  • Für PostgreSQL vs. SQLite: PostgreSQL wenn mehrere Prozesse gleichzeitig schreiben; SQLite wenn Single-Writer oder Embedded genügt.
  • epoll vs. poll/select: std.net.epoll für > 100 gleichzeitige Verbindungen; std.net.socket (Poll) für kleinere Server.
  • std.db.redis vs. std.db.redis_simple: redis_simple hat keine Abhängigkeit auf std.string — nützlich für extrem kleine Binaries oder Embedded-Targets.

Letzte Aktualisierung: 2026-06-16 (HL7 v2 ergänzt)