📄 dvd_ctl.h
字号:
/* * +-------------------------------------------------------------------+ * | Copyright (c) 1995,1996,1997 by Philips Semiconductors. | * | | * | This software is furnished under a license and may only be used | * | and copied in accordance with the terms and conditions of such a | * | license and with the inclusion of this copyright notice. This | * | software or any other copies of this software may not be provided | * | or otherwise made available to any other person. The ownership | * | and title of this software is not transferred. | * | | * | The information in this software is subject to change without | * | any prior notice and should not be construed as a commitment by | * | Philips Semiconductors. | * | | * | This code and information is provided "as is" without any | * | warranty of any kind, either expressed or implied, including but | * | not limited to the implied warranties of merchantability and/or | * | fitness for any particular purpose. | * +-------------------------------------------------------------------+ * * * Module name : DVD_Ctl.h 1.1 * * Last update : 11:47:13 - 98/11/06 * * Description : (Authentication) Interface to DVD * */ #ifndef _DVDD_CTL_H_#define _DVDD_CTL_H_/*----------------------------- includes ------------------------------------*/#if defined(__cplusplus)extern "C" {#endif /*-------------------------- defines ----------------------------------------*/ #define DVDCtl_FILENAME "$$DVD CONTROL$$"typedef enum { DVDCtl_None, DVDCtl_PutOpenDrive, DVDCtl_GetOpenDrive, DVDCtl_PutCloseDrive, DVDCtl_PutDrvChallenge, DVDCtl_GetDrvResponse, DVDCtl_GetDecChallenge, DVDCtl_PutDecResponse, DVDCtl_GetBedk, DVDCtl_GetBetk} DVDCtl_Command;/* * DVD control protocol: * * the TM-1 opens a drive control file using the DVDCtl_FILENAME; * this file can be used for doing authentication, as follows: * * 1) the TM-1 gets a (the) drive id. * * 2) the TM-1 generates a 10 byte drive random * challenge, and writes a block of 12 bytes * to the control file, the first byte being * DVDCtl_PutDrvChallenge, the second the drive id, * and the others the challenge data. * * 3) the TM-1 reads 7 bytes of drive response, * (DVDCtl_GetDrvResponse, drive id, and data) * and does a drive autentication using the * DVDD library, dvddDriveAuth. This dvd response * is triggered by step 1. * * 4) the TM-1 reads 12 bytes of decoder challenge * (DVDCtl_GetDecChallenge, drive id, challenge). * This dvd response is triggered by step 1. * * 5) The TM-1 generates a 5 byte decoder response * using DVDD library, dvddDecoderAuth, and writes * 7 bytes to the control file (DVDCtl_PutDecResponse, * drive id and data). * * 6) The TM-1 writes 1 byte, DVDCtl_GetBedk, to * the control file, for triggering step 6. * * 7) The TM-1 reads 2047 bytes of DVDCtl_GetBedk, * drive id and encoded embedded * disc key, and passes it to the DVD using * the DVDD library, dvddComputeDiscKey. * This dvd response is triggered by step 5. * * 8) The TM-1 writes 2 bytes, DVDCtl_GetBetk and * drive id, to the control file, for triggering * step 8. * * 9) The TM-1 reads 7 bytes of DVDCtl_GetBetk, disc id * and encoded title key, and passes it to the DVD * using the DVDD library, dvddComputeDiscKey. * This dvd response is triggered by step 7. */ #endif /* _DVDD_CTL_H_ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -