-#define ARP_OPT_A (0x1)
-#define ARP_OPT_p (0x2)
-#define ARP_OPT_H (0x4)
-#define ARP_OPT_t (0x8)
-#define ARP_OPT_i (0x10)
-#define ARP_OPT_a (0x20)
-#define ARP_OPT_d (0x40)
-#define ARP_OPT_n (0x80) /* do not resolve addresses */
-#define ARP_OPT_D (0x100) /* HW-address is devicename */
-#define ARP_OPT_s (0x200)
-#define ARP_OPT_v (0x400 * DEBUG) /* debugging output flag */
-
-
-static const struct aftype *ap; /* current address family */
-static const struct hwtype *hw; /* current hardware type */
-static int sockfd; /* active socket descriptor */
-static smallint hw_set; /* flag if hw-type was set (-H) */
-static const char *device = ""; /* current device */
+enum {
+ ARP_OPT_A = (1 << 0),
+ ARP_OPT_p = (1 << 1),
+ ARP_OPT_H = (1 << 2),
+ ARP_OPT_t = (1 << 3),
+ ARP_OPT_i = (1 << 4),
+ ARP_OPT_a = (1 << 5),
+ ARP_OPT_d = (1 << 6),
+ ARP_OPT_n = (1 << 7), /* do not resolve addresses */
+ ARP_OPT_D = (1 << 8), /* HW-address is devicename */
+ ARP_OPT_s = (1 << 9),
+ ARP_OPT_v = (1 << 10) * DEBUG, /* debugging output flag */
+};
+
+enum {
+ sockfd = 3, /* active socket descriptor */
+};
+
+struct globals {
+ const struct aftype *ap; /* current address family */
+ const struct hwtype *hw; /* current hardware type */
+ const char *device; /* current device */
+ smallint hw_set; /* flag if hw-type was set (-H) */
+
+} FIX_ALIASING;
+#define G (*(struct globals*)&bb_common_bufsiz1)
+#define ap (G.ap )
+#define hw (G.hw )
+#define device (G.device )
+#define hw_set (G.hw_set )
+#define INIT_G() do { \
+ device = ""; \
+} while (0)
+