Code for talking to the MAX3420 USB Device Controller.
[goodfet] / firmware / include / app.h
1 /*! \file app.h
2  *  \author Dave Huseby
3  *  \brief basic types for defining a firmware app
4  */
5
6 #ifndef APP_H
7 #define APP_H
8
9 // this is the prototype for all app "handle" functions
10 typedef void (*handle_fn)(uint8_t app,
11                                                   uint8_t verb,
12                                                   uint32_t len);
13
14 // Each app must declare one of these
15 typedef struct app_
16 {
17         uint8_t const           app;            /* app number */
18         handle_fn const         handle;         /* handle fn ptr */
19         char const * const      name;           /* name of the app */
20         char const * const      desc;           /* app description */
21 } app_t;
22
23 // The following externs give all apps access to the app list
24
25 // Global list of app_t's for all compiled in apps
26 extern app_t const * const apps[];
27
28 // Global number of apps in the app list
29 extern int const num_apps;
30
31 #endif
32