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))
12 #define SMS_DIR "/u1/sms"
13 #define LOCK_DIR "/u1/sms/dcm/locks"
16 extern char *malloc(), *calloc(), *realloc();
21 #define DBG_VERBOSE 02
24 #define strrel(s,op,t) (strcmp((s), (t)) op 0)
25 #define strnrel(s,op,t,n) (strncmp((s), (t), (n)) op 0)
27 #define streq(a,b) (strcmp(a,b) == 0)
33 #define NULL (char *) 0
37 extern int dbg; /* utils.c: set by main() */
39 #define CHECK_UPCALL_ARGS(num, upcall_name)\
41 fprintf(stderr, "%s upcall with %d arguments instead of %d\n",\
42 upcall_name, argc, num);\
79 extern void init_sms();
80 extern void dcm_com_err_hook();
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)
89 extern void perform_update();
90 extern int maybe_lock_update();