source: git/MP/MP/h/MP_Util.h @ 94a5cd

spielwiese
Last change on this file since 94a5cd was 94a5cd, checked in by Hans Schönemann <hannes@…>, 18 years ago
*hannes: gcc-4.1.1 git-svn-id: file:///usr/local/Singular/svn/trunk@9451 2c84dea3-7e68-4137-9b89-c4e89433aadc
  • Property mode set to 100644
File size: 2.7 KB
Line 
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
39EXTERN char *IMP_StrDup  _ANSI_ARGS_((char* s));
40
41EXTERN void MP_LogEvent _ANSI_ARGS_((MP_Link_pt link, char *event, char *msg));
42
43EXTERN 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
48EXTERN void MP_PrintError _ANSI_ARGS_((MP_Link_pt link));
49
50EXTERN char* MP_ErrorStr _ANSI_ARGS_((MP_Link_pt link));
51
52EXTERN char* MP_StatusErrorStr _ANSI_ARGS_((MP_Link_pt link, MP_Status_t status));
53
54EXTERN char *IMP_GetCmdlineArg _ANSI_ARGS_((int argc, char **argv, char *cmd));
55
56EXTERN char *IMP_TypeToString  _ANSI_ARGS_((MP_NodeType_t t));
57
58/* the following are used internally by MP for logging */
59
60EXTERN 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
65EXTERN 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
69EXTERN 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
73EXTERN void annot_flags_to_str _ANSI_ARGS_((MP_AnnotFlags_t flags));
74
75#endif /* _MP_Util_h */
Note: See TracBrowser for help on using the repository browser.