Pascal / BaseUnix / fpReadLink
FpAccess, FpAlarm, FpChdir, FpChmod, FpChown, FpClose, FpClosedir, FpDup, FpDup2, FpExecv, FpExecve, FpExit, FpFcntl, pfdfillset, fpFD_CLR, fpFD_ISSET, fpFD_SET, fpFD_ZERO, FpFork, FPFStat, FpFtruncate, FpGetcwd, FpGetegid, FpGetEnv, fpgeterrno, FpGeteuid, FpGetgid, FpGetgroups, FpGetpgrp, FpGetpid, FpGetppid, fpGetPriority, FpGetuid, FpIOCtl, FpKill, FpLink, FpLseek, fpLstat, FpMkdir, FpMkfifo, Fpmmap, Fpmunmap, FpNanoSleep, fpNice, FpOpen, FpOpendir, FpPause, FpPipe, FpRead, FpReaddir, » fpReadLink, FpRename, FpRmdir, fpSelect, fpseterrno, FpSetgid, fpSetPriority, FpSetsid, fpsettimeofday, FpSetuid,
Funcion: fpReadLink()
Sintaxis:
Descripcion: Retorna el nombre del link simbolico del archivo al que esta apuntando. La primera forma de esta funcion acepta un buffer linkname de el tamaño maxlen donde el nombre de archivo será almacenado. Esta funcion retorna el numero actual de caracteres almacenados en el buffer.
La segunda forma de esta funcion retorna simplemente el nombre del archivo.
ERRORES:
Cuando un error ocurre, la primera forma de la funcion retorna -1; La segunda forma retorna una cadena en blanco. Mas información puede ser obtenida utilizando la funcion FpGetErrno.
SYS_ENOTDIR
Una parte del path en name no es un directorio.
SYS_EINVAL
maxlen no es positiva, o el archivo no es un link simbolico
SYS_ENAMETOOLONG
Un pathname, o un componente de pathname, es demasiado largo
SYS_ENOENT
El nombre del link no existe
SYS_EACCES
permiso denegado para la búsqueda del directorio en el path
SYS_ELOOP
Demasiados links simbólicos fueron encontrados en la traducción del pathname
SYS_EIO
Un error I/O ha ocurrido mientras se intentaba leer de el archivo del sistema
SYS_EFAULT
El buffer no es parte del proceso de espacio de memoria
SYS_ENOMEM
No suficiente memoria del kernel disponible
Vea también:
FpSymLink
Ejemplo:
Sintaxis:
function fpReadLink( name: pchar; linkname: pchar; maxlen: size_t ):cInt; funct
Descripcion: Retorna el nombre del link simbolico del archivo al que esta apuntando. La primera forma de esta funcion acepta un buffer linkname de el tamaño maxlen donde el nombre de archivo será almacenado. Esta funcion retorna el numero actual de caracteres almacenados en el buffer.
La segunda forma de esta funcion retorna simplemente el nombre del archivo.
ERRORES:
Cuando un error ocurre, la primera forma de la funcion retorna -1; La segunda forma retorna una cadena en blanco. Mas información puede ser obtenida utilizando la funcion FpGetErrno.
SYS_ENOTDIR
Una parte del path en name no es un directorio.
SYS_EINVAL
maxlen no es positiva, o el archivo no es un link simbolico
SYS_ENAMETOOLONG
Un pathname, o un componente de pathname, es demasiado largo
SYS_ENOENT
El nombre del link no existe
SYS_EACCES
permiso denegado para la búsqueda del directorio en el path
SYS_ELOOP
Demasiados links simbólicos fueron encontrados en la traducción del pathname
SYS_EIO
Un error I/O ha ocurrido mientras se intentaba leer de el archivo del sistema
SYS_EFAULT
El buffer no es parte del proceso de espacio de memoria
SYS_ENOMEM
No suficiente memoria del kernel disponible
Vea también:
FpSymLink
Ejemplo:
Program Example62; { Program to demonstrate the ReadLink function. } Uses BaseUnix,Unix; Var F : Text; S : String; begin Assign (F,'test.txt'); Rewrite (F); Writeln (F,'This is written to test.txt'); Close(f); { new.txt and test.txt are now the same file } if fpSymLink ('test.txt','new.txt')<>0 then writeln ('Error when symlinking !'); S:=fpReadLink('new.txt'); If S='' then Writeln ('Error reading link !') Else Writeln ('Link points to : ',S); { Now remove links } If fpUnlink ('new.txt')<>0 then Writeln ('Error when unlinking !'); If fpUnlink ('test.txt')<>0 then Writeln ('Error when unlinking !'); end.
Librerias Pascal
Libreria crt - CRT - Pantalla y teclado del PASCAL de Turbo que maneja la unidadLibreria dos - DOS - Interface Turbo Pascal MS-DOS
Libreria Graph - Unidad para manipular los graficos de la pantalla compatible con TP
Libreria Objects - Objetos basicos compatible con TP
Libreria math - Rutinas adicionales matematicas
Libreria Printer - Provee de acceso a la impresora
Libreria strings - Rutinas para el manejo de cadenas
Libreria BaseUnix - Funcionalidad Basica de Linux
Libreria System - Manejo de Archivos - Funciones para la manipulacion de archivos en Pascal