diff --git a/lib/ChangeLog b/lib/ChangeLog
index 6611196..40e0f22 100644
--- a/lib/ChangeLog
+++ b/lib/ChangeLog
@@ -6,6 +6,11 @@
 	* sockopt.h: Cleanup SOCKOPT_CMSG defines a bit. Add a throwaway
           define for SOPT_SIZE_CMSG_IFINDEX_IPV4 for systems which have
           neither IP_RECVIF nor IP_PKTINFO (eg openbsd).
+	* command.h: Cleanup the defines a bit, add helper defines and
+	  collapse all defines to use those. Add an attribute field to
+	  cmd_element to support, eg hidden or deprecated commands, add
+          defun defines for such. All that's left to do is add logic
+          to command.c to check these attributes... ;)
 
 2004-10-19 Hasso Tepper <hasso at quagga.net>
 
diff --git a/lib/command.h b/lib/command.h
index 8a17bbb..d357698 100644
--- a/lib/command.h
+++ b/lib/command.h
@@ -125,6 +125,12 @@
   vector cmd_vector;	
 };
 
+enum
+{
+  CMD_ATTR_DEPRECATED,
+  CMD_ATTR_HIDDEN,
+};
+
 /* Structure of command element. */
 struct cmd_element 
 {
@@ -136,6 +142,7 @@
   unsigned int cmdsize;		/* Command index count. */
   char *config;			/* Configuration string */
   vector subconfig;		/* Sub configuration string */
+  u_char attr;			/* Command attributes */
 };
 
 /* Command description structure. */
@@ -164,17 +171,40 @@
 /* Turn off these macros when uisng cpp with extract.pl */
 #ifndef VTYSH_EXTRACT_PL  
 
-/* DEFUN for vty command interafce. Little bit hacky ;-). */
-#define DEFUN(funcname, cmdname, cmdstr, helpstr) \
-  int funcname (struct cmd_element *, struct vty *, int, const char *[]); \
+/* helper defines for end-user DEFUN* macros */
+#define DEFUN_CMD_ELEMENT(funcname, cmdname, cmdstr, helpstr, attrs, dnum) \
   struct cmd_element cmdname = \
   { \
     .string = cmdstr, \
     .func = funcname, \
-    .doc = helpstr \
-  }; \
+    .doc = helpstr, \
+    .attr = attrs, \
+    .daemon = dnum, \
+  };
+
+#define DEFUN_CMD_FUNC_DECL(funcname) \
+  int funcname (struct cmd_element *, struct vty *, int, const char *[]); \
+
+#define DEFUN_CMD_FUNC_TEXT(funcname) \
   int funcname \
-  (struct cmd_element *self, struct vty *vty, int argc, const char *argv[])
+    (struct cmd_element *self, struct vty *vty, int argc, const char *argv[])
+
+/* DEFUN for vty command interafce. Little bit hacky ;-). */
+#define DEFUN(funcname, cmdname, cmdstr, helpstr) \
+  DEFUN_CMD_FUNC_DECL(funcname) \
+  DEFUN_CMD_ELEMENT(funcname, cmdname, cmdstr, helpstr, 0, 0) \
+  DEFUN_CMD_FUNC_TEXT(funcname)
+
+#define DEFUN_ATTR(funcname, cmdname, cmdstr, helpstr, attr) \
+  DEFUN_CMD_FUNC_DECL(funcname) \
+  DEFUN_CMD_ELEMENT(funcname, cmdname, cmdstr, helpstr, attr, 0) \
+  DEFUN_CMD_FUNC_TEXT(funcname)
+
+#define DEFUN_HIDDEN(funcname, cmdname, cmdstr, helpstr) \
+  DEFUN_ATTR (funcname, cmdname, cmdstr, helpstr, CMD_ATTR_HIDDEN)
+
+#define DEFUN_DEPRECATED(funcname, cmdname, cmdstr, helpstr) \
+  DEFUN (funcname, cmdname, cmdstr, helpstr, CMD_ATTR_DEPRECATED) \
 
 /* DEFUN_NOSH for commands that vtysh should ignore */
 #define DEFUN_NOSH(funcname, cmdname, cmdstr, helpstr) \
@@ -182,35 +212,26 @@
 
 /* DEFSH for vtysh. */
 #define DEFSH(daemon, cmdname, cmdstr, helpstr) \
-  struct cmd_element cmdname = \
-  { \
-    cmdstr, \
-    NULL, \
-    helpstr, \
-    daemon \
-  }; \
+  DEFUN_CMD_ELEMENT(NULL, cmdname, cmdstr, helpstr, 0, daemon) \
 
 /* DEFUN + DEFSH */
 #define DEFUNSH(daemon, funcname, cmdname, cmdstr, helpstr) \
-  int funcname (struct cmd_element *, struct vty *, int, const char *[]); \
-  struct cmd_element cmdname = \
-  { \
-    cmdstr, \
-    funcname, \
-    helpstr, \
-    daemon \
-  }; \
-  int funcname \
-  (struct cmd_element *self, struct vty *vty, int argc, const char *argv[])
+  DEFUN_CMD_FUNC_DECL(funcname) \
+  DEFUN_CMD_ELEMENT(funcname, cmdname, cmdstr, helpstr, 0, daemon) \
+  DEFUN_CMD_FUNC_TEXT(funcname)
 
 /* ALIAS macro which define existing command's alias. */
 #define ALIAS(funcname, cmdname, cmdstr, helpstr) \
-  struct cmd_element cmdname = \
-  { \
-    cmdstr, \
-    funcname, \
-    helpstr \
-  };
+  DEFUN_CMD_ELEMENT(funcname, cmdname, cmdstr, helpstr, 0, 0)
+
+#define ALIAS_ATTR(funcname, cmdname, cmdstr, helpstr, attr) \
+  DEFUN_CMD_ELEMENT(funcname, cmdname, cmdstr, helpstr, attr, daemon) \
+
+#define ALIAS_HIDDEN(funcname, cmdname, cmdstr, helpstr) \
+  DEFUN_CMD_ELEMENT(funcname, cmdname, cmdstr, helpstr, CMD_ATTR_HIDDEN, 0)
+
+#define ALIAS_DEPRECATED(funcname, cmdname, cmdstr, helpstr) \
+  DEFUN_CMD_ELEMENT(funcname, cmdname, cmdstr, helpstr, CMD_ATTR_DEPRECATED, 0)
 
 #endif /* VTYSH_EXTRACT_PL */
 
