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))
13 #define DEADLOCK_WAIT (3 * 60) /* number of seconds to wait after
14 a deadlock before trying again. */
15 #define DEADLOCK_TRIES 40 /* how many times to try (2 hours) */
19 extern char *malloc(), *calloc(), *realloc();
24 #define DBG_VERBOSE 02
27 #define strrel(s,op,t) (strcmp((s), (t)) op 0)
28 #define strnrel(s,op,t,n) (strncmp((s), (t), (n)) op 0)
30 #define streq(a,b) (strcmp(a,b) == 0)
36 #define NULL (char *) 0
40 extern int dbg; /* utils.c: set by main() */
42 #define CHECK_UPCALL_ARGS(num, upcall_name)\
44 fprintf(stderr, "%s upcall with %d arguments instead of %d\n",\
45 upcall_name, argc, num);\
82 extern void init_sms();
83 extern void dcm_com_err_hook();
86 extern char *strsave();
87 extern long file_last_mod_time();
88 extern long current_time();
89 #define file_exists(file) (access((file), F_OK) == 0)
92 extern void perform_update();
93 extern int maybe_lock_update();