Page tree

Basic structure: One source segment can have multiple target segments associated with it.

typedef struct _TMX_RECORD
{
  LONG   lRecordLen; How many bytes of the 16 kb of the record for the whole entry including source, targets and attributes are acutally in use
  USHORT  usSourceRecord; Offset from beginning of record to source record in bytes
  USHORT  usFirstTargetRecord; Offset from beginning of record to first target record in bytes
} TMX_RECORD, * PTMX_RECORD;//structure of the source segment
typedef struct _TMX_SOURCE_RECORD
{
  LONG   lRecordLen; How many bytes of the 16 kb of the record for the source are acutally in use
  USHORT  usSource;  Offset from beginning of the source record to source record in bytes
  USHORT usLangId; id of the source language (same language can have different IDs in different TMs
} TMX_SOURCE_RECORD, * PTMX_SOURCE_RECORD;//structure of the target segment
typedef struct _TMX_TARGET_RECORD
{
  LONG   lRecordLen = 0;  How many bytes of the 16 kb of the record for the target are acutally in use
  USHORT  usTarget = 0;   Offset from beginning of the target record to target record in bytes
  USHORT  usClb = 0; Offset from beginning of the target record to target control block in bytes
} TMX_TARGET_RECORD, * PTMX_TARGET_RECORD;//control block structure in target record
typedef struct _TMX_TARGET_CLB
{//start of target control block
  TIME_L  lTime; //creation time
  TIME_L  lUpdateTime; //added by Orest, not functional yet
  ULONG   ulSegmId; //segment ID like we have it in TMX file and update request; can be 8 bytes max
  USHORT  usLangId; //id of the target language (same language can have different IDs in different TMs);
  USHORT  usFileId; // id for document name as saved in TM table for document name as send on update request
  USHORT  usAuthorId;  // id for author as saved in TM table for author as send on update request
  USHORT  usAddDataLen;  // new for Major_version6: Length of following context and additional info data
  BYTE    bMultiple; //we need to find out, what this is used for
  BYTE    bTranslationFlag; // flag that says something about the origin of the segment - we need to find out, what values are allowed. Probably it is set by the attribute "type" of the update request
} TMX_TARGET_CLB, * PTMX_TARGET_CLB;


  • No labels