]> git.llucax.com Git - z.facultad/66.09/etherled.git/blob - src/types.h
Ahora el módulo de red se encarga sólo de darse cuenta cuando hay que hacer
[z.facultad/66.09/etherled.git] / src / types.h
1 #ifndef _TYPES_H_
2 #define _TYPES_H_
3
4 #if 0 /* i386 */
5 #include <stdint.h>
6
7 /** booleano */
8 typedef unsigned char bool;
9
10 /** entero sin signo de 8 bits */
11 typedef uint8_t byte;
12
13 /** entero sin signo de 16 bits */
14 typedef uint16_t uint16;
15
16 #endif
17
18 #if 1 /* 8051 */
19
20 /** entero sin signo de 8 bits */
21 typedef unsigned char byte;
22
23 /** entero sin signo de 16 bits */
24 typedef unsigned int uint16;
25
26 #ifdef SDCC
27 /** booleano */
28 typedef byte bool;
29 #else
30 /** booleano */
31 typedef bit bool;
32 #endif
33
34 #endif
35
36 /** valores posibles de un booleano */
37 enum { false = 0, true = 1 };
38
39 /** convierte 2 bytes (high, low) en un word */
40 #define WORD(high, low) ((uint16)((uint16)((high) << 8) + (uint16)(low)))
41
42 /** obtiene parte alta de un word */
43 #define HIGH(word) ((byte)((word) >> 8))
44
45 /** obtiene parte baja de un word */
46 #define LOW(word) ((byte)((word) & 0xFF))
47
48 #endif /* _TYPES_H_ */