📄 indexdb.h
字号:
/*****************************************************************************
******************************************************************************
** **
** Copyright (c) 2005-2006 Videon Central, Inc. **
** All rights reserved. **
** **
** The computer program contained herein contains proprietary information **
** which is the property of Videon Central, Inc. The program may be used **
** and/or copied only with the written permission of Videon Central, Inc. **
** or in accordance with the terms and conditions stipulated in the **
** agreement/contract under which the programs have been supplied. **
** **
******************************************************************************
*****************************************************************************/
/**
* @file indexdb.h
*
* Defines the API to the Index Database.
* The Index Database handles the storage of and access to Index data from the BD-ROM Index file.
*
* $Id: indexdb.h,v 1.4 2006/10/25 23:35:40 rbehe Exp $
*/
#ifndef INDEXDB_H
#define INDEXDB_H
#ifdef __cplusplus
extern "C" {
#endif
#include "vdvd_types.h"
#include "loader_app.h"
/**
* Index Database Status types
*/
typedef LONG INDEX_STATUS;
#define INDEX_SUCCESS (0)
#define INDEX_FAILURE (-1)
#define INDEX_NULL_PTR (-2)
#define INDEX_FILE_ERROR (-3)
#define INDEX_INVALID_FORMAT (-4)
/**
* Index constants
*/
#define INDEX_MAX_TITLES (999)
/**
* Object Type
*/
typedef enum tagINDEX_OBJ_TYPE
{
INDEX_OBJ_HDMV = 0,
INDEX_OBJ_BDJ,
INDEX_OBJ_INVALID
} INDEX_OBJ_TYPE;
/**
* Title Playback Type
*/
typedef enum tagINDEX_TITLE_PB_TYPE
{
INDEX_TITLE_PB_MOVIE = 0,
INDEX_TITLE_PB_INTERACTIVE,
INDEX_TITLE_PB_INVALID
} INDEX_TITLE_PB_TYPE;
/**
* Title Access Type
*/
typedef enum tagINDEX_TITLE_ACCESS_TYPE
{
INDEX_TITLE_ACCESS_PERMIT = 0,
INDEX_TITLE_ACCESS_PROHIBIT,
INDEX_TITLE_ACCESS_PROHIBIT_NO_OSD,
INDEX_TITLE_ACCESS_INVALID
} INDEX_TITLE_ACCESS_TYPE;
/**
* Object ID
*/
typedef union tagINDEX_OBJ_ID
{
ULONG ulHdmvMobjID;
UBYTE ubBdjFileTag[5];
} INDEX_OBJ_ID;
/**
* Index Object Reference
*/
typedef struct tagINDEX_OBJ_REF
{
INDEX_OBJ_TYPE tObjType;
INDEX_OBJ_ID tObjectId;
INDEX_TITLE_PB_TYPE tPlaybackType;
INDEX_TITLE_ACCESS_TYPE tAccessType;
} INDEX_OBJ_REF;
/**
* Index Database Interface Functions
*/
INDEX_STATUS IndexCreate(LOADER_HANDLE tLoader);
INDEX_STATUS IndexDelete(void);
INDEX_STATUS IndexLoad(void);
INDEX_OBJ_REF* IndexGetFirstPlayback(void);
INDEX_OBJ_REF* IndexGetTopMenu(void);
USHORT* IndexGetNumberOfTitles(void);
INDEX_OBJ_REF* IndexGetTitle(USHORT usTitleNumber);
#ifdef __cplusplus
}
#endif
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -