Link()

Da Gambas-it.org - Wikipedia.

La funzione link(), dichiarata nel file header "/usr/include/unistd.h":

int link (const char *__from, const char *__to)

crea un nuovo collegamento ad un file conservando anche quello iniziale. Quindi sostanzialmente questa funzione copia un collegamento ad un file assegnandogli, a seconda dei casi, un nuovo nome e/o un nuovo percorso. Il collegamento precedente al file è conservato.
Il nuovo collegamento deve assumere diverso nome, se viene creato nel medesimo percorso di quello iniziale; e può assumere identico nome a quello iniziale, se viene creato in un percorso differente.


Volendola utilizzare in Gambas, bisognerà dichiararla con Extern, nonché dichiarare la libreria di C: libc.so.6, nella quale la funzione è contenuta:

Private Extern link(__form As String, __to As String) As Integer In "libc:6"

Semplice esempio di uso in Gambas:

Library "libc:6"
 
' int link (const char *__from, const char *__to)
' Make a link to FROM named TO.
Private Extern link(vecchiopercorso As String, nuovopercorso As String) As Integer


Public Sub Main()

 Dim i As Integer
 
  i = link("/percorso/del/vecchio/nome/del/file", "/percorso/del/nuovo/nome/del/file")
  If i = -1 Then Error.Raise("Impossibile creare un nuovo collegamento al file !")

End


Vedi anche la funzione esterna unlink() .