windows-volume-status-plugin-20070705
[openafs.git] / src / WINNT / afsd / cm_volstat.h
1 /* Copyright 2007 Secure Endpoints Inc.
2  *
3  * BSD 2-part License 
4  */
5
6 /* This header file provides the definitions and prototypes 
7  * which specify the AFS Cache Manager Volume Status Event
8  * Notification API
9  */
10
11
12 extern long cm_VolStatus_Initialization(void);
13
14 extern long cm_VolStatus_Finalize(void);
15
16 extern long cm_VolStatus_Service_Started(void);
17
18 extern long cm_VolStatus_Service_Stopping(void);
19
20 #ifdef _WIN64
21 extern long cm_VolStatus_Network_Started(const char * netbios32, const char * netbios64);
22
23 extern long cm_VolStatus_Network_Stopped(const char * netbios32, const char * netbios64);
24 #else /* _WIN64 */
25 extern long cm_VolStatus_Network_Started(const char * netbios);
26
27 extern long cm_VolStatus_Network_Stopped(const char * netbios);
28 #endif /* _WIN64 */
29
30 extern long cm_VolStatus_Network_Addr_Change(void);
31
32 extern long cm_VolStatus_Change_Notification(afs_uint32 cellID, afs_uint32 volID, enum volstatus status);
33
34 extern long __fastcall cm_VolStatus_Path_To_ID(const char * share, const char * path, afs_uint32 * cellID, afs_uint32 * volID);
35
36 extern long __fastcall cm_VolStatus_Path_To_DFSlink(const char * share, const char * path, afs_uint32 *pBufSize, char *pBuffer);
37
38 #define DLL_VOLSTATUS_FUNCS_VERSION 1
39 typedef struct dll_VolStatus_Funcs {
40     afs_uint32          version;
41     long (__fastcall * dll_VolStatus_Service_Started)(void);
42     long (__fastcall * dll_VolStatus_Service_Stopped)(void);
43     long (__fastcall * dll_VolStatus_Network_Started)(const char *netbios32, const char *netbios64);
44     long (__fastcall * dll_VolStatus_Network_Stopped)(const char *netbios32, const char *netbios64);
45     long (__fastcall * dll_VolStatus_Network_Addr_Change)(void);
46     long (__fastcall * dll_VolStatus_Change_Notification)(afs_uint32 cellID, afs_uint32 volID, enum volstatus status);
47 } dll_VolStatus_Funcs_t;
48
49 #define CM_VOLSTATUS_FUNCS_VERSION 1
50 typedef struct cm_VolStatus_Funcs {
51     afs_uint32          version;
52     long (__fastcall * cm_VolStatus_Path_To_ID)(const char * share, const char * path, afs_uint32 * cellID, afs_uint32 * volID);
53     long (__fastcall * cm_VolStatus_Path_To_DFSlink)(const char * share, const char * path, afs_uint32 *pBufSize, char *pBuffer);
54 } cm_VolStatus_Funcs_t;
55