1 /*****************************************************************************
2  *
3  * Authors: Michel Eyckmans (MCE) & Stefan De Troch (SDT)
4  *
5  * Content: This file is part of version 2.x of xautolock. It declares
6  *          everything needed to keep track of the program's state.
7  *
8  *          Please send bug reports etc. to mce@scarlet.be.
9  *
10  * --------------------------------------------------------------------------
11  *
12  * Copyright 1990, 1992-1999, 2001-2002, 2004, 2007 by  Stefan De Troch and
13  * Michel Eyckmans.
14  *
15  * Versions 2.0 and above of xautolock are available under version 2 of the
16  * GNU GPL. Earlier versions are available under other conditions. For more
17  * information, see the License file.
18  *
19  *****************************************************************************/
20 
21 #ifndef __state_h
22 #define __state_h
23 
24 #include "config.h"
25 
26 extern const char* progName;
27 extern char**      argArray;
28 extern unsigned    nofArgs;
29 extern Bool        disabled;
30 extern Bool        lockNow;
31 extern Bool        unlockNow;
32 extern time_t      lockTrigger;
33 extern time_t      killTrigger;
34 extern pid_t       lockerPid;
35 
36 #define setLockTrigger(delta) (lockTrigger = time ((time_t*) 0) + (delta))
37 #define setKillTrigger(delta) (killTrigger = time ((time_t*) 0) + (delta))
38 #define disableKillTrigger()  (killTrigger = 0)
39 #define resetLockTrigger()    setLockTrigger (lockTime);
40 #define resetTriggers()       setLockTrigger (lockTime);                   \
41                               if (killTrigger) setKillTrigger (killTime);  \
42 
43 extern void initState (int argc, char* argv[]);
44 
45 #endif /* __state_h */
46