2 * Copyright (C) 1995-1997, 1999 Jeffrey A. Uphoff
3 * Modified by Olaf Kirch, Dec. 1996.
19 #define STAT_FAIL stat_fail
20 #define STAT_SUCC stat_succ
23 * Function prototypes.
25 extern _Bool statd_matchhostname(const char *hostname1, const char *hostname2);
26 extern _Bool statd_present_address(const struct sockaddr *sap, char *buf,
29 extern char * statd_canonical_name(const char *hostname);
31 extern void my_svc_run(void);
32 extern void notify_hosts(void);
33 extern void shuffle_dirs(void);
34 extern int statd_get_socket(void);
35 extern int process_notify_list(void);
36 extern int process_reply(FD_SET_TYPE *);
37 extern char * xstrdup(const char *);
38 extern void * xmalloc(size_t);
39 extern void load_state(void);
42 * Host status structure and macros.
44 stat_chge SM_stat_chge;
45 #define MY_NAME SM_stat_chge.mon_name
46 #define MY_STATE SM_stat_chge.state
49 * Some timeout values. (Timeout values are in whole seconds.)
51 #define CALLBACK_TIMEOUT 3 /* For client call-backs. */
52 #define NOTIFY_TIMEOUT 5 /* For status-change notifications. */
53 #define SELECT_TIMEOUT 10 /* Max select() timeout when work to do. */
54 #define MAX_TRIES 5 /* Max number of tries for any host. */
57 * Modes of operation - Lon
60 #define MODE_NODAEMON 1 /* No-daemon/foreground mode. */
61 #define MODE_LOG_STDERR 2 /* in foreground mode, log to stderr */
62 #define MODE_NOTIFY_ONLY 4 /* Send SM_NOTIFY to everyone monitored on
63 a single interface/alias */
64 /* LH - notify_only mode would be for notifying hosts on an IP alias
65 * that just came back up, for ex, when failing over a HA service to
67 #define STATIC_HOSTNAME 8 /* Always use the hostname set by -n */
68 #define MODE_NO_NOTIFY 16 /* Don't notify peers of a reboot */