]> git.decadent.org.uk Git - nfs-utils.git/blobdiff - utils/statd/statd.h
NFS man page: update nfs(5) with details about IPv6 support
[nfs-utils.git] / utils / statd / statd.h
index 77a179a3f9aa0c0a8eea5416e6f20cfb2bc6a419..085f32d07d6360dcb68c7b581a1247c0505a20a2 100644 (file)
@@ -5,22 +5,35 @@
  * NSM for Linux.
  */
 
-#include "config.h"
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
 #include "sm_inter.h"
 #include "system.h"
-#include "log.h"
+#include "xlog.h"
 
 /*
  * Paths and filenames.
  */
 #if defined(NFS_STATEDIR)
-# define DIR_BASE      NFS_STATEDIR "/"
+# define DEFAULT_DIR_BASE      NFS_STATEDIR "/"
 #else
-# define DIR_BASE      "/var/lib/nfs/"
+# define DEFAULT_DIR_BASE      "/var/lib/nfs/"
 #endif
-#define SM_DIR         DIR_BASE "sm"
-#define SM_BAK_DIR     DIR_BASE "sm.bak"
-#define SM_STAT_PATH   DIR_BASE "state"
+
+#define DEFAULT_SM_DIR         DEFAULT_DIR_BASE "sm"
+#define DEFAULT_SM_BAK_DIR     DEFAULT_DIR_BASE "sm.bak"
+#define DEFAULT_SM_STAT_PATH   DEFAULT_DIR_BASE "state"
+
+/* Added to support run-time specification of state directory path.
+ * j_carlos_gomez@yahoo.com
+ */
+
+extern char * DIR_BASE;
+extern char *  SM_DIR;
+extern char *  SM_BAK_DIR;
+extern char *  SM_STAT_PATH;
 
 /*
  * Status definitions.
  * Function prototypes.
  */
 extern void    change_state(void);
-extern void    do_regist(u_long, void (*)());
 extern void    my_svc_run(void);
 extern void    notify_hosts(void);
 extern void    shuffle_dirs(void);
+extern int     statd_get_socket(void);
 extern int     process_notify_list(void);
 extern int     process_reply(FD_SET_TYPE *);
 extern char *  xstrdup(const char *);
 extern void *  xmalloc(size_t);
-extern void    xunlink (char *, char *, short int);
+extern void    xunlink (char *, char *);
+extern void    load_state(void);
 
 /*
  * Host status structure and macros.
@@ -56,3 +70,17 @@ stat_chge            SM_stat_chge;
 #define NOTIFY_TIMEOUT          5 /* For status-change notifications. */
 #define SELECT_TIMEOUT         10 /* Max select() timeout when work to do. */
 #define MAX_TRIES               5 /* Max number of tries for any host. */
+
+/*
+ * Modes of operation - Lon
+ */
+extern int run_mode;
+#define MODE_NODAEMON 1                /* No-daemon/foreground mode. */
+#define MODE_LOG_STDERR 2      /* in foreground mode, log to stderr */
+#define MODE_NOTIFY_ONLY 4     /* Send SM_NOTIFY to everyone monitored on
+                                  a single interface/alias */
+/* LH - notify_only mode would be for notifying hosts on an IP alias
+ * that just came back up, for ex, when failing over a HA service to
+ * another host.... */
+#define STATIC_HOSTNAME 8      /* Always use the hostname set by -n */
+#define        MODE_NO_NOTIFY  16      /* Don't notify peers of a reboot */