XSub-Code ist durchaus als Klebstoffschicht zwischen Perl und externen Bibliotheken gedacht: Jede Bibliotheksfunktion, die ein C-Programm aufrufen könnte, kann natürlich auch von einer XSub aus aufgerufen werden, denn im wesentlichen sind die XSubs ja ebenfalls in C geschrieben.
Wenn neben einer Bibliothek auch Header für C vorliegen, muss man also nur diese im XSub-Code einbinden, das Buildsystem der Perlerweiterung anweisen, mit der Bibliothek zu linken und schon kann der XSub-Code die Bibliothek verwenden.
Wenn man keinen C-Header für die Bibliothek hat sondern tatsächlich nur eine API-Beschreibung, muss man anhand dieser Beschreibung eben selbst die Funktionsdeklarationen in den XSub-Code oder einen eigenen Header schreiben.
Ich persönlich finde, dass XSub-Code ziemlich hässlich und relativ umständlich zu schreiben ist und würde empfehlen zum Erstellen eines Bindings für eine externe C-Bibliothek entweder ein Werkzeug wie
SWIG zu nutzen oder
Inline::C zu verwenden.
When C++ is your hammer, every problem looks like your thumb.