sys_readlink  [fs/stat.c]


Reads the value of a symbolic link.

Arguments

eax 85
ebx Pointer to a null-terminated string specifying the symbolic link pathname.
ecx Pointer to a buffer which will receive the value. null byte is not appended by sys_readlink.
edx Size of the buffer pointed by ecx. In case the buffer is too small the value sys_readlink will truncate its contents.

Return values

If the system call succeeds the return value is the count of characters placed in the buffer.
If the system call fails the return value is one of the following errno values:

-EACCES Search permission is denied for a component of the path prefix.
-EFAULT Buffer pointed by ecx extends outside the process's allocated address space.
-EINVAL The named file is not a symbolic link.
-or-
edx is not positive.
-EIO An I/O error occurred while reading from the file system.
-ELOOP Too many symbolic links were encountered in translating the pathname.
-ENAMETOOLONG A pathname, or a component of a pathname, was too long.
-ENOENT The named file does not exist.
-ENOMEM Insufficient kernel memory was available.
-ENOTDIR A component of the path prefix is not a directory.

Remarks

n/a

Compatibility

n/a