-/*
- * 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 */
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__ */