📄 acp.h
字号:
/************************************************** * * ACP.h * * CVS ID: $Id: ACP.h,v 1.4 2007/09/20 21:35:51 longauer Exp $ * Author: Leos Longauer [LL] - STM * Date: $Date: 2007/09/20 21:35:51 $ * Revision: $Revision: 1.4 $ * * Description: * * public header: Authentication Coprocessor * *************************************************** * * COPYRIGHT (C) ST Microelectronics 2007 * All Rights Reserved * *************************************************** * * STM CVS Log: * * $Log: ACP.h,v $ * Revision 1.4 2007/09/20 21:35:51 longauer * virtual iPod authentication is working * * Revision 1.3 2007/09/04 16:54:27 longauer * coprocessor data processing; IAP_ProcessFsm() established; * * Revision 1.2 2007/09/03 13:25:18 longauer * Ipod Rx Archive; files affected: ACP.h, iAP.*, player.c, gendef.h * * Revision 1.1 2007/08/10 12:39:07 longauer * first commit - coprocessor response simulation * * ***************************************************/#ifndef _ACP_H#define _ACP_H#if (0!=IPOD_AP)/*************************** DEFINITIONS **************************//*---------------------------------------------------------------------------*//*!\brief Compilation switches *//*---------------------------------------------------------------------------*/#define _ACP_DEBUG#define _B32_BACK_COMPATIBILITY //provisional#define C_ACP_BUFFER_LENGTH 132 /* TAKE CARE ALL ACP STRUCTURES FITS *//* valid for version 05Dec'06 - can change */#define C_ACP_CHALLENGE_V1_LENGTH 16#define C_ACP_CHALLENGE_V2_LENGTH 20#define C_ACP_CHALLENGE_LENGTH C_ACP_CHALLENGE_V2_LENGTH /* max length */#define C_ACP_PAGE_LENGTH 128#define C_ACP_SIGNATURE_LENGTH 128//#if (C_ACP_BUFFER_LENGTH<sizeof(tAcpCertPageStatusData))//#error("ACP COMPILATION ERROR - C_ACP_BUFFER_LENGTH")//#endif//#if (C_ACP_BUFFER_LENGTH<sizeof(tAcpSignatureStatusData))//#error("ACP COMPILATION ERROR - C_ACP_BUFFER_LENGTH")//#endif/*---------------------------------------------------------------------------*//*!\brief iAP command events *//*---------------------------------------------------------------------------*/typedef enum{ ACP_CMD_INIT = 0, ACP_CMD_GET_INFO, /* 1 */ ACP_CMD_GET_PAGE, /* 2 */ ACP_CMD_GET_SIGNATURE, /* 3 */} t_acp_cmd;typedef struct{ uint8 ChallengeData[C_ACP_CHALLENGE_LENGTH];} tAcpChallengeCmdData;typedef uint8 tAcpPageCmdData;/* command event - from player to ACP */typedef struct{ uint8* pData; /* ptr to the status data */ t_acp_cmd Cmd;} t_acp_cmd_event;/*---------------------------------------------------------------------------*//*!\brief ACP status events *//*---------------------------------------------------------------------------*/typedef struct{ uint8* pBuffer; uint16 BufferLength;} tAcpInitInfo;typedef struct{ union { struct { uint8 FWMajVer; /* 0: */ uint8 FWMinVer; /* 1: */ uint8 AuthMajVer; /* 2: */ uint8 AuthMinVer; /* 3: */ } V; struct { uint8 FWMajVer; /* 0: 0x01 */ uint8 FWMinVer; /* 1: 0x00 */ uint8 AuthMajVer; /* 2: 0x01 */ uint8 AuthMinVer; /* 3: 0x00 */ uint16 AuthIndexSupHigh; /* 4: 0x0000 */ uint16 AuthIndexSupLow; /* 5: 0x0000 */ uint32 DeviceID; /* 6: 0x........ */ uint8 AuthIndex; /* 0x10: 0? */ } V1; struct { uint8 FWMajVer; /* 0: 0x02 */ uint8 FWMinVer; /* 1: 0x00 */ uint8 AuthMajVer; /* 2: 0x02 */ uint8 AuthMinVer; /* 3: 0x00 */ uint32 DeviceID; /* 4: 0x00000200 */ uint32 CertDataLen; /* 0x30: 0x......(<=1920) */ uint8 PageMaxNum; /* number of sections */ } V2; } Version;} tAcpInfoStatusData;typedef struct{ uint8 PageNum; uint16 PageLen; uint8 PageData[C_ACP_PAGE_LENGTH];} tAcpCertPageStatusData;typedef struct{ uint16 SignatureLen; uint8 SignatureData[C_ACP_SIGNATURE_LENGTH];} tAcpSignatureStatusData;/* status event- from ACP to player */typedef struct{ uint8* pData; /* ptr to the status data */ t_acp_cmd ReplyStatusTo; t_acp_state Error;} t_acp_status_event;/*********************** FUNCTION PROTOTYPES **********************//*---------------------------------------------------------------------------*//*!\brief Acp Task functions *//*---------------------------------------------------------------------------*/void acp_command(t_acp_cmd_event* acp_cmd);void acp_status(t_acp_status_event* acp_stat);//void InitACPTask(void);void ACPTask(void *unused);#endif /*IPOD_AP*/#endif /*_ACP_H*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -