]> andersk Git - moira.git/blob - include/dcm.h
added deadlock to the list of soft errors
[moira.git] / include / dcm.h
1 /*
2  *      $Source$
3  *      $Header$
4  */
5
6 #define UPCALL_CONT     0
7 #define UPCALL_STOP     1
8
9 #define HARD_FAIL(x)    (((x) != 0 ) && ((x) != SMS_NO_CHANGE))
10 #define SOFT_FAIL(x)    (((x) == SMS_NO_MEM) || ((x) == SMS_CANT_CONNECT) || ((x) == SMS_CCONFIG) || ((x) == SMS_DEADLOCK))
11
12 #define SMS_DIR         "/u1/sms"
13 #define LOCK_DIR        "/u1/sms/dcm/locks"
14 #define UMASK           0007
15
16 extern char *malloc(), *calloc(), *realloc();
17 extern int errno;
18 extern char *whoami;
19
20 #define DBG_PLAIN       01
21 #define DBG_VERBOSE     02
22 #define DBG_TRACE       04
23
24 #define     strrel(s,op,t)      (strcmp((s), (t)) op 0)
25 #define     strnrel(s,op,t,n)     (strncmp((s), (t), (n)) op 0)
26
27 #define streq(a,b) (strcmp(a,b) == 0)
28         
29 #ifndef BUFSIZ
30 #define BUFSIZ 1024
31 #endif
32 #ifndef NULL
33 #define NULL (char *) 0
34 #endif
35
36 /* globals */
37 extern int dbg;                 /* utils.c: set by main() */
38
39 #define CHECK_UPCALL_ARGS(num, upcall_name)\
40   if (argc != num) {\
41       fprintf(stderr, "%s upcall with %d arguments instead of %d\n",\
42               upcall_name, argc, num);\
43       return UPCALL_STOP;\
44   }
45
46
47 struct service {
48     char *service;
49     int interval;
50     char *target;
51     char *script;
52     int dfgen;
53     int dfcheck;
54     char *type;
55     int enable;
56     int inprogress;
57     int harderror;
58     char *errmsg;
59 };
60
61 struct svrhost {
62     char *service;
63     char *machine;
64     int enable;
65     int override;
66     int success;
67     int inprogress;
68     int hosterror;
69     char *errmsg;
70     int lasttry;
71     int lastsuccess;
72     int value1;
73     int value2;
74     char *value3;
75 };
76
77
78 /*--> utils.c <--*/
79 extern void init_sms();
80 extern void dcm_com_err_hook();
81 extern void leave();
82 extern void scream();
83 extern char *strsave();
84 extern long file_last_mod_time();
85 extern long current_time();
86 #define file_exists(file) (access((file), F_OK) == 0)
87
88 /*--> update.c <--*/
89 extern void perform_update();
90 extern int maybe_lock_update();
91 extern void unlock();
This page took 0.045722 seconds and 5 git commands to generate.