diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/nvim/if_cscope.c | 12 | ||||
-rw-r--r-- | src/nvim/if_cscope_defs.h | 9 | ||||
-rw-r--r-- | src/nvim/os/os_defs.h | 3 |
3 files changed, 21 insertions, 3 deletions
diff --git a/src/nvim/if_cscope.c b/src/nvim/if_cscope.c index 64323896d6..cd206e2e0d 100644 --- a/src/nvim/if_cscope.c +++ b/src/nvim/if_cscope.c @@ -743,8 +743,16 @@ err_closing: (void)close(to_cs[1]); (void)close(from_cs[0]); #else - /* WIN32 */ - /* Create pipes to communicate with cscope */ + // Create pipes to communicate with cscope + int fd; + SECURITY_ATTRIBUTES sa; + PROCESS_INFORMATION pi; + BOOL pipe_stdin = FALSE, pipe_stdout = FALSE; // NOLINT(readability/bool) + STARTUPINFO si; + HANDLE stdin_rd, stdout_rd; + HANDLE stdout_wr, stdin_wr; + BOOL created; + sa.nLength = sizeof(SECURITY_ATTRIBUTES); sa.bInheritHandle = TRUE; sa.lpSecurityDescriptor = NULL; diff --git a/src/nvim/if_cscope_defs.h b/src/nvim/if_cscope_defs.h index a0c84e8ba1..8cd74c74e6 100644 --- a/src/nvim/if_cscope_defs.h +++ b/src/nvim/if_cscope_defs.h @@ -16,6 +16,7 @@ # include <sys/types.h> /* pid_t */ #endif +#include "nvim/os/os_defs.h" #include "nvim/os/fs_defs.h" #define CSCOPE_SUCCESS 0 @@ -50,7 +51,13 @@ typedef struct csi { char * ppath; /* path to prepend (the -P option) */ char * flags; /* additional cscope flags/options (e.g, -p2) */ #if defined(UNIX) - pid_t pid; /* PID of the connected cscope process. */ + pid_t pid; // PID of the connected cscope process +#else + DWORD pid; // PID of the connected cscope process + HANDLE hProc; // cscope process handle + DWORD nVolume; // Volume serial number, instead of st_dev + DWORD nIndexHigh; // st_ino has no meaning on Windows + DWORD nIndexLow; #endif FileID file_id; diff --git a/src/nvim/os/os_defs.h b/src/nvim/os/os_defs.h index 7d77899287..26e479492e 100644 --- a/src/nvim/os/os_defs.h +++ b/src/nvim/os/os_defs.h @@ -57,6 +57,9 @@ #if !defined(S_ISREG) && defined(S_IFREG) # define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) #endif +#if !defined(S_ISLNK) && defined(S_IFLNK) +# define S_IFLNK(m) (((m) & S_IFMT) == S_IFLNK) +#endif #if !defined(S_ISBLK) && defined(S_IFBLK) # define S_ISBLK(m) (((m) & S_IFMT) == S_IFBLK) #endif |