2 * Copyright 2000, International Business Machines Corporation and others.
5 * This software has been released under the terms of the IBM Public
6 * License. For details, see the LICENSE file in the top-level source
7 * directory or online at http://www.openafs.org/dl/license10.html
10 #ifndef AFSCLASS_FILESET_H
11 #define AFSCLASS_FILESET_H
15 * FILESET CLASS ______________________________________________________________
19 #define fsNORMAL 0x00000000
20 #define fsSALVAGE 0x00000001
21 #define fsNO_VNODE 0x00000002
22 #define fsNO_VOL 0x00000004
23 #define fsNO_SERVICE 0x00000008
24 #define fsOFFLINE 0x00000010
25 #define fsDISK_FULL 0x00000020
26 #define fsOVER_QUOTA 0x00000040
27 #define fsBUSY 0x00000080
28 #define fsMOVED 0x00000100
29 #define fsLOCKED 0x00010000
30 #define fsMASK_VLDB 0xFFFF0000
31 typedef DWORD FILESETSTATE;
46 SYSTEMTIME timeCreation;
47 SYSTEMTIME timeLastUpdate;
48 SYSTEMTIME timeLastAccess;
49 SYSTEMTIME timeLastBackup;
50 SYSTEMTIME timeCopyCreation;
56 } FILESETSTATUS, *LPFILESETSTATUS;
62 friend class AGGREGATE;
67 void Invalidate (void);
68 BOOL RefreshStatus (BOOL fNotify = TRUE, ULONG *pStatus = NULL); // does nothing if not invalidated
69 BOOL RefreshStatus_VLDB (BOOL fNotify = TRUE, ULONG *pStatus = NULL); // does nothing if not invalidated
71 LPCELL OpenCell (ULONG *pStatus = NULL);
72 LPSERVER OpenServer (ULONG *pStatus = NULL);
73 LPAGGREGATE OpenAggregate (ULONG *pStatus = NULL);
77 LPIDENT GetIdentifier (void);
78 LPIDENT GetReadWriteIdentifier (ULONG *pStatus = NULL);
79 LPIDENT GetReadOnlyIdentifier (LPIDENT lpiParent, ULONG *pStatus = NULL);
80 LPIDENT GetCloneIdentifier (ULONG *pStatus = NULL);
81 void GetName (LPTSTR pszName);
82 void GetID (LPVOLUMEID pvid);
84 BOOL GetStatus (LPFILESETSTATUS lpfs, BOOL fNotify = TRUE, ULONG *pStatus = NULL);
85 short GetGhostStatus (void); // returns GHOST_*
87 PVOID GetUserParam (void);
88 void SetUserParam (PVOID pUserParam);
91 FILESET (LPAGGREGATE lpAggregateParent, LPVOLUMEID pvid, LPTSTR pszName);
93 void SendDeleteNotifications (void);
95 BOOL ProbablyReplica (void);
96 void SetStatusFromVOS (PVOID /* vos_volumeEntry_p */ pEntry);
101 LPIDENT m_lpiAggregate;
107 TCHAR m_szName[ cchNAME ];
110 BOOL m_fStatusOutOfDate;
115 #endif // AFSCLASS_FILESET_H