|
|
/* ************************************************************************ */ /* * DTI header file Created by AVP 3-94. Modified 9-94 * */ /* ************************************************************************ */
#ifndef TRIADS_H_INCLUDED
#define TRIADS_H_INCLUDED
#include "ams_mg.h"
/* -------------------------- Defines for Triads ----------------------------- */
#define TR_NUMSYMBOLS 40
#define TR_OBJTYPE "Tr#3" /* Object type of current TR */
#define TR_LANG "Eng." /* Object type of current TR */
#define TR_VER "1.00" /* Object type of current TR */
#define TR_ID_LEN 4 /* Length of ID string in TR */
#define TR_FNAME_LEN 128 /* Pathname of dti len */
#define TR_NUMINBYTE 4 /* Number of triad values in one byte */
#define TR_GETVALUE(ptrd, a, b, c) (((*(ptrd))[(a)][(b)][(c)/4] >> (((c)%4)*2)) & 0x03) /* Get freq value from triads */
#ifdef FOR_GERMAN
#define DEF_TRIADS_MAPPING \
{ \ /* 0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ /* 1 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ /* 2 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ /* 3 */ 0, 0, 1, 0, 0, 0, 0, 0, 0, 40, \ /* 4 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ /* 5 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ /* 6 */ 0, 0, 0, 0, 0, 2, 3, 4, 5, 6, \ /* 7 */ 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, \ /* 8 */ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, \ /* 9 */ 27, 0, 0, 0, 0, 0, 0, 2, 3, 4, \ /* 10 */ 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, \ /* 11 */ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, \ /* 12 */ 25, 26, 27, 0, 0, 0, 0, 0, 0, 0, \ /* 13 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ /* 14 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ /* 15 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ /* 16 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ /* 17 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ /* 18 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ /* 19 */ 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, \ /* 20 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ /* 21 */ 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, \ /* 22 */ 31, 0, 0, 32, 0, 0, 0, 0, 29, 0, \ /* 23 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ /* 24 */ 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, \ /* 25 */ 0, 0, 31, 0, 0, 0 \ }
#elif defined(FOR_SWED)
#error Check coding -- it is MAC now!
#define DEF_TRIADS_MAPPING \
{ \ /* 0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ /* 1 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ /* 2 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ /* 3 */ 0, 0, 1, 0, 0, 0, 0, 0, 0, 40, \ /* 4 */ 0, 0, 0, 0, 0, 0, 99, 99, 0, 0, \ /* 5 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ /* 6 */ 0, 0, 0, 0, 99, 2, 3, 4, 5, 6, \ /* 7 */ 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, \ /* 8 */ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, \ /* 9 */ 27, 0, 99, 0, 0, 0, 0, 2, 3, 4, \ /* 10 */ 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, \ /* 11 */ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, \ /* 12 */ 25, 26, 27, 0, 0, 0, 0, 0, 29, 28, \ /* 13 */ 30, 31, 15, 33, 34, 2, 29, 35, 29, 2, \ /* 14 */ 28, 30, 31, 36, 37, 6, 10, 10, 38, 32, \ /* 15 */ 15, 16, 16, 33, 33, 16, 22, 34, 39, 34, \ /* 16 */ 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, \ /* 17 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ /* 18 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ /* 19 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ /* 20 */ 0, 0, 0, 29, 2, 16, 0, 0, 0, 0, \ /* 21 */ 0, 0, 0, 0, 0, 0, 26, 26, 0, 0, \ /* 22 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, \ /* 23 */ 37, 2, 6, 36, 9, 38, 32, 9, 16, 33, \ /* 24 */ 0, 16, 22, 39, 34, 0, 0, 0, 0, 0, \ /* 25 */ 0, 0, 0, 0, 0, 0 \ }
#elif defined(FOR_FRENCH)
#define DEF_TRIADS_MAPPING \
{ \ /* 0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ /* 1 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ /* 2 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ /* 3 */ 0, 0, 1, 0, 0, 0, 0, 0, 0, 40, \ /* 4 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ /* 5 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ /* 6 */ 0, 0, 0, 0, 0, 2, 3, 4, 5, 6, \ /* 7 */ 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, \ /* 8 */ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, \ /* 9 */ 27, 0, 0, 0, 0, 0, 0, 2, 3, 4, \ /* 10 */ 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, \ /* 11 */ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, \ /* 12 */ 25, 26, 27, 0, 0, 0, 0, 0, 0, 0, \ /* 13 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ /* 14 */ 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ /* 15 */ 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, \ /* 16 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ /* 17 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ /* 18 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ /* 19 */ 0, 0, 29, 0, 35, 0, 0, 0, 0, 30, \ /* 20 */ 36, 31, 37, 28, 0, 0, 38, 32, 0, 0, \ /* 21 */ 0, 0, 33, 0, 0, 0, 0, 34, 0, 39, \ /* 22 */ 0, 0, 0, 0, 0, 0, 35, 0, 0, 0, \ /* 23 */ 0, 30, 36, 31, 37, 28, 0, 0, 38, 32, \ /* 24 */ 0, 0, 0, 29, 33, 0, 0, 0, 0, 34, \ /* 25 */ 0, 39, 0, 0, 0, 0 \ }
#else /* !FOR_GERMAN && !FOR_SWED && !FOR_FRENCH */
#define DEF_TRIADS_MAPPING \
{ \ /* 0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ /* 1 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ /* 2 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ /* 3 */ 0, 0, 1, 0, 0, 0, 0, 0, 0, 40, \ /* 4 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ /* 5 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ /* 6 */ 0, 0, 0, 0, 0, 2, 3, 4, 5, 6, \ /* 7 */ 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, \ /* 8 */ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, \ /* 9 */ 27, 0, 0, 0, 0, 0, 0, 2, 3, 4, \ /* 10 */ 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, \ /* 11 */ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, \ /* 12 */ 25, 26, 27, 0, 0, 0, 0, 0, 0, 0, \ /* 13 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ /* 14 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ /* 15 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ /* 16 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ /* 17 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ /* 18 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ /* 19 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ /* 20 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ /* 21 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ /* 22 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ /* 23 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ /* 24 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ /* 25 */ 0, 0, 0, 0, 0, 0 \ } #endif /* FOR_GERMAN etc. */
/* -------------------------- Types definitions ------------------------------ */
typedef _UCHAR triad_el_type[TR_NUMSYMBOLS/TR_NUMINBYTE]; /* There are *some* tr in byte ! */ typedef triad_el_type triad_type[TR_NUMSYMBOLS][TR_NUMSYMBOLS]; typedef triad_type _PTR p_triad_type;
typedef struct { /* Header of Triads file */ _CHAR object_type[TR_ID_LEN]; /* Type file (now Tr#2) */ _CHAR type[TR_ID_LEN]; /* Type of TR (Eng., ) */ _CHAR version[TR_ID_LEN]; /* Version number */
_ULONG tr_offset; /* File offset of TR part */ _ULONG tr_len; /* Length of TR part of data */ _ULONG tr_chsum; /* Checksum of TR part */ } tr_header_type, _PTR p_tr_header_type;
typedef struct { /* TR memory descriptor */ _CHAR tr_fname[TR_FNAME_LEN]; /* File name of loaded TR */ _CHAR object_type[TR_ID_LEN]; /* Type file (now Tr#1) */ _CHAR type[TR_ID_LEN]; /* Type of TR (Eng., ..) */ _CHAR version[TR_ID_LEN]; /* Version number */
_ULONG h_tr; /* Handle of tr memory */ p_UCHAR p_tr; /* Pointer to locked tr mem */ _ULONG tr_chsum; /* CheckSum of tr memory */ } tr_descr_type, _PTR p_tr_descr_type;
/* -------------------------- Prototypes ------------------------------------- */
_INT triads_load(p_CHAR tradsname, _INT what_to_load, p_VOID _PTR tp); _INT triads_unload(p_VOID _PTR tp); _INT triads_save(p_CHAR fname, _INT what_to_save, p_VOID tp); _INT triads_lock(p_VOID tp); _INT triads_unlock(p_VOID tp);
/* ---------- Global constants definitions ----------------------------------- */
#ifndef ParaLibs_j_c
ROM_DATA_EXTERNAL _UCHAR triads_mapping[256]; #endif
/* --------------------------------------------------------------------------- */
#endif //TRIADS_H_INCLUDED
/* ************************************************************************ */ /* * End Of All ... * */ /* ************************************************************************ */
|