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);
42 int lchown(
const char *path,
int owner,
int group);
43 int rb_w32_ulchown(
const char *path,
int owner,
int group);
44 int fchmod(
int fd,
int mode);
47 UINT rb_w32_filecp(
void);
48 WCHAR *rb_w32_home_dir(
void);
50 rb_pid_t rb_w32_uspawn_process(
int mode,
const char *prog,
char *
const *argv,
51 int in_fd,
int out_fd,
int err_fd, DWORD flags);
int len
Length of the buffer.