📄 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 + -