1 | /**************************************************************** |
---|
2 | * |
---|
3 | * HEADER FILE: MP_Util.h |
---|
4 | * |
---|
5 | ***************************************************************/ |
---|
6 | |
---|
7 | #ifndef _MP_Util_h |
---|
8 | #define _MP_Util_h |
---|
9 | |
---|
10 | /* defines for logging events */ |
---|
11 | #define MP_ERROR_EVENT "ErrorE " |
---|
12 | #define MP_WRITE_EVENT "WriteE " |
---|
13 | #define MP_READ_EVENT "ReadE " |
---|
14 | #define MP_INIT_EVENT "InitE " |
---|
15 | #define MP_URGENT_EVENT "UrgentE" |
---|
16 | #define MP_CONTROL_EVENT "CntrlE " |
---|
17 | |
---|
18 | /* |
---|
19 | * Logging is done on a per link basis. The user is allowed to |
---|
20 | * specify which events to log. The default is to log all events. |
---|
21 | * Error events are always logged and cannot be disabled. |
---|
22 | */ |
---|
23 | |
---|
24 | #define MP_LOG_READ_EVENTS 1 |
---|
25 | #define MP_LOG_WRITE_EVENTS 2 |
---|
26 | #define MP_LOG_INIT_EVENTS 4 |
---|
27 | #define MP_LOG_CONTROL_EVENTS 8 |
---|
28 | #define MP_LOG_URGENT_EVENTS 16 |
---|
29 | #define MP_LOG_ALL_EVENTS 31 |
---|
30 | #define MP_LOG_NO_EVENTS 0 |
---|
31 | #define MP_LOG_NO_READ_EVENTS ~MP_LOG_READ_EVENTS |
---|
32 | #define MP_LOG_NO_WRITE_EVENTS ~MP_LOG_WRITE_EVENTS |
---|
33 | #define MP_LOG_NO_INIT_EVENTS ~MP_LOG_INIT_EVENTS |
---|
34 | #define MP_LOG_NO_CONTROL_EVENTS ~MP_LOG_CONTROL_EVENTS |
---|
35 | #define MP_LOG_NO_URGENT_EVENTS ~MP_LOG_URGENT_EVENTS |
---|
36 | |
---|
37 | #define log_msg_len 128 |
---|
38 | |
---|
39 | EXTERN char *IMP_StrDup _ANSI_ARGS_((char* s)); |
---|
40 | |
---|
41 | EXTERN void MP_LogEvent _ANSI_ARGS_((MP_Link_pt link, char *event, char *msg)); |
---|
42 | |
---|
43 | EXTERN MP_Status_t MP_SetError _ANSI_ARGS_((MP_Link_pt link, |
---|
44 | MP_Status_t the_err)); |
---|
45 | |
---|
46 | #define MP_ClearError(link) ((MP_Status_t) ((link)->MP_errno = (int)MP_Success)) |
---|
47 | |
---|
48 | EXTERN void MP_PrintError _ANSI_ARGS_((MP_Link_pt link)); |
---|
49 | |
---|
50 | EXTERN char* MP_ErrorStr _ANSI_ARGS_((MP_Link_pt link)); |
---|
51 | |
---|
52 | EXTERN char* MP_StatusErrorStr _ANSI_ARGS_((MP_Link_pt link, MP_Status_t status)); |
---|
53 | |
---|
54 | EXTERN char *IMP_GetCmdlineArg _ANSI_ARGS_((int argc, char **argv, char *cmd)); |
---|
55 | |
---|
56 | EXTERN char *IMP_TypeToString _ANSI_ARGS_((MP_NodeType_t t)); |
---|
57 | |
---|
58 | /* the following are used internally by MP for logging */ |
---|
59 | |
---|
60 | EXTERN void log_dicttype _ANSI_ARGS_((MP_Link_pt link, char *event, |
---|
61 | char *type_str, MP_NodeType_t type, |
---|
62 | MP_NumAnnot_t na, MP_DictTag_t dtag, |
---|
63 | void *data, MP_NumChild_t nc)); |
---|
64 | |
---|
65 | EXTERN void log_fixnum _ANSI_ARGS_((MP_Link_pt link, char *event, |
---|
66 | char *type_str, int type, MP_NumAnnot_t na, |
---|
67 | void *val)); |
---|
68 | |
---|
69 | EXTERN void log_fixreal _ANSI_ARGS_((MP_Link_pt link, char *event, |
---|
70 | char *type_str, int type, MP_NumAnnot_t na, |
---|
71 | void *val)); |
---|
72 | |
---|
73 | EXTERN void annot_flags_to_str _ANSI_ARGS_((MP_AnnotFlags_t flags)); |
---|
74 | |
---|
75 | #endif /* _MP_Util_h */ |
---|