1*433d6423SLionel Sambuc #include <sys/cdefs.h> 2*433d6423SLionel Sambuc #include <lib.h> 3*433d6423SLionel Sambuc #include "namespace.h" 4*433d6423SLionel Sambuc 5*433d6423SLionel Sambuc #include <unistd.h> 6*433d6423SLionel Sambuc #include <string.h> 7*433d6423SLionel Sambuc 8*433d6423SLionel Sambuc #ifdef __weak_alias __weak_alias(readlink,_readlink)9*433d6423SLionel Sambuc__weak_alias(readlink, _readlink) 10*433d6423SLionel Sambuc #endif 11*433d6423SLionel Sambuc 12*433d6423SLionel Sambuc ssize_t readlink(const char *name, char *buffer, size_t bufsiz) 13*433d6423SLionel Sambuc { 14*433d6423SLionel Sambuc message m; 15*433d6423SLionel Sambuc 16*433d6423SLionel Sambuc memset(&m, 0, sizeof(m)); 17*433d6423SLionel Sambuc m.m_lc_vfs_readlink.namelen = strlen(name) + 1; 18*433d6423SLionel Sambuc m.m_lc_vfs_readlink.bufsize = bufsiz; 19*433d6423SLionel Sambuc m.m_lc_vfs_readlink.name = (vir_bytes)name; 20*433d6423SLionel Sambuc m.m_lc_vfs_readlink.buf = (vir_bytes)buffer; 21*433d6423SLionel Sambuc 22*433d6423SLionel Sambuc return(_syscall(VFS_PROC_NR, VFS_READLINK, &m)); 23*433d6423SLionel Sambuc } 24