FileSystemBlockAccessExtensions.h 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. /******************************************************************************
  2. |* THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
  3. |* ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
  4. |* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
  5. |* PARTICULAR PURPOSE.
  6. |*
  7. |* Copyright 1995-2005 Nero AG. All Rights Reserved.
  8. |*-----------------------------------------------------------------------------
  9. |* NeroSDK / NeroAPI
  10. |*
  11. |* PROGRAM: FileSystemBlockAccessExtensions.h
  12. |*
  13. |* PURPOSE: All block device access extensions are derived from this one.
  14. |*
  15. ******************************************************************************/
  16. #ifndef FILESYSTEMBLOCKACCESSEXTENSIONS_H
  17. #define FILESYSTEMBLOCKACCESSEXTENSIONS_H
  18. #if defined(__BORLANDC__)
  19. // NEROAPI expects structs to be 8byte aligned
  20. #pragma pack(push, 8)
  21. // tell Borland C++ Builder to treat enums as int
  22. #pragma option push -b
  23. #endif
  24. /*
  25. * Type of an extension.
  26. * Currently no extension is provided within the NeroSDK
  27. */
  28. enum NeroFSBlockAccessExtensionsType
  29. {
  30. etMRWReadDefectiveManagementInfo,
  31. etDVDPRWFormatExtension,
  32. etSectorMappingControlExtension,
  33. etBlankAreaControlExtension,
  34. etIllegalBlockAccessExtension,
  35. etHDPartitionInfo,
  36. etHDUsedBlockAccessExtention,
  37. etSectorPatchControlExtension,
  38. etHDPartitionLocker,
  39. etMediumCDStamp,
  40. etFragmentReservation,
  41. etUDFImageEditExtension,
  42. etSessionControl,
  43. etNeroFSBAExtensionReserved1,
  44. etNeroFSBAExtensionReserved2,
  45. etMediumInfo,
  46. etNeroFSBAExtensionReserved3,
  47. etNeroFSBAExtensionReserved4,
  48. etNeroFSBAExtensionReserved5,
  49. etNeroFSBAExtensionReserved6
  50. };
  51. class INeroFileSystemBlockAccessExtension
  52. {
  53. public:
  54. virtual NeroFSBlockAccessExtensionsType GetExtensionType() const = 0;
  55. virtual ~INeroFileSystemBlockAccessExtension() {};
  56. };
  57. #if defined(__BORLANDC__)
  58. #pragma pack(pop)
  59. #pragma option pop
  60. #endif
  61. #endif // FILESYSTEMBLOCKACCESSEXTENSIONS_H