mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	* win32/win32.c (rb_w32_home_dir): move from win32/file.c to try special folders. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56901 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
		
			
				
	
	
		
			48 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
#ifndef RUBY_WIN32_FILE_H
 | 
						|
#define RUBY_WIN32_FILE_H
 | 
						|
 | 
						|
#define MAX_REPARSE_PATH_LEN 4092
 | 
						|
 | 
						|
enum {
 | 
						|
    MINIMUM_REPARSE_BUFFER_PATH_LEN = 4
 | 
						|
};
 | 
						|
/* License: Ruby's */
 | 
						|
typedef struct {
 | 
						|
    ULONG  ReparseTag;
 | 
						|
    USHORT ReparseDataLength;
 | 
						|
    USHORT Reserved;
 | 
						|
    union {
 | 
						|
	struct {
 | 
						|
	    USHORT SubstituteNameOffset;
 | 
						|
	    USHORT SubstituteNameLength;
 | 
						|
	    USHORT PrintNameOffset;
 | 
						|
	    USHORT PrintNameLength;
 | 
						|
	    ULONG  Flags;
 | 
						|
	    WCHAR  PathBuffer[4];
 | 
						|
	} SymbolicLinkReparseBuffer;
 | 
						|
	struct {
 | 
						|
	    USHORT SubstituteNameOffset;
 | 
						|
	    USHORT SubstituteNameLength;
 | 
						|
	    USHORT PrintNameOffset;
 | 
						|
	    USHORT PrintNameLength;
 | 
						|
	    WCHAR  PathBuffer[4];
 | 
						|
	} MountPointReparseBuffer;
 | 
						|
    };
 | 
						|
} rb_w32_reparse_buffer_t;
 | 
						|
 | 
						|
#define rb_w32_reparse_buffer_size(n) \
 | 
						|
    (sizeof(rb_w32_reparse_buffer_t) + \
 | 
						|
     sizeof(WCHAR)*((n)-MINIMUM_REPARSE_BUFFER_PATH_LEN))
 | 
						|
 | 
						|
int rb_w32_read_reparse_point(const WCHAR *path, rb_w32_reparse_buffer_t *rp,
 | 
						|
			      size_t bufsize, WCHAR **result, DWORD *len);
 | 
						|
 | 
						|
int lchown(const char *path, int owner, int group);
 | 
						|
int rb_w32_ulchown(const char *path, int owner, int group);
 | 
						|
int fchmod(int fd, int mode);
 | 
						|
#define HAVE_FCHMOD 0
 | 
						|
 | 
						|
UINT rb_w32_filecp(void);
 | 
						|
WCHAR *rb_w32_home_dir(void);
 | 
						|
 | 
						|
#endif	/* RUBY_WIN32_FILE_H */
 |