mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	 58742627af
			
		
	
	
		58742627af
		
	
	
	
	
		
			
			* 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 */
 |