github.com/JimmyHuang454/JLS-go@v0.0.0-20230831150107-90d536585ba0/internal/syscall/windows/symlink_windows.go (about)

     1  // Copyright 2018 The Go Authors. All rights reserved.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  package windows
     6  
     7  import "syscall"
     8  
     9  const (
    10  	ERROR_INVALID_PARAMETER syscall.Errno = 87
    11  
    12  	// symlink support for CreateSymbolicLink() starting with Windows 10 (1703, v10.0.14972)
    13  	SYMBOLIC_LINK_FLAG_ALLOW_UNPRIVILEGED_CREATE = 0x2
    14  
    15  	// FileInformationClass values
    16  	FileBasicInfo                  = 0    // FILE_BASIC_INFO
    17  	FileStandardInfo               = 1    // FILE_STANDARD_INFO
    18  	FileNameInfo                   = 2    // FILE_NAME_INFO
    19  	FileStreamInfo                 = 7    // FILE_STREAM_INFO
    20  	FileCompressionInfo            = 8    // FILE_COMPRESSION_INFO
    21  	FileAttributeTagInfo           = 9    // FILE_ATTRIBUTE_TAG_INFO
    22  	FileIdBothDirectoryInfo        = 0xa  // FILE_ID_BOTH_DIR_INFO
    23  	FileIdBothDirectoryRestartInfo = 0xb  // FILE_ID_BOTH_DIR_INFO
    24  	FileRemoteProtocolInfo         = 0xd  // FILE_REMOTE_PROTOCOL_INFO
    25  	FileFullDirectoryInfo          = 0xe  // FILE_FULL_DIR_INFO
    26  	FileFullDirectoryRestartInfo   = 0xf  // FILE_FULL_DIR_INFO
    27  	FileStorageInfo                = 0x10 // FILE_STORAGE_INFO
    28  	FileAlignmentInfo              = 0x11 // FILE_ALIGNMENT_INFO
    29  	FileIdInfo                     = 0x12 // FILE_ID_INFO
    30  	FileIdExtdDirectoryInfo        = 0x13 // FILE_ID_EXTD_DIR_INFO
    31  	FileIdExtdDirectoryRestartInfo = 0x14 // FILE_ID_EXTD_DIR_INFO
    32  )
    33  
    34  type FILE_ATTRIBUTE_TAG_INFO struct {
    35  	FileAttributes uint32
    36  	ReparseTag     uint32
    37  }
    38  
    39  //sys	GetFileInformationByHandleEx(handle syscall.Handle, class uint32, info *byte, bufsize uint32) (err error)