DrmAdpApi.h
上传用户:super_houu
上传日期:2008-09-21
资源大小:4099k
文件大小:2k
源码类别:

DVD

开发平台:

Others

  1. /*
  2. // $Header: /I76/I76_Common/I76_Reference/Playcore/Nav_Clips/AviDrm/libDrmDecrypt/DrmAdpApi.h 2     2/15/04 7:41p Lotan $
  3. // Copyright (c) DivXNetworks, Inc. http://www.divxnetworks.com
  4. // All rights reserved.
  5. //
  6. // This software is the confidential and proprietary information of DivXNetworks
  7. // Inc. ("Confidential Information").  You shall not disclose such Confidential
  8. // Information and shall use it only in accordance with the terms of the license
  9. // agreement you entered into with DivXNetworks, Inc.
  10. */
  11. /*
  12. These functions are the top level interface to the Authorized Disconnected Playback (ADP)
  13. Digital Rights Management (DRM) capabilities.  The names correspond to the  DivX
  14. Authorized Disconnected Playback document and the user interface flow.
  15. */
  16. #ifndef DRMADPAPI_H_INCLUDE
  17. #define DRMADPAPI_H_INCLUDE
  18. #include "Config.h" // Global Configuration - do not remove!
  19. #ifdef AVI_DRM_SUPPORT
  20. #include "PlaycoreNav_ClipsAviDrmLibDrmCommonportable.h" /* uint8_t, uint16_t */
  21. #define DRM_CONTEXT_SIZE_BYTES 2226
  22. #define DRM_REGISTRATION_CODE_BYTES 9
  23. #define DRM_HEADER_SIZE_BYTES 2224
  24. #ifdef __cplusplus
  25. extern "C" {
  26. #endif
  27. /* Random number functions. */
  28. void drmSetRandomSample(); /* Call this at least 3 times from user input before
  29.                               call to drmGetRegistrationCode or drmInitPlayback. */
  30. uint32_t drmGetRandomSampleCounter(); /* Can be useful for making sure you have
  31.                                          enough random samples. */
  32. /* Owner Registration Function. */
  33. uint8_t drmGetRegistrationCodeString(char *registrationCodeString);
  34. /* Playback functions. */
  35. uint8_t drmInitPlaybackContext(uint8_t *drmHeaderInfo /*, uint8_t *drmContext*/);
  36. //uint8_t drmInitPlaybackContext(uint8_t *drmHeaderFromFile, uint8_t *drmContext);
  37. uint8_t drmQueryRentalStatus(uint8_t *drmContext, uint8_t *useLimit,
  38.  uint8_t *useCount);  /* useLimit and useCount are out
  39.  parameters. */
  40. #ifdef AVI_MALLOC_SIZE_DOWN
  41. uint8_t drmCommitPlayback(uint8_t *drmContext, DWORD dwClipStartAddr, DWORD pdwOffset);
  42. #else
  43. uint8_t drmCommitPlayback(uint8_t *drmContext);
  44. #endif
  45. uint8_t drmDecryptFrame(uint8_t *drmContext, uint8_t *frame, uint32_t frameSize, 
  46. uint8_t *drmFrameInfo);
  47. #ifdef __cplusplus
  48. };
  49. #endif
  50. #endif // AVI_DRM_SUPPORT
  51. #endif DRMADPAPI_H_INCLUDE