|
Packit |
5e46da |
/*
|
|
Packit |
5e46da |
* This file is part of libbluray
|
|
Packit |
5e46da |
* Copyright (C) 2014 Petri Hintukainen <phintuka@users.sourceforge.net>
|
|
Packit |
5e46da |
*
|
|
Packit |
5e46da |
* This library is free software; you can redistribute it and/or
|
|
Packit |
5e46da |
* modify it under the terms of the GNU Lesser General Public
|
|
Packit |
5e46da |
* License as published by the Free Software Foundation; either
|
|
Packit |
5e46da |
* version 2.1 of the License, or (at your option) any later version.
|
|
Packit |
5e46da |
*
|
|
Packit |
5e46da |
* This library is distributed in the hope that it will be useful,
|
|
Packit |
5e46da |
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
Packit |
5e46da |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
Packit |
5e46da |
* Lesser General Public License for more details.
|
|
Packit |
5e46da |
*
|
|
Packit |
5e46da |
* You should have received a copy of the GNU Lesser General Public
|
|
Packit |
5e46da |
* License along with this library. If not, see
|
|
Packit |
5e46da |
* <http://www.gnu.org/licenses/>.
|
|
Packit |
5e46da |
*/
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
#if !defined(_BDJO_DATA_H_)
|
|
Packit |
5e46da |
#define _BDJO_DATA_H_
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
#include <stdint.h>
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
typedef struct {
|
|
Packit |
5e46da |
char default_font[6]; // default AWT font. AUXDATA/?????.otf. "*****" = none.
|
|
Packit |
5e46da |
uint8_t initial_havi_config_id; // valid only if no autostart playlist.
|
|
Packit |
5e46da |
uint8_t menu_call_mask;
|
|
Packit |
5e46da |
uint8_t title_search_mask;
|
|
Packit |
5e46da |
} BDJO_TERMINAL_INFO;
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
typedef struct {
|
|
Packit |
5e46da |
uint8_t type; // 1 - JAR, 2 - directory
|
|
Packit |
5e46da |
char ref_to_name[6]; // JAR/xxxxx.jar or JAR/xxxxx/
|
|
Packit |
5e46da |
char lang_code[4]; // ref. to PSR18. "*.*" = cache always. "%%%" = fallback when no language matches PSR18.
|
|
Packit |
5e46da |
} BDJO_APP_CACHE_ITEM;
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
typedef struct {
|
|
Packit |
5e46da |
uint8_t num_item;
|
|
Packit |
5e46da |
BDJO_APP_CACHE_ITEM *item;
|
|
Packit |
5e46da |
} BDJO_APP_CACHE_INFO;
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
typedef struct {
|
|
Packit |
5e46da |
char name[6];
|
|
Packit |
5e46da |
} BDJO_PLAYLIST;
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
typedef struct {
|
|
Packit |
5e46da |
uint8_t access_to_all_flag;
|
|
Packit |
5e46da |
uint8_t autostart_first_playlist_flag;
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
uint16_t num_pl;
|
|
Packit |
5e46da |
BDJO_PLAYLIST *pl;
|
|
Packit |
5e46da |
} BDJO_ACCESSIBLE_PLAYLISTS;
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
typedef struct {
|
|
Packit |
5e46da |
uint16_t profile_number; /* 1: BD-ROM profile 1. 2: BD-ROM profile 2 */
|
|
Packit |
5e46da |
uint8_t major_version;
|
|
Packit |
5e46da |
uint8_t minor_version;
|
|
Packit |
5e46da |
uint8_t micro_version;
|
|
Packit |
5e46da |
} BDJO_APP_PROFILE;
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
typedef struct {
|
|
Packit |
5e46da |
char lang[4];
|
|
Packit |
5e46da |
char *name; /* UTF-8, informative name */
|
|
Packit |
5e46da |
} BDJO_APP_NAME;
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
typedef struct {
|
|
Packit |
5e46da |
char *param;
|
|
Packit |
5e46da |
} BDJO_APP_PARAM;
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
typedef struct {
|
|
Packit |
5e46da |
uint8_t control_code; /* 1 - autostart, 2 - present */
|
|
Packit |
5e46da |
uint8_t type; /* 1 - BD-J App */
|
|
Packit |
5e46da |
uint32_t org_id;
|
|
Packit |
5e46da |
uint16_t app_id;
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
/* descriptor */
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
uint8_t num_profile;
|
|
Packit |
5e46da |
BDJO_APP_PROFILE *profile;
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
uint8_t priority;
|
|
Packit |
5e46da |
uint8_t binding;
|
|
Packit |
5e46da |
uint8_t visibility;
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
uint16_t num_name;
|
|
Packit |
5e46da |
BDJO_APP_NAME *name;
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
uint8_t icon_flags;
|
|
Packit |
5e46da |
char *icon_locator; // relative to base_dir
|
|
Packit |
5e46da |
char *base_dir; // "00000" -> 00000.jar!/ , "00000/base" -> 00000.jar!/base/
|
|
Packit |
5e46da |
char *classpath_extension; // separator ; . relative paths relative to base_dir. absolute paths refer to .jar files.
|
|
Packit |
5e46da |
char *initial_class;
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
uint8_t num_param;
|
|
Packit |
5e46da |
BDJO_APP_PARAM *param;
|
|
Packit |
5e46da |
} BDJO_APP;
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
typedef struct {
|
|
Packit |
5e46da |
uint8_t num_app;
|
|
Packit |
5e46da |
BDJO_APP *app;
|
|
Packit |
5e46da |
} BDJO_APP_MANAGEMENT_TABLE;
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
typedef struct {
|
|
Packit |
5e46da |
unsigned int vk_play : 1;
|
|
Packit |
5e46da |
unsigned int vk_stop : 1;
|
|
Packit |
5e46da |
unsigned int vk_ffw : 1;
|
|
Packit |
5e46da |
unsigned int vk_rew : 1;
|
|
Packit |
5e46da |
unsigned int vk_track_next : 1;
|
|
Packit |
5e46da |
unsigned int vk_track_prev : 1;
|
|
Packit |
5e46da |
unsigned int vk_pause : 1;
|
|
Packit |
5e46da |
unsigned int vk_still_off : 1;
|
|
Packit |
5e46da |
unsigned int vk_sec_audio_ena_dis : 1;
|
|
Packit |
5e46da |
unsigned int vk_sec_video_ena_dis : 1;
|
|
Packit |
5e46da |
unsigned int pg_textst_ena_dis : 1;
|
|
Packit |
5e46da |
} BDJO_KEY_INTEREST_TABLE;
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
typedef struct {
|
|
Packit |
5e46da |
// relative to VFS root. Separator ";". Should not start with "/".
|
|
Packit |
5e46da |
// common "." == access to all files in VFS.
|
|
Packit |
5e46da |
char *path;
|
|
Packit |
5e46da |
} BDJO_FILE_ACCESS_INFO;
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
typedef struct bdjo_data {
|
|
Packit |
5e46da |
uint32_t bdjo_version;
|
|
Packit |
5e46da |
BDJO_TERMINAL_INFO terminal_info;
|
|
Packit |
5e46da |
BDJO_APP_CACHE_INFO app_cache_info;
|
|
Packit |
5e46da |
BDJO_ACCESSIBLE_PLAYLISTS accessible_playlists;
|
|
Packit |
5e46da |
BDJO_APP_MANAGEMENT_TABLE app_table;
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
BDJO_KEY_INTEREST_TABLE key_interest_table;
|
|
Packit |
5e46da |
BDJO_FILE_ACCESS_INFO file_access_info;
|
|
Packit |
5e46da |
} BDJO;
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
#endif // _BDJO_DATA_H_
|