Windows: AFSVolSync creationDate based readonly volume versioning
[openafs.git] / src / WINNT / afsd / cm_callback.h
index 311c65c..6a066b7 100644 (file)
@@ -1,28 +1,30 @@
-/* 
- * Copyright (C) 1998, 1989 Transarc Corporation - All rights reserved
- *
- * (C) COPYRIGHT IBM CORPORATION 1987, 1988
- * LICENSED MATERIALS - PROPERTY OF IBM
- *
- *
+/*
+ * Copyright 2000, International Business Machines Corporation and others.
+ * All Rights Reserved.
+ * 
+ * This software has been released under the terms of the IBM Public
+ * License.  For details, see the LICENSE file in the top-level source
+ * directory or online at http://www.openafs.org/dl/license10.html
  */
+
 #ifndef _CM_CALLBACK_H_ENV__
 #define _CM_CALLBACK_H_ENV__ 1
 
 #include <osi.h>
-#include "cm_scache.h"
 
 typedef struct cm_callbackRequest {
-       long callbackCount;             /* callback count at start of the request */
-        long startTime;                        /* time when we started the call */
-        struct cm_server *serverp;     /* server we really got the callback from */
+    long callbackCount;                /* callback count at start of the request */
+    time_t startTime;  /* time when we started the call */
+    struct cm_server *serverp; /* server we really got the callback from */
 } cm_callbackRequest_t;
 
+#include "cm_scache.h"
+
 typedef struct cm_racingRevokes {
-        osi_queue_t q;                 /* queue for forward/backward searches */
-        cm_fid_t fid;                  /* fid revoked */
-        long callbackCount;            /* which callback this is */
-        long flags;
+    osi_queue_t q;             /* queue for forward/backward searches */
+    cm_fid_t fid;              /* fid revoked */
+    long callbackCount;                /* which callback this is */
+    long flags;
 } cm_racingRevokes_t;
 
 /* flags for cm_racingRevokes_t flags field */
@@ -55,11 +57,24 @@ extern int cm_HaveCallback(struct cm_scache *);
 extern void cm_StartCallbackGrantingCall(struct cm_scache *, cm_callbackRequest_t *);
 
 extern void cm_EndCallbackGrantingCall(struct cm_scache *, cm_callbackRequest_t *,
-       struct AFSCallBack *, long);
+       struct AFSCallBack *, struct AFSVolSync *, long);
 
 extern long cm_GetCallback(struct cm_scache *, struct cm_user *,
        struct cm_req * reqp, long flags);
 
 extern void cm_CheckCBExpiration(void);
 
+extern osi_rwlock_t cm_callbackLock;
+
+extern void cm_CallbackNotifyChange(cm_scache_t *scp);
+
+extern void cm_GiveUpAllCallbacks(cm_server_t *tsp, afs_int32 markDown);
+
+extern void cm_GiveUpAllCallbacksAllServers(afs_int32 markDown);
+
+extern afs_int32 cm_OfflineROIsValid;
+
+extern afs_int32 cm_giveUpAllCBs;
+
+extern afs_int32 cm_shutdown;
 #endif /*  _CM_CALLBACK_H_ENV__ */