Modules/UDI - Moved UDI headers to /UDI/include
[tpg/acess2.git] / UDI / include / udi / log.h
1 /**
2  * \file udi_log.h
3  */
4 #ifndef _UDI_LOG_H_
5 #define _UDI_LOG_H_
6
7 /**
8  * \brief Trace Event
9  */
10 typedef udi_ubit32_t    udi_trevent_t;
11
12 /**
13  * \name Values for udi_trevent_t
14  * \note Taken from UDI Spec 1.01
15  * \{
16  */
17 /* Common Trace Events */
18 #define UDI_TREVENT_LOCAL_PROC_ENTRY    (1U<<0)
19 #define UDI_TREVENT_LOCAL_PROC_EXIT     (1U<<1)
20 #define UDI_TREVENT_EXTERNAL_ERROR      (1U<<2)
21 /* Common Metalanguage-Selectable Trace Events */
22 #define UDI_TREVENT_IO_SCHEDULED        (1U<<6)
23 #define UDI_TREVENT_IO_COMPLETED        (1U<<7)
24 /* Metalanguage-Specific Trace Events */
25 #define UDI_TREVENT_META_SPECIFIC_1     (1U<<11)
26 #define UDI_TREVENT_META_SPECIFIC_2     (1U<<12)
27 #define UDI_TREVENT_META_SPECIFIC_3     (1U<<13)
28 #define UDI_TREVENT_META_SPECIFIC_4     (1U<<14)
29 #define UDI_TREVENT_META_SPECIFIC_5     (1U<<15)
30 /* Driver-Specific Trace Events */
31 #define UDI_TREVENT_INTERNAL_1  (1U<<16)
32 #define UDI_TREVENT_INTERNAL_2  (1U<<17)
33 #define UDI_TREVENT_INTERNAL_3  (1U<<18)
34 #define UDI_TREVENT_INTERNAL_4  (1U<<19)
35 #define UDI_TREVENT_INTERNAL_5  (1U<<20)
36 #define UDI_TREVENT_INTERNAL_6  (1U<<21)
37 #define UDI_TREVENT_INTERNAL_7  (1U<<22)
38 #define UDI_TREVENT_INTERNAL_8  (1U<<23)
39 #define UDI_TREVENT_INTERNAL_9  (1U<<24)
40 #define UDI_TREVENT_INTERNAL_10 (1U<<25)
41 #define UDI_TREVENT_INTERNAL_11 (1U<<26)
42 #define UDI_TREVENT_INTERNAL_12 (1U<<27)
43 #define UDI_TREVENT_INTERNAL_13 (1U<<28)
44 #define UDI_TREVENT_INTERNAL_14 (1U<<29)
45 #define UDI_TREVENT_INTERNAL_15 (1U<<30)
46 /* Logging Event */
47 #define UDI_TREVENT_LOG         (1U<<31)
48
49 /**
50  * \brief Log Callback
51  */
52 typedef void udi_log_write_call_t(udi_cb_t *gcb, udi_status_t correlated_status);
53
54 /**
55  * \name Log Severities
56  * \brief Values for severity
57  * \{
58  */
59 #define UDI_LOG_DISASTER        1
60 #define UDI_LOG_ERROR           2
61 #define UDI_LOG_WARNING         3
62 #define UDI_LOG_INFORMATION     4
63 /**
64  * \}
65  */
66
67 extern void udi_trace_write(udi_init_context_t *init_context,
68         udi_trevent_t trace_event, udi_index_t meta_idx,
69         udi_ubit32_t msgnum, ...);
70
71 extern void udi_log_write( udi_log_write_call_t *callback, udi_cb_t *gcb,
72         udi_trevent_t trace_event, udi_ubit8_t severity, udi_index_t meta_idx, udi_status_t original_status,
73         udi_ubit32_t msgnum, ... );
74
75 extern void udi_assert(udi_boolean_t expr);
76
77 extern void udi_debug_break(udi_init_context_t *init_context, const char *message);
78
79 extern void udi_debug_printf(const char *format, ...);
80
81 #endif

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