-/*
+/*
* Copyright (C) 1998, 1989 Transarc Corporation - All rights reserved
*
* (C) COPYRIGHT IBM CORPORATION 1987, 1988
#define _OSI_LOG_H__ 1
#include "osi.h"
-#ifndef DJGPP
#include "osisleep.h"
#include "osibasel.h"
#include "osistatl.h"
-#endif /* !DJGPP */
#include "osifd.h"
#include "osiqueue.h"
#define OSI_LOG_DEFAULTSIZE 1000
-#define OSI_LOG_STRINGSIZE 30
-#define OSI_LOG_MAXPARMS 4 /* max # of int parms */
+#define OSI_LOG_STRINGSIZE 256
+#define OSI_LOG_MAXPARMS 5 /* max # of int parms */
typedef struct osi_logEntry {
- long tid; /* thread ID */
+ size_t tid; /* thread ID */
unsigned long micros; /* microsecond-based time stamp */
char *formatp; /* format string */
- long parms[OSI_LOG_MAXPARMS]; /* parms */
+ size_t parms[OSI_LOG_MAXPARMS]; /* parms */
} osi_logEntry_t;
typedef struct osi_log {
osi_queue_t q; /* queue of all logs */
char *namep; /* name */
- long alloc; /* allocated size */
+ long alloc; /* allocated size */
long nused; /* number currently in use */
long first; /* index of first entry */
- Crit_Sec cs; /* use this, rather than a higher-level
+ Crit_Sec cs; /* use this, rather than a higher-level
* lock, so we can log stuff from
* osi lock pkg */
osi_logEntry_t *datap; /* data for the log */
extern long osi_logSize;
-extern osi_log_t *osi_LogCreate(char *, long);
+extern osi_log_t *osi_LogCreate(char *, size_t);
extern void osi_LogFree(osi_log_t *);
-extern void osi_LogAdd(osi_log_t *, char *, long, long, long, long);
+extern void osi_LogAdd(osi_log_t *, char *, size_t, size_t, size_t, size_t, size_t);
extern void osi_LogReset(osi_log_t *);
extern long osi_LogFDCreate(osi_fdType_t *, osi_fd_t **);
-#ifndef DJGPP
extern long osi_LogFDGetInfo(osi_fd_t *, osi_remGetInfoParms_t *);
-#endif
extern long osi_LogFDClose(osi_fd_t *);
extern void osi_LogDisable(osi_log_t *);
-extern void osi_LogPanic(char *filep, long line);
+extern void osi_LogPanic(char *msgp, char *filep, size_t line);
extern void osi_LogPrint(osi_log_t *logp, FILE_HANDLE handle);
+extern wchar_t *osi_LogSaveStringW(osi_log_t *logp, wchar_t *s);
extern char *osi_LogSaveString(osi_log_t *logp, char *s);
extern void osi_InitTraceOption();
extern void osi_LogEvent0(char *a,char *b);
extern void osi_LogEvent(char *a,char *b,char *c,...);
+extern char *osi_HexifyString(char *s);
/* define macros */
-#define osi_Log0(l,f) osi_LogAdd((l), (f), 0, 0, 0, 0)
-#define osi_Log1(l,f,a) osi_LogAdd((l), (f), (long) (a), 0, 0, 0)
-#define osi_Log2(l,f,a,b) osi_LogAdd((l), (f), (long) (a), (long) (b), 0, 0)
-#define osi_Log3(l,f,a,b,c) osi_LogAdd((l), (f), (long) (a), (long) (b), (long) (c), 0)
-#define osi_Log4(l,f,a,b,c,d) osi_LogAdd((l), (f), (long) (a), (long) (b), (long) (c), (long) (d))
+#define osi_Log0(l,f) do { if ((l) && (l)->enabled) osi_LogAdd((l), (f), 0, 0, 0, 0, 0); } while(0)
+#define osi_Log1(l,f,a) do { if ((l) && (l)->enabled) osi_LogAdd((l), (f), (size_t) (a), 0, 0, 0, 0); } while(0)
+#define osi_Log2(l,f,a,b) do { if ((l) && (l)->enabled) osi_LogAdd((l), (f), (size_t) (a), (size_t) (b), 0, 0, 0); } while(0)
+#define osi_Log3(l,f,a,b,c) do { if ((l) && (l)->enabled) osi_LogAdd((l), (f), (size_t) (a), (size_t) (b), (size_t) (c), 0, 0); } while(0)
+#define osi_Log4(l,f,a,b,c,d) do { if ((l) && (l)->enabled) osi_LogAdd((l), (f), (size_t) (a), (size_t) (b), (size_t) (c), (size_t) (d), 0); } while(0)
+#define osi_Log5(l,f,a,b,c,d,e) do { if ((l) && (l)->enabled) osi_LogAdd((l), (f), (size_t) (a), (size_t) (b), (size_t) (c), (size_t) (d), (size_t) (e)); } while(0)
#ifdef DEBUG_VERBOSE
#define DEBUG_EVENT1(a,b,c) {HANDLE h; char *ptbuf[1],buf[132];\