CHDK_DE Vorschauversion  Trunk Rev. 5663
 Alle Datenstrukturen Dateien Funktionen Variablen Typdefinitionen Aufzählungen Aufzählungswerte Makrodefinitionen
stubs_load.h-Dateireferenz
+ Dieser Graph zeigt, welche Datei direkt oder indirekt diese Datei enthält:

gehe zum Quellcode dieser Datei

Datenstrukturen

struct  _osig
 
struct  _stubs
 

Makrodefinitionen

#define TYPE_NHSTUB   1
 
#define TYPE_DEF   2
 
#define TYPE_IGNORE   3
 
#define TYPE_CONST   4
 

Typdefinitionen

typedef struct _osig osig
 
typedef struct _stubs stub_values
 

Funktionen

stub_valuesnew_stub_values ()
 
osigfind_sig (osig *p, const char *nm)
 
osigfind_sig_val (osig *p, uint32_t val)
 
osigfind_match (osig *p, const char *nm, uint32_t val)
 
osigfind_sig_val_by_type (osig *p, uint32_t val, int typ)
 
void load_funcs (stub_values *sv, char *name)
 
void load_stubs (stub_values *sv, char *name, int exclude_comments)
 
void load_stubs_min (stub_values *sv)
 
void load_modemap (stub_values *sv)
 
void load_platform (stub_values *sv)
 
void load_propcases (stub_values *sv, char *name)
 
void load_makefile (stub_values *sv)
 

Makro-Dokumentation

#define TYPE_CONST   4

Definiert in Zeile 7 der Datei stubs_load.h.

#define TYPE_DEF   2

Definiert in Zeile 5 der Datei stubs_load.h.

#define TYPE_IGNORE   3

Definiert in Zeile 6 der Datei stubs_load.h.

#define TYPE_NHSTUB   1

Definiert in Zeile 4 der Datei stubs_load.h.

Dokumentation der benutzerdefinierten Typen

typedef struct _osig osig
typedef struct _stubs stub_values

Dokumentation der Funktionen

osig* find_match ( osig p,
const char *  nm,
uint32_t  val 
)

Definiert in Zeile 145 der Datei stubs_load.c.

146 {
147  p = find_sig(p, nm);
148  osig *f = p;
149  while (p)
150  {
151  if (p->val == val)
152  return p;
153  p = find_sig(p->nxt, nm);
154  }
155  return f;
156 }
osig* find_sig ( osig p,
const char *  nm 
)

Definiert in Zeile 109 der Datei stubs_load.c.

110 {
111  while (p)
112  {
113  if (strcmp(p->nm, nm) == 0) return p;
114  p = p->nxt;
115  }
116  return 0;
117 }
osig* find_sig_val ( osig p,
uint32_t  val 
)

Definiert in Zeile 120 der Datei stubs_load.c.

121 {
122  while (p)
123  {
124  if (p->val == val) return p;
125  p = p->nxt;
126  }
127  return 0;
128 }
osig* find_sig_val_by_type ( osig p,
uint32_t  val,
int  typ 
)

Definiert in Zeile 131 der Datei stubs_load.c.

132 {
133  while (p)
134  {
135  if ((p->val == val) && (p->type == typ)) return p;
136  p = p->nxt;
137  }
138  return 0;
139 }
void load_funcs ( stub_values sv,
char *  name 
)

Definiert in Zeile 162 der Datei stubs_load.c.

163 {
164  FILE *f = fopen(name, "rb");
165 
166  if (f == NULL) return;
167 
168  char line[500];
169  char nm[100];
170  char val[100];
171  char *s;
172 
173  while (read_line(f,line))
174  {
175  s = get_str(line,val);
176  get_str(s,nm);
177  osig *p = add_sig(nm, val, &sv->stubs, 1);
178  p->type = TYPE_NHSTUB;
179  continue;
180  }
181  fclose(f);
182 }
void load_makefile ( stub_values sv)

Definiert in Zeile 400 der Datei stubs_load.c.

401 {
402  load_a_makefile(sv, "../../makefile.inc"); // new in CHDK 1.4
403  load_a_makefile(sv, "makefile.inc");
404 }
void load_modemap ( stub_values sv)

Definiert in Zeile 240 der Datei stubs_load.c.

241 {
242  FILE *f = fopen("../../shooting.c", "rb");
243 
244  if (f == NULL) return;
245 
246  char line[500];
247  char nm[100];
248  char val[12];
249  int found_modemap = 0;
250  char *s;
251 
252  while (read_line(f,line))
253  {
254  if (found_modemap)
255  {
256  s = strstr(line, "};");
257  if (s != 0) return;
258  s = strstr(line, "MODE_");
259  if (s != 0)
260  {
261  char *c = strstr(line, "//");
262  if ((c == 0) || (c > s))
263  {
264  s = get_str(s,nm);
265  get_str(s,val);
266  add_sig(nm, val, &sv->modemap, 0);
267  }
268  }
269  }
270  else
271  {
272  s = strstr(line, "modemap[");
273  if (s != 0) found_modemap = 1;
274  }
275  }
276 }
void load_platform ( stub_values sv)

Definiert in Zeile 279 der Datei stubs_load.c.

280 {
281  FILE *f = fopen("../../platform_camera.h", "rb");
282 
283  if (f == NULL) return;
284 
285  char line[500];
286  char val[12];
287  char div[12];
288  int v, d;
289  char *s;
290 
291  while (read_line(f,line))
292  {
293  s = strstr(line, "CAM_DNG_LENS_INFO");
294  if (s != 0)
295  {
296  char *c = strstr(line, "//");
297  if ((c == 0) || (c > s))
298  {
299  s = strstr(line,"{")+1;
300  s = get_str(s,val);
301  s = get_str(s,div);
302  v = atoi(val);
303  d = atoi(div);
304  sv->min_focus_len = (v * 1000) / d;
305  s = get_str(s,val);
306  s = get_str(s,div);
307  v = atoi(val);
308  d = atoi(div);
309  sv->max_focus_len = (v * 1000) / d;
310  }
311  }
312  s = strstr(line, "CAM_PROPSET");
313  if (s != 0)
314  {
315  char *c = strstr(line, "//");
316  if ((c == 0) || (c > s))
317  {
318  s = s + strlen("CAM_PROPSET");
319  s = get_str(s,val);
320  v = atoi(val);
321  sv->propset = v;
322  }
323  }
324  }
325  fclose(f);
326 }
void load_propcases ( stub_values sv,
char *  name 
)

Definiert in Zeile 329 der Datei stubs_load.c.

330 {
331  FILE *f = fopen(fn, "rb");
332 
333  if (f == NULL) return;
334 
335  char line[500];
336  char *s;
337 
338  while (read_line(f,line))
339  {
340  s = strstr(line, "#define");
341  if (s == 0)
342  {
343  continue;
344  }
345  char *c = strstr(line, "//");
346  if (c && c < s)
347  {
348  continue;
349  }
350  char *nm = strtok(s+strlen("#define")," \t");
351  if(!nm)
352  {
353  continue;
354  }
355  if(strncmp(nm,"PROPCASE_",9) != 0)
356  {
357  continue;
358  }
359  char *val = strtok(NULL," \t");
360  if(!val)
361  {
362  continue;
363  }
364 
365  add_sig(nm, val, &sv->propcases, 0);
366  }
367  fclose(f);
368 }
void load_stubs ( stub_values sv,
char *  name,
int  exclude_comments 
)

Definiert in Zeile 228 der Datei stubs_load.c.

229 {
230  load_stubs_file(name, exclude_comments, &sv->stubs);
231 }
void load_stubs_min ( stub_values sv)

Definiert in Zeile 234 der Datei stubs_load.c.

235 {
236  load_stubs_file("stubs_min.S", 1, &sv->stubs_min);
237 }
stub_values* new_stub_values ( )

Definiert in Zeile 17 der Datei stubs_load.c.

18 {
19  stub_values *p = malloc(sizeof(stub_values));
20  p->stubs = 0;
21  p->stubs_min = 0;
22  p->modemap = 0;
23  p->makevals = 0;
24  p->min_focus_len = 0;
25  p->max_focus_len = 0;
26  p->propcases = 0;
27  p->propset = 0;
28  return p;
29 }