|
Beschreibung
Mit der Funktion t_free() gibt der Benutzer Speicherplatz frei, den er zuvor mit der Funktion t_alloc() angelegt hat. t_free() gibt den Speicherplatz für das Objekt vom Typ struct_type frei, auf das der Zeiger ptr zeigt.
struct_type spezifiziert einen der sechs Strukturtypen, die bei t_alloc() beschrieben sind:
T_BIND ( für struct t_bind)
T_CALL (für struct t_call)
T_OPTMGMT (für struct t_optmgmt)
T_DIS (für struct t_discon)
T_UNITDATA (für struct t_unitdata)
T_UDERROR (für struct t_uderr)
T_INFO (für struct t_info)
Die Funktion t_free() überprüft im struct_type-Objekt *ptr die Komponenten ptr->addr, ptr->opt und ptr->udata vom Typ struct netbuf und gibt die Puffer frei, auf die die Komponenten buf der einzelnen netbuf-Strukturen zeigen. Wenn ein Zeiger buf der Null-Zeiger ist, versucht t_free() nicht, den zugehörigen Speicher freizugeben. Sobald alle buf-Puffer freigegeben sind, gibt t_free() die Struktur frei, auf die ptr zeigt.
t_free() führt zu undefinierten Ergebnissen, wenn ptr oder irgendein Zeiger buf auf einen Speicherbereich zeigt, der zuvor nicht mit t_alloc() angelegt worden ist.
Returnwert
0:
Bei Erfolg.
-1:
Bei Fehler. t_ errno wird gesetzt, um den Fehler anzuzeigen.
Fehler
TSYSERR
Während der Ausführung dieser Funktion ist ein Systemfehler aufgetreten.