Lines Matching defs:symlink
15 // The symlink() function is split into two frontends, symlink_file()
394 // If the file is a symlink, and we are supposed to operate on the target
395 // of the symlink, we need to open a handle to it, without the
397 // symlink, and operate on it via the handle.
403 // For a non-symlink, or if operating on the symlink itself instead of
441 const auto& symlink = reparse->SymbolicLinkReparseBuffer;
443 if (symlink.PrintNameLength == 0) {
444 name_offset = symlink.SubstituteNameOffset;
445 name_length = symlink.SubstituteNameLength;
447 name_offset = symlink.PrintNameOffset;
448 name_length = symlink.PrintNameLength;
459 memcpy(ret_buf, &symlink.PathBuffer[name_offset / sizeof(wchar_t)], name_length);
464 inline int symlink_file(const char* oldname, const char* newname) { return ::symlink(oldname, newname); }
465 inline int symlink_dir(const char* oldname, const char* newname) { return ::symlink(oldname, newname); }