xref: /vim-8.2.3635/src/if_cscope.h (revision 9bf703d4)
1 /* vi:set ts=8 sts=4 sw=4 noet:
2  *
3  * CSCOPE support for Vim added by Andy Kahn <[email protected]>
4  * Ported to Win32 by Sergey Khorev <[email protected]>
5  *
6  * The basic idea/structure of cscope for Vim was borrowed from Nvi.
7  * There might be a few lines of code that look similar to what Nvi
8  * has.  If this is a problem and requires inclusion of the annoying
9  * BSD license, then sue me; I'm not worth much anyway.
10  */
11 
12 #if defined(FEAT_CSCOPE) || defined(PROTO)
13 
14 #if defined (MSWIN)
15 # ifndef WIN32_LEAN_AND_MEAN
16 #  define WIN32_LEAN_AND_MEAN
17 # endif
18 # include <windows.h>
19 #endif
20 
21 #define CSCOPE_SUCCESS		0
22 #define CSCOPE_FAILURE		-1
23 
24 #define	CSCOPE_DBFILE		"cscope.out"
25 #define	CSCOPE_PROMPT		">> "
26 
27 /*
28  * See ":help cscope-find" for the possible queries.
29  */
30 
31 typedef struct {
32     char *  name;
33     int     (*func)(exarg_T *eap);
34     char *  help;
35     char *  usage;
36     int	    cansplit;		// if supports splitting window
37 } cscmd_T;
38 
39 typedef struct csi {
40     char *	    fname;	// cscope db name
41     char *	    ppath;	// path to prepend (the -P option)
42     char *	    flags;	// additional cscope flags/options (e.g, -p2)
43 #if defined(UNIX)
44     pid_t	    pid;	// PID of the connected cscope process.
45     dev_t	    st_dev;	// ID of dev containing cscope db
46     ino_t	    st_ino;	// inode number of cscope db
47 #else
48 # if defined(MSWIN)
49     DWORD	    pid;	// PID of the connected cscope process.
50     HANDLE	    hProc;	// cscope process handle
51     DWORD	    nVolume;	// Volume serial number, instead of st_dev
52     DWORD	    nIndexHigh;	// st_ino has no meaning in the Windows
53     DWORD	    nIndexLow;
54 # endif
55 #endif
56 
57     FILE *	    fr_fp;	// from cscope: FILE.
58     FILE *	    to_fp;	// to cscope: FILE.
59 } csinfo_T;
60 
61 typedef enum { Add, Find, Help, Kill, Reset, Show } csid_e;
62 
63 typedef enum {
64     Store,
65     Get,
66     Free,
67     Print
68 } mcmd_e;
69 
70 
71 #endif	// FEAT_CSCOPE
72