READLINK(2) BSD Programmer's Manual READLINK(2) NNAAMMEE rreeaaddlliinnkk - read value of a symbolic link SSYYNNOOPPSSIISS ##iinncclluuddee <<uunniissttdd..hh>> _i_n_t rreeaaddlliinnkk(_c_o_n_s_t _c_h_a_r _*_p_a_t_h, _c_h_a_r _*_b_u_f, _i_n_t _b_u_f_s_i_z); DDEESSCCRRIIPPTTIIOONN RReeaaddlliinnkk() places the contents of the symbolic link _p_a_t_h in the buffer _b_u_f, which has size _b_u_f_s_i_z. RReeaaddlliinnkk does not append a NUL character to _b_u_f. RREETTUURRNN VVAALLUUEESS The call returns the count of characters placed in the buffer if it suc- ceeds, or a -1 if an error occurs, placing the error code in the global variable _e_r_r_n_o. EERRRROORRSS RReeaaddlliinnkk() will fail if: [ENOTDIR] A component of the path prefix is not a directory. [EINVAL] The pathname contains a character with the high-order bit set. [ENAMETOOLONG] A component of a pathname exceeded 255 characters, or an entire path name exceeded 1023 characters. [ENOENT] The named file does not exist. [EACCES] Search permission is denied for a component of the path prefix. [ELOOP] Too many symbolic links were encountered in translating the pathname. [EINVAL] The named file is not a symbolic link. [EIO] An I/O error occurred while reading from the file system. [EFAULT] _B_u_f extends outside the process's allocated address space. SSEEEE AALLSSOO stat(2), lstat(2), symlink(2) symlink(7), HHIISSTTOORRYY The rreeaaddlliinnkk function call appeared in 4.2BSD. 4.2 Berkeley Distribution June 4, 1993 1