Retrieves an extended attribute value.
Extended attributes are name:value pairs associated with inodes (files, directories, symlinks, etc). They are extensions to the normal attributes which are associated with all inodes in the system (i.e. the sys_stat data).
This system call is identical to sys_getxattr except that in a case of a symbolic link, the link itself is interrogated, and not the file that it refers to.
Arguments
eax |
230 |
ebx |
Pointer to a null-terminated string that specifies the path. |
ecx |
Pointer to a null-terminated string that specifies the name.
The name
attribute includes a namespace prefix; there may be several, disjoint namespaces associated with an individual inode. |
edx |
Pointer to a buffer which will receive the value data. |
esi |
Size of the buffer pointed by edx. If this value is 0, then the current size of the named extended attribute will be returned without actually filling the buffer. |
Return values
If the system call succeeds the return value is a positive number indicating the size of the extended attribute value.
If the system call fails the return value is one of the following errno values:
-ENOATTR |
The named attribute does not exist, or the process has no access to this attribute. |
-ERANGE |
Size of the buffer is too small to hold the result. |
-ENOTSUP |
Extended attributes are not supported by the filesystem, or are disabled. |
-EACCES |
Search permission is denied for one of the directories in the path prefix. |
-ELOOP |
Too many symbolic links encountered while traversing the path. |
-ENAMETOOLONG |
File name too long. |
-ENOENT |
A component of the path does not exist, or the path is an empty string. |
-ENOMEM |
Out of memory (i.e. kernel memory). |
-ENOTDIR |
A component of the path is not a directory. |
|
Remarks
n/a
Compatibility
n/a |