1#ifndef RUBY_WIN32_FILE_H
2#define RUBY_WIN32_FILE_H
4#ifndef IO_REPARSE_TAG_AF_UNIX
5# define IO_REPARSE_TAG_AF_UNIX 0x80000023
9 MINIMUM_REPARSE_BUFFER_PATH_LEN = 100
14 USHORT ReparseDataLength;
18 USHORT SubstituteNameOffset;
19 USHORT SubstituteNameLength;
20 USHORT PrintNameOffset;
21 USHORT PrintNameLength;
23 WCHAR PathBuffer[MINIMUM_REPARSE_BUFFER_PATH_LEN];
24 } SymbolicLinkReparseBuffer;
26 USHORT SubstituteNameOffset;
27 USHORT SubstituteNameLength;
28 USHORT PrintNameOffset;
29 USHORT PrintNameLength;
30 WCHAR PathBuffer[MINIMUM_REPARSE_BUFFER_PATH_LEN];
31 } MountPointReparseBuffer;
35#define rb_w32_reparse_buffer_size(n) \
36 (sizeof(rb_w32_reparse_buffer_t) + \
37 sizeof(WCHAR)*((n)-MINIMUM_REPARSE_BUFFER_PATH_LEN))
40 size_t bufsize, WCHAR **result, DWORD *len);
42int lchown(
const char *path,
int owner,
int group);
43int rb_w32_ulchown(
const char *path,
int owner,
int group);
44int fchmod(
int fd,
int mode);
47UINT rb_w32_filecp(
void);
48WCHAR *rb_w32_home_dir(
void);