#ifndef AFSCLASS_H #define AFSCLASS_H #include /* * DEFINITIONS ________________________________________________________________ * */ #define cchNAME 256 #define GHOST_HAS_VLDB_ENTRY 0x01 #define GHOST_HAS_SERVER_ENTRY 0x02 #define GHOST_HAS_KAS_ENTRY 0x04 #define GHOST_HAS_PTS_ENTRY 0x08 #define GHOST_HAS_ALL_ENTRIES (GHOST_HAS_VLDB_ENTRY | GHOST_HAS_SERVER_ENTRY) #define AFSCLASS_WANT_VOLUMES 0x00000001 #define AFSCLASS_WANT_USERS 0x00000002 /* * TYPEDEFS ___________________________________________________________________ * */ typedef enum ACCOUNTACCESS { aaOWNER_ONLY, aaGROUP_ONLY, aaANYONE, } ACCOUNTACCESS; typedef LPENUMERATION HENUM; typedef unsigned int VOLUMEID, *LPVOLUMEID; typedef class NOTIFYCALLBACK NOTIFYCALLBACK, *LPNOTIFYCALLBACK; typedef class CELL CELL, *LPCELL; typedef class SERVER SERVER, *LPSERVER; typedef class SERVICE SERVICE, *LPSERVICE; typedef class AGGREGATE AGGREGATE, *LPAGGREGATE; typedef class FILESET FILESET, *LPFILESET; typedef class USER USER, *LPUSER; typedef class PTSGROUP PTSGROUP, *LPPTSGROUP; typedef class IDENT IDENT, *LPIDENT; typedef class IDENTLIST IDENTLIST, *LPIDENTLIST; /* * INCLUSIONS _________________________________________________________________ * */ #include // debugging utility functions #include // NOTIFYCALLBACK class #include // IDENT class #include // IDENTLIST class #include // CELL class #include // SERVER class #include // SERVICE class #include // AGGREGATE class #include // FILESET class #include // USER class #include // PTSGROUP class #include // AfsClass_* cell-manipulation routines /* * PROTOTYPES _________________________________________________________________ * */ BOOL AfsClass_Initialize (ULONG *pStatus = NULL); void AfsClass_SpecifyRefreshDomain (DWORD dwWant); // AFSCLASS_WANT_* void AfsClass_Enter (void); void AfsClass_Leave (void); int AfsClass_GetEnterCount (void); void AfsClass_RequestLongServerNames (BOOL fWantLongNames); void AfsClass_UnixTimeToSystemTime (LPSYSTEMTIME pst, ULONG ut, BOOL fElapsed = FALSE); ULONG AfsClass_SystemTimeToUnixTime (LPSYSTEMTIME pst); #ifndef REALLOC #define REALLOC(_a,_c,_r,_i) AfsClass_ReallocFunction ((LPVOID*)&_a,sizeof(*_a),&_c,_r,_i) BOOL AfsClass_ReallocFunction (LPVOID *ppTarget, size_t cbElement, size_t *pcTarget, size_t cReq, size_t cInc); #endif void AfsClass_SkipRefresh (int idSection); // ID from evtRefreshAllSectionStart void AfsClass_IntToAddress (LPSOCKADDR_IN pAddr, int IntAddr); void AfsClass_AddressToInt (int *pIntAddr, LPSOCKADDR_IN pAddr); #endif