FreeCalypso > hg > fc-magnetite
comparison src/gpf3/ccd/cdt.c @ 2:c41a534f33c6
src/gpf3: preened GPF goo from TCS3.2
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sun, 25 Sep 2016 23:52:50 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
1:864b8cc0cf63 | 2:c41a534f33c6 |
---|---|
1 /* | |
2 +----------------------------------------------------------------------------- | |
3 | Project : | |
4 | Modul : cdt.c | |
5 +----------------------------------------------------------------------------- | |
6 | Copyright 2002 Texas Instruments Berlin, AG | |
7 | All rights reserved. | |
8 | | |
9 | This file is confidential and a trade secret of Texas | |
10 | Instruments Berlin, AG | |
11 | The receipt of or possession of this file does not convey | |
12 | any rights to reproduce or disclose its contents or to | |
13 | manufacture, use, or sell anything it may describe, in | |
14 | whole, or in part, without the specific written consent of | |
15 | Texas Instruments Berlin, AG. | |
16 +----------------------------------------------------------------------------- | |
17 | Purpose : Ccddata tool. Delivers informations from ccddata_dll.dll. | |
18 +----------------------------------------------------------------------------- | |
19 */ | |
20 | |
21 /*==== INCLUDES =============================================================*/ | |
22 #include "typedefs.h" | |
23 #include "ccdtable.h" | |
24 #include "ccddata.h" | |
25 | |
26 #include <stdio.h> | |
27 #include <string.h> | |
28 | |
29 static char* | |
30 #include "ccddata_version.h" | |
31 ; | |
32 | |
33 /*==== CONSTS ================================================================*//*==== TYPES =================================================================*/ | |
34 /*==== LOCALS ================================================================*/ | |
35 static int ccddata_version; | |
36 static int ccddata_table_version; | |
37 static char* cdt_ccddata_dllname; | |
38 /*==== PRIVATE FUNCTIONS =====================================================*/ | |
39 /* | |
40 +------------------------------------------------------------------------------ | |
41 | Function : parse_cmdline | |
42 +------------------------------------------------------------------------------ | |
43 | Description : Checks options and parameters. | |
44 | | |
45 | Parameters : Argc and argv from main. | |
46 | | |
47 | Return : 0 if correct cmdline, -1 otherwise. | |
48 | | |
49 +------------------------------------------------------------------------------ | |
50 */ | |
51 static int parse_cmdline (int argc, char* argv[]) | |
52 { | |
53 int ac = 1; | |
54 | |
55 if (argc < 2) | |
56 return -1; | |
57 | |
58 while (ac < argc) | |
59 { | |
60 char* av; | |
61 av = argv[ac]; | |
62 switch (av[0]) | |
63 { | |
64 case '-': | |
65 if (!strcmp (&av[1], "cdv")) /* Ccddata version */ | |
66 { | |
67 ccddata_version = 1; | |
68 } | |
69 else if (!strcmp (&av[1], "tv")) /* Table version */ | |
70 { | |
71 ccddata_table_version = 1; | |
72 } | |
73 else if (!strcmp (&av[1], "l")) /* Cccdata dll */ | |
74 { | |
75 ++ac; | |
76 cdt_ccddata_dllname = argv[ac]; | |
77 } | |
78 else | |
79 { | |
80 fprintf (stderr, "Unknown option: %s\n", av); | |
81 return -1; | |
82 } | |
83 break; | |
84 default: | |
85 return -1; | |
86 } | |
87 ac++; | |
88 } | |
89 return 0; | |
90 } | |
91 | |
92 | |
93 /* | |
94 +------------------------------------------------------------------------------ | |
95 | Function : usage | |
96 +------------------------------------------------------------------------------ | |
97 | Description : Print usage information. | |
98 | | |
99 | Parameters : tapname - The name of the tap executable. | |
100 | | |
101 | Return : - | |
102 | | |
103 +------------------------------------------------------------------------------ | |
104 */ | |
105 | |
106 static void usage (char* cdtname) | |
107 { | |
108 fprintf (stderr, "Usage: %s [options]\n", cdtname); | |
109 fprintf (stderr, " Options:\n"); | |
110 fprintf (stderr, " -cdv: print version of ccddata dll\n"); | |
111 fprintf (stderr, " -tv: print version ccddata tables\n"); | |
112 fprintf (stderr, " -l <ccddata-dll>: select dedicated ccddata dll\n"); | |
113 } | |
114 | |
115 /*==== PUBLIC FUNCTIONS ======================================================*/ | |
116 | |
117 /* | |
118 +------------------------------------------------------------------------------ | |
119 | Function : main | |
120 +------------------------------------------------------------------------------ | |
121 | Description : The start into happiness. | |
122 | | |
123 | Parameters : As usual. See parse_cmdline() and usage() for details. | |
124 | | |
125 | Return : 0 | |
126 | | |
127 +------------------------------------------------------------------------------ | |
128 */ | |
129 | |
130 int main (int argc, char** argv) | |
131 { | |
132 printf ("Ccddata tool %s\n", CCDDATA_VERSION); | |
133 | |
134 if (parse_cmdline (argc, argv) < 0) | |
135 { | |
136 char *cdtbase; | |
137 cdtbase = strrchr (argv[0], '\\'); | |
138 if (!cdtbase) | |
139 cdtbase = strrchr (argv[0], '/'); | |
140 usage (cdtbase ? cdtbase+1 : argv[0]); | |
141 return -1; | |
142 } | |
143 | |
144 if (ccddata_init (cdt_ccddata_dllname, 0, NULL, NULL) != CCDDATA_DLL_OK) | |
145 { | |
146 fprintf (stderr, "Cannot load ccddata dll"); | |
147 return -1; | |
148 } | |
149 | |
150 if (ccddata_version) | |
151 printf ("Version: %s\n", ccddata_get_version()); | |
152 if (ccddata_table_version) | |
153 printf ("Table version: %d\n", ccddata_get_table_version()); | |
154 | |
155 ccddata_exit (); | |
156 | |
157 return 0; | |
158 } |