uspienv.h 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. //
  2. // uspienv.h
  3. //
  4. // USPi - An USB driver for Raspberry Pi written in C
  5. // Copyright (C) 2014-2015 R. Stange <rsta2@o2online.de>
  6. //
  7. // This program is free software: you can redistribute it and/or modify
  8. // it under the terms of the GNU General Public License as published by
  9. // the Free Software Foundation, either version 3 of the License, or
  10. // (at your option) any later version.
  11. //
  12. // This program is distributed in the hope that it will be useful,
  13. // but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  15. // GNU General Public License for more details.
  16. //
  17. // You should have received a copy of the GNU General Public License
  18. // along with this program. If not, see <http://www.gnu.org/licenses/>.
  19. //
  20. #ifndef _uspienv_h
  21. #define _uspienv_h
  22. #include <uspienv/memory.h>
  23. #include <uspienv/screen.h>
  24. #include <uspienv/logger.h>
  25. #include <uspienv/exceptionhandler.h>
  26. #include <uspienv/interrupt.h>
  27. #include <uspienv/timer.h>
  28. #include <uspienv/startup.h>
  29. #ifdef __cplusplus
  30. extern "C" {
  31. #endif
  32. typedef struct TUSPiEnv
  33. {
  34. TMemorySystem m_Memory;
  35. TScreenDevice m_Screen;
  36. TLogger m_Logger;
  37. TExceptionHandler m_ExceptionHandler;
  38. TInterruptSystem m_Interrupt;
  39. TTimer m_Timer;
  40. }
  41. TUSPiEnv;
  42. // returns 0 on failure
  43. int USPiEnvInitialize (void);
  44. void USPiEnvClose (void);
  45. TScreenDevice *USPiEnvGetScreen (void);
  46. #ifdef __cplusplus
  47. }
  48. #endif
  49. #endif