Module/UDI - Implementing parts of MEI (abusing CPP for fun and profit)
[tpg/acess2.git] / UDI / include / udi / arch / ia32.h
1
2 #ifndef _UDI_ARCH_x86_H_
3 #define _UDI_ARCH_x86_H_
4
5 typedef udi_ubit8_t     udi_boolean_t;  /* 0=False; 1..28-1=True */
6 #define FALSE   0
7 #define TRUE    1
8
9 typedef uint32_t        udi_size_t;     /* buffer size */
10 typedef udi_ubit8_t     udi_index_t;    /* zero-based index type */
11
12 typedef void    *_udi_handle_t;
13 #define _NULL_HANDLE    ((void*)0)
14
15 /* Channel Handle */
16 typedef _udi_handle_t   *udi_channel_t;
17 #define UDI_NULL_CHANNEL        _NULL_HANDLE
18
19 /**
20  * \brief Buffer Path
21  */
22 typedef _udi_handle_t   udi_buf_path_t;
23 #define UDI_NULL_BUF_PATH       _NULL_HANDLE
24
25 typedef _udi_handle_t   udi_origin_t;
26 #define UDI_NULL_ORIGIN _NULL_HANDLE
27
28 typedef int64_t udi_timestamp_t;
29
30 #define UDI_HANDLE_IS_NULL(handle, handle_type) (handle == NULL)
31 #define UDI_HANDLE_ID(handle, handle_type)      ((uint32_t)handle)
32
33 /**
34  * \name va_arg wrapper
35  * \{
36  */
37 #define UDI_VA_ARG(pvar, type, va_code) va_arg(pvar,va_code)
38 #define UDI_VA_UBIT8_T  unsigned int
39 #define UDI_VA_SBIT8_T  int
40 #define UDI_VA_UBIT16_T unsigned int
41 #define UDI_VA_SBIT16_T int
42 #define UDI_VA_UBIT32_T uint32_t
43 #define UDI_VA_SBIT32_T int32_t
44 #define UDI_VA_BOOLEAN_T        int
45 #define UDI_VA_INDEX_T  int
46 #define UDI_VA_SIZE_T   unsigned int
47 #define UDI_VA_STATUS_T int
48 #define UDI_VA_CHANNEL_T        udi_channel_t
49 #define UDI_VA_ORIGIN_T udi_origin_t
50 #define UDI_VA_POINTER  void*
51 /**
52  * \}
53  */
54
55 /**
56  * \brief Status Type
57  */
58 typedef udi_ubit32_t    udi_status_t;
59
60 #endif

UCC git Repository :: git.ucc.asn.au