Movatterモバイル変換


[0]ホーム

URL:


Skip Navigation Links
Exit Print View
Link to oracle.comman pages section 2: System Calls    Oracle Solaris 11 Information Library
Oracle Technology Network
Library
PDF
Print View
Feedback
search filter icon
search icon
 Search Scope:

Document Information

Preface

Introduction

System Calls

access(2)

acct(2)

acl(2)

adjtime(2)

alarm(2)

brk(2)

chdir(2)

chmod(2)

chown(2)

chroot(2)

close(2)

creat(2)

dup(2)

exec(2)

execl(2)

execle(2)

execlp(2)

execv(2)

execve(2)

execvex(2)

execvp(2)

_Exit(2)

_exit(2)

exit(2)

faccessat(2)

facl(2)

fchdir(2)

fchmod(2)

fchmodat(2)

fchown(2)

fchownat(2)

fchroot(2)

fcntl(2)

fexecve(2)

fgetlabel(2)

fork1(2)

fork(2)

forkall(2)

forkallx(2)

forkx(2)

fpathconf(2)

fstat(2)

fstatat(2)

fstatvfs(2)

futimens(2)

futimesat(2)

getacct(2)

getcontext(2)

getdents(2)

getegid(2)

geteuid(2)

getgid(2)

getgroups(2)

getisax(2)

getitimer(2)

getlabel(2)

getmsg(2)

getpflags(2)

getpgid(2)

getpgrp(2)

getpid(2)

getpmsg(2)

getppid(2)

getppriv(2)

getprojid(2)

getrctl(2)

getrlimit(2)

getsid(2)

gettaskid(2)

getuid(2)

getustack(2)

ioctl(2)

issetugid(2)

kill(2)

lchown(2)

link(2)

linkat(2)

llseek(2)

lseek(2)

lstat(2)

_lwp_cond_broadcast(2)

_lwp_cond_reltimedwait(2)

_lwp_cond_signal(2)

_lwp_cond_timedwait(2)

_lwp_cond_wait(2)

_lwp_continue(2)

_lwp_info(2)

_lwp_kill(2)

_lwp_mutex_lock(2)

_lwp_mutex_trylock(2)

_lwp_mutex_unlock(2)

_lwp_self(2)

_lwp_sema_init(2)

_lwp_sema_post(2)

_lwp_sema_trywait(2)

_lwp_sema_wait(2)

_lwp_suspend(2)

memcntl(2)

meminfo(2)

mincore(2)

mkdir(2)

mkdirat(2)

mknod(2)

mknodat(2)

mmap(2)

mmapobj(2)

mount(2)

mprotect(2)

msgctl(2)

msgget(2)

msgids(2)

msgrcv(2)

msgsnap(2)

msgsnd(2)

munmap(2)

nice(2)

ntp_adjtime(2)

ntp_gettime(2)

open(2)

openat(2)

pathconf(2)

pause(2)

pcsample(2)

pipe(2)

poll(2)

p_online(2)

ppoll(2)

pread(2)

priocntl(2)

priocntlset(2)

processor_bind(2)

processor_info(2)

profil(2)

pset_assign(2)

pset_bind(2)

pset_create(2)

pset_destroy(2)

pset_getattr(2)

pset_info(2)

pset_list(2)

pset_setattr(2)

putacct(2)

putmsg(2)

putpmsg(2)

pwrite(2)

read(2)

readlink(2)

readlinkat(2)

readv(2)

rename(2)

renameat(2)

resolvepath(2)

rmdir(2)

sbrk(2)

semctl(2)

semget(2)

semids(2)

semop(2)

semtimedop(2)

setcontext(2)

setegid(2)

seteuid(2)

setgid(2)

setgroups(2)

setitimer(2)

setpflags(2)

setpgid(2)

setpgrp(2)

setppriv(2)

setrctl(2)

setregid(2)

setreuid(2)

setrlimit(2)

setsid(2)

settaskid(2)

setuid(2)

setustack(2)

shmadv(2)

shmat(2)

shmctl(2)

shmdt(2)

shmget(2)

shmids(2)

shmop(2)

sigaction(2)

sigaltstack(2)

sigpending(2)

sigprocmask(2)

sigsend(2)

sigsendset(2)

sigsuspend(2)

sigwait(2)

__sparc_utrap_install(2)

stat(2)

statvfs(2)

stime(2)

swapctl(2)

symlink(2)

symlinkat(2)

sync(2)

sysfs(2)

sysinfo(2)

time(2)

times(2)

uadmin(2)

ulimit(2)

umask(2)

umount(2)

umount2(2)

uname(2)

unlink(2)

unlinkat(2)

ustat(2)

utime(2)

utimensat(2)

utimes(2)

uucopy(2)

vfork(2)

vforkx(2)

vhangup(2)

waitid(2)

wracct(2)

write(2)

writev(2)

yield(2)

readlink

, readlinkat

- read the contents of a symbolic link

Synopsis

#include <unistd.h>ssize_treadlink(const char *restrictpath,char *restrictbuf,size_tbufsiz);
ssize_t readlinkat(intfd, const char *restrictpath,char *restrictbuf, size_tbufsize);

Description

Thereadlink() function places the contents of the symbolic link referred tobypath in the bufferbuf which has sizebufsiz. Ifthe number of bytes in the symbolic link is less thanbufsiz, thecontents of the remainder ofbuf are left unchanged. If thebufargument is not large enough to contain the link content, the firstbufsize bytes are placed inbuf.

Upon successful completion,readlink() marks for update the last data access timestampof the symbolic link.

Thereadlinkat() function is equivalent to thereadlink() function except in thecase wherepath specifies a relative path. In this case the symboliclink whose content is read is relative to the directory associated withthe file descriptorfd instead of the current working directory. If the filedescriptor was opened withoutO_SEARCH, the function checks whether directory searches arepermitted using the current permissions of the directory underlying the file descriptor.If the file descriptor was opened withO_SEARCH, the function does not performthe check.

Ifreadlinkat() is passed the special valueAT_FDCWD in thefd parameter,the current working directory is used and the behavior is identical toa call toreadlink().

Return Values

Upon successful completion,readlink() andreadlinkat() return the count of bytes placedin the buffer. Otherwise, it returns-1, leaves the bufferunchanged, and setserrno to indicate the error.

Errors

Thereadlink() andreadlinkat() functions will fail if:

EACCES

Search permission is denied for a component of the path prefix ofpath.

EFAULT

path orbuf points to an illegal address.

EINVAL

Thepath argument names a file that is not a symbolic link.

EIO

An I/O error occurred while reading from the file system.

ENOENT

A component ofpath does not name an existing file orpath is an empty string.

ELOOP

A loop exists in symbolic links encountered during resolution of thepath argument.

ENAMETOOLONG

The length ofpath exceeds {PATH_MAX}, or a pathname component is longer than {NAME_MAX} while_POSIX_NO_TRUNC is in effect.

ENOTDIR

A component of the path prefix is not a directory.

ENOSYS

The file system does not support symbolic links.

Thereadlinkat() function will fail if:

EACCES

fd was not opened withO_SEARCH and the permissions of the directory underlyingfd do not permit directory searches.

EBADF

Thepath argument does not specify an absolute path and thefd argument is neitherAT_FDCWD nor a valid file descriptor open for reading or searching.

Thereadlink() andreadlinkat() functions may fail if:

EACCES

Read permission is denied for the directory.

ELOOP

More than {SYMLOOP_MAX} symbolic links were encountered in resolvingpath.

ENAMETOOLONG

As a result of encountering a symbolic link in resolution of the path argument, the length of the substituted pathname string exceeded {PATH_MAX}.

Thereadlinkat() function may fail if:

ENOTDIR

Thepath argument is not an absolute path andfd is neitherAT_FDCWD nor a file descriptor associated with a directory.

Usage

Portable applications should not assume that the returned contents of the symboliclink are null-terminated.

Attributes

Seeattributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Interface Stability
Committed
MT-Level
Async-Signal-Safe
Standard

See Also

stat(2),symlink(2),attributes(5),standards(5)

Copyright © 2011, Oracle and/or its affiliates. All rights reserved.Legal Notices
PreviousNext

[8]ページ先頭

©2009-2025 Movatter.jp