FreeCalypso > hg > fc-magnetite
comparison src/gpf2/inc/tstheader.h @ 1:864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sun, 25 Sep 2016 23:38:58 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
0:945cf7f506b2 | 1:864b8cc0cf63 |
---|---|
1 /* | |
2 +------------------------------------------------------------------------------ | |
3 | File: tstheader.h | |
4 +------------------------------------------------------------------------------ | |
5 | Copyright 2002 Texas Instruments Berlin, AG | |
6 | All rights reserved. | |
7 | | |
8 | This file is confidential and a trade secret of Texas | |
9 | Instruments Berlin, AG | |
10 | The receipt of or possession of this file does not convey | |
11 | any rights to reproduce or disclose its contents or to | |
12 | manufacture, use, or sell anything it may describe, in | |
13 | whole, or in part, without the specific written consent of | |
14 | Texas Instruments Berlin, AG. | |
15 +----------------------------------------------------------------------------- | |
16 | Purpose : Definitions for the TST internal header | |
17 +----------------------------------------------------------------------------- | |
18 */ | |
19 | |
20 #ifndef TSTHEADER_H | |
21 #define TSTHEADER_H | |
22 | |
23 /*==== INCLUDES =============================================================*/ | |
24 | |
25 #include "tools.h" | |
26 | |
27 /*==== CONSTS ===============================================================*/ | |
28 | |
29 #ifdef CONNECT_2_PS | |
30 #define TOOLSIDE | |
31 #else | |
32 #define STACKSIDE | |
33 #endif | |
34 | |
35 #if defined STACKSIDE && defined _TARGET_ | |
36 #define TARGET_STACK | |
37 #endif | |
38 | |
39 #if defined STACKSIDE && !defined _TARGET_ | |
40 #define EMULATED_STACK | |
41 #endif | |
42 | |
43 | |
44 #define ID_OFFSET 0 | |
45 #define TIMESTAMP_OFFSET 1 | |
46 #define LENGTH_OFFSET 5 | |
47 #define SENDER_OFFSET 9 | |
48 #define RECEIVER_OFFSET 13 | |
49 #define DATA_OFFSET 17 | |
50 | |
51 #define ID_SUBTRACT 17 | |
52 #define TIMESTAMP_SUBTRACT 16 | |
53 #define LENGTH_SUBTRACT 12 | |
54 #define SENDER_SUBTRACT 8 | |
55 #define RECEIVER_SUBTRACT 4 | |
56 #define OPC_SUBTRACT 4 | |
57 #define DATA_SUBTRACT 0 | |
58 | |
59 #define PROT_PRIM_ID 'P' | |
60 #define PROT_PRIM_ID_32BIT 'Q' | |
61 #define SYS_PRIM_ID 'S' | |
62 #define TRACE_ID 'T' | |
63 | |
64 #define IDENT_PS_PRIM 0x10 /* former 'P' */ | |
65 #define IDENT_SYS_PRIM 0x30 /* former 'S' */ | |
66 #define IDENT_ABORT 0x00 /* former 'A' */ | |
67 #define IDENT_TRACE 0x20 /* former 'T' */ | |
68 | |
69 | |
70 #define HDR_VALID_VERSION_0 0x40 /* 01 OLD TST Header */ | |
71 #define HDR_VALID_VERSION_1 0x80 /* 10 NEW TST Header */ | |
72 #define HDR_VALID_VERSION_2 0x00 /* 00 reserved */ | |
73 #define HDR_VALID_VERSION_3 0xC0 /* 11 reserved */ | |
74 | |
75 #define HDR_TIME_MS 0x04 /* 01 ms Time Frame */ | |
76 #define HDR_TIME_TDMA 0x08 /* 10 TDMA Time Frame */ | |
77 | |
78 #define HDR_VERSION_MASK 0xc0 | |
79 #define HDR_IDENT_MASK 0x30 | |
80 #define HDR_TIME_MASK 0x0c | |
81 #define HDR_RESERVED_MASK 0x03 | |
82 | |
83 #define LOW_MASK 0xFF | |
84 | |
85 #define EMPTY_BYTE 0 | |
86 #define INFO_BYTE 1 | |
87 #define FIRST_BYTE 2 | |
88 #define SECOND_BYTE 3 | |
89 | |
90 #define TST_HEADER_LEADING_FIELDS 3 /* .info + .size */ | |
91 #define TST_HEADER_TRAILING_FIELDS 12 /* .time + .sender + .receiver */ | |
92 /* the .orgreceiver field will be added dynamically, if used */ | |
93 | |
94 /*==== TYPES =================================================================*/ | |
95 typedef struct | |
96 { | |
97 UBYTE combined [4]; | |
98 unsigned long time; | |
99 char sender[4]; | |
100 char receiver[4]; | |
101 } TST_SMALL_HEADER; | |
102 | |
103 typedef struct | |
104 { | |
105 UBYTE combined [4]; | |
106 unsigned long time; | |
107 char sender[4]; | |
108 char receiver[4]; | |
109 UCHAR trace_opc; | |
110 } TST_MED_HEADER; | |
111 | |
112 typedef struct | |
113 { | |
114 UBYTE combined [4]; | |
115 unsigned long time; | |
116 char sender[4]; | |
117 char receiver[4]; | |
118 char orgreceiver[4]; | |
119 int opc; | |
120 } TST_BIG_HEADER; | |
121 | |
122 #define TST_SMALL_HEADER_SIZE (sizeof(TST_SMALL_HEADER) -1) | |
123 #define TST_BIG_HEADER_SIZE (sizeof(TST_BIG_HEADER) -1) | |
124 | |
125 #if defined (_LINUX_) || defined (_SOLARIS_) | |
126 #define PRIM_HEADER_FLAG 0x00000000 | |
127 #define PRIM_DATA_FLAG 0x00000000 | |
128 #define PRIM_FLAG_MASK 0x00000000 | |
129 | |
130 #define EXCHANGE_4BYTES_ENDIANESS(val_ptr) {\ | |
131 char c;\ | |
132 char *p = (char*) val_ptr;\ | |
133 c = p[0];\ | |
134 p[0] = p[3];\ | |
135 p[3] = c;\ | |
136 c = p[1];\ | |
137 p[1] = p[2];\ | |
138 p[2] = c;\ | |
139 } | |
140 #else | |
141 #define PRIM_HEADER_FLAG 0x40000000 | |
142 #define PRIM_DATA_FLAG 0x80000000 | |
143 #define PRIM_FLAG_MASK 0xc0000000 | |
144 | |
145 #define EXCHANGE_4BYTES_ENDIANESS(val_ptr) | |
146 #endif | |
147 | |
148 /*==== EXPORTS ===============================================================*/ | |
149 | |
150 #endif /* !TSTHEADER.H */ |