sys_uselib [fs/exec.c]
Loads a shared library to be used by the calling process. The address where to load is found in the library itself. The library can have any recognized binary format. Arguments
eax | 86
ebx | Pointer to a null-terminated string specifying the pathname of the shared library.
Return values If the system call succeeds the return value is 0. If the system call fails the return value is one of the following errno values:
`-EACCES` | `The library specified by ebx does not have read or execute permission, or the caller does not have search permission for one of the directories in the path prefix.`
`-EFAULT` | `ebx points outside your accessible address space.`
`-EISDIR` | `Pathname pointed by ebx refers to a directory.`
`-ELOOP` | `Too many symbolic links were encountered in resolving pathname.`
`-EMFILE` | `The process already has the maximum number of files open.`
`-ENAMETOOLONG` | `Pathname pointed by ebx was too long.`
`-ENFILE` | `The system limit on the total number of open files has been reached.`
`-ENODEV` | `Pathname pointed by ebx refers to a device special file and no corresponding device exists. (This is a Linux kernel bug; in this situation ENXIO must be returned.)`
`-ENOENT` | `A directory component in pathname does not exist or is a dangling symbolic link.`
`-ENOMEM` | `Insufficient kernel memory was available.`
`-ENOTDIR` | `A component used as a directory in pathname is not, in fact, a directory.`
`-ENXIO` | `Or, the file is a device special file and no corresponding device exists.`
`-EOVERFLOW` | `Pathname pointed by ebx refers to a regular file, too large to be opened; see O_LARGEFILE above.`
`-EPERM` | `The caller was not privileged (CAP_FOWNER).`
`-ENOEXEC` | `The file specified by ebx is not an executable of known type, e.g., does not have the correct magic numbers.`
Remarks n/a Compatibility n/a