caps.h 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. // Copyright 2018 yuzu emulator team
  2. // Licensed under GPLv2 or any later version
  3. // Refer to the license.txt file included.
  4. #pragma once
  5. #include "core/hle/service/service.h"
  6. namespace Service::SM {
  7. class ServiceManager;
  8. }
  9. namespace Service::Capture {
  10. enum AlbumImageOrientation {
  11. Orientation0 = 0,
  12. Orientation1 = 1,
  13. Orientation2 = 2,
  14. Orientation3 = 3,
  15. };
  16. enum AlbumReportOption {
  17. Disable = 0,
  18. Enable = 1,
  19. };
  20. enum ContentType : u8 {
  21. Screenshot = 0,
  22. Movie = 1,
  23. ExtraMovie = 3,
  24. };
  25. enum AlbumStorage : u8 {
  26. NAND = 0,
  27. SD = 1,
  28. };
  29. struct AlbumFileDateTime {
  30. u16 year;
  31. u8 month;
  32. u8 day;
  33. u8 hour;
  34. u8 minute;
  35. u8 second;
  36. u8 uid;
  37. };
  38. struct AlbumEntry {
  39. u64 size;
  40. u64 application_id;
  41. AlbumFileDateTime datetime;
  42. AlbumStorage storage;
  43. ContentType content;
  44. u8 padding[6];
  45. };
  46. struct AlbumFileEntry {
  47. u64 size;
  48. u64 hash;
  49. AlbumFileDateTime datetime;
  50. AlbumStorage storage;
  51. ContentType content;
  52. u8 padding[5];
  53. u8 unknown;
  54. };
  55. struct ApplicationAlbumEntry {
  56. u64 size;
  57. u64 hash;
  58. AlbumFileDateTime datetime;
  59. AlbumStorage storage;
  60. ContentType content;
  61. u8 padding[5];
  62. u8 unknown;
  63. };
  64. struct ApplicationAlbumFileEntry {
  65. ApplicationAlbumEntry entry;
  66. AlbumFileDateTime datetime;
  67. u64 unknown;
  68. };
  69. /// Registers all Capture services with the specified service manager.
  70. void InstallInterfaces(SM::ServiceManager& sm);
  71. } // namespace Service::Capture