1 | /* |
---|
2 | * The license and distribution terms for this file may be |
---|
3 | * found in the file LICENSE in this distribution or at |
---|
4 | * http://www.OARcorp.com/rtems/license.html. |
---|
5 | * |
---|
6 | * $Id$ |
---|
7 | */ |
---|
8 | |
---|
9 | #ifndef __ITRON_TYPES_h_ |
---|
10 | #define __ITRON_TYPES_h_ |
---|
11 | |
---|
12 | #ifdef __cplusplus |
---|
13 | extern "C" { |
---|
14 | #endif |
---|
15 | |
---|
16 | /* XXX some of these may need to be moved */ |
---|
17 | /* |
---|
18 | * XXX: These names are too short and conflict with numerous |
---|
19 | * off the shell programs including paranoia. |
---|
20 | */ |
---|
21 | |
---|
22 | typedef signed8 B; /* signed 8-bit integer */ |
---|
23 | typedef signed16 H; /* signed 16-bit integer */ |
---|
24 | typedef signed32 W; /* signed 32-bit integer */ |
---|
25 | typedef unsigned8 UB; /* unsigned 8-bit integer */ |
---|
26 | typedef unsigned16 UH; /* unsigned 16-bit integer */ |
---|
27 | typedef unsigned32 UW; /* unsigned 32-bit integer */ |
---|
28 | |
---|
29 | typedef unsigned32 VW; /* unpredictable data type (32-bit size) */ |
---|
30 | typedef unsigned16 VH; /* unpredictable data type (16-bit size) */ |
---|
31 | typedef unsigned8 VB; /* unpredictable data type (8-bit size) */ |
---|
32 | |
---|
33 | typedef void *VP; /* pointer to an unpredictable data type */ |
---|
34 | |
---|
35 | typedef void (*FP)(); /* program start address */ |
---|
36 | |
---|
37 | /* |
---|
38 | * 6.4 Data Types |
---|
39 | * |
---|
40 | * The difference between VB, VH and VW and B, H and W is that only the |
---|
41 | * number of bits is known for the former, not the data type of the |
---|
42 | * contents. The latter clearly represent integers. |
---|
43 | */ |
---|
44 | |
---|
45 | /* |
---|
46 | * Data Types Dependent on ITRON Specification |
---|
47 | * |
---|
48 | * In order to clarify the meanings of certain parameters, the |
---|
49 | * following names are used for data types which appear frequently |
---|
50 | * and/or have special meanings. |
---|
51 | */ |
---|
52 | |
---|
53 | typedef signed32 INT; /* Signed integer (bit width of processor) */ |
---|
54 | typedef unsigned32 UINT; /* Unsigned integer (bit width of processor) */ |
---|
55 | typedef boolean BOOL; /* Boolean value. TRUE (1) or FALSE (0). */ |
---|
56 | typedef signed16 FN; /* Function code. Signed integer. Maximum 2 bytes. */ |
---|
57 | typedef int ID; /* Object ID number (???id) */ |
---|
58 | /* Value range depends on the system. Usually */ |
---|
59 | /* a signed integer. Certain ID values may */ |
---|
60 | /* represent objects on other nodes when the */ |
---|
61 | /* connection function is supported. */ |
---|
62 | |
---|
63 | typedef unsigned32 BOOL_ID;/* Boolean value or ID number */ |
---|
64 | |
---|
65 | typedef signed32 HNO; /* Handler number */ |
---|
66 | typedef signed32 RNO; /* Rendezvous number */ |
---|
67 | typedef signed32 NODE; /* Node Number. Usually a signed integer. */ |
---|
68 | typedef signed32 ATR; /* Object or handler attribute. */ |
---|
69 | /* An unsigned integer. */ |
---|
70 | typedef signed32 ER; /* Error code. A signed integer. */ |
---|
71 | typedef unsigned32 PRI; /* Task priority. A signed integer. */ |
---|
72 | typedef signed32 TMO; /* Timeout value. A signed integer. */ |
---|
73 | /* TMO_POL = 0 indicates polling, */ |
---|
74 | /* while TMO_FEVR = -1 indicates wait forever. */ |
---|
75 | |
---|
76 | /* |
---|
77 | * 6.6 Common Constants and Data Structure Packet Formats |
---|
78 | */ |
---|
79 | |
---|
80 | #define NADR (-1) /* invalid address or pointer value */ |
---|
81 | |
---|
82 | #ifndef TRUE |
---|
83 | #define TRUE 1 /* true */ |
---|
84 | #endif |
---|
85 | |
---|
86 | #ifndef FALSE |
---|
87 | #define FALSE 0 /* false */ |
---|
88 | #endif |
---|
89 | |
---|
90 | /* |
---|
91 | * ATR tskatr, intatr, cycatr, almatr, svcatr, excatr: |
---|
92 | * |
---|
93 | * TA_ASM indicates that the task or handler is directly started |
---|
94 | * at the assembly language level. The TA_ASM attribute has the |
---|
95 | * opposite meaning of TA_HLNG. |
---|
96 | * |
---|
97 | * NOTE: Really in <itronsys/task.h> |
---|
98 | */ |
---|
99 | |
---|
100 | #if 0 |
---|
101 | #define TA_ASM 0x00 /* program written in assembly language */ |
---|
102 | #define TA_HLNG 0x01 /* program written in high-level language */ |
---|
103 | #endif |
---|
104 | |
---|
105 | /* |
---|
106 | * TMO tmout: |
---|
107 | */ |
---|
108 | |
---|
109 | #define TMO_POL 0 /* polling */ |
---|
110 | #define TMO_FEVR (-1) /* wait forever */ |
---|
111 | |
---|
112 | #ifdef __cplusplus |
---|
113 | } |
---|
114 | #endif |
---|
115 | |
---|
116 | #endif |
---|
117 | /* end of include file */ |
---|
118 | |
---|