1 /* 2 * The internal definitions 3 * 4 * Copyright (c) 2010-2013-2011, Joachim Metz <joachim.metz@gmail.com> 5 * 6 * Refer to AUTHORS for acknowledgements. 7 * 8 * This program is free software: you can redistribute it and/or modify 9 * it under the terms of the GNU Lesser General Public License as published by 10 * the Free Software Foundation, either version 3 of the License, or 11 * (at your option) any later version. 12 * 13 * This program is distributed in the hope that it will be useful, 14 * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 * GNU General Public License for more details. 17 * 18 * You should have received a copy of the GNU Lesser General Public License 19 * along with this program. If not, see <https://www.gnu.org/licenses/>. 20 */ 21 22 #if !defined( _LIBODRAW_INTERNAL_DEFINITIONS_H ) 23 #define _LIBODRAW_INTERNAL_DEFINITIONS_H 24 25 #include <common.h> 26 #include <byte_stream.h> 27 28 #define LIBODRAW_ENDIAN_BIG _BYTE_STREAM_ENDIAN_BIG 29 #define LIBODRAW_ENDIAN_LITTLE _BYTE_STREAM_ENDIAN_LITTLE 30 31 /* Define HAVE_LOCAL_LIBODRAW for local use of libodraw 32 */ 33 #if !defined( HAVE_LOCAL_LIBODRAW ) 34 #include <libodraw/definitions.h> 35 36 /* The definitions in <libodraw/definitions.h> are copied here 37 * for local use of libodraw 38 */ 39 #else 40 #define LIBODRAW_VERSION 20201003 41 42 /* The version string 43 */ 44 #define LIBODRAW_VERSION_STRING "20201003" 45 46 /* The access flags definitions 47 * bit 1 set to 1 for read access 48 * bit 2 set to 1 for write access 49 * bit 3-8 not used 50 */ 51 enum LIBODRAW_ACCESS_FLAGS 52 { 53 LIBODRAW_ACCESS_FLAG_READ = 0x01, 54 /* Reserved: not supported yet */ 55 LIBODRAW_ACCESS_FLAG_WRITE = 0x02 56 }; 57 58 /* The file access macros 59 */ 60 #define LIBODRAW_OPEN_READ ( LIBODRAW_ACCESS_FLAG_READ ) 61 /* Reserved: not supported yet */ 62 #define LIBODRAW_OPEN_WRITE ( LIBODRAW_ACCESS_FLAG_WRITE ) 63 /* Reserved: not supported yet */ 64 #define LIBODRAW_OPEN_READ_WRITE ( LIBODRAW_ACCESS_FLAG_READ | LIBODRAW_ACCESS_FLAG_WRITE ) 65 66 /* The file types 67 */ 68 enum LIBODRAW_FILE_TYPES 69 { 70 LIBODRAW_FILE_TYPE_UNKNOWN, 71 LIBODRAW_FILE_TYPE_BINARY_LITTLE_ENDIAN, 72 LIBODRAW_FILE_TYPE_BINARY_BIG_ENDIAN, 73 LIBODRAW_FILE_TYPE_AUDIO_AIFF, 74 LIBODRAW_FILE_TYPE_AUDIO_WAVE, 75 LIBODRAW_FILE_TYPE_AUDIO_MPEG1_LAYER3, 76 }; 77 78 #define LIBODRAW_FILE_TYPE_BINARY LIBODRAW_FILE_TYPE_BINARY_LITTLE_ENDIAN 79 #define LIBODRAW_FILE_TYPE_MOTOROLA LIBODRAW_FILE_TYPE_BINARY_BIG_ENDIAN 80 #define LIBODRAW_FILE_TYPE_AIFF LIBODRAW_FILE_TYPE_AUDIO_AIFF 81 #define LIBODRAW_FILE_TYPE_WAVE LIBODRAW_FILE_TYPE_AUDIO_WAVE 82 #define LIBODRAW_FILE_TYPE_MP3 LIBODRAW_FILE_TYPE_AUDIO_MPEG1_LAYER3 83 84 /* The track types 85 */ 86 enum LIBODRAW_TRACK_TYPES 87 { 88 LIBODRAW_TRACK_TYPE_UNKNOWN, 89 LIBODRAW_TRACK_TYPE_AUDIO, 90 LIBODRAW_TRACK_TYPE_CDG, 91 LIBODRAW_TRACK_TYPE_MODE1_2048, 92 LIBODRAW_TRACK_TYPE_MODE1_2352, 93 LIBODRAW_TRACK_TYPE_MODE2_2048, 94 LIBODRAW_TRACK_TYPE_MODE2_2324, 95 LIBODRAW_TRACK_TYPE_MODE2_2336, 96 LIBODRAW_TRACK_TYPE_MODE2_2352, 97 LIBODRAW_TRACK_TYPE_CDI_2336, 98 LIBODRAW_TRACK_TYPE_CDI_2352, 99 }; 100 101 #endif 102 103 #endif 104 105