OpenAFS
OpenAFS distributed network file system
/cygdrive/c/src/openafs/openafs.git/repo/src/WINNT/afsd/cm_daemon.h
00001 /*
00002  * Copyright 2000, International Business Machines Corporation and others.
00003  * All Rights Reserved.
00004  *
00005  * This software has been released under the terms of the IBM Public
00006  * License.  For details, see the LICENSE file in the top-level source
00007  * directory or online at http://www.openafs.org/dl/license10.html
00008  */
00009 
00010 #ifndef OPENAFS_WINNT_AFSD_CM_DAEMON_H
00011 #define OPENAFS_WINNT_AFSD_CM_DAEMON_H 1
00012 
00013 /* externs */
00014 extern long cm_daemonCheckDownInterval;
00015 extern long cm_daemonCheckUpInterval;
00016 extern long cm_daemonCheckVolInterval;
00017 extern long cm_daemonCheckCBInterval;
00018 extern long cm_daemonCheckLockInterval;
00019 extern long cm_daemonTokenCheckInterval;
00020 
00021 extern osi_rwlock_t *cm_daemonLockp;
00022 extern int cm_nDaemons;
00023 
00024 void cm_DaemonShutdown(void);
00025 
00026 void cm_InitDaemon(int nDaemons);
00027 
00028 typedef afs_int32 (cm_bkgProc_t)(cm_scache_t *scp, afs_uint32 p1, afs_uint32 p2, afs_uint32 p3,
00029         afs_uint32 p4, struct cm_user *up, cm_req_t *reqp);
00030 
00031 typedef struct cm_bkgRequest {
00032         osi_queue_t q;
00033         cm_bkgProc_t *procp;
00034         cm_scache_t *scp;
00035         afs_uint32 p1;
00036         afs_uint32 p2;
00037         afs_uint32 p3;
00038         afs_uint32 p4;
00039         cm_user_t *userp;
00040         cm_req_t req;
00041 } cm_bkgRequest_t;
00042 
00043 extern void cm_QueueBKGRequest(cm_scache_t *scp, cm_bkgProc_t *procp, afs_uint32 p1,
00044         afs_uint32 p2, afs_uint32 p3, afs_uint32 p4, cm_user_t *userp, cm_req_t *reqp);
00045 
00046 #define CM_MAX_DAEMONS 64
00047 
00048 #endif /*  OPENAFS_WINNT_AFSD_CM_DAEMON_H */
 All Data Structures Files Functions Variables