hdt: Fixing latency indentation
[profile/ivi/syslinux.git] / com32 / hdt / hdt.c
1 /* ----------------------------------------------------------------------- *
2  *
3  *   Copyright 2009 Erwan Velu - All Rights Reserved
4  *
5  *   Permission is hereby granted, free of charge, to any person
6  *   obtaining a copy of this software and associated documentation
7  *   files (the "Software"), to deal in the Software without
8  *   restriction, including without limitation the rights to use,
9  *   copy, modify, merge, publish, distribute, sublicense, and/or
10  *   sell copies of the Software, and to permit persons to whom
11  *   the Software is furnished to do so, subject to the following
12  *   conditions:
13  *
14  *   The above copyright notice and this permission notice shall
15  *   be included in all copies or substantial portions of the Software.
16  *
17  *   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
18  *   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
19  *   OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
20  *   NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
21  *   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
22  *   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
23  *   FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
24  *   OTHER DEALINGS IN THE SOFTWARE.
25  *
26  * -----------------------------------------------------------------------
27  */
28
29 /*
30  * hdt.c
31  *
32  * An Hardware Detection Tool
33  */
34
35 #include <stdio.h>
36 #include <console.h>
37 #include <consoles.h>
38 #include "hdt.h"
39 #include "hdt-menu.h"
40 #include "hdt-cli.h"
41 #include "hdt-common.h"
42
43 int display_line_nb = 0;
44
45 int main(const int argc, const char *argv[])
46 {
47   char version_string[256];
48   const char *arg;
49   struct s_hardware hardware;
50
51   snprintf(version_string, sizeof version_string, "%s %s by %s",
52            PRODUCT_NAME,VERSION,AUTHOR);
53
54   /* Cleaning structures */
55   init_hardware(&hardware);
56
57   /* Detecting parameters */
58   detect_parameters(argc, argv, &hardware);
59
60   /* Detecting Syslinux version */
61   detect_syslinux(&hardware);
62
63   console_ansi_raw();
64   /* Opening the Syslinux console */
65 //  openconsole(&dev_stdcon_r, &dev_ansicon_w);
66
67   clear_screen();
68   printf("%s\n", version_string);
69
70   if ((arg = find_argument(argv + 1, "nomenu")))
71     start_cli_mode(&hardware);
72   else {
73     int return_code = start_menu_mode(&hardware, version_string);
74
75     if (return_code == HDT_RETURN_TO_CLI)
76       start_cli_mode(&hardware);
77     else
78       return return_code;
79   }
80
81   return 0;
82 }