Gerade bei der Verwendung von C-Funktionen ist es wichtig die Art des Aufrufes genau anzugeben.
Man unterscheidet zwischen "call .... by reference .... by value ...", wobei alle Aufrufe auch gemischt vorkommen können.
Das Beispiel der Funktion Socket() müsste daher so aussehen:

* Definition Binär-Felder (int)
77 Address-Family pic s9(9) comp-4.
77 Type pic s9(9) comp-4.
77 Protocoll pic s9(9) comp-4.
77 Socket-Num pic s9(9) comp-4.

call procedure "socket" by value Address-family Type Protocoll returning Socket-Num

Fehler stehen dann ja in "errno", die als externe Variable deklariert werden muss:
77 errno pic s9(9) comp-4 external.

Hier könnte jedoch die Groß/Kleinschreibung ggf. ein Problem werden.

Ein Beispiel für Socket-Programmierung habe ich nicht, aber vielleicht findest du ja was bei google.