diff options
| author | Suraj K Suresh <kssuraj15@gmail.com> | 2020-09-28 14:48:39 +0530 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2020-10-03 14:17:26 +0200 |
| commit | ca27b3bc5783ce1dbda7f23883d0ddf3729902a8 (patch) | |
| tree | 7a8b2516093aafd5c1ce9f89fc3aaf833cbdc163 /executor/executor_windows.h | |
| parent | 2653fa43f8cced3279808d74e5f712bf45ef7551 (diff) | |
executor: msvc support syz-executor
Diffstat (limited to 'executor/executor_windows.h')
| -rw-r--r-- | executor/executor_windows.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/executor/executor_windows.h b/executor/executor_windows.h index 1e210826b..bb863c009 100644 --- a/executor/executor_windows.h +++ b/executor/executor_windows.h @@ -6,6 +6,9 @@ #include "nocover.h" +#define read read_win +#define write write_win + static void os_init(int argc, char** argv, void* data, size_t data_size) { if (VirtualAlloc(data, data_size, MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE) != data) @@ -20,3 +23,18 @@ static intptr_t execute_syscall(const call_t* c, intptr_t a[kMaxArgs]) return -1; } } + +static __inline int read_win(int pipe_id, void* input_data, int data_size) +{ + DWORD dwBytesRead = 0; + ReadFile((HANDLE)_get_osfhandle(pipe_id), input_data, data_size, &dwBytesRead, NULL); + + return (int)dwBytesRead; +} + +static __inline int write_win(int pipe_id, void* input_data, int data_size) +{ + DWORD dwBytesWritten = 0; + WriteFile((HANDLE)_get_osfhandle(pipe_id), input_data, data_size, &dwBytesWritten, NULL); + return (int)dwBytesWritten; +} |
