Hallo Leute

Mein erster Post hier und gleich eine für mich sehr schwierige Aufgabenstellung

Der Hintergrund:
Ich schreibe ein Programm, welches von mehreren speziellen Daten abhängig ist. diese sollen systemweit verfügbar sein und deren Pfad ist in DATA_PATH fest definiert. Bei Programmstart springt das Programm daraufhin in das Homeverzeichnis und in ein spezielles config-directory (~/.program-config) um dort configs zu schreiben und weitere Daten zu lesen etc.

Das funktioniert auch alles wunderbar soweit. Sprich die systemweiten Daten werden über den absolut definierten DATA_PATH ausgelesen und die configs in ~/.program-config verarbeitet.
Mein Problem besteht nun darin, dass ich das Programm auch als Binary release zur Verfügung stellen möchte.
Dazu sollen die systemweiten Daten IMMER aus DEM Verzeichnis ausgelesen werden, in welchem sich die binary, also das Programm selbst befindet.
Also bräuchte ich irgendeine Funktion, die
DATA_PATH auf das Verzeichnis definiert, in welchem sich gerade die Binary befindet. Quasi die Ausgabe des Befehls "pwd", aber nun weiss ich nicht, ob sich das in C direkt realisieren lässt.

Jemand eine Idee?