Ruby 3.0.5p211 (2022-11-24 revision ba5cf0f7c52d4d35cc6a173c89eda98ceffa2dcf)
file.h
Go to the documentation of this file.
1#ifndef RUBY_WIN32_FILE_H
2#define RUBY_WIN32_FILE_H
3
4#define MAX_REPARSE_PATH_LEN 4092
5
6enum {
8};
9/* License: Ruby's */
10typedef struct {
13 USHORT Reserved;
14 union {
15 struct {
20 ULONG Flags;
21 WCHAR PathBuffer[4];
22 } SymbolicLinkReparseBuffer;
23 struct {
24 USHORT SubstituteNameOffset;
25 USHORT SubstituteNameLength;
26 USHORT PrintNameOffset;
27 USHORT PrintNameLength;
28 WCHAR PathBuffer[4];
29 } MountPointReparseBuffer;
30 };
32
33#define rb_w32_reparse_buffer_size(n) \
34 (sizeof(rb_w32_reparse_buffer_t) + \
35 sizeof(WCHAR)*((n)-MINIMUM_REPARSE_BUFFER_PATH_LEN))
36
38 size_t bufsize, WCHAR **result, DWORD *len);
39
40int lchown(const char *path, int owner, int group);
41int rb_w32_ulchown(const char *path, int owner, int group);
42int fchmod(int fd, int mode);
43#define HAVE_FCHMOD 0
44
45UINT rb_w32_filecp(void);
46WCHAR *rb_w32_home_dir(void);
47
48#endif /* RUBY_WIN32_FILE_H */
uint8_t len
Definition: escape.c:17
#define rp(obj)
Definition: internal.h:95
const char int mode
Definition: ioapi.h:137
USHORT SubstituteNameLength
Definition: file.h:17
USHORT PrintNameLength
Definition: file.h:19
USHORT ReparseDataLength
Definition: file.h:12
USHORT PrintNameOffset
Definition: file.h:18
USHORT SubstituteNameOffset
Definition: file.h:16
UINT rb_w32_filecp(void)
WCHAR * rb_w32_home_dir(void)
Definition: win32.c:547
int fchmod(int fd, int mode)
Definition: win32.c:7713
int lchown(const char *path, int owner, int group)
Definition: win32.c:4832
int rb_w32_ulchown(const char *path, int owner, int group)
Definition: win32.c:4838
@ MINIMUM_REPARSE_BUFFER_PATH_LEN
Definition: file.h:7
int rb_w32_read_reparse_point(const WCHAR *path, rb_w32_reparse_buffer_t *rp, size_t bufsize, WCHAR **result, DWORD *len)
Definition: win32.c:5068
IUnknown DWORD
Definition: win32ole.c:33