00001 /* 00002 * This file is part of libbluray 00003 * Copyright (C) 2009-2010 John Stebbins 00004 * 00005 * This library is free software; you can redistribute it and/or 00006 * modify it under the terms of the GNU Lesser General Public 00007 * License as published by the Free Software Foundation; either 00008 * version 2.1 of the License, or (at your option) any later version. 00009 * 00010 * This library is distributed in the hope that it will be useful, 00011 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00013 * Lesser General Public License for more details. 00014 * 00015 * You should have received a copy of the GNU Lesser General Public 00016 * License along with this library. If not, see 00017 * <http://www.gnu.org/licenses/>. 00018 */ 00019 00020 #if !defined(_BD_UO_MASK_TABLE_H_) 00021 #define _BD_UO_MASK_TABLE_H_ 00022 00023 #include <stdint.h> 00024 00025 typedef struct bd_uo_mask_table_s 00026 { 00027 uint8_t menu_call : 1; 00028 uint8_t title_search : 1; 00029 uint8_t chapter_search : 1; 00030 uint8_t time_search : 1; 00031 uint8_t skip_to_next_point : 1; 00032 uint8_t skip_to_prev_point : 1; 00033 uint8_t play_firstplay : 1; 00034 uint8_t stop : 1; 00035 uint8_t pause_on : 1; 00036 uint8_t pause_off : 1; 00037 uint8_t still : 1; 00038 uint8_t forward : 1; 00039 uint8_t backward : 1; 00040 uint8_t resume : 1; 00041 uint8_t move_up : 1; 00042 uint8_t move_down : 1; 00043 uint8_t move_left : 1; 00044 uint8_t move_right : 1; 00045 uint8_t select : 1; 00046 uint8_t activate : 1; 00047 uint8_t select_and_activate : 1; 00048 uint8_t primary_audio_change : 1; 00049 uint8_t angle_change : 1; 00050 uint8_t popup_on : 1; 00051 uint8_t popup_off : 1; 00052 uint8_t pg_enable_disable : 1; 00053 uint8_t pg_change : 1; 00054 uint8_t secondary_video_enable_disable : 1; 00055 uint8_t secondary_video_change : 1; 00056 uint8_t secondary_audio_enable_disable : 1; 00057 uint8_t secondary_audio_change : 1; 00058 uint8_t pip_pg_change : 1; 00059 } BD_UO_MASK; 00060 00061 static inline BD_UO_MASK bd_uo_mask_combine(BD_UO_MASK a, BD_UO_MASK b) 00062 { 00063 BD_UO_MASK o; 00064 uint8_t *pa = (uint8_t*)&a; 00065 uint8_t *pb = (uint8_t*)&b; 00066 uint8_t *po = (uint8_t*)&o; 00067 unsigned i; 00068 00069 for (i = 0; i < sizeof(BD_UO_MASK); i++) { 00070 po[i] = pa[i] | pb[i]; 00071 } 00072 00073 return o; 00074 } 00075 00076 #endif // _BD_UO_MASK_TABLE_H_
1.6.3