1 /* 2 * Copyright 2009, Haiku Inc. All Rights Reserved. 3 * Distributed under the terms of the MIT License. 4 */ 5 #ifndef _TRANSLATION_DEFS_H 6 #define _TRANSLATION_DEFS_H 7 8 9 #include <SupportDefs.h> 10 #include <TranslationErrors.h> 11 12 13 #define B_TRANSLATION_CURRENT_VERSION B_BEOS_VERSION 14 #define B_TRANSLATION_MIN_VERSION 161 15 16 #define B_TRANSLATION_MAKE_VERSION(major, minor, revision) \ 17 ((major << 8) | ((minor << 4) & 0xf0) | (revision & 0x0f)) 18 #define B_TRANSLATION_MAJOR_VERSION(v) (v >> 8) 19 #define B_TRANSLATION_MINOR_VERSION(v) ((v >> 4) & 0xf) 20 #define B_TRANSLATION_REVISION_VERSION(v) (v & 0xf) 21 22 23 extern const char* B_TRANSLATOR_MIME_TYPE; 24 25 typedef unsigned long translator_id; 26 27 28 struct translation_format { 29 uint32 type; // type_code 30 uint32 group; 31 float quality; // between 0.0 and 1.0 32 float capability; // between 0.0 and 1.0 33 char MIME[251]; 34 char name[251]; 35 }; 36 37 struct translator_info { 38 uint32 type; 39 translator_id translator; 40 uint32 group; 41 float quality; 42 float capability; 43 char name[251]; 44 char MIME[251]; 45 }; 46 47 48 #endif // _TRANSLATION_DEFS_H 49