hdt: Make PXE module use the new framework
authorPierre-Alexandre Meyer <pierre@mouraf.org>
Sun, 22 Mar 2009 03:36:13 +0000 (20:36 -0700)
committerPierre-Alexandre Meyer <pierre@mouraf.org>
Sun, 22 Mar 2009 03:36:13 +0000 (20:36 -0700)
Impact: Cleanups in the PXE module.

The PXE module now uses the new framework.

Misc.: fix indentation in the PXE module.

Signed-off-by: Pierre-Alexandre Meyer <pierre@mouraf.org>
com32/hdt/hdt-cli-pxe.c
com32/hdt/hdt-cli.c
com32/hdt/hdt-cli.h

index f7972b0..4f882fc 100644 (file)
 void main_show_pxe(int argc __unused, char **argv __unused,
                   struct s_hardware *hardware)
 {
-  char buffer[81];
-  memset(buffer, 0, sizeof(81));
-  if (hardware->sv->filesystem != SYSLINUX_FS_PXELINUX) {
-    more_printf("You are not currently using PXELINUX\n");
-    return;
-  }
+       char buffer[81];
+       memset(buffer, 0, sizeof(81));
+       if (hardware->sv->filesystem != SYSLINUX_FS_PXELINUX) {
+               more_printf("You are not currently using PXELINUX\n");
+               return;
+       }
 
-  detect_pxe(hardware);
-  more_printf("PXE\n");
-  if (hardware->is_pxe_valid == false) {
-    more_printf(" No valid PXE ROM found\n");
-    return;
-  }
+       detect_pxe(hardware);
+       more_printf("PXE\n");
+       if (hardware->is_pxe_valid == false) {
+               more_printf(" No valid PXE ROM found\n");
+               return;
+       }
 
-  struct s_pxe *p = &hardware->pxe;
-  more_printf(" PCI device no: %d \n", p->pci_device_pos);
+       struct s_pxe *p = &hardware->pxe;
+       more_printf(" PCI device no: %d \n", p->pci_device_pos);
 
-  if (hardware->pci_ids_return_code == -ENOPCIIDS) {
-    snprintf(buffer, sizeof(buffer),
-       " PCI ID       : %04x:%04x[%04x:%04X] rev(%02x)\n",
-       p->vendor_id, p->product_id, p->subvendor_id,
-       p->subproduct_id, p->rev);
-    snprintf(buffer, sizeof(buffer),
-       " PCI Bus pos. : %02x:%02x.%02x\n", p->pci_bus,
-       p->pci_dev, p->pci_func);
-    more_printf(buffer);
-  } else {
-    snprintf(buffer, sizeof(buffer), " Manufacturer : %s \n",
-       p->pci_device->dev_info->vendor_name);
-    more_printf(buffer);
-    snprintf(buffer, sizeof(buffer), " Product      : %s \n",
-       p->pci_device->dev_info->product_name);
-    more_printf(buffer);
-  }
-  more_printf(" Addresses    : %d.%d.%d.%d @ %s\n", p->ip_addr[0],
-        p->ip_addr[1], p->ip_addr[2], p->ip_addr[3], p->mac_addr);
+       if (hardware->pci_ids_return_code == -ENOPCIIDS) {
+               snprintf(buffer, sizeof(buffer),
+                        " PCI ID       : %04x:%04x[%04x:%04X] rev(%02x)\n",
+                        p->vendor_id, p->product_id, p->subvendor_id,
+                        p->subproduct_id, p->rev);
+               snprintf(buffer, sizeof(buffer),
+                        " PCI Bus pos. : %02x:%02x.%02x\n", p->pci_bus,
+                        p->pci_dev, p->pci_func);
+               more_printf(buffer);
+       } else {
+               snprintf(buffer, sizeof(buffer), " Manufacturer : %s \n",
+                        p->pci_device->dev_info->vendor_name);
+               more_printf(buffer);
+               snprintf(buffer, sizeof(buffer), " Product      : %s \n",
+                        p->pci_device->dev_info->product_name);
+               more_printf(buffer);
+       }
+       more_printf(" Addresses    : %d.%d.%d.%d @ %s\n", p->ip_addr[0],
+                   p->ip_addr[1], p->ip_addr[2], p->ip_addr[3], p->mac_addr);
 }
 
-static void show_pxe_help()
-{
-  more_printf("Show supports the following commands : %s\n",
-        CLI_SHOW_LIST);
-}
+struct cli_module_descr pxe_show_modules = {
+       .modules = NULL,
+       .nb_modules = 0,
+       .default_callback = main_show_pxe,
+};
 
-static void pxe_show(char *item, struct s_hardware *hardware)
-{
-  if (!strncmp(item, CLI_SHOW_LIST, sizeof(CLI_SHOW_LIST) - 1)) {
-    main_show_pxe(0, NULL, hardware);
-    return;
-  }
-  show_pxe_help();
-}
-
-void handle_pxe_commands(char *cli_line, struct s_hardware *hardware)
-{
-  if (!strncmp(cli_line, CLI_SHOW, sizeof(CLI_SHOW) - 1)) {
-    pxe_show(strstr(cli_line, "show") + sizeof(CLI_SHOW), hardware);
-    return;
-  }
-}
+struct cli_mode_descr pxe_mode = {
+       .mode = PXE_MODE,
+       .name = CLI_PXE,
+       .default_modules = NULL,
+       .show_modules = &pxe_show_modules,
+       .set_modules = NULL,
+};
index 06c6a5b..17ed565 100644 (file)
@@ -37,6 +37,7 @@ struct cli_mode_descr *list_modes[] = {
        &hdt_mode,
        &dmi_mode,
        &syslinux_mode,
+       &pxe_mode,
 };
 
 /**
@@ -371,9 +372,6 @@ old_cli:
        case CPU_MODE:
                handle_cpu_commands(line, hardware);
                break;
-       case PXE_MODE:
-               handle_pxe_commands(line, hardware);
-               break;
        case VESA_MODE:
                handle_vesa_commands(line, hardware);
                break;
index 99e9cc6..b786e3f 100644 (file)
@@ -114,11 +114,12 @@ struct cli_callback_descr {
 };
 
 /* List of implemented modes */
-#define MAX_MODES 3
+#define MAX_MODES 4
 struct cli_mode_descr *list_modes[MAX_MODES];
 struct cli_mode_descr hdt_mode;
 struct cli_mode_descr dmi_mode;
 struct cli_mode_descr syslinux_mode;
+struct cli_mode_descr pxe_mode;
 
 /* cli helpers */
 void find_cli_mode_descr(cli_mode_t mode, struct cli_mode_descr **mode_found);