std.xattr

import std.xattr;

Drei Themenblöcke:

  • xattr: Erweiterte Dateiattribute — beliebige Name-Wert-Paare an Dateien/Verzeichnissen speichern
  • statfs: Dateisystem-Statistiken (Gesamtgröße, freier Speicher, Blockgröße)
  • fallocate: Speicherplatz-Vorabzuweisung und Hole-Punching

Syscalls: setxattr(188), getxattr(191), listxattr(194), removexattr(197), fsetxattr(190), fgetxattr(193), flistxattr(196), fremovexattr(199), fallocate(285), statfs(137).

std.fs · std.sysadmin


Funktionen

Signatur Sichtbarkeit Beschreibung
XattrSet(path: pchar, name: pchar, val: int64, size: int64, flags: int64): int64 pub val: Zeiger auf den Wert size: Groesse des Werts in Bytes flags: 0 (anlegen oder ersetzen), XATTR_CREATE, XATTR_REPLACE
XattrGet(path: pchar, name: pchar, buf: int64, size: int64): int64 pub buf: Empfangspuffer; 0 um nur die benoetigte Groesse abzufragen size: Groesse von buf; 0 liefert die benoetigte Groesse zurueck Gibt Anzahl gelesener Bytes zur
XattrList(path: pchar, buf: int64, size: int64): int64 pub buf: Empfangspuffer fuer null-separierte Namen; 0 = Groesse abfragen size: Groesse von buf Gibt Gesamtgroesse der Namen-Liste zurueck.
XattrRemove(path: pchar, name: pchar): int64 pub XattrRemove: loescht ein erweitertes Attribut eines Pfads.
FXattrSet(fd: int64, name: pchar, val: int64, size: int64, flags: int64): int64 pub xattr – fd-basiert FXattrSet: setzt ein erweitertes Attribut ueber einen Dateideskriptor.
FXattrGet(fd: int64, name: pchar, buf: int64, size: int64): int64 pub FXattrGet: liest ein erweitertes Attribut ueber einen Dateideskriptor.
FXattrList(fd: int64, buf: int64, size: int64): int64 pub FXattrList: listet alle Attributnamen ueber einen Dateideskriptor auf.
FXattrRemove(fd: int64, name: pchar): int64 pub FXattrRemove: loescht ein erweitertes Attribut ueber einen Dateideskriptor.
StatFs(path: pchar, buf: int64): int64 pub StatFs: liest Dateisystem-Statistiken fuer den Pfad. buf: Puffer der Groesse STATFS_SIZE (alloc(STATFS_SIZE)) Gibt 0 bei Erfolg oder negativen Fehlercode zuruec
StatFsBlockSize(buf: int64): int64 pub StatFsBlockSize: Blockgroesse in Bytes.
StatFsTotalBlocks(buf: int64): int64 pub StatFsTotalBlocks: Gesamtanzahl Datenbloecke.
StatFsFreeBlocks(buf: int64): int64 pub StatFsFreeBlocks: fuer nicht-root verfuegbare freie Bloecke.
StatFsTotalBytes(buf: int64): int64 pub StatFsTotalBytes: Gesamtkapazitaet in Bytes (Bloecke * Blockgroesse).
StatFsFreeBytes(buf: int64): int64 pub StatFsFreeBytes: verfuegbarer Speicher in Bytes fuer nicht-root.
FileAllocate(fd: int64, offset: int64, size: int64): int64 pub offset: Startoffset in Bytes size: Anzahl zu reservierender Bytes Gibt 0 bei Erfolg oder negativen Fehlercode zurueck.
FileAllocateMode(fd: int64, mode: int64, offset: int64, size: int64): int64 pub FileAllocateMode: wie FileAllocate aber mit explizitem Modus-Flag.

Signaturen automatisch aus std/xattr.lyx erzeugt (Stand 2026-08-02, lyxc 1.0.21A). Beschreibungen stammen aus den Quellkommentaren und sind teilweise unvollständig.