home *** CD-ROM | disk | FTP | other *** search
/ PC Format (South-Africa) 2001 May / PCFMay2001.iso / Xenon / C++ / FreeCommandLineTools.exe / Include / trace.h < prev    next >
Encoding:
C/C++ Source or Header  |  2000-01-31  |  23.9 KB  |  556 lines

  1. #pragma option push -b -a8 -pc -A- /*P_O_Push*/
  2. /* trace.h */
  3.  
  4. /*
  5.  * (C) Copyright Microsoft Corporation 1991-1993.
  6.  * All Rights Reserved.
  7.  */
  8.  
  9. #if (defined(WIN32_SUPPORT) || defined(MSWIN_SUPPORT))
  10.  #ifndef DONT_INCLUDE_MEMORY_H
  11.   #include <memory.h>
  12.  #endif
  13. #endif
  14.  
  15. #ifdef ASYNCTRACE
  16. #include <dbgtrace.h>
  17. #endif    
  18.  
  19. #ifdef WIN32_SUPPORT
  20. #define sepudcpy(X,Y,Z) memcpy(X,Y,Z)
  21. #endif
  22.  
  23. #ifdef DOS_SUPPORT
  24. extern int _cdecl far com_sprintf( char far *, const char far *, ... );
  25. #define SPRINTF(x)  com_sprintf x;
  26. #else
  27.  #if (defined(WIN32_SUPPORT) || defined(MSWIN_SUPPORT))
  28.   /***************************************************************************/
  29.   /* Temporary for Win32: in Win32 DLLs in PDK2, sprintf is not available:   */
  30.   /* use wsprintf instead.                                                   */
  31.   /***************************************************************************/
  32.   #define SPRINTF(x)  wsprintf x;
  33.  #else
  34.   #define SPRINTF(x)  sprintf x;
  35.  #endif
  36. #endif
  37.  
  38. /*****************************************************************************/
  39. /* Comm Server Critical Section macros.                                      */
  40. /*****************************************************************************/
  41. #ifdef WIN32_SUPPORT
  42.  typedef struct cscritsec
  43.  {
  44.    BOOL             Inited;
  45.    CRITICAL_SECTION CritSec;
  46.  } CSCRITSEC;
  47.  
  48.  
  49.  #define CSENTERCRITSEC(x) if (!((x)->Inited))                                \
  50.                              {                                                \
  51.                                InitializeCriticalSection(&((x)->CritSec));    \
  52.                                (x)->Inited = TRUE;                            \
  53.                              }                                                \
  54.                            EnterCriticalSection(&((x)->CritSec))
  55.  
  56.  #define CSEXITCRITSEC(x)  LeaveCriticalSection(&((x)->CritSec))
  57.  
  58.  #define CSLEAVECRITSEC(x)  LeaveCriticalSection(&((x)->CritSec))
  59. #endif
  60.  
  61. /*****************************************************************************/
  62. /* Global flags and variables                                                */
  63. /*****************************************************************************/
  64. #ifdef MSWIN_SUPPORT
  65. #define com_str com_logstr
  66. #endif
  67.  
  68. #ifdef WIN32_SUPPORT
  69.  extern CSCRITSEC crit_comlog;
  70.  extern CSCRITSEC crit_dlbtrc;
  71.  extern CSCRITSEC crit_dlblog;
  72.  extern UCHAR com_str[256];
  73.  extern UCHAR com_logstr[256];
  74. #else
  75.  #ifndef MSWIN_SUPPORT
  76.   extern ULONG  pascal com_trcsem;
  77.   extern ULONG  pascal com_logsem;
  78.   extern ULONG  pascal dlb_logsem;
  79.   extern ULONG  pascal dlb_trcsem;
  80.   extern UCHAR  pascal com_str[256];
  81.  #endif
  82. #endif
  83. #ifndef WIN32_SUPPORT
  84. extern UCHAR pascal com_logstr[256];
  85. #endif
  86.  
  87. /*****************************************************************************/
  88. /* TRACEn macro definitions                                                  */
  89. /*****************************************************************************/
  90. #ifdef NOTRC
  91. #define TRCLVL  20
  92. #else
  93. #   ifndef TRCLVL
  94. #define TRCLVL  0
  95. #   endif
  96. #endif
  97.  
  98. #ifdef WIN32_SUPPORT                                                   /*NTRC*/
  99.  
  100.     #if  (!defined(ASYNCTRACE) || defined(NOTRC) )
  101.         #if TRCLVL < 3                                                        /*NTRC*/
  102.         #define TRACE2() TRACEX(2,(com_mod,  (const UCHAR *)                                /*NTRC*/
  103.         #else                                                                 /*NTRC*/
  104.         #define TRACE2() TRACEZ((                                            /*NTRC*/
  105.         #endif                                                                /*NTRC*/
  106.         #if TRCLVL < 5                                                        /*NTRC*/
  107.         #define TRACE4() TRACEX(4,(com_mod,  (const UCHAR *)                                /*NTRC*/
  108.         #else                                                                 /*NTRC*/
  109.         #define TRACE4() TRACEZ((                                            /*NTRC*/
  110.         #endif                                                                /*NTRC*/
  111.         #if TRCLVL < 7                                                        /*NTRC*/
  112.         #define TRACE6() TRACEX(6,(com_mod,   (const UCHAR *)                               /*NTRC*/
  113.         #else                                                                 /*NTRC*/
  114.         #define TRACE6() TRACEZ((                                            /*NTRC*/
  115.         #endif                                                                /*NTRC*/
  116.         #if TRCLVL < 9                                                        /*NTRC*/
  117.         #define TRACE8() TRACEX(8,(com_mod,   (const UCHAR *)                               /*NTRC*/
  118.         #else                                                                 /*NTRC*/
  119.         #define TRACE8() TRACEZ((                                            /*NTRC*/
  120.         #endif                                                                /*NTRC*/
  121.         #if TRCLVL < 11                                                       /*NTRC*/
  122.         #define TRACE10() TRACEX(10,(com_mod,   (const UCHAR *)                             /*NTRC*/
  123.         #else                                                                 /*NTRC*/
  124.         #define TRACE10() TRACEZ((                                           /*NTRC*/
  125.         #endif                                                                /*NTRC*/
  126.         #if TRCLVL < 13                                                       /*NTRC*/
  127.         #define TRACE12() TRACEX(12,(com_mod,   (const UCHAR *)                             /*NTRC*/
  128.         #else                                                                 /*NTRC*/
  129.         #define TRACE12() TRACEZ((                                           /*NTRC*/
  130.         #endif                                                                /*NTRC*/
  131.         #if TRCLVL < 17                                                       /*NTRC*/
  132.         #define TRACE16() TRACEX(16,(com_mod,  (const UCHAR *)                           /*NTRC*/
  133.         #else                                                                 /*NTRC*/
  134.         #define TRACE16() TRACEZ((                                           /*NTRC*/
  135.         #endif                                                                /*NTRC*/
  136.  
  137.     #else
  138.         #define TRACE2() DEBUGTRACEX(((long)NULL, (const char *)
  139.         #define TRACE4() DEBUGTRACEX(((long)NULL, (const char *)
  140.         
  141.         #define TRACE6()  ERRORTRACEX(((long)NULL, (const char *)
  142.         #define TRACE8()  ERRORTRACEX(((long)NULL, (const char *)
  143.         #define TRACE10() ERRORTRACEX(((long)NULL, (const char *)
  144.     
  145.         #define TRACE12() FATALTRACEX(((long)NULL, (const char *)
  146.         #define TRACE16() FATALTRACEX(((long)NULL, (const char *)
  147.  
  148.         #define DEBUGTRACEX(x)        DebugTrace x
  149.         #define ERRORTRACEX(x)        ErrorTrace x
  150.         #define FATALTRACEX(x)        FatalTrace x
  151.  
  152.  
  153.         #define TRACET(y)                                                                                                                \
  154.                     if (y >= ptrc->intlvl) { SYSTEMTIME st;                  \
  155.                                              GetSystemTime(&st);                              \
  156.                                              SPRINTF((Time_Msg,"Time %2.2hu:%2.2hu.%2.2hu",   \
  157.                                              st.wMinute,                              \
  158.                                              st.wSecond,                              \
  159.                                             (st.wMilliseconds/10)));                 \
  160.                                              DebugTrace(NULL, Time_Msg);            \
  161.                                            }        
  162.     
  163.         #define COM_ENTRY(x) DWORD rc = 0;                                                \
  164.                              DWORD rc2 = 0;                                                \
  165.                              TraceQuietEnter(x)
  166.     #endif
  167.  
  168.  
  169.  
  170.  
  171.  
  172. #else                                                                  /*NTRC*/
  173.  #if TRCLVL < 3
  174.   #define TRACE2() TRACEX(2,(com_str,
  175.  #else                                                                 /*NTRC*/
  176.   #define TRACE2() TRACEZ((
  177.  #endif
  178.  #if TRCLVL < 5
  179.   #define TRACE4() TRACEX(4,(com_str,
  180.  #else
  181.   #define TRACE4() TRACEZ((
  182.  #endif
  183.  #if TRCLVL < 7
  184.   #define TRACE6() TRACEX(6,(com_str,
  185.  #else
  186.   #define TRACE6() TRACEZ((
  187.  #endif
  188.  #if TRCLVL < 9
  189.   #define TRACE8() TRACEX(8,(com_str,
  190.  #else
  191.   #define TRACE8() TRACEZ((
  192.  #endif
  193.  #if TRCLVL < 11
  194.   #define TRACE10() TRACEX(10,(com_str,
  195.  #else
  196.   #define TRACE10() TRACEZ((
  197.  #endif
  198.  #if TRCLVL < 13
  199.   #define TRACE12() TRACEX(12,(com_str,
  200.  #else
  201.   #define TRACE12() TRACEZ((
  202.  #endif
  203.  #if TRCLVL < 17
  204.   #define TRACE16() TRACEX(16,(com_str,
  205.  #else
  206.   #define TRACE16() TRACEZ((
  207.  #endif
  208. #endif                                                                 /*NTRC*/
  209.  
  210. #if TRCLVL < 20
  211.  #ifdef DOS_SUPPORT
  212.   #define TRACEX(w,x)                                                         \
  213.                     if (ptrc && (w >= ptrc->intlvl)) {                        \
  214.                       if (ptrc->nocat)                                        \
  215.                         CMDSemRequest(&com_trcsem,10000);                     \
  216.                       SPRINTF(x);                                             \
  217.                       seputrc(w,com_mod);                                     \
  218.                     }
  219.  #else
  220.   #ifdef MSWIN_SUPPORT
  221.    #define TRACEX(w,x)                                                        \
  222.                       if (ptrc && (w >= ptrc->intlvl)) {                      \
  223.                         SPRINTF(x);                                           \
  224.                         seputrc(w,com_mod,ptrc, com_str);                     \
  225.                       }
  226.   #else
  227.    #ifdef WIN32_SUPPORT
  228.     
  229.     #define TRACEX(w,x) if (w >= ptrc->intlvl) InternalTrace x;        /*NTRC*/
  230.    #else
  231.      #define TRACEX(w,x)                                                       \
  232.                     if (ptrc && (w >= ptrc->intlvl)) {                        \
  233.                       DosSemRequest(&dlb_trcsem,10000L);                      \
  234.                       SPRINTF(x);                                             \
  235.                       seputrc_w(com_str,w,com_mod);                           \
  236.                       DosSemClear(&dlb_trcsem);                               \
  237.                     }
  238.    #endif
  239.   #endif
  240.  #endif
  241. #else
  242.  #define TRACEX(w,x)
  243. #endif
  244. #define TRACEZ(x)
  245.  
  246. #if TRCLVL < 20
  247.  #ifdef DOS_SUPPORT
  248.   #define COM_ENTRY(x) UCHAR com_mod[6];                                      \
  249.                        sepudcpy(com_mod,x,6)
  250.  #else
  251.   #ifdef WIN32_SUPPORT
  252.     #ifndef ASYNCTRACE
  253.         #define COM_ENTRY(x) DWORD rc = 0;                                        \
  254.                              DWORD rc2 = 0;                                     \
  255.                              UCHAR com_mod[6];                                  \
  256.                              sepudcpy(com_mod,x,6)
  257.     #else
  258.         #define COM_ENTRY(x) DWORD rc = 0;                                      \
  259.                              DWORD rc2 = 0;                                        \
  260.                              TraceQuietEnter(x)
  261.     #endif
  262.  
  263.   #else
  264.    #define COM_ENTRY(x) USHORT rc = 0;                                        \
  265.                         UCHAR com_mod[6];                                     \
  266.                         sepudcpy(com_mod,x,6)
  267.   #endif
  268.  #endif
  269. #else
  270.  #ifdef DOS_SUPPORT
  271.   #define COM_ENTRY(x)
  272.  #else
  273.   #ifdef WIN32_SUPPORT
  274.     #ifndef ASYNCTRACE
  275.         #define COM_ENTRY(x) DWORD rc = 0; DWORD rc2=0
  276.     #else
  277.         #define COM_ENTRY(x) DWORD rc = 0;                                      \
  278.                              DWORD rc2 = 0;                                        \
  279.                              TraceQuietEnter(x)
  280.     #endif
  281.   #else
  282.    #define COM_ENTRY(x) USHORT rc = 0;
  283.   #endif
  284.  #endif
  285. #endif
  286.  
  287. #define COM_QUIT goto com_exit
  288. #define COM_EXIT com_exit:
  289. #define COM_EXIT_RC com_exit: return(rc)
  290.  
  291. typedef struct trc {
  292.   USHORT    flags;                   /*0140* Make trace flags 2 bytes        */
  293. #define      DLCMSGS   0x0001        /* NODE TRACE CONTROL                   */
  294. #define      PVIMSGS   0x0002
  295. #define      FMIMSGS   0x0004
  296. #define      OTHMSGS   0x0008
  297. #define      NODEMSGS  0x000F        /* All node messages to be traced       */
  298. #define      SNAMSGS   0x0010        /* User wants DLC as SNA msgs           */
  299. #define      NOSNATRC  0x0020        /* SNA tracing not permitted            */
  300.  
  301. #define      CPICMSGS  0x0040        /* CPIC messages                        */
  302. #define      LUAMSGS   0x0080        /* LUA/RUI trace control                */
  303. #define      HLLMSGS   0x0100        /* API trace control                    */
  304. #define      SRPIMSGS  0x0200
  305. #define      CSVMSGS   0x0400
  306. #define      APPCMSGS  0x0800
  307. #define      APIMSGS   0x0FC0        /*LUA* 0x0F00 -> 0x0F80 due to LUA flag */
  308.                                      /*CPIC*0x0f80 -> 0x0fc0 due to CPIC flag*/
  309.  
  310. #define      LINKMSGS  0x1000        /* Link trace control                   */
  311. #define      NOTRACE   0x2000        /* API tracing not permitted            */
  312.  
  313. #define      ADSTOP    0x4000        /* Stop/Dump options                    */
  314. #define      ADDUMP    0x8000
  315.   UCHAR     audlvl;                  /* Logging level                        */
  316.   USHORT    control;                 /* permission for user to control       */
  317.   USHORT    intlvl;                  /* Internal trace level                 */
  318.   USHORT    nocat;                   /* message concatenation flag           */
  319.   USHORT    apiinit;                 /* api tracing initialised              */
  320.   USHORT    asyinit;                 /* special asynch initialisation flag   */
  321.   USHORT    errinit;
  322.   USHORT    intinit;
  323.   USHORT    snainit;
  324. #if ( defined(WIN32_SUPPORT) || defined(MSWIN_SUPPORT) )
  325.   HANDLE    apihand1;                /* handles for various trace files      */
  326.   HANDLE    apihand2;
  327.   HANDLE    audhand;
  328.   HANDLE    errhand;
  329.   HANDLE    inthand1;
  330.   HANDLE    inthand2;
  331.   HANDLE    snahand1;
  332.   HANDLE    snahand2;
  333. #else
  334.   HFILE     apihand1;                /* handles for various trace files      */
  335.   HFILE     apihand2;
  336.   HFILE     audhand;
  337.   HFILE     errhand;
  338.   HFILE     inthand1;
  339.   HFILE     inthand2;
  340.   HFILE     snahand1;
  341.   HFILE     snahand2;
  342. #endif
  343. } TRC;
  344.  
  345. #ifndef WIN32_SUPPORT
  346. extern TRC FAR * pascal ptrc;
  347. #else
  348. extern TRC FAR * ptrc;
  349. #endif
  350.  
  351.  
  352. /*****************************************************************************/
  353. /* COM_LOGn macro definitions                                                */
  354. /*****************************************************************************/
  355. #define COM_LOG6(x)  COM_LOG(6,x,(com_logstr,
  356. #define COM_LOG8(x)  COM_LOG(8,x,(com_logstr,
  357. #define COM_LOG10(x) COM_LOG(10,x,(com_logstr,
  358. #define COM_LOG12(x) COM_LOG(12,x,(com_logstr,
  359. #define COM_LOG16(x) COM_LOG(16,x,(com_logstr,
  360.  
  361. #define COM_MSG6(x)  COM_MSG(6,x)
  362. #define COM_MSG8(x)  COM_MSG(8,x)
  363. #define COM_MSG10(x) COM_MSG(10,x)
  364. #define COM_MSG12(x) COM_MSG(12,x)
  365. #define COM_MSG16(x) COM_MSG(16,x)
  366.  
  367. #define COM_ERR6(x)  COM_LOG(6,x,(com_logstr,"%d",ret))
  368. #define COM_ERR8(x)  COM_LOG(8,x,(com_logstr,"%d",ret))
  369. #define COM_ERR10(x) COM_LOG(10,x,(com_logstr,"%d",ret))
  370. #define COM_ERR12(x) COM_LOG(12,x,(com_logstr,"%d",ret))
  371. #define COM_ERR16(x) COM_LOG(16,x,(com_logstr,"%d",ret))
  372.  
  373. #ifdef DOS_SUPPORT
  374.  #define COM_LOG(v,w,x)                                                       \
  375.                     if (v >= ptrc->audlvl) {                                  \
  376.                       CMDSemRequest(&com_logsem,10000);                       \
  377.                       SPRINTF(x);                                             \
  378.                       sepulog(v,w);                                           \
  379.                     }
  380. #else
  381.  #ifdef MSWIN_SUPPORT
  382.   #define COM_LOG(v,w,x)                                                      \
  383.                         if (v >= ptrc->audlvl) {                              \
  384.                           SPRINTF(x);                                         \
  385.                           sepulog(v,w,ptrc, com_logstr);                      \
  386.                         }
  387.  #else
  388.   #ifndef WIN32_SUPPORT
  389.    #define COM_LOG(v,w,x)                                                     \
  390.                        if (v >= ptrc->audlvl) {                               \
  391.                          DosSemRequest(&dlb_logsem,10000L);                   \
  392.                          SPRINTF(x);                                          \
  393.                          sepulog_w(com_logstr,v,w);                           \
  394.                          DosSemClear(&dlb_logsem);                            \
  395.                        }
  396.   #else
  397.    #define COM_LOG(v,w,x)                                                     \
  398.                        if (v >= ptrc->audlvl) {                               \
  399.                          CSENTERCRITSEC(&crit_dlblog);                        \
  400.                          SPRINTF(x);                                          \
  401.                          sepulog_w(com_logstr,v,w);                           \
  402.                          CSEXITCRITSEC(&crit_dlblog);                         \
  403.                        }
  404.   #endif
  405.  #endif
  406.  #ifdef WIN32_SUPPORT
  407.   #define COM_MSG(v,w)                                                        \
  408.                       if (v >= ptrc->audlvl) {                                \
  409.                         CSENTERCRITSEC(&crit_dlblog);                         \
  410.                         sepulog_w(com_logstr,v,w);                            \
  411.                         CSEXITCRITSEC(&crit_dlblog);                          \
  412.                       }
  413.  #else
  414.   #define COM_MSG(v,w)                                                        \
  415.                       if (v >= ptrc->audlvl) {                                \
  416.                         DosSemRequest(&dlb_logsem,10000L);                    \
  417.                         sepulog_w(com_logstr,v,w);                            \
  418.                         DosSemClear(&dlb_logsem);                             \
  419.                       }
  420.  #endif
  421. /* Parameters are message #, target m/c                                      */
  422.  #define COM_ALERT(x,y) COM_ALERTX(x,y,(com_logstr,
  423.  #ifdef WIN32_SUPPORT
  424.   #define COM_ALERTX(x,y,z)                                                   \
  425.                       {                                                       \
  426.                         CSENTERCRITSEC(&crit_comlog);                         \
  427.                         SPRINTF(z);                                           \
  428.                         sepualrt(x,y,com_logstr,&crit_comlog);                \
  429.                       }
  430.  #else
  431.   #define COM_ALERTX(x,y,z)                                                   \
  432.                       {                                                       \
  433.                         DosSemRequest(&com_logsem,10000L);                    \
  434.                         SPRINTF(z);                                           \
  435.                         sepualrt(x,y,com_logstr,&com_logsem);                 \
  436.                       }
  437.  #endif
  438. #endif
  439. #define COM_ERROR(x) COM_LOG(16,x,(com_logstr,"%d",rc));                      \
  440.                      rc = x
  441.  
  442. #define COM_TRC_SNA(x)
  443.  
  444. /*****************************************************************************/
  445. /* Add a new macro to allow components which don't log though the DMOD (eg   */
  446. /* Print Server) to decide whether or not a message should be logged.        */
  447. /*****************************************************************************/
  448. #define COM_LOG_CHECK(v,x)                                                  \
  449.                     if (v >= ptrc->audlvl)                                  \
  450.                     {                                                       \
  451.                       x = TRUE;                                             \
  452.                     }                                                       \
  453.                     else                                                    \
  454.                     {                                                       \
  455.                       x = FALSE;                                            \
  456.                     }                                                       \
  457.  
  458. /*****************************************************************************/
  459. /* Trace macros for LUA/RUI/SLI tracing.                                     */
  460. /*****************************************************************************/
  461. #define INIT            0     /* Initial function for link services     */
  462. #define REQUEST         1
  463. #define RESPONSE        2
  464. #define POST            3
  465.  
  466. #if (defined(DOS_SUPPORT) || defined(MSWIN_SUPPORT))
  467. extern VOID FAR pascal seputrlu(USHORT, UCHAR FAR *, TRC FAR *);
  468.  
  469. #define COM_TRC_LUA(x,y)                                                \
  470.                     if (ptrc && (ptrc->flags & LUAMSGS)) {              \
  471.                       seputrlu(x,y,ptrc);                               \
  472.                     }
  473. #else
  474.  #ifdef WIN32_SUPPORT
  475.    extern VOID WINAPI seputrlu(USHORT, UCHAR *);
  476.  #else
  477.    extern VOID FAR PASCAL seputrlu(USHORT, UCHAR FAR *);
  478.  #endif
  479.  
  480. #define COM_TRC_LUA(x,y)                                                \
  481.                     if (ptrc->flags & LUAMSGS) {                        \
  482.                       seputrlu(x,y);                                    \
  483.                     }
  484.  
  485.  
  486. #endif
  487.  
  488. /*****************************************************************************/
  489. /* Defines for IHV tracing macros                                            */
  490. /*****************************************************************************/
  491. #ifdef WIN32_SUPPORT
  492. extern VOID WINAPI seputrhv(UCHAR *);
  493. extern VOID WINAPI sepdtrci(TRC **);
  494.  
  495. #define COM_TRC_IHV(x)                                                  \
  496.                     if (ptrc->flags & LINKMSGS) {                       \
  497.                       seputrhv(x);                                      \
  498.                     }
  499. #ifdef ASYNCTRACE
  500.     #define INITIALIZE_TRACING InitAsyncTraceEx(" ")
  501. #else
  502.     #define INITIALIZE_TRACING sepdtrci(&ptrc)
  503. #endif
  504.  
  505. #endif
  506.  
  507. /*****************************************************************************/
  508. /* Defines for Log messages                                                  */
  509. /*****************************************************************************/
  510. #define LOG_ALERT_REJ   392                     /* alert was rejected        */
  511. #define LOG_SESS_START  442                     /* user logged on            */
  512. #define LOG_SESS_END    443                     /* user logged off           */
  513. #define LOG_SESS_FAIL   444                     /* session lost              */
  514. #define LOG_EMUL_START  445                     /* emulation started         */
  515. #define LOG_EMUL_END    446                     /* emulation ended           */
  516.  
  517. /*****************************************************************************/
  518. /* Function prototypes                                                       */
  519. /*****************************************************************************/
  520. #ifdef MSWIN_SUPPORT
  521. extern VOID pascal FAR seputrc(USHORT, UCHAR FAR *, TRC far *, UCHAR FAR *);
  522. extern VOID pascal FAR sepulog(USHORT, USHORT, TRC far *, UCHAR FAR *);
  523.  
  524. #define sepudcpy(x,y,z) _fmemcpy(x,y,z)
  525.  
  526. #else
  527.  #ifdef WIN32_SUPPORT
  528.   extern VOID  WINAPI seputrc(USHORT, UCHAR FAR *);
  529.   extern VOID  WINAPI seputrc_w(UCHAR FAR *, USHORT, UCHAR FAR *);
  530.   extern VOID  WINAPI sepulog(USHORT, USHORT);
  531.   extern VOID  WINAPI sepulog_w(UCHAR FAR *,USHORT, USHORT);
  532.   /***************************************************************************/
  533.   /* New internal trace function                                        *NTRC*/
  534.   /***************************************************************************/
  535.   extern VOID InternalTrace( UCHAR * ModName, const UCHAR * FormatText, ...);
  536.  #else
  537.   extern USHORT APIENTRY sepudcpy(UCHAR FAR *, UCHAR FAR *, unsigned short);
  538.   extern VOID   APIENTRY seputrc(USHORT, UCHAR FAR *);
  539.   extern VOID   APIENTRY seputrc_w(UCHAR FAR *, USHORT, UCHAR FAR *);
  540.   extern VOID   APIENTRY sepulog(USHORT, USHORT);
  541.   extern VOID   APIENTRY sepulog_w(UCHAR FAR *,USHORT, USHORT);
  542.  #endif
  543. #endif
  544. #ifdef WIN32_SUPPORT
  545. extern VOID  WINAPI sepualrt(USHORT, UCHAR *, UCHAR *, CSCRITSEC *);
  546. #else
  547. #ifdef MSWIN_SUPPORT
  548. extern VOID pascal FAR sepualrt(USHORT, UCHAR FAR *, UCHAR FAR *, ULONG FAR *);
  549. #else
  550. extern VOID APIENTRY sepualrt(USHORT, UCHAR FAR *, UCHAR FAR *, ULONG FAR *);
  551. #endif
  552. #endif
  553. /* End of file trace.h */
  554.  
  555. #pragma option pop /*P_O_Pop*/
  556.