📄 psl_data_bank.cpp
字号:
if (pPSL != NULL)
{
pPSL->user_config.country = (UCHAR)(ulStandard);
/* update navigator with new configuration setting */
PslExternalUpdateCountryStandard(pPSL);
}
else
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslDataSetCountryStandard: NULL handle!\n"));
}
}
/**
* PslDataSetAspectRatio -- set the aspect ratio configuration setting
*
* @param
* pPSL - handle to internal PSL data
* ulAspectRatio - aspect ratio
*
* @retval
* none.
*/
void PslDataSetAspectRatio(PSL_HANDLE *pPSL, ULONG ulAspectRatio)
{
if (pPSL != NULL)
{
pPSL->user_config.tv_type = (UCHAR)(ulAspectRatio);
/* update navigator with new configuration setting */
PslExternalUpdateTvAspectRatio(pPSL);
}
else
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslDataSetAspectRatio: NULL handle!\n"));
}
}
/**
* PslDataSetVideoFormat -- set the video format configuration setting
*
* @param
* pPSL - handle to internal PSL data
* ulVideoFormat - video format
*
* @retval
* none.
*/
void PslDataSetVideoFormat(PSL_HANDLE *pPSL, ULONG ulVideoFormat)
{
if (pPSL != NULL)
{
pPSL->user_config.video_format = (UCHAR)(ulVideoFormat);
/* update navigator with new configuration setting */
PslExternalUpdateVideoFormat(pPSL);
}
else
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslDataSetVideoFormat: NULL handle!\n"));
}
}
/**
* PslDataSetSPDIF -- set the spdif configuration setting
*
* @param
* pPSL - handle to internal PSL data
* ulSPDIF - spdif setting
*
* @retval
* none.
*/
void PslDataSetSPDIF(PSL_HANDLE *pPSL, ULONG ulSPDIF)
{
if (pPSL != NULL)
{
pPSL->user_config.spdif = (UCHAR)(ulSPDIF);
/* update navigator with new configuration setting */
PslExternalUpdateSPDIF(pPSL);
}
else
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslDataSetSPDIF: NULL handle!\n"));
}
}
/**
* PslDataGetMenuLanguage -- get the default menu language configuration setting
*
* @param
* pPSL - handle to internal PSL data
*
* @retval
* menu language code.
*/
ULONG PslDataGetMenuLanguage(PSL_HANDLE *pPSL)
{
ULONG ulSetting = DEF_DVD_MENU_LANGUAGE_SETTING;
if (pPSL != NULL)
{
ulSetting = pPSL->user_config.dvd_menu_language;
}
else
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslDataGetMenuLanguage: NULL handle!\n"));
}
return (ulSetting);
}
/**
* PslDataGetSubtitleLanguage -- get the default subtitle language configuration setting
*
* @param
* pPSL - handle to internal PSL data
*
* @retval
* subtitle language code.
*/
ULONG PslDataGetSubtitleLanguage(PSL_HANDLE *pPSL)
{
ULONG ulSetting = DEF_SUBTITLE_LANGUAGE_SETTING;
if (pPSL != NULL)
{
ulSetting = pPSL->user_config.subtitle_language;
}
else
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslDataGetSubtitleLanguage: NULL handle!\n"));
}
return (ulSetting);
}
/**
* PslDataGetAudioLanguage -- get the default audio language configuration setting
*
* @param
* pPSL - handle to internal PSL data
*
* @retval
* audio language code.
*/
ULONG PslDataGetAudioLanguage(PSL_HANDLE *pPSL)
{
ULONG ulSetting = DEF_AUDIO_LANGUAGE_SETTING;
if (pPSL != NULL)
{
ulSetting = pPSL->user_config.audio_language;
}
else
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslDataGetAudioLanguage: NULL handle!\n"));
}
return (ulSetting);
}
/**
* PslDataGetParentalLevel -- get the parental level configuration setting
*
* @param
* pPSL - handle to internal PSL data
*
* @retval
* parental level
*/
ULONG PslDataGetParentalLevel(PSL_HANDLE *pPSL)
{
ULONG ulSetting = DEF_PARENTAL_LEVEL_SETTING;
if (pPSL != NULL)
{
ulSetting = pPSL->user_config.parental;
}
else
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslDataGetParentalLevel: NULL handle!\n"));
}
return (ulSetting);
}
/**
* PslDataGetParentalPassword -- get the parental password configuration setting
*
* @param
* pPSL - handle to internal PSL data
*
* @retval
* parental password
*/
ULONG PslDataGetParentalPassword(PSL_HANDLE *pPSL)
{
ULONG ulSetting = (DEF_PARENTAL_PWD_SETTING << 24) |
(DEF_PARENTAL_PWD_SETTING << 16) |
(DEF_PARENTAL_PWD_SETTING << 8) |
DEF_PARENTAL_PWD_SETTING;
if (pPSL != NULL)
{
ulSetting = (pPSL->user_config.parental_password[0] << 24) |
(pPSL->user_config.parental_password[1] << 16) |
(pPSL->user_config.parental_password[2] << 8) |
pPSL->user_config.parental_password[3];
}
else
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslDataGetParentalPassword: NULL handle!\n"));
}
return (ulSetting);
}
/**
* PslDataGetCountryStandard -- get the country standard configuration setting
*
* @param
* pPSL - handle to internal PSL data
*
* @retval
* country standard
*/
ULONG PslDataGetCountryStandard(PSL_HANDLE *pPSL)
{
ULONG ulSetting = DEF_COUNTRY_SETTING;
if (pPSL != NULL)
{
ulSetting = pPSL->user_config.country;
}
else
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslDataGetCountryStandard: NULL handle!\n"));
}
return (ulSetting);
}
/**
* PslDataGetAspectRatio -- get the aspect ratio configuration setting
*
* @param
* pPSL - handle to internal PSL data
*
* @retval
* aspect ratio
*/
ULONG PslDataGetAspectRatio(PSL_HANDLE *pPSL)
{
ULONG ulSetting = DEF_ASPECT_RATIO_SETTING;
if (pPSL != NULL)
{
ulSetting = pPSL->user_config.tv_type;
}
else
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslDataGetAspectRatio: NULL handle!\n"));
}
return (ulSetting);
}
/**
* PslDataGetVideoFormat -- get the video format configuration setting
*
* @param
* pPSL - handle to internal PSL data
*
* @retval
* video format
*/
ULONG PslDataGetVideoFormat(PSL_HANDLE *pPSL)
{
ULONG ulSetting = DEF_VIDEO_FORMAT_SETTING;
if (pPSL != NULL)
{
ulSetting = pPSL->user_config.video_format;
}
else
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslDataGetVideoFormat: NULL handle!\n"));
}
return (ulSetting);
}
/**
* PslDataGetSPDIF -- get the spdif configuration setting
*
* @param
* pPSL - handle to internal PSL data
*
* @retval
* spdif setting
*/
ULONG PslDataGetSPDIF(PSL_HANDLE *pPSL)
{
ULONG ulSetting = DEF_SPDIF_SETTING;
if (pPSL != NULL)
{
ulSetting = pPSL->user_config.spdif;
}
else
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslDataGetSPDIF: NULL handle!\n"));
}
return (ulSetting);
}
/**
* SetDefaultConfigSettings -- set default configuration settings
*
* @param
* config - user configuration struct
*
* @retval
* none.
*/
static void SetDefaultConfigSettings(VDVD_USER_CONFIG &config)
{
config.size = sizeof(VDVD_USER_CONFIG);
config.dvd_menu_language = DEF_DVD_MENU_LANGUAGE_SETTING;
config.audio_language = DEF_AUDIO_LANGUAGE_SETTING;
config.subtitle_language = DEF_SUBTITLE_LANGUAGE_SETTING;
config.tv_type = DEF_ASPECT_RATIO_SETTING;
config.video_format = DEF_VIDEO_FORMAT_SETTING;
config.spdif = DEF_SPDIF_SETTING;
config.country = DEF_COUNTRY_SETTING;
config.parental = DEF_PARENTAL_LEVEL_SETTING;
config.parental_password[0] = DEF_PARENTAL_PWD_SETTING;
config.parental_password[1] = DEF_PARENTAL_PWD_SETTING;
config.parental_password[2] = DEF_PARENTAL_PWD_SETTING;
config.parental_password[3] = DEF_PARENTAL_PWD_SETTING;
}
/**
* ReadChecksum -- read the checksum field in configuration settings struct
*
* @param
* data - pointer to user configuration settings struct
*
* @retval
* TRUE if checksum is valid, FALSE o.w.
*/
static BOOLEAN ReadChecksum(VDVD_USER_CONFIG *data)
{
UCHAR *i;
UCHAR temp, temp2;
USHORT CheckSum = 0;
UCHAR *address;
for (i = (UCHAR *) data; i < (UCHAR *) & (data->crc); i++)
{
CheckSum += *(UCHAR *) i;
}
address = i;
temp = (UCHAR) 0 - (UCHAR) (CheckSum & 0x0FF);
temp2 = (UCHAR) data->crc;
if (temp2 != temp)
{
return FALSE; /* Checksum is incorrect */
}
else
{
return TRUE; /* Checksum is correct */
}
}
/**
* SetChecksum -- set checksum field in configuration settings struct
*
* @param
* data - pointer to user configuration settings struct
*
* @retval
* none.
*/
static void SetChecksum(VDVD_USER_CONFIG *data)
{
UCHAR *i;
UCHAR temp;
USHORT CheckSum = 0;
for (i = (UCHAR *) data; i < (UCHAR *) & (data->crc); i++)
{
CheckSum += *(UCHAR *) i;
}
temp = (UCHAR) 0 - (UCHAR) (CheckSum & 0x0FF);
data->crc = (UCHAR) temp;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -